La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.

Presentaciones similares


Presentación del tema: "SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado."— Transcripción de la presentación:

1 SQL: Lenguaje de Interrogación Estructurado

2 Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado de un query Renombramiento de atributos (lista de nombs. no obligatoria) Esquema tomado del query Ejemplo: Títulos del CLC con 20% de descuento CREATE VIEW OfertaCLC(titulo,precio) AS SELECT LIBRO.nombre,precio*0.8 FROM Ofrece, LIBRERIA, LIBRO WHERE rif=riflib AND LIBRERIA.nombre=‘CLC’ AND codigo =codlib

3 Actualización de vistas Es un tema de investigación en la actualidad: Si es vista “simple” sobre una tabla no hay problema Si tiene calculados no es trivial Si tiene agregados no es posible Si involucra varias tablas es complejo

4 Clave primaria Sintaxis en CREATE TABLE..PRIMARY KEY PRIMARY KEY ( ) Semántica La primera para clave primaria simple La segunda para clave primaria compuesta Ejemplo: Clave en Libro CREATE TABLE LIBRO ( nombre VARCHAR(100), codigo INT PRIMARY KEY, autor VARCHAR(30), editorial VARCHAR(30) )

5 Claves alternas Sintaxis en CREATE TABLE..UNIQUE UNIQUE ( ) Semántica La primera para clave alterna simple La segunda para clave alterna compuesta Ejemplo: Clave en Librería CREATE TABLE LIBRERIA ( nombre VARCHAR(100) UNIQUE, rif INT PRIMARY KEY, direccion VARCHAR(100), )

6 Claves foráneas Sintaxis en CREATE TABLE -..REFERENCES ( ) -FORAIN KEY ( ) REFERENCES ( ) Semántica Indica la tabla y los atributos que se referencian Ejemplo: Clave en Ofrece CREATE TABLE Ofrece ( codlib INT REFERENCES LIBRO(codigo), riflib INT REFERENCES LIBRERIA(rif), precio REAL, existencia INT(30), PRIMARY KEY (riflib,codlib) )

7 Problemas de modificación CF Inserción: clave foránea no nula ni corresponde a una tupla referenciada Actualización: clave foránea no nula ni corresponde a una tupla referenciada Eliminación: tupla referenciada por clave foránea Actualización: tupla referenciada por clave foránea

8 Mantenimiento de Integridad Referencial Rechazar: no admite la modificaición (política por defecto) Cascada(3,4): propaga la actualización o eliminación a las tuplas que le referencian Colocar nulo (3,4): coloca nulo en las calves foráneas que refrencian a la tupla eliminada o actualizada

9 Ejemplo: Clave en Ofrece CREATE TABLE Ofrece ( codlib INT REFERENCES LIBRO(codigo) ON DELETE CASCADE ON UPDATE CASCADE, riflib INT REFERENCES LIBRERIA(rif) ON UPDATE CASCADE, precio REAL, existencia INT(30), PRIMARY KEY (riflib,codlib) )

10 Restricción de Nulos Sintaxis en CREATE TABLE..NOT NULL Semántica El atributo no puede ser nulo En una inserción debe especificarse valor Ejemplo: Autor de un Libro CREATE TABLE LIBRO ( nombre VARCHAR(100), codigo INT PRIMARY KEY, autor VARCHAR(30) NOT NULL, editorial VARCHAR(30) )

11 Restricción de Valores con condiciones Sintaxis en CREATE TABLE..CHECK Semántica El atributo debe cumplir la condición Los condición es como en un WHERE Ojo:No Claves Foráneas Ejemplo: El sexo ‘M’ o ‘F’ CREATE TABLE LECTOR ( ci CHAR(12) PRIMARY KEY, nombre VARCHAR(30) NOT NULL, sexo CHAR CHECK (sexo IN (‘F’,’M’) )

12 Restricción de Dominio Sintaxis CREATE DOMAIN CHECK Semántica VALUE: Indica el valor Los condición es como en un WHERE Ejemplo: Dominio de edades CREATE DOMAIN Edades INT CHECK (VALUE>=0 AND VALUE<=120) )

13 Restricción de Tuplas Sintaxis en CREATE TABLE...CHECK Semántica La tupla debe cumplir la condición La condición es como en un WHERE Ejemplo: Los códigos de los libros UNILIT CREATE TABLE LIBRO ( nombre VARCHAR(100), codigo INT PRIMARY KEY, autor VARCHAR(30) NOT NULL, editorial VARCHAR(30), CHECK (codigo>=10000 AND código ’UNILIT’) )


Descargar ppt "SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado."

Presentaciones similares


Anuncios Google