Restricciones de Integridad

Slides:



Advertisements
Presentaciones similares
EL MODELO RELACIONAL Edgar Codd, 1970: Artículo → “A Relational Model of Data for Large Shared Data Banks”. Basado en teoría de conjuntos. Operaciones.
Advertisements

Diseño de Bases de Datos
Integridad de Las Bases de Datos
Entidad Cosa u objeto real (una persona) o abstracto (un préstamo) de interés en el mundo real (una organización). Es distinguible de todos los demás objetos.
Arquitecturas de BD Modelo ANSI/SPARC
Modelo Entidad Relación
El modelo de datos relacional
Rocío Contreras Águila Primer Semestre 2010
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
Introducción a LAS Bases de Datos
Implementación de la integridad de datos
Modelo entidad-relación
Teórico: Modelo Relacional
MODELO RELACIONAL.
MODELO ENTIDAD RELACIÓN MER
INTELIGENCIA ARTIFICIAL
Maestría en Bioinformática Bases de Datos y Sistemas de Información Del MER al MR Ing. Alfonso Vicente, PMP
MODELOS LÓGICOS : Modelo Relacional
MODELO RELACIONAL.
Teoría de Bases de Datos
Base de Datos Relacional.
UNIDAD II Modelo de Datos.
MODELO RELACIONAL.
UNIDAD I Conceptos Básicos.
MODELO RELACIONAL El elemento central del modelo relacional es la RELACION. Una relación tiene un nombre, un conjunto de atributos que representan sus.
Restricciones de Integridad en ORACLE
1 BD Activas: Motivación zLos SGBD convencionales son “pasivos”. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas.
BASE DE DATOS I Clase # 1.
Métrica v2.1 Técnicas: Teoría de la Normalización.
Tema 4. DISEÑO LÓGICO Objetivos
Modelo Relacional (MR)
Integridad Referencial 1. Integridad referencial 2.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Métrica v2.1 Técnicas: Modelado de datos (Parte 2)
MODELADO DE DATOS (PARTE 2) Viviana Poblete L. Modelo de Datos I.
CAPITULO 10 Manejando Restricciones
Bases de Datos Relacionales Doc. Ing.Marleny Soria M.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
RESTRICCIONES Ing. Carolina Moreno Departamento de Sistemas Facultad de Electrónica y Telecomunicaciones Universidad del Cauca.
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
DISEÑO DE BASES DE DATOS
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Tema 2: Base de datos relacionales
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Pensar Relacionalmente: Bases de Datos Relacionales (una visión.
DISEÑO DE BASES DE DATOS
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
PASO DEL ESQUEMA E-R AL MODELO RELACIONAL
Sistemas de Información II Tema : Modelo Relacional Universidad Nacional de Luján Departamento de Ciencias Básicas División Estadísticas y Sistemas.
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
MODELOS DE DATOS RELACIONAL
3. Modelo de datos Prof: Lcdo. Luis Peña.
integridad referencial
Normalización Prof. Gloria Toro Oñate
Bases de Datos Modelo Relacional.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
MODELO LOGICO BASE DE DATOS
DISEÑO DE BASES DE DATOS (modelos para el diseño)
Bases de datos Transformación del modelo Entidad/Relación al modelo relacional TEMA 3.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
SQL: DDL.
Creado por Edgar Codd, 1970: Artículo “A Relational Model of Data for Large Shared Data Banks”. EL MODELO RELACIONAL.
Modelo entidad-relación extendido EER L.I. José de Jesús Eduardo Barrientos Avalos.
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
Base de Datos I – Ing. Mary Carlota Bernal J. BASE DE DATOS I Conversión del Modelo Entidad – Relación a Relacional.
Modelos Entidad – Relación (E-R). El modelo entidad-relación Los MD soportados por los SGBD no suelen ofrecer, dado su bajo nivel de abstracción, los.
Una restricción de integridad es una condición que deben cumplir ciertos datos para que sean considerados una instancia de una Base de datos. Instancia:
 Gregorio López González  Norberto Misael Valtierra Ornelas  Ricardo Enrique Pérez Andrade  Luis Rodríguez Valencia.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Fundamentos de Bases de Datos
Transcripción de la presentación:

Restricciones de Integridad

Son reglas que siempre deben cumplirse de modo de apoyar la integridad de la base de datos. E.d., que la BD cumpla fielmente con el mundo modelado. Proporcionan un medio de asegurar que las modificaciones hechas a la base de datos no provoquen la pérdida de la consistencia de los datos. Una BD sera consistente si satisface las reglas de integridad definidas para ella.

Restricciones de dominios. Al definir cada atributo sobre un dominio se impone una restricción sobre el conjunto de valores permitidos para cada atributo.

Restricciones inherentes

Además de las derivadas de la definición de "relación": Cada relación tiene un nombre y éste es distinto del nombre de todas las demás. No hay dos atributos que se llamen igual. Tenemos que: En una relacion no hay dos tuplas iguales (obligatoriedad de clave primaria). El orden de las tuplas no es significativo. (de arriba hacia abajo) El orden de los atributos (columnas) no es significativo. (izq a der) Cada atributo sólo puede tomar un único valor del dominio, no admitiéndose por tanto los grupos repetitivos. (son atomicos)

Regla de integridad de entidad Se aplica a las claves primarias de las relaciones: “Ningún atributo que forme parte de la clave primaria de una relacion puede tomar un valor nulo”.

Restricciones de usuario (también llamadas restricciones semánticas)

Restricción de clave primaria (PRIMARY KEY) Permite declarar un atributo o conjunto de atributos como la clave primaria de una relacion. Restricción de unicidad (Unique) Permite definir claves alternativas (los valores de uno o varios atributos no pueden repetirse en diferentes tuplas de una relacion) Restricción de obligatoriedad (NOT NULL) Permite declarar si uno o varios atributos de una relacion deben tomar siempre un valor, es decir no pueden tomar valores nulos.

Restricción de clave ajena (FOREIGN KEY) - Integridad referencial “Si una relacion R2 (relacion que rerefencia) tiene un descriptor que es la clave primaria de la relacion R1 (relacion referenciada) todo valor de dicho descriptor debe concordar con un valor de la clave primaria de R1 o ser nulo”. El descriptor es una clave foranea de la relacion R2. Los atributos que son clave ajena en una relacion no necesitan tener los mismos nombres que los atributos de la clave primaria con la cual ellos se corresponden. Viene impuesta por el mundo real y es el usuario quien la define al describir el esquema relacional. Es de tipo implícito: se define en el esquema y el modelo la reconoce sin necesidad de programar ni escribir ningún procedimiento para obligar a que se cumpla.

EDITORIAL (NOMBRE_E, DIRECCION, CIUDAD, PAIS) PK: NOMBRE_E LIBRO (CODIGO, TITULO, IDIOMA, ..., NOMBRE_E) PK: CODIGO FK: NOMBRE_E referencia a Editorial El atributo nombre_e de la relación LIBRO es clave foranea que referencia a EDITORIAL. Debe concordar con la clave primaria de la relación EDITORIAL o bien ser nulo. Los libros de nuestra BD deberán pertenecer a una editorial existente, o si se desconoce la editorial, no se tendrá ningún valor para este atributo.

AUTOR (NOMBRE, NACIONALIDAD, INSTITUCION, ..) PK: NOMBRE LIBRO (CODIGO, TITULO, IDIOMA, EDITORIAL, ...) PK: CODIGO ESCRIBE (NOMBRE, COD LIBRO) PK: NOMBRE+CODIGO FK: NOMBRE referencia a Autor, CODIGO referencia a Libro La relación ESCRIBE posee dos claves foraneas: nombre, que referencia a la relación AUTOR, y cod_libro, que referencia a la relación LIBRO. Ninguna de las dos claves ajenas puede tomar valores nulos, ya que forman parte de la clave primaria de la relación ESCRIBE.

El modelo relacional permite tambien definir las opciones de borrado y modificacion en las claves ajenas. Indican las acciones que hay que llevar a cabo cuando se produce un borrado o modificacion de una tupla en la relacion padre referenciada por una entidad hija.

Operación restringida (RESTRICT): Borrar o modificar tuplas de la relación que contiene la clave primaria referenciada sólo se permite si no existen tuplas con dicha clave en la relación que contiene la clave foranea. Ej. Para borrar una editorial de nuestra base de datos no tendría que haber ningún libro que estuviese publicado por dicha editorial, en caso contrario el sistema impediría el borrado.

Operación con transmisión en cascada (CASCADE): El borrado o modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo el borrado o modificación en cascada de las tuplas de la relación que contienen la clave foranea. Ej. Al modificar el nombre de una editorial en la relación EDITORIAL, se tendría que modificar también dicho nombre en todos los libros de nuestra base de datos publicados por dicha editorial. Ej. El borrado de un departamento supone un borrado de todos los empleados que trabajan en él. Empleado (nombre, departamento, salario, fecha) Departamento (numero_depto, nombre)

Operación con puesta a nulos (SET NULL): El borrado o modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo poner a nulos los valores de las claves foraneas de la relación que referencia. Cuando se borra una editorial, los libros que ha publicado dicha editorial y que se encuentran en LIBRO se les coloque el atributo nombre_e a nulos. Esta opción, obviamente, sólo es posible cuando el atributo que es clave ajena admite el valor nulo.

Operación con puesta a valor por defecto (SET DEFAULT): El borrado o la modificación de tuplas de la relación que contiene la clave primaria referenciada lleva consigo poner el valor por defecto a la clave foranea de la relación que referencia. Este valor debe ser definido al momento de crear la tabla correspondiente. En el ejemplo anterior, cuando se borra un determinado departamento, es posible asignar a sus empleados a un departamento ficticio (que debe encontrarse evidentemente en la relacion Departamento)

Las opciones de borrado y modificacion pueden ser distintas para determinada clave foranea de una relacion; por ejemplo, es posible definir el borrado en cascada y la modificacion restringida. Nota: cuando las restricciones de integridad referencial afectan a varias tablas, hay que tener en cuenta que la combinación de opciones puede generar graves problemas de integridad.

Las opciones para la integridad referencial son: B:C Borrado en cascada B:N Borrado con puesta a nulos B:D Borrado con puesta a valor por defecto B:R Borrado restringido M:C Modificacion en cascada M:N Modificacion con puesta a nulos M:D Modificacion con puesta a valor por defecto M:R Modificacion restringida

Restricciones de verificación (CHECK) Puede suceder que sea necesario especificar una condicion que deben cumplir los valores de determinados atributos de una relacion de la BD. Para ellos se definen las restricciones de verificación. Llevan implicitas un rechazo en caso de que no se cumpla la condicion especificada y que tambien se comprueban antes una inserción, borrado o modificacion. Por ejemplo, para la relacion Empleado podria definirse una restricción sobre el atributo salario que establezca que “el rango del salario de un empleado puede oscilar entre los $150.000 y los $300.000”. Así, si se va a insertar un empleado con un sueldo superior o inferior, la operación se rechazaria.

Reglas de negocio Además de las reglas de integridad anteriores, los usuarios o los administradores de la base de datos pueden imponer ciertas restricciones específicas sobre los datos, denominadas reglas de negocio. Si en una oficina sólo puede haber hasta veinte empleados, el SGBD debe dar la posibilidad al usuario de definir una regla al respecto y debe hacerla respetar. En este caso, no debería permitir un nuevo empleado en una oficina que ya tiene los veinte permitidos. Hoy en día aún existen SGBD relacionales que no permiten definir este tipo de restricciones ni las hacen respetar.