curso sql - leccion 12
TRANSCRIPT
![Page 1: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/1.jpg)
Programación SQL Lección 12
![Page 2: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/2.jpg)
SQL Fundamentals I
La creación de otros objetos de esquema
![Page 3: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/3.jpg)
Después de completar esta lección, usted debería ser capaz de hacer el siguiente: Crear vistas simples y complejas Recuperar datos desde vistas Crear, mantener y utilizar secuencias Crear y mantener índices Crear sinónimos privados y públicos
Objetivos
![Page 4: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/4.jpg)
Descripción general de las Vistas:◦Crear, modificar y recuperar datos de una vista◦Operaciones de Lenguaje de manipulación de datos
(DML)en una vista◦Eliminar una vista
Descripción general de las secuencias:◦Creación, uso y modificación de una secuencia◦Secuencia de valores en Cache◦Pseudocolumnas NEXTVAL y CURRVAL
• Descripción general de los índices◦Creación y eliminación de índices
• Visión general de sinónimos◦Creación y eliminación de sinónimos
Agenda
![Page 5: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/5.jpg)
Objetos de base de datos
![Page 6: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/6.jpg)
¿Qué es una Vista?
![Page 7: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/7.jpg)
Ventajas de Vistas
![Page 8: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/8.jpg)
Vistas simples y complejos Vistas
![Page 9: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/9.jpg)
Se embebe una subconsulta en la sentencia CREATE VIEW:
La subconsulta puede contener sintaxis SELECT compleja.
Creación de una vista
![Page 10: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/10.jpg)
Crear la vista EMPVU80, que contiene detalles de la empleados del departamento 80
Describir la estructura de la vista utilizando el comando DESCRIBE:
Creación de una Vista
![Page 11: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/11.jpg)
Crear una vista mediante el uso de los alias de columna en la subconsulta:
Seleccione las columnas desde este punto de vista por los alias dados
Creación de una vista
![Page 12: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/12.jpg)
Recuperación de datos de una Vista
![Page 13: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/13.jpg)
Modificar la vista EMPVU80 utilizando la cláusula CREATE OR REPLACE VIEW. Añadir un alias para cada nombre de columna:
El alias de columna en la cláusula CREATE OR REPLACE VIEW se enumeran en el mismo orden que las columnas de la subconsulta.
Modificación de un Vista
![Page 14: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/14.jpg)
Crear una visión compleja que contiene funciones de grupo para mostrar los valores de dos tablas:
Creación de una Vista compleja
![Page 15: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/15.jpg)
Generalmente, se puede realizar operaciones de DML en vistas simples.
No se puede eliminar una fila si la Vista contiene el siguiente:◦ Funciones de grupo◦ Una cláusula GROUP BY◦ La palabra clave DISTINCT◦ La palabra clave ROWNUM
Reglas para la realización de operaciones DML en una Vista
![Page 16: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/16.jpg)
No se pueden modificar los datos en una vista si contiene: Funciones de grupo Una cláusula GROUP BY La palabra clave DISTINCT La palabra clave ROWNUM Columnas definidas por expresiones
Reglas para la realización de operaciones DML en una Vista
![Page 17: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/17.jpg)
No se puede agregar datos a través de una vista si la vista incluye: Funciones de grupo Una cláusula GROUP BY La palabra clave DISTINCT La palabra clave ROWNUM Columnas definidas por expresiones Las columnas NOT NULL en las tablas de la
base no searán seleccionados por la vista
Reglas para la realización de operaciones DML en una Vista
![Page 18: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/18.jpg)
Se puede asegurar que las operaciones DML que se realizan en la Vista permanecen en el dominio de la vista mediante la cláusula WITH CHECK OPTION:
Cualquier intento de insertar una fila con un department_id diferente de 20, o para actualizar el número de departamento para cualquier fila en la vista falla porque viola la restricción WITH CHECK OPTION.
Uso de la cláusula WITH CHECK OPTION
![Page 19: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/19.jpg)
Puede asegurarse de que no hayan operaciones DML se producen añadiendo la opción WITH READ ONLY en definición de la vista.
Cualquier intento de realizar una operación de DML en cualquier fila de la ver los resultados en un error en el servidor Oracle.
Negar operaciones DML
![Page 20: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/20.jpg)
Negar operaciones DML
![Page 21: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/21.jpg)
Se puede eliminar una Vista sin perder los datos debido a que una Vista es basada en tablas en la base de datos subyacente.
Eliminar una Vista
![Page 22: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/22.jpg)
Esta práctica se abordan los siguientes temas: Creación de una Vista simple Creación de una Vista compleja Creación de una Vista con una restricción de
comprobación El intento de modificar los datos en la Vista Eliminación de una Vista
Práctica 12: Vista general de la parte 1
![Page 23: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/23.jpg)
Descripción general de las Vistas:◦ Crear, modificar y recuperar datos de una vista◦ Operaciones de Lenguaje de manipulación de datos
(DML)en una vista◦ Eliminar una vista
Descripción general de las secuencias:◦ Creación, uso y modificación de una secuencia◦ Secuencia de valores en Cache◦ Pseudocolumnas NEXTVAL y CURRVAL
• Descripción general de los índices◦ Creación y eliminación de índices
• Visión general de sinónimos◦ Creación y eliminación de sinónimos
Agenda
![Page 24: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/24.jpg)
Secuencias
![Page 25: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/25.jpg)
Una secuencia: Puede generar números únicos
automáticamente Es un objeto compartible Se puede utilizar para crear un valor de clave
principal Reemplaza el código de aplicación Acelera la eficiencia de acceso a valores de
secuencia cuando esta en la memoria caché
Secuencias
![Page 26: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/26.jpg)
Definir una secuencia para generar números secuenciales automáticamente:
Sentencia CREATE SEQUENCE: Sintaxis
![Page 27: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/27.jpg)
Se crea una secuencia llamada DEPT_DEPTID_SEQ a utilizar para la clave principal de la tabla DEPARTAMENTOS.
• No utilizar la opción CYCLE.
Creación de una secuencia
![Page 28: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/28.jpg)
NEXTVAL devuelve el siguiente valor de la secuencia disponible. Ella devuelve un valor único cada vez que se hace referencia, incluso para diferentes usuarios.
CURRVAL obtiene el valor de secuencia actual.
NEXTVAL debe ser emitido para esa secuencia antes CURRVAL contiene un valor.
Pseudocolumnas NEXTVAL y CURRVAL
![Page 29: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/29.jpg)
Insertar un nuevo departamento denominado "Soporte" en lugar de identificación 2500:
Ver el valor actual para el DEPT_DEPTID_SEQ secuencia:
Usando una secuencia
![Page 30: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/30.jpg)
Almacennar valores de secuencia en memoria caché da un acceso más rápido a esos valores.
Pueden ocurrir vacíos o gaps en valores de secuencia cuando:◦ Se produce un retroceso◦ Los fallos del sistema◦ Una secuencia se utiliza en otra tabla
Almacenar en Cache los valores de secuencia
![Page 31: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/31.jpg)
Cambie el valor de incremento, valor máximo, valor mínimo, opción de ciclo, o caché opción:
La modificación de una secuencia
![Page 32: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/32.jpg)
Se debe ser el propietario o tener el privilegio ALTER para la secuencia.
Sólo los futuros números de secuencia se ven afectados.
La secuencia debe eliminar y volver a crear al reiniciar la secuencia en un número diferente.
Algunas validaciones son realizadas. Para eliminar una secuencia, utilizar la
sentencia DROP:
Directrices para modificación de una Secuencia
![Page 33: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/33.jpg)
Descripción general de las Vistas:◦ Crear, modificar y recuperar datos de una vista◦ Operaciones de Lenguaje de manipulación de datos
(DML)en una vista◦ Eliminar una vista
Descripción general de las secuencias:◦ Creación, uso y modificación de una secuencia◦ Secuencia de valores en Cache◦ Pseudocolumnas NEXTVAL y CURRVAL
• Descripción general de los índices◦ Creación y eliminación de índices
• Visión general de sinónimos◦ Creación y eliminación de sinónimos
Agenda
![Page 34: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/34.jpg)
Índices
![Page 35: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/35.jpg)
Es un objeto de esquema Puede ser utilizado para acelerar la recuperación
de filas mediante el uso de un puntero Puede reducir la entrada de disco / salida (I / O)
utilizando una ruta rápida método de acceso para localizar datos de forma rápida
Depende de la tabla que indexa Se usa y se mantiene de forma automática por el
servidor Oracle
Índices
![Page 36: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/36.jpg)
Automáticamente: Un índice único se crea automáticamente al definir una restricción PRIMARY KEY o UNIQUE en una definición de tabla.
Manualmente: Los usuarios pueden crear índices no únicos en columnas para acelerar el acceso a las filas.
¿Cómo se crean los índices?
![Page 37: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/37.jpg)
Crear un índice en una o más columnas:
Mejorar la velocidad de acceso de consulta a la LAST_NAME columna en la tabla EMPLOYEES:
Creación de un índice
![Page 38: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/38.jpg)
Directrices creación del índice
![Page 39: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/39.jpg)
Eliminar un índice del diccionario de datos mediante el uso de la DROP comando INDEX:
Eliminar el índice emp_last_name_idx partir de los datos diccionario:
Para excluir a un índice, debe ser el propietario del índice o tener el privilegio DROP ANY INDEX.
Eliminar un índice
![Page 40: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/40.jpg)
Descripción general de las Vistas:◦ Crear, modificar y recuperar datos de una vista◦ Operaciones de Lenguaje de manipulación de datos
(DML)en una vista◦ Eliminar una vista
Descripción general de las secuencias:◦ Creación, uso y modificación de una secuencia◦ Secuencia de valores en Cache◦ Pseudocolumnas NEXTVAL y CURRVAL
• Descripción general de los índices◦ Creación y eliminación de índices
• Visión general de sinónimos◦ Creación y eliminación de sinónimos
Agenda
![Page 41: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/41.jpg)
Sinónimos
![Page 42: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/42.jpg)
Simplifica el acceso a los objetos mediante la creación de un sinónimo (otro nombre de un objeto). Con sinónimos, se puede: Crear una referencia más fácil a una tabla
que es propiedad de otro usuario Acortar largos nombres de objeto
Creación de un sinónimo de un Objeto
![Page 43: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/43.jpg)
Crear un nombre abreviado para la vista DEPT_SUM_VU:
Eliminar un sinónimo
Creación y eliminación de sinónimos
![Page 44: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/44.jpg)
Los índices se deben crear manualmente y sirven para acelerar el acceso a las filas de una tabla.a. Verdaderob. Falso
Examen
![Page 45: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/45.jpg)
En esta lección, debe haber aprendido a: Crear, usar y eliminar vistas Generar automáticamente los números de
secuencia utilizando un generador de secuencia
Crear índices para mejorar la velocidad de recuperación de la consulta
Utilizar sinónimos para proporcionar nombres alternativos para los objetos
Resumen
![Page 46: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/46.jpg)
Esta práctica se abordan los siguientes temas: La creación de secuencias El uso de secuencias Creación de índices no únicos Creación de sinónimos
Práctica 12: Vista general de la parte 2
![Page 47: Curso SQL - Leccion 12](https://reader038.vdocuments.pub/reader038/viewer/2022103105/58a082891a28ab19098b7217/html5/thumbnails/47.jpg)
¿Preguntas?