Curso SQL - Leccion 11

43
Programación SQL Lección 11

Transcript of Curso SQL - Leccion 11

Page 1: Curso SQL - Leccion 11

Programación SQL Lección 11

Page 2: Curso SQL - Leccion 11

El uso de declaraciones DDLPara crear y administrar las Tablas

SQL Fundamentals I

Page 3: Curso SQL - Leccion 11

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

Page 4: Curso SQL - Leccion 11

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

Page 5: Curso SQL - Leccion 11

Objetos de base de datos

Page 6: Curso SQL - Leccion 11

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

Page 7: Curso SQL - Leccion 11

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

Page 8: Curso SQL - Leccion 11

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

Page 9: Curso SQL - Leccion 11

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

Page 10: Curso SQL - Leccion 11

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

Page 11: Curso SQL - Leccion 11

Crear la tabla:

Confirmar la creación de la tabla:

Creación de tablas

Page 12: Curso SQL - Leccion 11

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

Page 13: Curso SQL - Leccion 11

Tipos de datos

Page 14: Curso SQL - Leccion 11

Puede utilizar varios tipos de datos de fecha

Tipos de fecha y hora de Datos

Page 15: Curso SQL - Leccion 11

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

Page 16: Curso SQL - Leccion 11

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

Page 17: Curso SQL - Leccion 11

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

Page 18: Curso SQL - Leccion 11

Sintaxis:

Sintaxis de la restricción a nivel de columna:

Sintaxis de la restricción a nivel de tabla:

Definición de restricciones

Page 19: Curso SQL - Leccion 11

Ejemplo de una restricción a nivel de la columna:

Ejemplo de una restricción de nivel de tabla:

Definición de restricciones

Page 20: Curso SQL - Leccion 11

Asegura que no se permiten valores nulos para la columna:

Restricción NOT NULL

Page 21: Curso SQL - Leccion 11

Restricción UNIQUE

Page 22: Curso SQL - Leccion 11

Definido ya sea en el nivel de tabla o el nivel de la columna:

Restricción UNIQUE

Page 23: Curso SQL - Leccion 11

Restricción PRIMARY KEY

Page 24: Curso SQL - Leccion 11

Restricción de FOREIGN KEY

Page 25: Curso SQL - Leccion 11

Definido ya sea en el nivel de tabla o el nivel de la columna:

Restricción de FOREIGN KEY

Page 26: Curso SQL - Leccion 11

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

Page 27: Curso SQL - Leccion 11

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

Page 28: Curso SQL - Leccion 11

CREATE TABLE: Ejemplo

Page 29: Curso SQL - Leccion 11

Departamento 55 no existe.

Violar Restricciones

Page 30: Curso SQL - Leccion 11

No se puede eliminar una fila que contiene una clave principal que es utilizado como una clave externa de otra tabla.

Violar Restricciones

Page 31: Curso SQL - Leccion 11

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

Page 32: Curso SQL - Leccion 11

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

Page 33: Curso SQL - Leccion 11

Creación de una tabla mediante una subconsulta

Page 34: Curso SQL - Leccion 11

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

Page 35: Curso SQL - Leccion 11

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

Page 36: Curso SQL - Leccion 11

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

Page 37: Curso SQL - Leccion 11

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

Page 38: Curso SQL - Leccion 11

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

Page 39: Curso SQL - Leccion 11

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

Page 40: Curso SQL - Leccion 11

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

Page 41: Curso SQL - Leccion 11

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

Page 42: Curso SQL - Leccion 11

¿Preguntas?

Page 43: Curso SQL - Leccion 11

Emmanuel OrtizConsultor [email protected]  / gtalkemmanueltizSkype