Integridad Referencia
l
1
Integridad referencial
2
Integridad referencial
3
Integridad referencialEjercicio: Sea la base de datos relacional siguiente:
1) ¿Que tipo de estructura tiene?2) Identificar las tablas anteriores.
4
Ejercicio: Sea la base de datos relacional siguiente:1) ¿Que tipo de estructura tiene?
5
Integridad referencial
Ejercicio: Sea la base de datos relacional siguiente:
1) ¿Que tipo de estructura tiene?2) Identificar las tablas anteriores.
6
Integridad referencial
Ejercicio: Sea la base de datos relacional siguiente:1) ¿Que tipo de estructura tiene?
7
Integridad referencial
Integridad referencial
8
Restricción Referencial
Definición y aplicación de las reglas de integridad referencial a un par específico de clave ajena y clave primaria.
9
Integridad referencial
Integridad referencialRestricción Referencial
10
Integridad referencialRESTRIC: Impide la propagación de la operación.
SET NULL: Se pone a valor NULL todos los valores clave ajena que coincidan con los de la clave primaria que va a ser modificada o borrada,
CASCADE: Permite la propagación de la operación .
11
Integridad referencialRegla INSERT Sólo se aplica en las filas que se insertan en una tabla dependiente.
Para insertar una fila en una tabla dependiente, la clave ajena debe ser: NULL si esta permitido en la definición de
alguno de los atributos componentes de dicha clave, es decir, si alguno de los mismos permite el valor NULL.
Igual a un valor existente de clave primaria.
12
Integridad referencialRegla DELETESe trata de una regla explícita en la cual se pueden aplicar todas y cada una de las opciones de integridad.
Se aplica en las operaciones que se efectúan sobre las filas de una tabla padre.
13
Integridad referencial
14
Integridad referencial
15
Integridad referencial
Integridad referencial
16
CREATE TABLE child( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) ENGINE=INNODB;
Integridad referencial
17
Integridad referencial
18
Integridad referencial
19
Integridad referencial
20
CREATE TABLE product_order ( no INT NOT NULL AUTO_INCREMENT, product_category INT NOT NULL, product_id INT NOT NULL, customer_id INT NOT NULL, PRIMARY KEY(no), INDEX (product_category, product_id), FOREIGN KEY (product_category, product_id) REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT, INDEX (customer_id), FOREIGN KEY (customer_id) REFERENCES customer(id) ) ENGINE=INNODB;
¡Gracias!
21