integridad referencial - basmoxo · set null: se pone a valor null todos los valores clave ajena...
TRANSCRIPT
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
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
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
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
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;