SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
1
2.6.1.- Concepto de vista.
• Una vista es una tabla derivada de otras tablas (básicas o virtuales).
• Una vista se caracteriza porque:
– Se considera que forma parte del esquema externo.
– Una vista es una tabla virtual (no tiene una correspondencia a
nivel físico)
– Se puede consultar como cualquier tabla básica.
– Las actualizaciones se transfieren a la/s tabla/s original/es
(con ciertas limitaciones).
2
2.6.2.- Aplicaciones de las vistas.
• Para la especificación de tablas con información que se accede con
frecuencia pero no posee existencia física:
– Información derivada de la relación entre varias tablas.
– Información derivada de la formación de grupos de tuplas (p.e. para
la obtención de estadísticas).
– En general: información derivada de consultas complejas a la que se
accede con frecuencia.
• Como mecanismo de seguridad: creación de vistas con, únicamente, los
atributos de las tablas a los cuales se desea permitir acceder a determinados
usuarios.
• Para la creación de esquemas externos.
3
• La sintaxis para la creación de vistas en SQL es la siguiente:
CREATE | REPLACE VIEW vista [(comalista_columna)]
AS expresión_tabla [with check option]
en donde:
2.6.3.- Vistas en SQL.
– CREATE VIEW es la orden que permite la creación de la vista.
– vista es el nombre de la tabla virtual que se va a crear.
– (comalista_columna) son los nombres de los atributos de la tabla y es opcional:
• Si no se especifica, el nombre coincide con el nombre de los atributos
resultantes en expresión_tabla.
• Es obligatorio si algún atributo de expresión_tabla es el resultado de una
función de agregación o una operación aritmética. 4
• La sintaxis para la creación de vistas en SQL es la siguiente:
CREATE | REPLACE VIEW vista [(comalista_columna)]
AS expresión_tabla [with check option]
en donde:
2.6.3.- Vistas en SQL.
– expresión_tabla es una consulta SQL cuyo resultado será el contenido de la vista.
– WITH CHECK OPTION es opcional y se debe incluir si se desea actualizar la
vista de una manera íntegra.
– Para la eliminación de una vista se utiliza la instrucción:
– DROP VIEW vista [restrict | cascade];
5
2.6.3.- Vistas en SQL (Ejemplos).
• Dada la siguiente relación de una base de datos:
Cocinero(nombre:varchar, edad: number, país:varchar)
Obtén una vista con, únicamente, los cocineros franceses:
Obtén una vista con la edad media de los cocineros agrupados por país:
El Check Option impide que yo pueda añadir
cocineros que no sean franceses
Motivos por los que una vista NO es actualizable:
• contiene operadores conjuntistas (UNION, INTERSECT,…).
• el operador DISTINCT
• funciones agregadas (SUM, AVG, ..)
• la cláusula GROUP BY
2.6.3.- Vistas en SQL (Vistas Actualizables).
Vista sobre una tabla básica:
• el sistema traducirá la actualización sobre la vista en una operación de
actualización sobre la relación básica.
• siempre que no se viole ninguna restricción de integridad definida sobre
dicha relación.
2.6.3.- Vistas en SQL (Vistas Actualizables).
Vista sobre una concatenación de relaciones:
• la actualización sólo puede modificar una de las tablas básicas
• actualización modificará la relación básica que cumpla la propiedad de
conservación de la clave (aquella relación tal que su clave primaria podría ser
también clave de la vista)
• la actualización no se realizará si viola alguna de las restricciones definidas
sobre la relación básica que se va a actualizar
2.6.3.- Vistas en SQL (Vistas Actualizables).
9
EJEMPLO:
• Dadas las siguientes relaciones:
Persona(nif: dom_nif, nombre: dom_nom, edad: dom_edad)
CP:{nif}
Vivienda(cod_viv: dom_cod, nif: dom_nif, dir: dom_dir, num_hab: dom_num)
CP:{cod_viv} CAj:{nif} Persona
• Dada la siguiente vista definida sobre dichas relaciones:
CREATE VIEW Todo_Vivienda AS
SELECT * FROM Persona NATURAL JOIN Vivienda
¿Podré modificar la dirección de una vivienda en Todo_Vivienda?
¿Podré modificar el nombre del propietario de una vivienda?
2.6.3.- Vistas en SQL (Vistas Actualizables).
10
2.7.1.- Concepto de disparador.
Son reglas que especifican acciones que son activadas
automáticamente por determinados eventos.
11
Forma de una regla de actividad:
Evento - Condición - Acción
acción que el sistema ejecuta cuando como respuesta a la ocurrencia de
un evento cuando cierta condición se satisface:
• evento: operación de actualización
• condición: expresión lógica del SQL. Sólo se ejecutará la acción si
esta condición existe y es verdadera.
• acción: procedimiento escrito en un lenguaje de programación que
incluye instrucciones de manipulación de la BD.
2.7.2.- Reglas Evento-Condición-Acción.
12
Define el comportamiento activo del sistema. Aplicaciones:
• comprobación de restricciones de integridad
• restauración de la consistencia
• definición de reglas de funcionamiento de la organización
• mantenimiento de información derivada
2.7.3.- Aplicaciones de los disparadores.
13
definición_regla::=
{CREATE | REPLACE} TRIGGER nombre_regla
{BEFORE | AFTER | INSTEAD OF} evento [disyunción_eventos]
ON {nombre_relación | nombre_vista}
[ [REFERENCING OLD AS nombre_referencia
[NEW AS nombre_referencia] ]
[FOR EACH {ROW | STATEMENT} [WHEN ( condición ) ] ]
bloque PL/SQL
disyunción_eventos ::= OR evento [disyunción_eventos]
evento ::= INSERT | DELETE | UPDATE [OF comalista_nombre_atributo]
2.7.4.- Disparadores en SQL.
14
EVENTOS
{BEFORE | AFTER | INSTEAD OF} evento [disyunción_eventos]
ON {nombre_relación | nombre_vista}
disyunción_eventos ::= OR evento [disyunción_eventos]
evento ::=
INSERT | DELETE | UPDATE [OF comalista_nombre_atributo]
2.7.4.- Disparadores en SQL.
15
EVENTOS
Parametrización de eventos:
– los eventos de las reglas FOR EACH ROW están parametrizados
– pametrización implícita:
• evento INSERT o DELETE: n (n grado de la relación)
• evento UPDATE: 2*n
– nombre de parámetros:
• evento INSERT: NEW
• evento DELETE: OLD
• evento UPDATE: OLD y NEW
– se pueden usar en la condición de la regla
– se pueden usar en el bloque PL/SQL
2.7.4.- Disparadores en SQL.
16
BEFORE
FOR EACH STATEMENT FOR EACH ROW
La regla se ejecuta una vez antes de la
ejecución de la operación de
actualización
La regla se ejecuta una vez antes de
actualización de cada tupla afectada
por la operación de actualización
AFTER
La regla se ejecuta una vez después de
la ejecución de la operación de
actualización
La regla se ejecuta una vez después
de actualización de cada tupla
afectada por la operación de
actualización
2.7.4.- Disparadores en SQL.
17
CONDICIONES
WHEN (condición)
– expresión lógica de sintaxis similar a la condición de la cláusula WHERE de la
instrucción SELECT
– no puede contener subconsultas ni funciones agregadas
– sólo se puede hacer referencia a los parámetros del evento
2.7.4.- Disparadores en SQL.
18
ACCIONES
bloque PL/SQL
– bloque escrito en el lenguaje de programación de Oracle PL/SQL
– sentencias de manipulación de la BD: INSERT, DELETE, UPDATE,
SELECT ... INTO ...
– sentencias de programa: asignación, selección, iteración
– sentencias de manejo de errores
– sentencias de entrada/salida
2.7.4.- Disparadores en SQL.
19
Lenguaje de reglas:
– Creación: CREATE TRIGGER nombre_regla ...
– Eliminación: DROP TRIGGER nombre_reglas
– Modificación: REPLACE TRIGGER nombre_regla ...
– Recompilación: ALTER TRIGGER nombre_regla COMPILE
– Des/Habilitar regla: ALTER TRIGGER nombre_regla [ENABLE | DISABLE]
– Des/Habilitar todas las reglas sobre una relación:
ALTER TABLE nombre_relación [{ENABLE | DISABLE} ALL TRIGGERS]
2.7.4.- Disparadores en SQL.
20
La restricción R2 :
R2) Px: Pieza, Sx: Suministro ∀Px : Pieza (∃Sx : Suministro ( Sx.código=Px.código ) )
se define mediante una restricción general:
create assertion R2 check
not exists(select * from Pieza P
where not exists(select *
from Suministro S
where P.código=S.código));
¿Cómo controlar la restricción mediante reglas de actividad?
2.7.4.- Disparadores en SQL (Ejemplo).
21
Detectar qué eventos pueden afectar a la R.I.:
TABLA, OPERACIÓN, ATRIBUTO
Suministro, Borrado, -
Suministro, Modificación, código
Pieza, Inserción, -
Construir Triggers para controlar estos eventos.
2.7.4.- Disparadores en SQL (Ejemplo).
22
CREATE TRIGGER T2
AFTER INSERT ON Pieza
FOR EACH ROW
DECLARE N: NUMBER;
BEGIN
SELECT COUNT(*) INTO N
FROM Suministro S WHERE :new.codigo = S.codigo;
IF N=0 THEN
RAISE_APPLICATION_ERROR(-20000, ‘No se puede
insertar una pieza, porque la pieza no tiene suministros.
Cree las dos tuplas (la de pieza y la de suministro)
dentro de una transacción deshabilitando este trigger.’);
END IF;
END;
2.7.4.- Disparadores en SQL (Ejemplo).
23
2.8.- Limitaciones del modelo relacional.
• Los modelos de datos tradicionales (relacional, jerárquico y red) han tenido
éxito en aplicaciones tradicionales de negocios.
• Los modelos tradicionales presentan deficiencias en aplicaciones:
de diseño y fabricación en ingeniería (CAD/CAM/CIM),
experimentos científicos,
telecomunicaciones,
sistemas de información geográfica, y
multimedia.
24
2.8.- Limitaciones del modelo relacional.
• Requisitos y características de las nuevas aplicaciones:
estructuras más complejas para los objetos,
transacciones de mayor duración,
nuevos tipos de datos para almacenar imágenes o elementos de texto
grandes y
la necesidad de definir operaciones no estándar específicas para las
aplicaciones.
• Evolución de las bases de datos relacionales:
bases de datos deductivas,
bases de datos activas,
bases de datos orientadas a objetos y
bases de datos objeto-relacionales (SQL3)

