Documentos de Académico
Documentos de Profesional
Documentos de Cultura
integridad de datos
Base de Datos II
Restricciones de integridad
Con el fin de asegurar la integridad de los datos,
SQL proporciona una serie de restricciones de
integridad, reglas que se aplican a la base de datos
para restringir los valores que se pueden colocar
en esas tablas.
Restricciones de integridad
Restricciones NOT NULL
• Un valor nulo significa que un valor no está
definido o no se conoce.
• Esto no es lo mismo que cero, en blanco, una
cadena vacía o un valor predeterminado.
• Cada columna tiene una característica de nulo
que indica si la columna acepta valores nulos.
• Se puede anular la característica de nulo
predeterminada utilizando una restricción NOT
NULL, que indica que la columna no acepta
valores nulos.
Restricciones NOT NULL
La restricción NOT NULL sólo puede utilizarse como una
restricción de columna.
Ejemplo:
Ejemplo:
CREATE TABLE titulos_cd (id_titulo_cd INT,
titulo_cd VARCHAR(60), id_editor INT REFERENCES
editores_cd );
Restricciones FOREIGN KEY
• Crear una restricción de tabla
[CONSTRAINT <nombre de la restricción>]
FOREIGN KEY (<columna referenciada> [{, <columna
referenciada>}...]) REFERENCES <tabla referida>
[(columnas de referencia>)]
Ejemplo:
CREATE TABLE titulos_cd (id_titulo_cd INT,
titulo_cd VARCHAR(60), id_editor INT,
CONSTRAINT fk_id_editor FOREIGN KEY (id_editor)
REFERENCES editores_cd (id_editor) );
CLAUSULA MATCH
Su propósito es permitirle decidir cómo tratar los valores nulos
en las columnas de clave foránea con respecto a los valores que
permiten que se inserten en las columnas de referencia.
MATCH FULL
• Todas las columnas de referencia deben tener un valor nulo o ninguna de esas
columnas puede tener un valor nulo.
MATCH PARTIAL
• una o más columnas de referencia pueden tener valores nulos siempre y cuando
el resto de las columnas de referencia tengan valores que igualen a las columnas
de referencia correspondientes
MATCH SIMPLE
• Una o más columnas de referencia tienen valores nulos, entonces el resto de las
columnas de referencia pueden tener valores que no están contenidos en las
columnas de referencia correspondientes.
MATCH SIMPLE
MATCH PARTIAL
MATCH FULL
CLAÚSULA <acción referencial
desencadenada>
Permite definir qué tipos de acciones se deben tomar
cuando se intenta actualizar o eliminar datos desde
columnas referenciadas.
SET NULL
SET DEFAULT
RESTRICT
• Los datos en las columnas de referencia nunca pueden violar la restricción FOREIGN KEY.
NO ACTION
• Las violaciones de datos pueden ocurrir temporalmente bajo ciertas condiciones, pero los
datos en la clave foránea nunca se violan en su estado final