Beruflich Dokumente
Kultur Dokumente
Robert Espinoza
Introducción.
SQL DDL.
Creación de Base de Datos.
Eliminación de Base de Datos.
Creación de Tablas.
Modificación de Tablas.
Eliminación de Tablas.
Restricciones de integridad
Primary Key
Unique
Foreign key
Check
Agenda
Implementación de Restricciones.
Creación de índices.
Eliminación de índices.
Creación de vistas.
Modificación de vistas.
Eliminación de vistas
Agenda
Eliminación de vistas.
Creación de secuencias.
Implementación de secuencias.
Modificación de secuencia.
Eliminación de secuencia.
Resumen.
SQL
Ejemplo:
CREATE DATABASE Sistemas
Creación de Bases de datos
Creación de Bases de datos
CREATE DATABASE Test
LOGFILE GROUP 1 ('/u01/oradata/test/redolog1a.dbf',
'/u02/oradata/test/redolog1b.dbf' ) SIZE 10M,
GROUP 2 ('/u01/oradata/test/redolog2a.dbf',
'/u02/oradata/test/redolog2b.dbf' ) SIZE 10M,
GROUP 3 ('/u01/oradata/test/redolog3a.dbf',
'/u02/oradata/test/redolog3b.dbf' ) SIZE 10M
DEFAULT TABLESPACE system
DATAFILE '/u02/oradata/test/system01.dbf' SIZE 400M
AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
TABLESPACE sysaux
DATAFILE '/u02/oradata/test/sysaux01.dbf' SIZE 300M
AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
UNDO TABLESPACE ts_undo
DATAFILE '/u02/oradata/test/undo01.dbf' SIZE 50M
AUTOEXTEND ON NEXT 16M MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE ts_temp
TEMPFILE '/u02/oradata/test/temp01.dbf' SIZE 50M
AUTOEXTEND ON NEXT 50M MAXSIZE 300M
Eliminación de Bases de Datos
Ejemplo:
DROP DATABASE Sistemas
Restricciones de Integridad
Restricciones de dominio
Conjunto de valores y de operaciones permitidas sobre
ellos.
Dominios base en SQL:
CHAR(p):
Cadena de caracteres de longitud fija p (máxima longitud p)
VARCHAR2(p):
Cadena de caracteres de longitud variable (máxima longitud
p)
NUMBER(p,s):
Valor numérico de precisión p y escala s.
DATE:
Fechas válidas.
Restricciones de Integridad
Restricción de datos
Nulos:
Integridad de entidad
Clave Primaria:
Integridad Referencial
Garantiza la existencia de las Claves Foráneas.
Restricción de Unicidad
Clave Alternativa:
Restricción de Chequeo
Las reglas CHECK para atributos:
CREATE.
Crea una tabla
Ejemplo
Campo IDENTITY:
Incorpora a una columna la propiedad de ser autonumérica.
ALWAYS Indica que no será necesario introducir un valor para esta columna en una
sentencia insert. Por el contrario indicar un valor aunque sea Null, da un error
BY DEFAULT Le permite utilizar Identity, si la columna no se hace referencia en la una
sentencia insert, pero si se hace referencia a la columna, el valor
especificado se utiliza en lugar de la identidad. El intento de especificar el
valor NULL en este caso se traduce en un error, ya que las columnas de
identidad son siempre NOT NULL.
BY DEFAULT ON NULL Si una sentencia insert se ingresa un valor NULL se generará un
nuevo valor, si en cambio si ingresa un valor para esta columna, se
insertará el valor de la sentencia
Creación de Tablas
ALTER TABLE
Modifica la estructura de una tabla.
Ejemplo:
ALTER TABLE empleado_horario
ADD dia_fin DATE;
Eliminación de tablas
DROP TABLE
Elimina una tabla
Ejemplo:
DROP TABLE entrenamiento;
Implementación de restricciones
PRIMARY KEY
Asegura que los valores sean únicos para cada registro.
PRIMARY KEY
PRIMARY KEY
PRIMARY KEY
FOREIGN KEY
Se define un campo (o varios) cuyos valores coinciden con
la clave primaria de la misma tabla o de otra, es decir, se
define una referencia a un campo con una restricción
"primary key" o "unique" de la misma tabla o de otra.
FOREIGN KEY
ALTER TABLE empleado_entrenamiento
ADD CONSTRAINT fk_empleado_entrenamiento
FOREIGN KEY (entrenamiento_id)
REFERENCES entrenamiento (entrenamiento_id);
FOREIGN KEY
FOREIGN KEY
UNIQUE
Impide la duplicación de claves alternas (no primarias), es
decir, especifica que dos registros no puedan tener el
mismo valor en un campo. Se permiten valores nulos, salvo
que se indique lo contrario con NOT NULL.
UNIQUE
CKECK
Especifica los valores que acepta un campo, evitando que
se ingresen valores inapropiados.
CKECK
CKECK
DEPARTAMENTO
#código
*nombre
*ciudad
el lugar de
adscrito a
trabajo de
EMPLEADO
#dni
*nombre
*salario
*comisión
el subordinado *cargo
de
el jefe de
Implementación de restricciones
Clave foránea
Implementación de restricciones
EMPLEADO
# dni
* nombre
FACTURA
* salario
# número
* fecha
AUTO
# placa
* marca
Implementación de restricciones
PERSONA
# dni
* nombre
ESTUDIANTE
* promedio
PROFESOR
* registro
Implementación de restricciones
Implementación de un supertipo
Implementación de subtipos
CREATE INDEX
DROP INDEX
Ejemplo:
DROP INDEX ind_empleado;
Creación de Vistas
CREATE VIEW
Crea una vista, que no es más que una “consulta con
nombre”
CREATE VIEW
ALTER VIEW
Ejemplo:
ALTER VIEW factura_cliente ADD numero>10;
Modificación de Vistas
DROP VIEW
Ejemplo:
DROP VIEW factura_cliente;
Secuencias (sequence)
CREATE SEQUENCE
CREATE SEQUENCE
START WITH, indica el valor desde el cual comenzará la
generación de números secuenciales. Si no se especifica, se
inicia con el valor que indique MINVALUE.
INCREMENT BY, especifica el incremento. Debe ser un valor
numérico entero positivo o negativo diferente de 0. Si no se
indica, por defecto es 1.
MAXVALUE, define el valor máximo para la secuencia. Si se
omite, por defecto es 9999999999999999999999999.
MINVALUE, establece el valor mínimo de la secuencia. Si se
omite será 1.
CYCLE indica que, cuando la secuencia llegue a máximo valor
se reinicie, comenzando con el mínimo valor nuevamente. Si
se omite, por defecto la secuencia se crea NOCYCLE.
Creación de una secuencia
CREATE SEQUENCE
ALTER SEQUENCE
Ejemplo:
DROP SEQUENCE
Ejemplo: