Restricciones de Integridad

Documentos relacionados
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Ing. Yim Isaias Apestegui Florentino

Modelo relacional. El modelo relacional

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Reglas de Integridad

Bases de Datos OTROS ASPECTOS MODELO E-R

MODELO RELACIONAL BASE DE DATOS RELACIONALES

Bases de datos 1. Teórico: Modelo Relacional

Integridad Referencial. Restricciones (constraints)

EL MODELO RELACIONAL

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Oracle Express y Toad for Oracle

[CASI v.0110] Pág. 1

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

Asignatura: Administración de Bases de Datos

Modelos y Bases de Datos

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

GBD Diseño físico de DDBB

id_trabajador nombre tarifa_hr tipo_de_oficio id_supv 1235 F. Aguilera 12,50 Electricista A. Calvo 13,75 Fontanero N.

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. INTRODUCCION A LAS BASES DE DATOS

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

SQLModificaciones a la BD

El Modelo Relacional. Carlos A. Olarte BDI

RESUMEN DEL LENGUAJE SQL

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Lenguaje para descripción de datos

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Tema II: El modelo relacional de datos. (2.4)

Facultad de Informática UCM - Examen Parcial Convocatoria de Febrero Curso 2009/2010 Grupo A Bases de Datos y Sistemas de la Información SOLUCIÓN

El Modelo Relacional. Carlos A. Olarte BDI

TEMA 4: EL MODELO RELACIONAL. ESTÁTICA

MATEMÁTICAS II CC III PARCIAL

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

El Sistema Gestor de Base de Datos (DBMS)

Bases de Datos. Sistemas de Gestión de Bases de Datos

Restricciones de Integridad. Claves Primarias. Protección. Índice. Clave de una Relación. Declaración n de Claves

Lenguaje SQL (2ª Parte) Definición de datos

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Fundamentos del Modelo Relacional de Datos

Modelo Relacional. Modelo Relacional. Temas: Referencia:

6. Integridad en Sistemas de Bases de Datos Relacionales

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

REGLAS DE CODD DEL MODELO RELACIONAL

Modelo Entidad Relación.MER.

GESTORES GESTORES DE BASES DE DATOS

Terminología Equivalente

Modulo I: Introducción Gestores de Bases De Datos

Transformación ER Relacional para el diseño de bases de datos relacionales

Modelos de Datos. Modelo Entidad-Relación

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

TIPO CÓDIGO DESCRIPCIÓN

Bases de datos y tablas

Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015

NORMAS DE DISEÑO DE BASE DE DATOS

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Restricciones de Integridad

Introducción a las Bases de Datos y al Modelo Relacional

FORMATO INFORMACIÓN ELECTRÓNICA DE COMPRAS Y VENTAS PARA ENTREGA DETALLADA SEGÚN RESOLUCIÓN 42 DEL

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa

Unidad 5: MODELO DE COMPORTAMIENTO - ESQUEMA DE DATOS CARACTERÍSTICAS DEL ESQUEMA DE DATOS DIAGRAMA ENTIDAD RELACIÓN (D.E.R.)

Tema 3 Modelo relacional

EL MODELO ENTIDAD-RELACIÓN:

EJEMPLOS PRÁCTICOS SQL

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

EL ENTORNO DE TRABAJO SQL ORACLE

Gestión base de datos : Modelo Relacional (II)

Ítems/Entidades/Objetos [sustantivos]: Objetos que existen en el mundo y que son

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

El Modelo Relacional: Está1ca. El Modelo Relacional Tema 7

Breve introducción a la Investigación de Operaciones

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Diseño de bases de datos Práctica-1 Definición de datos

4. FUNDAMENTOS DEL MODELO RELACIONAL

ANEXO 2: ESTRUCTURAS E INFORMACIÓN DE LOS LIBROS Y REGISTROS ELECTRÓNICOS

MANUAL BÁSICO DE MYSQL

Oracle Database y Oracle SQL Developer

1.Introducción al Modelo Relacional.

Socio numsocio. nombre. apellidos dirección. Patrón 0..*

entre menú y plato con cardinalidades (0,N) y (3,3), respectivamente. Esta solución garantiza que no se puede "repetir" un plato en el (1,1)

Prácticas EDAT Curso 12/13

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

Unidad 5. Lenguaje Estructurado de Consultas SQL

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

4 Integridad de datos relacional: llaves candidatas y temas relacionados.

Base de Datos Práctica 1.

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Introducción a las Bases de Datos

Transcripción:

Restricciones de Integridad Bibliografía: Fundamentos de bases de datos - Korth, Silberschatz Introducción a los sistemas de bases de datos - C.J. Date

Restricciones de Integridad Proporcionan un medio de asegurar que los cambios que se hacen en la BD por usuarios autorizados no resultan en una pérdida de la consistencia de los datos.

Integridad Se refiere a la corrección de la información contenida en la BD. La verificación de integridad se puede realizar mediante programas ó el sistema debería encargarse de esta verificación

Restricciones de Integridad Existen tres tipos de restricciones de integridad: de dominio de las entidades referencial

Restricciones de dominio A cada atributo está asociado un dominio de valores posibles. Los límites de dominio son la forma más elemental de restricciones de integridad. Son fáciles de probar por el sistema siempre que se introducen nuevos datos a la BD.

