Integridad Referencial 1. Integridad referencial 2.

21
Integridad Referencia l 1

Transcript of Integridad Referencial 1. Integridad referencial 2.

Page 1: Integridad Referencial 1. Integridad referencial 2.

Integridad Referencia

l

1

Page 2: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

2

Page 3: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

3

Page 4: Integridad Referencial 1. Integridad referencial 2.

Integridad referencialEjercicio: Sea la base de datos relacional siguiente:

1) ¿Que tipo de estructura tiene?2) Identificar las tablas anteriores.

4

Page 5: Integridad Referencial 1. Integridad referencial 2.

Ejercicio: Sea la base de datos relacional siguiente:1) ¿Que tipo de estructura tiene?

5

Integridad referencial

Page 6: Integridad Referencial 1. Integridad referencial 2.

Ejercicio: Sea la base de datos relacional siguiente:

1) ¿Que tipo de estructura tiene?2) Identificar las tablas anteriores.

6

Integridad referencial

Page 7: Integridad Referencial 1. Integridad referencial 2.

Ejercicio: Sea la base de datos relacional siguiente:1) ¿Que tipo de estructura tiene?

7

Integridad referencial

Page 8: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

8

Page 9: Integridad Referencial 1. Integridad referencial 2.

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

Page 10: Integridad Referencial 1. Integridad referencial 2.

Integridad referencialRestricción Referencial

10

Page 11: Integridad Referencial 1. Integridad referencial 2.

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

Page 12: Integridad Referencial 1. Integridad referencial 2.

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

Page 13: Integridad Referencial 1. Integridad referencial 2.

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

Page 14: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

14

Page 15: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

15

Integridad referencial

Page 16: Integridad Referencial 1. Integridad referencial 2.

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;

Page 17: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

17

Page 18: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

18

Page 19: Integridad Referencial 1. Integridad referencial 2.

Integridad referencial

19

Page 20: Integridad Referencial 1. Integridad referencial 2.

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;

Page 21: Integridad Referencial 1. Integridad referencial 2.

¡Gracias!

21