Download - Curso SQL - Leccion 11
Programación SQL Lección 11
El uso de declaraciones DDLPara crear y administrar las Tablas
SQL Fundamentals I
Después de completar esta lección, usted debería ser capaz de hacer lo siguiente: Clasificar los principales objetos de la base Revisar la estructura de la tabla Enumerar los tipos de datos que están
disponibles para las columnas Crear una tabla simple Explicar cómo se crean restricciones en el
momento de la creación de una tabla Describir cómo trabaja el esquema de objetos
Objetivos
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Objetos de base de datos
Los nombres de tabla y nombres de columna deben: Comenzar con una letra Tener 1-30 caracteres de longitud Contener sólo A-Z, a-z, 0-9, _, $ y # No duplicar el nombre de otro objeto
propiedad del mismo usuario No ser una palabra reservada en servidor
Oracle
Reglas de nomenclatura
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Para crear una tabla se debe tener:◦ El privilegio CREATE TABLE◦ Un área de almacenamiento
Se especifica:◦ El nombre de la tabla◦ El nombre de la columna, el tipo de datos de
columna, y el tamaño de la columna
CREATE TABLE
Las tablas que pertenecen a otros usuarios no están en el usuario de esquema propetario.
Se debe utilizar el nombre del esquema propietario como prefijo a las tablas
Hacer referencia a las Tablas de otro usuario
Especificar un valor predeterminado para una columna en una inserción.
Valores literales, expresiones o funciones SQL son valores legales .
El nombre de otra columna o una pseudocolumna son valores ilegales.
El tipo de datos predeterminado debe coincidir con el tipo de datos de columna.
Opción DEFAULT
Crear la tabla:
Confirmar la creación de la tabla:
Creación de tablas
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Tipos de datos
Puede utilizar varios tipos de datos de fecha
Tipos de fecha y hora de Datos
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Las restricciones imponen reglas a nivel de tabla.
Las restricciones impiden la supresión de una tabla y su contenido si hay dependencias.
Los siguientes tipos de restricciones son válidas:◦ NOT NULL◦ UNIQUE◦ PRIMARY KEY◦ FOREIGN KEY◦ CHECK
Incluyendo Restricciones
Se puede nombrar a una restricción, o el servidor de Oracle le genera un nombre utilizando el formato SYS_Cn .
Crear una restricción en cualquiera de los siguientes momentos:◦ Al mismo tiempo que la creación de la tabla◦ Después de la creación de la tabla
Definir una restricción a nivel de columna o tabla.
Ver una restricción en el diccionario de datos.
Directrices de restricción
Sintaxis:
Sintaxis de la restricción a nivel de columna:
Sintaxis de la restricción a nivel de tabla:
Definición de restricciones
Ejemplo de una restricción a nivel de la columna:
Ejemplo de una restricción de nivel de tabla:
Definición de restricciones
Asegura que no se permiten valores nulos para la columna:
Restricción NOT NULL
Restricción UNIQUE
Definido ya sea en el nivel de tabla o el nivel de la columna:
Restricción UNIQUE
Restricción PRIMARY KEY
Restricción de FOREIGN KEY
Definido ya sea en el nivel de tabla o el nivel de la columna:
Restricción de FOREIGN KEY
FOREIGN KEY: Define la columna en la tabla secundaria en el nivel de tabla en restricciones
REFERENCES: identifica la tabla y columna en la matriz mesa
ON DELETE CASCADE: Borra las filas dependientes en la tabla secundaria cuando se elimina una fila de la tabla padre
ON DELETE SET NULL: Convierte clave externa dependiente valores NULL
Restricción FOREIGN KEY : Keywords
Define una condición que cada fila debe satisfacer
Las siguientes expresiones no están permitidos:◦ Las referencias a pseudocolumnas CURRVAL,
NEXTVAL, LEVEL, y ROWNUM◦ Las llamadas a funciones SYSDATE, UID, USER, y
USERENV ◦ Las consultas que hacen referencia a otros
valores en otras filas
Restricción CHECK
CREATE TABLE: Ejemplo
Departamento 55 no existe.
Violar Restricciones
No se puede eliminar una fila que contiene una clave principal que es utilizado como una clave externa de otra tabla.
Violar Restricciones
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Crear una tabla e insertar filas mediante la combinación de sentencia CREAR TABLE y la opción AS subconsulta.
Haga coincidir el número de columnas especificadas en el número de columnas subconsulta.
Definir las columnas con los nombres de columna y los valores por defecto.
Creación de una tabla mediante una subconsulta
Creación de una tabla mediante una subconsulta
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Agregar una nueva columna Modificar la definición de columna existente Definir un valor predeterminado para la
nueva columna Eliminar una columna Cambiar el nombre de una columna Cambiar el estado de una tabla a solo
lectura
Declaración ALTER TABLE
Puede utilizar la sintaxis de ALTER TABLE para: Poner una tabla en modo de sólo lectura, lo que
impide cambios de DDL o DML cambia durante el mantenimiento de la tabla
Establecer de nuevo en modo de lectura / escritura
Tablas de solo lectura
Objetos de base de datos◦ Reglas de nomenclatura
Sentencia CREATE TABLE:◦ Acceso a las tablas de otro usuario◦ Opción DEFAULT
Tipos de datos Descripción general de las restricciones: NOT NULL,
UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Creación de una tabla utilizando una subconsulta Sentencia ALTER TABLE
◦ Tablas de sólo lectura Sentencia DROP TABLE
Agenda
Mueve una tabla a la papelera de reciclaje Elimina la tabla y todos sus datos por
completo si PURGE se especifica cláusula Invalida objetos dependientes y elimina
objeto privilegios en la tabla
Sentencia DROP TABLE
Para los que tres de las siguientes afirmaciones se puede utilizar restricciones?a. Hacer cumplir las normas relativas a los
datos en una tabla cada vez que una fila es insertada, actualizada o suprimida.
b. Prevenir eliminar una tabla.c. Prevenir la creación de una tabla.d. Prevenir la creación de datos en una tabla.
Examen
En esta lección, debe haber aprendido a utilizar la sentencia CREATE TABLE para crear una tabla e incluir restricciones: Clasificar los principales objetos de la base. Revisar la estructura de la tabla. Enumerar los tipos de datos que están
disponibles para las columnas. Crear una tabla simple. Explicar cómo se crean restricciones en el
momento de la creación de una tabla. Describir cómo funciona el esquema de objetos.
Resumen
Esta práctica se abordan los siguientes temas: Creación de nuevas tablas Creación de una nueva tabla mediante la
sintaxis CREATE TABLE AS Verificar que existen tablas Configurar con el estado de sólo lectura de
una tabla Eliminar Tablas
Práctica 11: Información general
¿Preguntas?
Emmanuel OrtizConsultor [email protected] / gtalkemmanueltizSkype