Ejemplos En la BD de proveedores y partes: el peso de una parte no puede ser negativo. En la BD bancaria: los números de una sucursal no pueden ser negativos. las ciudades de sucursales deben provenir de una cierta lista

El SQL estándar soporta un conjunto restringido de tipos de dominio: cadenas de caracteres de longitud fija, números en coma fija, entero, entero pequeño, fecha.

Observaciones Las restricciones de dominio son específicas porque se refieren a una BD específica. El modelo relacional incluye dos reglas generales de integridad Se aplican no sólo a una BD sino a todas. Estas reglas se refieren a las claves primarias y a las claves ajenas.

Regla de integridad de las entidades Ningún componente de la clave primaria de la relación base puede aceptar nulos. Las entidades en el mundo real son distinguibles. Las claves primarias realizan una identificación única en el modelo relacional. Una entidad sin identidad (con valor desconocido) es una contradicción.

Regla de integridad referencial La BD no debe contener valores de clave ajena sin concordancia. La BD no debe contener un valor no nulo de clave ajena para el cual no existe un valor concordante de la clave primaria en la relación objetivo pertinente.

Clave ajena Una clave ajena es un atributo (ó conjunto de atributos) de una relación R2 cuyos valores deben concordar con los de la clave primaria de alguna relación R1, donde R1 y R2 no son necesariamente distintos. Ejemplo, en la BD de proveedores y partes: S# y P# son claves ajenas de la tabla SP. SP no puede incluir un envío del proveedor S9 si no existiera un proveedor S9 en S.

Observaciones Una clave ajena dada y la clave primaria correspondiente deben definirse sobre el mismo dominio.

Observaciones La clave ajena no necesita ser un componente de la clave primaria de la relación que la contiene.

Observaciones La clave ajena no necesita ser un componente de la clave primaria de la relación que la contiene. Ejemplo: dados los esquemas depto( numdep,..., presup,...) empleado(numemp,..,numdep,..,salario,.)

Observaciones Una relación dada puede ser desde luego tanto una relación referida como una relación referencial R3 R2 R1

Observaciones R1 y R2 no son necesariamente distintas en la definición de clave ajena. Una relación podría incluir una clave ajena cuyos valores (no nulos) deben concordar con los valores de la clave primaria de esa misma relación.

Observaciones R1 y R2 no son necesariamente distintas en la definición de clave ajena. Una relación podría incluir una clave ajena cuyos valores (no nulos) deben concordar con los valores de la clave primaria de esa misma relación. Ejemplo: empleado (NUMEMP,..., NUMDEP, NUMEMP_GERENTE,..., SALARIO,...)

Observaciones Las claves ajenas pueden aceptar nulos. el empleado gerente no va a tener valor en NUMEMP_GERENTE.

Justificación de la regla de integridad referencial Así como los valores de la clave primaria representan identificadores de entidades, los valores de clave ajena representan referencias a entidades. La regla de integridad referencial dice tan sólo que si B hace referencia a A, entonces A debe existir.

PARA CADA CLAVE AJENA, EL DISEÑADOR DEBE RESPONDER 3 PREGUNTAS 1- Puede aceptar nulos esa clave ajena? En los envíos no tendría sentido la existencia de un envío cuyo proveedor se desconozca. En los empleados, si podría existir un empleado no asignado de momento a un departamento. Esta respuesta depende de las políticas vigentes del mundo real representado por la BD

2- Qué deberá suceder si hay un intento de eliminar el objetivo de una referencia de clave ajena? Ejemplo: un intento de eliminar un proveedor del cual existe al menos un envío.

2- Qué deberá suceder si hay un intento de eliminar el objetivo de una referencia de clave ajena? Existen tres posibilidades: RESTRINGIDA (RESTRICTED): La operación de eliminación está restringida al caso en el cual no existen tales envíos. Se rechazará en caso contrario. SE PROPAGA (CASCADES): La operación de eliminación se propaga en cascada eliminando también los envíos correspondientes. ANULA (NULLIFIES): Se asignan nulos a la clave ajena en todos los envíos correspondientes y enseguida se elimina el proveedor. Esto vale sólo si la clave ajena puede aceptar nulos.

3- Qué deberá suceder si hay un intento de modificar la clave primaria del objetivo de una referencia de clave ajena? Ejemplo: un intento de modificar un número de proveedor del cual existe por lo menos un envío.

Existen tres posibilidades: RESTRINGIDA (RESTRICTED): La operación de modificación está restringida al caso en el cual no existen tales envíos. Se rechazará en caso contrario. SE PROPAGA (CASCADES): La operación de modificación se propaga en cascada modificando también la clave ajena en los envíos correspondientes. ANULA (NULLIFIES): Se asignan nulos a la clave ajena en todos los envíos correspondientes y enseguida se modifica el proveedor. Esto vale sólo si la clave ajena puede aceptar nulos.

Sintaxis CREATE TABLE tabla (definición de campos, PRIMARY KEY (clave primaria), FOREIGN KEY (clave ajena) REFERENCES tablaobjetivo NULLS [NOT] ALLOWED DELETE OF tabla-objetivo efecto UPDATE OF clave-primaria-del-objetivo efecto ) ; donde efecto = RESTRICTED, CASCADES ó NULLIFIES

Otras posibilidades podría efectuarse un diálogo con el usuario final podría grabarse información en archivo histórico podría transferirse a otro proveedor los envíos del proveedor en cuestión.