Académique Documents
Professionnel Documents
Culture Documents
INSTALACION DE
SOFTWARE DE
BASE DE DATOS
Estructura fsica de
almacenamiento
08/04/2013
Concepto
Una de las caractersticas importantes de un
SGBD es su independencia entre la estructura
de datos lgica (tablas, vista, ndices) y la
estructura fsica.
Gracias a esta independencia, se puede
gestionar el almacenamiento fsico sin afectar
a la estructura fsica.
Temp File
Archivo fsico para almacenar datos temporales.
08/04/2013
Diagrama general
08/04/2013
Datafiles
Los archivos de datos son el componente fsico del
concepto de espacio de tablas (tablespace); es decir
que cada los datos de los tablespaces se almacenan
fsicamente en un archivo de datos.
Ambos conceptos estn muy relaciones, pero
presentan importantes diferencias:
Cada tablespace consiste en uno o ms archivos de datos.
Los datos de la base de datos se almacenan en los
archivos.
Un segmento de datos puede estar distribuido entre uno o
mas archivos de datos.
Una base de datos debe tener siempre el tablespace
SYSTEM y SYSAUX.
08/04/2013
Control Files
El archivo de control es un archivo raz que se utiliza
para encontrar los archivos de datos y gestionar el
estado de la base de datos en general.
Contiene la siguiente informacin:
El nombre de la base de datos y el database unique
identifier (DBID)
El timestamp de creacin
Informacin acerca de los archivos de datos, online redo
log files, and redo logs archivados.
Informacin de los tablespaces
RMAN backups
08/04/2013
08/04/2013
08/04/2013
SQL FUNDAMENTALS
08/04/2013
Fundamentos de SQL
SQL es el lenguaje estndar para consultar y
modificar datos.
Se puede clasificar de la siguiente manera:
DML: Data Manipulation Language.
DDL: Data Definition Language.
Transaction Control
Session Control
System Control
08/04/2013
OPERADORES
Operadores Aritmticos
10
08/04/2013
Operador de Concatenacin
Este operador manipula cadenas de caracteres y datos
de tipo CLOB.
Precedencia de Operadores
Si existen mltiples operadores en la misma expresin, Oracle los
evala segn su orden de precedencia.
Los operadores con mayor precedencia son evaluados antes que
los de menor precedencia.
Los operadores con la misma precedencia son evaluados de
izquierda a derecha.
11
08/04/2013
LITERALES
Literales de Texto
Se deben encerrar entre comillas simples string.
Tienen propiedades de los tipos de datos CHAR y
VARCHAR2:
En las expresiones y condiciones, Oracle considera al
literal como CHAR.
Un literal puede tener un mximo de 4000 bytes.
Ejm:
'Hello
'ORACLE.dbs
'Jackie''s raincoat
'09-MAR-98'
12
08/04/2013
Literales Numricos
Integer: con longitud mxima de 38 dgitos.
543
-15
Number / Floating point:
Se puede utilizar la exponencial. (En un rango de 130 a 125):
23E-10
Si esta precedido por F, se trata de un
BINARY_FLOAT:
1.5f
Si esta precedido por D, se trata de un
BINARY_DOBLE. -43.323D
Literales de Fechas
Se puede escribir fechas utilizando literales. Segn la
especificacin ANSI.
DATE 1998-12-25
Pero esta especificacin no soporta porciones de
tiempo mas pequeas, para ello usamos la funcion
to_date().
TO_DATE('98-DEC-25 17:30','YY-MON-DD HH24:MI')
Del mismo modo sucede con los TIMESTAMP.
TIMESTAMP '1997-01-31 09:26:50.124
TO_TIMESTAMP('19-FEB-2004', 'DD-MON-YYYY'));
13
08/04/2013
CONSULTAS SIMPLES
Consulta (QUERY)
Una consulta es un pedido de informacin a
una o varias tablas de la base de datos.
Las consultas NO modifican data.
Las consultas SIMPLES slo traen datos de
solamente una tabla o vista.
SELECT * FROM jobs;
14
08/04/2013
Columnas y Alias
Para hacer la consulta mas especifica, se
puede escribir los nombres de la columnas.
SELECT job_title, min_salary FROM jobs;
Asegurar la unicidad
Para poder asegurar que una fila en el resultado de
una consulta sea nica, se utiliza la palabra
reservada DISTINCT.
SELECT DISTINCT department_id FROM
employees;
SELECT DISTINCT department_id, job_id FROM
employees;
15
08/04/2013
Limitando filas
Se utiliza la clusula WHERE para limitar el nmero de
filas procesadas por la consulta.
Las filas resultantes sern las que cumplan la condicin.
Se pueden utilizar columnas de la tabla, pero no los
alias de las columnas.
SELECT first_name || || last_name Name,
department_id
FROM employees
WHERE department_id = 90;
Operadores de Comparacin
16
08/04/2013
Operadores de Comparacin
Operadores Lgicos
Cuando un operador lgico es aplicado a un NULL el resultado es
UNKNOWN.
17
08/04/2013
Otros operadores
IN / NOT IN
Este operador se utiliza para evala la condicin de
pertenencia.
IN es equivalente a =ANY.
NOT IN es equivalente a !=ALL.
SELECT first_name, last_name, department_id
FROM employees
WHERE department_id IN (10, 20, 90);
Otros operadores
BETWEEN
Se utiliza este operador para evaluar un rango.
BETWEEN X AND Z; se evala como verdadero
siempre que el valor sea mayor o igual que X y menor
o igual que Z.
SELECT first_name, last_name, salary
FROM employees
WHERE salary BETWEEN 5000 AND 6000;
18
08/04/2013
Otros operadores
EXISTS
El operador EXISTS es seguido siempre de una subquery.
Se evala como verdadero si la sub-query retorna al
menos una fila.
SELECT last_name, first_name, department_id
FROM employees e
WHERE EXISTS (select 1 FROM departments d
WHERE d.department_id = e.department_id
AND d.department_name = Administration);
Otros operadores
IS NULL / IS NOT NULL
Para conocer si un valor es NULO, se utiliza el
operador IS NULL.
El operador = no funciona para el valor NULO.
SELECT last_name, department_id
FROM employees
WHERE department_id IS NULL;
19
08/04/2013
Otros operadores
LIKE
Es utilizado para validar una coincidencia con un
patrn:
% : Representa 0 o muchos caracteres.
_ : Representa 1 carcter.
ESCAPE clause: Se utiliza para interpretar literalmente el
carcter.
Ordenamiento de Filas
Se utiliza la clusula ORDER BY:
Cuando no se
especifica el
modo de
ordenacin, por
defecto toma el
modo
ascendente.
20
08/04/2013
Clusula ORDER BY
Se puede especificar mltiples columnas en la
clausula ORDER BY.
Se puede especificar la columna tanto por su
nombre, su alias o su posicin.
Por defecto, en un ordenamiento ascendente
los valores NULL aparecern al final, y
viceversa.
El comportamiento de los valores NULL pueden
alterarse con la clausula NULL FIRST/LAST.
EXPRESIONES
21
08/04/2013
Expresin
Una expresin es la combinacin de uno o
mas valores, operadores y funciones SQL que
resultan en un valor.
El resultado de una expresin tiene el mismo
tipo de dato que sus componentes.
Pueden aparecer en las clusulas SELECT,
WHERE, entre otras.
Expresin CASE
Permite utilizar la lgica IF Y THEN Y ELSE,
en una sentencia SQL.
Posee la siguiente sintaxis:
22
08/04/2013
Expresin CASE
SELECT country_name, region_id,
CASE region_id WHEN 1 THEN Europe
WHEN 2 THEN America
WHEN 3 THEN Asia
ELSE Other END Continent
FROM countries
WHERE country_name LIKE I%;
SQL*PLUS
23
08/04/2013
SQL*PLUS
Es una herramienta basada en lnea de
comandos.
Permite manejar la data y administrar la base
de datos.
DDL
24
08/04/2013
DESCRIPCIN
Tabla
Vista
Secuencia
ndice
Sinnimo
Otros
25
08/04/2013
La opcin DEFAULT
Especifica un valor por defecto para una columna
durante una insercin, por ejemplo:
Y Emp_FechaContrato DATE DEFAULT SYSDATE,
26
08/04/2013
Creando tablas
Debido a que CREATE TABLE es una sentencia DDL se
realiza un COMMIT automtico
27
08/04/2013
DESCRIPCIN
USER_
ALL_
DBA_
V$
28
08/04/2013
CAT;
Tipos de datos
TIPO DE DATO
DESCRIPCIN
VARCHAR2 (Tamao)
CHAR [(Tamao)]
DATE
LONG
29
08/04/2013
Tipos de datos
TIPO DE DATO
DESCRIPCIN
CLOB
Caracteres mximo de 4 GB
RAW (Tamao)
LONG RAW
BLOB
Binarios hasta de 4 GB
BFILE
ROWID
Tipos de datos
TIPO DE DATO
DESCRIPCIN
TIMESTAMP [(precisin)]
INTERVAL YEAR
[(precisin_ao)] TO MONTH
30
08/04/2013
Uso de TIMESTAMP
SYSDATE retorna
fecha y hora pero no
fraccin
El campo TIMESTAMP
no maneja zona horaria
31
08/04/2013
32
08/04/2013
33
08/04/2013
34
08/04/2013
35
08/04/2013
Esta sentencia es DDL (NO DML) por eso realiza commit automtico
Es diferente a la sentencia DELETE porque:
Es ms rpida y no genera informacin de rollback
No se ejecutan los disparadores que tenga la tabla
Si la tabla es padre en una restriccin de integridad, no se puede ejecutar la
sentencia TRUNCATE, primero se debe deshabilitar la restriccin
36
08/04/2013
Gracias!
Referencias:
http://www.oracle.com/pls/db112/homepage
http://oracleyyo.com
37