integridad referencial - basmoxo · set null: se pone a valor null todos los valores clave ajena...

20
Integridad Referencial Base de Datos II 1

Upload: lethu

Post on 19-Sep-2018

244 views

Category:

Documents


0 download

TRANSCRIPT

Integridad Referencial

Base de Datos II

1

Integridad referencial

2

Integridad referencial

3

Integridad referencial

4

Ejercicio: Sea la base de datos relacionalsiguiente:

1) ¿Que tipo de estructura tiene?

2) Identificar las tablas anteriores.

Integridad referencial

5

Ejercicio: Sea la base de datos relacionalsiguiente:

1) ¿Que tipo de estructura tiene?

Integridad referencial

6

Ejercicio: Sea la base de datos relacionalsiguiente:

1) ¿Que tipo de estructura tiene?

2) Identificar las tablas anteriores.

Integridad referencial

7

Ejercicio: Sea la base de datos relacionalsiguiente:

1) ¿Que tipo de estructura tiene?

Integridad referencial

8

Integridad referencial

9

Restricción Referencial

Definición y aplicación de las reglas deintegridad referencial a un par específico declave ajena y clave primaria.

Integridad referencial

10

Restricción Referencial

Integridad referencial

11

RESTRIC: Impide la propagación de la operación.

SET NULL: Se pone a valor NULL todos losvalores clave ajena que coincidan con los de laclave primaria que va a ser modificada o borrada,

CASCADE: Permite la propagación de laoperación .

Integridad referencial

12

Regla INSERT� Sólo se aplica en las filas que se insertan en una

tabla dependiente.

� Para insertar una fila en una tabla dependiente, laclave ajena debe ser:�NULL si esta permitido en la definición de alguno

de los atributos componentes de dicha clave, esdecir, si alguno de los mismos permite el valorNULL.

� Igual a un valor existente de clave primaria.

Integridad referencial

13

Regla DELETE

�Se trata de una regla explícita en la cual sepueden aplicar todas y cada una de lasopciones de integridad.

�Se aplica en las operaciones que se efectúansobre las filas de una tabla padre.

Integridad referencial

14

Integridad referencial

15

Integridad referencial

16

CREATE TABLE child( id INT, parent_id INT, INDEX par_ind(parent_id), FOREIGN KEY (parent_id) REFERENCESparent(id) ON DELETE CASCADE ) ENGINE=INNODB;

Integridad referencial

17

Integridad referencial

18

Integridad referencial

19

Integridad referencial

20

CREATE TABLE product_order ( no INT NOTNULL AUTO_INCREMENT, product_category INTNOT NULL, product_id INT NOT NULL,customer_id INT NOT NULL, PRIMARY KEY(no),INDEX (product_category, product_id), FOREIGNKEY (product_category, product_id)REFERENCES product(category, id) ONUPDATE CASCADE ON DELETERESTRICT, INDEX (customer_id), FOREIGN KEY(customer_id) REFERENCES customer(id) )ENGINE=INNODB;