Más contenido relacionado

La actualidad más candente

Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)José Toro
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)José Toro
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)José Toro
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)José Toro
 
Diapositivas de objeto sqlcommand
Diapositivas de objeto sqlcommandDiapositivas de objeto sqlcommand
Diapositivas de objeto sqlcommandTAPIA SILVA EVELINA
 
Bd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa TriggersBd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa Triggersdemoiselle
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)José Toro
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)José Toro
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollbackArchCHUZ
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Universidad Nacional de Piura
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosUNACAR
 
Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)José Toro
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Jair Ospino Ardila
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sqlDeisyVilchez
 

La actualidad más candente (20)

Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)Sesion09 - Manejo de Excepciones (Oracle)
Sesion09 - Manejo de Excepciones (Oracle)
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Statement
StatementStatement
Statement
 
Diapositivas de objeto sqlcommand
Diapositivas de objeto sqlcommandDiapositivas de objeto sqlcommand
Diapositivas de objeto sqlcommand
 
Bd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa TriggersBd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa Triggers
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Triggers
TriggersTriggers
Triggers
 
Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollback
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenados
 
Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 

Destacado

HEMANT'S RESUME- B
HEMANT'S RESUME- BHEMANT'S RESUME- B
HEMANT'S RESUME- BHemant Mota
 
Trigger disparadoes
Trigger  disparadoesTrigger  disparadoes
Trigger disparadoesdioselina123
 
SPACE DETECTIVE - EPK small
SPACE DETECTIVE - EPK smallSPACE DETECTIVE - EPK small
SPACE DETECTIVE - EPK smallAntonio Llapur
 
Tupac amaru
Tupac amaruTupac amaru
Tupac amaruGRR15
 
Procedimientos almacenados ensql actualizar
Procedimientos almacenados ensql  actualizarProcedimientos almacenados ensql  actualizar
Procedimientos almacenados ensql actualizardioselina123
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql serverdioselina123
 
Triggers disparador
Triggers disparadorTriggers disparador
Triggers disparadordioselina123
 
Bryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYCBryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYCBryan Berger
 
Arbitration power point
Arbitration power pointArbitration power point
Arbitration power pointkcboggs
 

Destacado (14)

ESTRUCTURA SOCIAL LIZ ALTUVE T8
ESTRUCTURA SOCIAL LIZ ALTUVE T8ESTRUCTURA SOCIAL LIZ ALTUVE T8
ESTRUCTURA SOCIAL LIZ ALTUVE T8
 
Estructura social
Estructura socialEstructura social
Estructura social
 
HEMANT'S RESUME- B
HEMANT'S RESUME- BHEMANT'S RESUME- B
HEMANT'S RESUME- B
 
Trigger disparadoes
Trigger  disparadoesTrigger  disparadoes
Trigger disparadoes
 
SPACE DETECTIVE - EPK small
SPACE DETECTIVE - EPK smallSPACE DETECTIVE - EPK small
SPACE DETECTIVE - EPK small
 
Tupac amaru
Tupac amaruTupac amaru
Tupac amaru
 
Procedimientos almacenados ensql actualizar
Procedimientos almacenados ensql  actualizarProcedimientos almacenados ensql  actualizar
Procedimientos almacenados ensql actualizar
 
Caso de estudio joins
Caso de estudio joinsCaso de estudio joins
Caso de estudio joins
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
 
Triggers disparador
Triggers disparadorTriggers disparador
Triggers disparador
 
Bienvenida a android
Bienvenida a androidBienvenida a android
Bienvenida a android
 
Bryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYCBryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYC
 
Arbitration power point
Arbitration power pointArbitration power point
Arbitration power point
 
Sistemul solar
Sistemul solarSistemul solar
Sistemul solar
 

Similar a Vistas

Linq to sql 9
Linq to sql 9Linq to sql 9
Linq to sql 9jcfarit
 
02 troubleshooting essentials sql server profiler - sql pass peru
02 troubleshooting essentials   sql server profiler - sql pass peru02 troubleshooting essentials   sql server profiler - sql pass peru
02 troubleshooting essentials sql server profiler - sql pass peruGuillermo Taylor
 
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...Sergio E. Sánchez
 
INTEGRIDAD Y SEGURIDAD
INTEGRIDAD Y SEGURIDADINTEGRIDAD Y SEGURIDAD
INTEGRIDAD Y SEGURIDADdemoiselle
 
Auditoria en oracle
Auditoria en oracleAuditoria en oracle
Auditoria en oraclevictdiazm
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)José Toro
 
bdlink vistas materializadas
bdlink vistas materializadasbdlink vistas materializadas
bdlink vistas materializadasJuan Calvache
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesariaBoris Salleg
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 

Similar a Vistas (20)

Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Linq to sql 9
Linq to sql 9Linq to sql 9
Linq to sql 9
 
02 troubleshooting essentials sql server profiler - sql pass peru
02 troubleshooting essentials   sql server profiler - sql pass peru02 troubleshooting essentials   sql server profiler - sql pass peru
02 troubleshooting essentials sql server profiler - sql pass peru
 
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
 
INTEGRIDAD Y SEGURIDAD
INTEGRIDAD Y SEGURIDADINTEGRIDAD Y SEGURIDAD
INTEGRIDAD Y SEGURIDAD
 
Auditoria en oracle
Auditoria en oracleAuditoria en oracle
Auditoria en oracle
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
bdlink vistas materializadas
bdlink vistas materializadasbdlink vistas materializadas
bdlink vistas materializadas
 
Conexion bd en java y api necesaria
Conexion bd en java y api necesariaConexion bd en java y api necesaria
Conexion bd en java y api necesaria
 
Vistas
VistasVistas
Vistas
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Textos sqli_mssql
 Textos sqli_mssql Textos sqli_mssql
Textos sqli_mssql
 

Último

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 

Último (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 

Vistas

  • 1. 1 2.6.1.- Concepto de vista. • Una vista es una tabla derivada de otras tablas (básicas o virtuales). • Una vista se caracteriza porque: – Se considera que forma parte del esquema externo. – Una vista es una tabla virtual (no tiene una correspondencia a nivel físico) – Se puede consultar como cualquier tabla básica. – Las actualizaciones se transfieren a la/s tabla/s original/es (con ciertas limitaciones). 2 2.6.2.- Aplicaciones de las vistas. • Para la especificación de tablas con información que se accede con frecuencia pero no posee existencia física: – Información derivada de la relación entre varias tablas. – Información derivada de la formación de grupos de tuplas (p.e. para la obtención de estadísticas). – En general: información derivada de consultas complejas a la que se accede con frecuencia. • Como mecanismo de seguridad: creación de vistas con, únicamente, los atributos de las tablas a los cuales se desea permitir acceder a determinados usuarios. • Para la creación de esquemas externos. 3 • La sintaxis para la creación de vistas en SQL es la siguiente: CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresión_tabla [with check option] en donde: 2.6.3.- Vistas en SQL. – CREATE VIEW es la orden que permite la creación de la vista. – vista es el nombre de la tabla virtual que se va a crear. – (comalista_columna) son los nombres de los atributos de la tabla y es opcional: • Si no se especifica, el nombre coincide con el nombre de los atributos resultantes en expresión_tabla. • Es obligatorio si algún atributo de expresión_tabla es el resultado de una función de agregación o una operación aritmética. 4 • La sintaxis para la creación de vistas en SQL es la siguiente: CREATE | REPLACE VIEW vista [(comalista_columna)] AS expresión_tabla [with check option] en donde: 2.6.3.- Vistas en SQL. – expresión_tabla es una consulta SQL cuyo resultado será el contenido de la vista. – WITH CHECK OPTION es opcional y se debe incluir si se desea actualizar la vista de una manera íntegra. – Para la eliminación de una vista se utiliza la instrucción: – DROP VIEW vista [restrict | cascade];
  • 2. 5 2.6.3.- Vistas en SQL (Ejemplos). • Dada la siguiente relación de una base de datos: Cocinero(nombre:varchar, edad: number, país:varchar) Obtén una vista con, únicamente, los cocineros franceses: Obtén una vista con la edad media de los cocineros agrupados por país: El Check Option impide que yo pueda añadir cocineros que no sean franceses Motivos por los que una vista NO es actualizable: • contiene operadores conjuntistas (UNION, INTERSECT,…). • el operador DISTINCT • funciones agregadas (SUM, AVG, ..) • la cláusula GROUP BY 2.6.3.- Vistas en SQL (Vistas Actualizables). Vista sobre una tabla básica: • el sistema traducirá la actualización sobre la vista en una operación de actualización sobre la relación básica. • siempre que no se viole ninguna restricción de integridad definida sobre dicha relación. 2.6.3.- Vistas en SQL (Vistas Actualizables). Vista sobre una concatenación de relaciones: • la actualización sólo puede modificar una de las tablas básicas • actualización modificará la relación básica que cumpla la propiedad de conservación de la clave (aquella relación tal que su clave primaria podría ser también clave de la vista) • la actualización no se realizará si viola alguna de las restricciones definidas sobre la relación básica que se va a actualizar 2.6.3.- Vistas en SQL (Vistas Actualizables).
  • 3. 9 EJEMPLO: • Dadas las siguientes relaciones: Persona(nif: dom_nif, nombre: dom_nom, edad: dom_edad) CP:{nif} Vivienda(cod_viv: dom_cod, nif: dom_nif, dir: dom_dir, num_hab: dom_num) CP:{cod_viv} CAj:{nif} Persona • Dada la siguiente vista definida sobre dichas relaciones: CREATE VIEW Todo_Vivienda AS SELECT * FROM Persona NATURAL JOIN Vivienda ¿Podré modificar la dirección de una vivienda en Todo_Vivienda? ¿Podré modificar el nombre del propietario de una vivienda? 2.6.3.- Vistas en SQL (Vistas Actualizables). 10 2.7.1.- Concepto de disparador. Son reglas que especifican acciones que son activadas automáticamente por determinados eventos. 11 Forma de una regla de actividad: Evento - Condición - Acción acción que el sistema ejecuta cuando como respuesta a la ocurrencia de un evento cuando cierta condición se satisface: • evento: operación de actualización • condición: expresión lógica del SQL. Sólo se ejecutará la acción si esta condición existe y es verdadera. • acción: procedimiento escrito en un lenguaje de programación que incluye instrucciones de manipulación de la BD. 2.7.2.- Reglas Evento-Condición-Acción. 12 Define el comportamiento activo del sistema. Aplicaciones: • comprobación de restricciones de integridad • restauración de la consistencia • definición de reglas de funcionamiento de la organización • mantenimiento de información derivada 2.7.3.- Aplicaciones de los disparadores.
  • 4. 13 definición_regla::= {CREATE | REPLACE} TRIGGER nombre_regla {BEFORE | AFTER | INSTEAD OF} evento [disyunción_eventos] ON {nombre_relación | nombre_vista} [ [REFERENCING OLD AS nombre_referencia [NEW AS nombre_referencia] ] [FOR EACH {ROW | STATEMENT} [WHEN ( condición ) ] ] bloque PL/SQL disyunción_eventos ::= OR evento [disyunción_eventos] evento ::= INSERT | DELETE | UPDATE [OF comalista_nombre_atributo] 2.7.4.- Disparadores en SQL. 14 EVENTOS {BEFORE | AFTER | INSTEAD OF} evento [disyunción_eventos] ON {nombre_relación | nombre_vista} disyunción_eventos ::= OR evento [disyunción_eventos] evento ::= INSERT | DELETE | UPDATE [OF comalista_nombre_atributo] 2.7.4.- Disparadores en SQL. 15 EVENTOS Parametrización de eventos: – los eventos de las reglas FOR EACH ROW están parametrizados – pametrización implícita: • evento INSERT o DELETE: n (n grado de la relación) • evento UPDATE: 2*n – nombre de parámetros: • evento INSERT: NEW • evento DELETE: OLD • evento UPDATE: OLD y NEW – se pueden usar en la condición de la regla – se pueden usar en el bloque PL/SQL 2.7.4.- Disparadores en SQL. 16 BEFORE FOR EACH STATEMENT FOR EACH ROW La regla se ejecuta una vez antes de la ejecución de la operación de actualización La regla se ejecuta una vez antes de actualización de cada tupla afectada por la operación de actualización AFTER La regla se ejecuta una vez después de la ejecución de la operación de actualización La regla se ejecuta una vez después de actualización de cada tupla afectada por la operación de actualización 2.7.4.- Disparadores en SQL.
  • 5. 17 CONDICIONES WHEN (condición) – expresión lógica de sintaxis similar a la condición de la cláusula WHERE de la instrucción SELECT – no puede contener subconsultas ni funciones agregadas – sólo se puede hacer referencia a los parámetros del evento 2.7.4.- Disparadores en SQL. 18 ACCIONES bloque PL/SQL – bloque escrito en el lenguaje de programación de Oracle PL/SQL – sentencias de manipulación de la BD: INSERT, DELETE, UPDATE, SELECT ... INTO ... – sentencias de programa: asignación, selección, iteración – sentencias de manejo de errores – sentencias de entrada/salida 2.7.4.- Disparadores en SQL. 19 Lenguaje de reglas: – Creación: CREATE TRIGGER nombre_regla ... – Eliminación: DROP TRIGGER nombre_reglas – Modificación: REPLACE TRIGGER nombre_regla ... – Recompilación: ALTER TRIGGER nombre_regla COMPILE – Des/Habilitar regla: ALTER TRIGGER nombre_regla [ENABLE | DISABLE] – Des/Habilitar todas las reglas sobre una relación: ALTER TABLE nombre_relación [{ENABLE | DISABLE} ALL TRIGGERS] 2.7.4.- Disparadores en SQL. 20 La restricción R2 : R2) Px: Pieza, Sx: Suministro ∀Px : Pieza (∃Sx : Suministro ( Sx.código=Px.código ) ) se define mediante una restricción general: create assertion R2 check not exists(select * from Pieza P where not exists(select * from Suministro S where P.código=S.código)); ¿Cómo controlar la restricción mediante reglas de actividad? 2.7.4.- Disparadores en SQL (Ejemplo).
  • 6. 21 Detectar qué eventos pueden afectar a la R.I.: TABLA, OPERACIÓN, ATRIBUTO Suministro, Borrado, - Suministro, Modificación, código Pieza, Inserción, - Construir Triggers para controlar estos eventos. 2.7.4.- Disparadores en SQL (Ejemplo). 22 CREATE TRIGGER T2 AFTER INSERT ON Pieza FOR EACH ROW DECLARE N: NUMBER; BEGIN SELECT COUNT(*) INTO N FROM Suministro S WHERE :new.codigo = S.codigo; IF N=0 THEN RAISE_APPLICATION_ERROR(-20000, ‘No se puede insertar una pieza, porque la pieza no tiene suministros. Cree las dos tuplas (la de pieza y la de suministro) dentro de una transacción deshabilitando este trigger.’); END IF; END; 2.7.4.- Disparadores en SQL (Ejemplo). 23 2.8.- Limitaciones del modelo relacional. • Los modelos de datos tradicionales (relacional, jerárquico y red) han tenido éxito en aplicaciones tradicionales de negocios. • Los modelos tradicionales presentan deficiencias en aplicaciones: de diseño y fabricación en ingeniería (CAD/CAM/CIM), experimentos científicos, telecomunicaciones, sistemas de información geográfica, y multimedia. 24 2.8.- Limitaciones del modelo relacional. • Requisitos y características de las nuevas aplicaciones: estructuras más complejas para los objetos, transacciones de mayor duración, nuevos tipos de datos para almacenar imágenes o elementos de texto grandes y la necesidad de definir operaciones no estándar específicas para las aplicaciones. • Evolución de las bases de datos relacionales: bases de datos deductivas, bases de datos activas, bases de datos orientadas a objetos y bases de datos objeto-relacionales (SQL3)