Integridad
Referencial
1
2
Integridad referencial
3
Integridad referencial
4
Integridad referencial
Ejercicio:
Sea la base de datos
relacional siguiente:
1)
2)
¿Que tipo de estructura tiene?
Identificar las tablas anteriores.
5
Integridad referencial
Ejercicio:
Sea la base de datos
relacional siguiente:
1) ¿Que tipo de estructura tiene?
6
Integridad referencial
Ejercicio:
Sea la base de datos
relacional siguiente:
1)
2)
¿Que tipo de estructura tiene?
Identificar las tablas anteriores.
7
Integridad referencial
Ejercicio:
Sea la base de datos
relacional siguiente:
1) ¿Que tipo de estructura tiene?
8
Integridad referencial
9
Integridad referencial
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.
10
Integridad referencial
Restricción Referencial
11
Integridad referencial
RESTRIC: 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 .
12
Integridad referencial
Regla 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.
13
Integridad referencial
Regla DELETE
Se 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.
14
Integridad referencial
15
Integridad referencial
Integridad referencial
16
Integridad referencial
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;
17
Integridad referencial
18
Integridad referencial
19
Integridad referencial
20
Integridad referencial
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;
21
¡Gracias!
Descargar

Transacciones