Los Modelos de Datos y el Modelo Objeto-Relacional Página 1 de 27



Documentos relacionados
BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Bases de Datos Modelo Relacional

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

Modelo Entidad-Relación

Base de datos relacional

Registro: Es un conjunto de campos. También se llama Fila o Tupla. Son varios datos

CERTAMEN 2 90 minutos 20 puntos

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

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

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

DISEÑO DE BASES DE DATOS RELACIONALES: NORMALIZACION

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

EL MODELO ENTIDAD-RELACIÓN:

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

Módulo 9 Sistema matemático y operaciones binarias

NORMALIZACION. Definición.

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

Tema 6: Diseño de bases de datos relacionales.

Normalización. El diseño que hemos recibido está compuesto de estas dos relaciones:

Modelo Relacional. Normalización

Elementos requeridos para crearlos (ejemplo: el compilador)

Capítulo VI. Diagramas de Entidad Relación

Tema 2: Modelo Entidad-Relación(ER)

Repaso de Conceptos Básicos de Bases de Datos

Tema 6: Teoría de la Normalización

El modelo relacional

Diseño de bases de datos Diapositiva 1

2.4 Modelado conceptual

3. Modelo relacional: Estructura e integridad.

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

7 Diseño de Bases de Datos Relacionales: Normalización

Base de datos en Excel

Normalización. Universidad Nacional de Colombia Facultad de Ingeniería

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

4.Diseño de Bases de Datos (I)

UNIDAD 3. MODELO RELACIONAL

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

BASE DE DATOS RELACIONALES

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

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

Temario Curso Bases de Datos

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Diagrama de Clases. Diagrama de Clases

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

BASES DE DATOS TEMA 2. MODELOS DE DATOS

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

rg.o cm a Diseñ e o o c o c n o ce c p e tual l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

Bases de Datos Relacionales

M III ABSTRACCIÓN Y CLASIFICACIÓN

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Banco de la República Bogotá D. C., Colombia

INTRODUCCIÓN A LAS BASES DE DATOS

Capitulo III. Diseño del Sistema.

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

TEMA 8: DIAGRAMA DE CLASE EN UML

Relaciones entre clases: Diagramas de clases UML

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

UNIDADES DE ALMACENAMIENTO DE DATOS

Modelos y Bases de Datos

Temario. Índices simples Árboles B Hashing

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS


BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

4. Modelo Relacional: Manipulación de los datos.

CAPÍTULO 3 Servidor de Modelo de Usuario

NORMALIZACIÓN DE BASES DE DATOS

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

Tema 11 Bases de datos. Fundamentos de Informática

TEMA 5.- ESTRUCTURA DE DATOS RELACIONAL.

RESTRICCIONES DE INTEGRIDAD Y DEPENDENCIAS FUNCIONALES Bases de Datos Universidad de Talca, II Semestre Jorge Pérez R.

Bases de datos en Excel

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

DIAGRAMA DE CLASES EN UML

Bases de Datos Tema 4 Modelo Entidad/Interrelación (ERM de Chen)

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Gestión de Oportunidades

PS.Vending Almacén Pocket PC

Curso Excel Básico - Intermedio

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Base de Datos. Profesores: Franklin Johnson P. José Miguel Rubio L.

Operaciones Morfológicas en Imágenes Binarias

Ampliación de Estructuras de Datos

Transcripción:

Los Modelos de Datos y el Modelo Objeto-Relacional Página 1 de 27 OBJETIVOS GENERALES: 1. Desarrollar habilidades en el modelado semántico de datos. 2. Lograr una visión general y una diferenciación clara entre los modelos de datos de alto nivel y los de bajo nivel. 3. Desarrollar habilidades en el diseño de bases de datos. CONTENIDOS: Tema 1.- Modelado semántico de datos Modelo Entidad - Relación Extendido (E-R-E) Tema 2.- Modelos básicos Jerárquico y redes Relacional Objeto-Relacional Transformación de los modelos de alto nivel al esquema objeto-relacional Enfoque por descomposición Normalización o 1FN o 2FN o 3FN o 4FN o 5FN Restricciones de integridad. Tema 3.- Lenguajes de consulta del modelo relacional y objeto-relacional Algebra relacional y SQL3 (estático, dinámico, compuesto y recursivo) Reglas de integridad referencial o triggers Cálculo relacional de tuplas y QUEL. Cálculo relacional de dominios y QBE. Ejercicios resueltos y propuestos. ACTIVIDADES: 1. Realizar ejercicios prácticos en el modelado semántico de datos. 2. Realizar ejercicios prácticos con modelos básicos de datos. 3. Desarrollar ejercicios prácticos para transformar modelos de alto nivel a los de bajo nivel. 4. Diseñar bases de datos objeto-relacionales. INTRODUCCION: Los modelos de datos son medios formales para representar los datos asociados a una situación real y para manipular tal representación [DAT-93]. La figura 1 ilustra el concepto anterior. Las componentes de todo modelo de datos son las siguientes:

Los Modelos de Datos y el Modelo Objeto-Relacional Página 2 de 27 Figura 1. Modelado de datos. Las estructuras básicas son los elementos básicos o tipos de objetos que conforman el modelo. Las reglas que es el conjunto de lineamientos que expresan las propiedades estáticas del modelo. Ellas son: o Las reglas de formación, y o Las restricciones. Los operadores que permiten cambiar el estado de una base de datos modificando su contenido. Ellos están asociados a las propiedades dinámicas de los elementos. Los modelos de datos se pueden clasificar en: modelos de alto nivel o semánticos y modelos de bajo nivel o básicos. Los modelos semánticos capturan un mayor significado de los datos e intentan representar la estructura real de los datos independientemente de las características de almacenamiento, es decir ellos están orientados a las aplicaciones. Existen, hoy en día, numerosos y muy variados modelos semánticos, entre ellos se encuentran: el modelo Entidad-Relación de P. Chen en [Che-76], el modelo Entidad-Relación-Extendido (ERE) de Teorey et al. en [T-86] y el modelo IFO propuesto por Abiteboul en [ABI- ]. De modelos anteriores solo será tratado el segundo de ellos en detalle más adelante. Los modelos básicos constituyen el grupo de modelos que han sido diseñados orientándose al computador, sobre ellos se han desarrollado la mayoría de los SMBD. Ellos son: el modelo de jerárquico, el modelo redes, el modelo relacional, el modelo orientado por objetos y el objetorelacional. Al igual que los anteriores, ellos serán vistos en detalle en las secciones siguientes.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 3 de 27 1.- Modelos semánticos Muchos modelos semánticos han sido propuestos, pero pocos de ellos han atraído el interés de los desarrolladores de sistemas de base de datos, esto tal vez es debido a la complejidad de tales modelos y a su dificultad para ser plasmados con los modelos básicos actuales. La mayoría de los conceptos del modelado semántico de datos han sido muy bien representados en el modelo ERE, el cual goza de gran prestigio y popularidad en el ambiente comercial, jugando un rol muy importante en la mayoría de las herramientas CASE (Computer Aided Software Engineering). Modelo Entidad-Relación-Extendido (ERE) El modelo Entidad-Relación (E-R) propuesto por P. Chen en [CHE-76] fue la primera versión del modelo ERE. Dicha primera versión se fue modificando con el paso del tiempo debido a la necesidad de tener constructos mas adecuados para la gran diversidad de aplicaciones que existen hoy en día en el área de las bases de datos. Así, la proposición de P. Chen ha sido modificada y enriquecida semánticamente por otros autores. Debido al gran poder expresivo que tiene hoy en día, este modelo es el primero en popularidad y en utilización en la etapa de diseño conceptual de base de datos. En este modelo se emplea el enfoque de diseño de arriba-hacia-abajo y los conceptos de abstracción de datos. El modelo ERE representa la información por medio de tres conceptos básicos: entidades, relaciones y atributos. Su principal objetivo es producir vistas conceptuales de los datos de la aplicación. Cada vista se expresa en términos de los conceptos básicos ilustrados en los diagramas ERE. El modelo está basado en la teoría de conjuntos y en la de las relaciones. Entidad, según el diccionario Larousse, es "lo que constituye la esencia del ser // colectividad considerada como una unidad". Para los efectos de las aplicaciones en base de datos Una entidad puede ser un objeto como: una casa, una planilla, un carro, etc.; un sujeto como una persona; o un evento o actividad como: un partido de football, un viaje, etc. Las entidades se agrupan en conjuntos denominados conjunto entidad y se representan en los diagramas ERE como un rectángulo con el nombre del conjunto entidad dentro. La figura 2 muestra un ejemplo de dicha representación. Figura 2. Conjuntos entidad en los diagramas ERE. Una misma entidad puede pertenecer a varios conjuntos entidad. Por ejemplo, un médico hospitalizado pertenece a los conjuntos entidad paciente y médico. Una relación es una asociación entre dos o más entidades de un mismo tipo o de tipos diferentes. Las relaciones o asociaciones también se agrupan en conjuntos, recibiendo el nombre de conjunto relación.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 4 de 27 Los conjuntos relación se representan gráficamente por medio de un rombo que encierra el nombre asociado al conjunto relación especificado. Ejemplos de estos son: propietario que asocia un automóvil a un empleado, dicta que asocia un profesor con una asignatura, etc. La figura 3 ilustra el conjunto relación propietario. Figura 3. Conjunto relación en los diagramas ERE. La figura anterior también muestra los tipos de correspondencia entre los conjuntos entidad asociados por el conjunto relación propietario y la cardinalidad de dicha relación. Los tipos de correspondencia se refieren al número de entidades involucradas en la relación, en un sentido y en el sentido contrario. Así: 1:1 Una entidad del conjunto entidad 1 (C-E1) está asociada a una única entidad del C-E2. 1:N o N:1 Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 o viceversa. N:M Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 y viceversa. La cardinalidad de la relación o asociación entre dos entidades expresa el número mínimo y máximo de entidades relacionadas a través del conjunto relación, así en la figura 3 un empleado puede ser propietario de ninguno o hasta 4 automóviles y un automóvil puede tener como propietario uno y solo un empleado, esto implica que en la BD no hay ningún automóvil sin propietario, pero si hay empleados que no tienen automóvil. Una entidad se describe por medio de sus atributos y una relación puede también ser descrita por medio de atributos. Un atributo es una característica o propiedad específica de una entidad o de una relación. Cada atributo se identifica con un nombre y se le asocia un dominio de valores posible que puede tener en un momento particular. Los atributos se expresan en el modelo E-R con nombres que etiquetan las aristas entre el conjunto entidad o relación a que pertenecen y el dominio asociado al mismo. Los dominios se expresan con óvalos identificados con un nombre, que es el nombre del dominio. La figura 4 completa el diagrama mostrado en la figura anterior.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 5 de 27 Figura 4. Atributos, dominios y claves en un diagrama ERE. Una clave o llave de un conjunto entidad o relación es un grupo de uno o más atributos que identifican unívocamente cada entidad o relación del conjunto. La clave de un conjunto relación es siempre la concatenación de las claves de los conjuntos entidad que ella asocia. En la figura 4 se observan las claves de cada conjunto entidad y de la relación propietario. Un conjunto entidad es débil si su existencia depende de otro conjunto entidad. De igual manera, un conjunto relación es débil si él depende de otro. La figura 5 presenta un ejemplo de diagrama donde se observan ambos casos. Un objeto del conjunto entidad objeto existe en la BD si existe la entidad vista del conjunto entidad vista. Asimismo, la relación clave-obj existe si la relación vista-obj existe.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 6 de 27 Figura 5. Entidades y relaciones débiles en un diagrama ERE. Un conjunto entidad puede especializarse en otros conjuntos entidad mostrando los diferentes tipos de ese conjunto entidad. Asimismo, varios conjuntos entidad pueden generalizarse en un conjunto entidad genérico, en cuyo caso el proceso de abstracción realizado se denomina generalización y en el primer caso se denomina especialización. Sin importar el proceso de abstracción realizado, el hecho es que existe en el diagrama un conjunto entidad que es una superclase de otros conjuntos entidad denominados subclases, los cuales heredan de la superclase todos sus atributos. La herencia puede ser simple o múltiple, bien sea que herede de un solo conjunto entidad o de varios, respectivamente. La herencia también puede ser parcial o total, en caso que la extensión de la superclase tenga un número de entidades diferente a la suma del número de entidades de sus subclases o que ese número sea igual, respectivamente. Gráficamente la herencia parcial se representa con una arista simple, la total con doble arista y la conexión entre superclases y subclases se realiza con un círculo si hay más de una subclase, llevando siempre un arco que intersecta la arista para indicar cual es la subclase.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 7 de 27 Se puede dar el caso que las entidades de las extensiones de las subclases se solapen, lo cual se expresa en el diagrama colocando una o en el círculo, indicando la conjunción de las entidades, si ese no es el caso, pues las extensiones de las subclases son disjuntas, entonces se coloca una d indicando la disyunción de las extensiones. Un caso especial denominado categoría se presenta cuando una entidad de un conjunto entidad puede ser una entidad heredada de 2 o más conjuntos entidad diferentes, pero cuyos atributos no se concatenan, pues la entidad en la categoría puede ser una y solo una de las entidades de cualquiera de las superclases. La categoría se presenta en el diagrama colocando en el círculo una U. La figura 6 muestra dos ejemplos de categorías, uno donde un dueño puede ser una persona, un banco o una compañía y el otro donde una propiedad puede ser un edificio o un lote de terreno. Figura 6. Categorías y herencia en diagramas ERE. 2. Modelos básicos Son los modelos sobre los que se han desarrollado la mayoría de los SMBD, estos son: Jerárquico y redes Relacional Orientado por objetos Objeto-Relacional

Los Modelos de Datos y el Modelo Objeto-Relacional Página 8 de 27 2.1. Modelos jerárquico y redes El modelo jerárquico está definido sobre la base de los conceptos básicos siguientes: Campo: es la unidad de datos que posee un nombre. Segmento: es una colección de campos consecutivos en la base de datos que posee un nombre y que constituye la unidad de intercambio entre la BD y los PA. Los segmentos están ligados por asociaciones 1:N donde un segmento padre tiene N segmentos hijos, bien sea en el ámbito de tipos o de ocurrencias, formando así un árbol de segmentos. Árbol de segmentos: es una colección de segmentos ligados por asociaciones padre hijos, organizados bajo la forma de una jerarquía. Base de datos jerárquica: es una BD compuesta de un bosque de segmentos. Ella se representa con árboles de segmentos cuyos nodos son los segmentos y las aristas indican las asociaciones 1:N. La figura 7 muestra un ejemplo de una BD jerárquica para el control de las publicaciones de una librería. Figura 7. Base de datos jerárquica para el control de publicaciones. El mejor SMBD que representa este tipo de BD es un producto IBM denominado IMS/VS (Information Management System/Virtual Storage) cuya primera versión aparece en 1968. Para ejemplificar el nivel de detalle que debe ser usado en estos sistemas, se incluye la definición de la BD anterior en el lenguaje de definición de datos del IMS. En ella se observa que el ABD debe llevar el control de los campos al nivel de bytes de inicio y de longitud en bytes. 1. DBD NAME = Publica 2. SEGM NAME = Tema, BYTES = 44 3. FIELD NAME = (NumTema, SEQ), BYTES = 4, START = 1 4. FIELD NAME = NomTema, BYTES = 40, START = 5 5. SEGM NAME = Publicacion, PARENT = Tema, BYTES = 96 6. FIELD NAME = (ISBN, SEQ), BYTES = 16, START = 1 7. FIELD NAME = Titulo, BYTES = 80, START = 17 8. SEGM NAME = Editorial, PARENT = Pub, BYTES = 40 9. FIELD NAME = (AñoPub, SEQ), BYTES = 4, START = 1 10. FIELD NAME = Editorial, BYTES = 34, START = 5 11. FIELD NAME = NroVolEditados, BYTES = 2, START = 39

Los Modelos de Datos y el Modelo Objeto-Relacional Página 9 de 27 12. SEGM NAME = Autor, PARENT = Pub, BYTES = 256 13. FIELD NAME = (NomAut, SEQ), BYTES = 20, START = 1 14. FIELD NAME = Direccion, BYTES = 236, START = 21 El modelo de redes propuesto por el grupo DBTG de CODASYL está definido siguiendo los conceptos básicos dados a continuación: Atomo o item de dato: es la unidad de datos que posee un nombre. Agregado de datos: es una colección de átomos arreglados consecutivamente en la base de datos que posee un nombre. Ellos son de dos tipos: vectores o arreglos unidimensionales y grupos repetitivos. Registro: es una colección de agregados y de átomos consecutivos en la base de datos y que constituyen la unidad de intercambio entre la BD y los PA. Conjunto: es la asociación entre un registro propietario y n registros miembros. Las limitaciones del modelo hacen que un registro o tipo de registro no pueda ser propietario y miembro a la vez en el mismo conjunto y que una ocurrencia de un registro no pueda pertenecer a varias ocurrencias del mismo conjunto. Base de datos en redes: es una BD compuesta de registros ligados o asociados entre ellos por los conjuntos. Ella se representa a nivel de tipo con un grafo de tipos de registros cuyos nodos son los tipos de registros y las aristas son los tipos de conjuntos orientados del propietario hacia los miembros. La figura 8 muestra un ejemplo de una BD en redes para una compañía productora de vinos. Figura 8. Base de datos vinícola en redes.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 10 de 27 2.2. Modelo relacional Fue propuesto por E. Codd en 1970 [Cod-70] cuando trabajaba para IBM-San José. El modelo está basado en la teoría de normalización de las relaciones, que permite eliminar el comportamiento anormal de las relaciones, luego de actualizaciones, así como el control de la redundancia de datos. Conceptos básicos Los conceptos básicos del modelo son: Dominio: es un conjunto de valores Ejm: D 1 = { rojo`, verde`, negro`, azul`} D 2 = {`ford, chevrolet`, fiat`, toyota`, renault`} Relación: es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos. Ejm: R 1 = {( rojo`,`ford ), ( verde`,`ford ), ( negro`, chevrolet`), ( azul`, toyota`)} R 2 = {( fiat`, verde`)} R 3 = { } R D 1 D 2 verde` azul` ford` fiat` Atributo: es la columna de una relación identificada con un nombre. Ejm: R color marca verde` azul` ford` fiat` Esquema de una relación o de tabla: Es el nombre de la relación seguido de la lista de sus atributos con sus dominios. Un esquema de relación se puede representar por intensión o por extensión.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 11 de 27 Esquema de Carro por intensión: Carro(placa, marca, modelo, color) Esquema de Carro por extensión: tabla columna Carro placa marca modelo color fila o tupla Base de datos relacional: LGR889` toyota` corollaxl` azul` LAB110` ford` sierra280es` verde` XSG230` fiat` siena` azul` Es una base de datos cuyo esquema es un conjunto de esquemas de relación de diferente nombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones. Reglas de formación 1. Cada relación o tabla contiene un solo tipo de fila o tupla. 2. Cada tupla tiene un número fijo de atributos o columnas. 3. No se permiten atributos compuestos o grupos repetitivos. 4. Cada tupla es única y se identifica con su clave primaria. 5. Un atributo o grupo de ellos que identifiquen unívoca e inequívocamente cada tupla de la relación es una clave candidata. 6. La clave primaria de una relación se selecciona entre las claves candidatas. 7. Si un atributo A R1 es también la clave primaria de R2, entonces A es un atributo foráneo de R1. 8. El orden de las tuplas en la relación es irrelevante. 9. Los valores de los atributos deben pertenecer al dominio de cada atributo definido en ella. 10. Un mismo dominio puede ser usado por diferentes atributos. 11. A partir de una o más tablas se pueden producir nuevas tablas diferentes mediante el uso de las operaciones del álgebra relacional. Reglas de integridad De la relación: ningún componente de un valor de los atributos que conforman la clave primaria puede ser nulo. De referencia: sea A la clave primaria de R1 y también un atributo foráneo de R2, entonces para toda tupla de R2 donde A nulo debe existir la tupla correspondiente en R1. De los valores de un atributo: son los predicados definidos por el administrador de bases de datos sobre los valores de los atributos usando el lenguaje de definición de datos.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 12 de 27 Ejemplo: fechainicio fechafin fechainscripción fechainicio restricciones de integridad de los valores de los atributos. Semestre código fechainicio fechafin fechainscripción tupla A98` 02/03/98 17/07/98 22/2/98 B98` 14/09/98 30/01/99 07/09/98 A99` 15/03/99 23/07/99 08/03/99 Ejemplo de una base de datos relacional Cliente( codcli, nombre, balance, límitecrédito, descuento) Envio( dirección, codcli) Pedido( codped, línea, direnvio, codart, cantidadpedida, cantidadenviada) Artículo( codart, nomart, descripción) Inventario( codart, codplanta, cantidadexistencia, riesgo) Atributo Descripción Dominio codcli Código del cliente Cadena(4) nombre Nombre del cliente Cadena(40), sub(nombre,i,1) {letras} balance Balance actual de la cuenta del cliente Real límitecrédito Límite de crédito actual del cliente Real siempre positivo descuento Descuento actual que se le aplica al cliente Real siempre positivo dirección, direnvio Dirección de envío del cliente (un cliente puede tener varias) Cadena(80),sub(dirección,i,1) {/,-, } con i desde 1 hasta 80 {letras} codped Código de pedido Cadena(6) línea Línea del pedido Entero corto siempre positivo cantidadpedida Cantidad pedida del artículo Entero siempre positivo cantidadenviada Cantidad enviada del artículo Entero siempre positivo codart Código del artículo Cadena(6) nomart Nombre del artículo Cadena(20),sub(nomArt,i,1) {letras} descripción Descripción del artículo Cadena(255), sub(descripción,i,1) {letras} codplanta Código de la planta que tiene el artículo Cadena(2) cantidadexistencia Cantidad actual en existencia del artículo Entero siempre positivo riesgo Cantidad mínima del artículo en inventario Entero siempre positivo Restricción de integridad: cantidadpedida cantidadenviada cantidadexistencia

Los Modelos de Datos y el Modelo Objeto-Relacional Página 13 de 27 2.3. Objeto-relacional Este modelo es básicamente el mismo modelo relacional extendido con algunas facilidades del modelo orientado por objetos, a saber: Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que deben ser soportados por el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que convierte de ASCII al nuvo tipo. Se soportan tipos complejos como: registros, conjuntos, referencias, listas, pilas, colas y arreglos. Se pueden crear funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL, Java, C, etc. Se pueden crear operadores asignándole un nombre y asociandoselo a una función ya definida o creada con anterioridad. Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro. Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers. Soporte adicional para seguridad y activación de la versión cliente-servidor. 2.4. Transformación de modelos de alto a bajo nivel Las reglas de transformación del modelo ERE al modelo relacional son las siguientes: 1. Cada conjunto entidad se convierte en un esquema de relación constituido por todos los atributos del conjunto entidad. Cada tupla en la relación es una entidad del conjunto entidad. La clave primaria de la relación es la misma del conjunto entidad. Ejemplo: Usuario(codUs, nomus, apeus, depus) 2. Cada conjunto relación entre los conjuntos entidades que asocia se convierte en un esquema de relación cuya clave primaria es la concatenación de las claves primarias de los conjunto entidad que ella asocia y sus atributos no clave son los mismos del conjunto relación tratado. Ejemplo: Prestamo(codLib, codus, fechapres, fechaentre)

Los Modelos de Datos y el Modelo Objeto-Relacional Página 14 de 27 3. Los conjuntos de valores del diagrama ERE se convierten en los dominios del modelo relacional. 4. Los conjunto entidades débiles se convierten en esquemas de relación con clave primaria igual a la concatenación de la clave primaria del conjunto entidad fuerte del cual depende con algún atributo propio del conjunto entidad débil que sirva para identificar unívocamente cada tupla de la relación. 5. Cada especialización es una tabla con los atributos de la especialización y con clave la del conjunto entidad general. Ejemplo: TrabajadorUniv(ced, nombre. apellido, fechaingreso), Profesor(ced, catego, dedicac, fechacatego, fechadedicac), Empleado(ced, grado, fechagrado, paso) 6. Una categoría es una subclase de la unión de dos o más superclases, por lo que se crea una clave para la categoría, y se coloca en las tablas de las superclases, si ellas tienen diferentes esquemas. Si las superclases tienen la misma clave, no es necesario utilizar la clave nueva o clave sustituta. Ejemplo: Persona(cedId, nombre, apellido, fechanac, direccion, telefono, iddue), Banco(codBan, nombre, direccion, telefono, iddue), Compañía(codCom, nombre, direccion, telefono, iddue) con la categoría Dueño(idDue)

Los Modelos de Datos y el Modelo Objeto-Relacional Página 15 de 27 Reglas adicionales en caso de convertir el modelo ERE al modelo objeto-relacional: 2.5. Enfoque por descomposición Consiste en definir relaciones universales compuestas de todos los atributos de la base de datos y luego descomponerlas, utilizando el proceso de normalización en subrelaciones que no sufren anomalías. Enfoque por descomposición: es un proceso de refinamiento paso a paso que lleva al aislamiento de las entidades y asociaciones del mundo real [Cod-79]. La teoría de la descomposición de las relaciones se basa en el uso de dos operaciones fundamentales del álgebra relacional, a saber: Proyección: La proyección de una relación R(A 1, A 2,..., A n ) sobre los atributos A i1, A i2,..., A ip, con i j i k, es una relación R con esquema R (A i1, A i2,..., A ip ) obtenida por eliminación de los valores de los atributos de R que no están en R y la supresión de las tuplas duplicadas. Notación: Π A i1, A i2,..., A ip ( R ) Ejemplo: Si se tiene la relación Carro(placa, marca. modelo, color) la proyección sobre placa y marca de Carro es la relación R cuyo esquema está conformado por placa y marca.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 16 de 27 R = Π placa, marca ( Carro ) R = Π marca, color ( Carro ) Si Carro contiene las tuplas siguientes: Carro placa marca modelo color `LAB384 ford escortxr-31 verde LAM112 toyota corollaxl azul LGR889` toyota` corollaxl` azul` LAB110` ford` sierra280es` verde` XSG230` fiat` siena` gris` Entonces R y R contendrán: R placa marca R marca color `LAB384 ford ford verde LAM112 toyota toyota azul LGR889` toyota` fiat` gris` LAB110` XSG230` ford` fiat` Reunión natural: El producto, reunión o acoplamiento de dos relaciones R y S cuyos esquemas son R(A 1, A 2,..., A n ) y S(B 1, B 2,..., B p ) es una relación T con atributos que son la unión de los atributos de R y de S para las tuplas obtenidas por concatenación de las tuplas de R y S que tengan los mismos valores para los atributos de igual nombre. Notación: T = R S

Los Modelos de Datos y el Modelo Objeto-Relacional Página 17 de 27 Ejemplo: Si se tiene T = R R T placa marca color `LAB384 ford verde `LAB384 ford gris` LAM112 toyota azul LGR889 toyota azul LAB110` ford ` verde` LAB110` ford` gris` XSG230` ford` verde` XSG230` ford` gris` Descomposición: es el reemplazo de una relación R(A 1, A 2,..., A n ) por una colección de relaciones R 1, R 2,..., R n obtenidas de las proyecciones de R y tal que la relación resultado de las reuniones R 1 R 2... R n tiene el mismo esquema que R. Ejemplo: R1 = Π placa, modelo, color ( Carro ) R2 = Π modelo, marca ( Carro ) R R Carro pero R1 R2 = Carro Descomposición sin pérdida: Es la descomposición de una relación R en R 1, R 2,..., R p tal que para toda extensión de R se tiene que: R = R 1 R 2... R p El problema de la concepción de bases de datos relacionales se reduce a la descomposición sin pérdida de las relaciones universales con todos sus atributos en subrelaciones que no contengan anomalías. 2.6. Normalización El esquema relacional es un modelo de la realidad bajo la forma de una colección de relaciones, el cual debe ser construído con el fin de que: a. la creación, modificación y supresión de datos sean eficaces. Para ello, es indispensable eliminar toda redundancia innecesaria. Idealmente, se desea que ante cualquier evento que ocurra en la realidad, éste se traduzca en el manejo de una sola tupla en la extensión del modelo relacional. b. la modificación del esquema relacional por la evolución de la percepción de la realidad, sea lo más simple posible. c. la comprensión de la realidad sea facilitada por el esquema.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 18 de 27 Dependencias funcionales: Sea R(A 1, A 2,..., A n ) y X y Y dos subconjuntos del conjunto formado por {A 1, A 2,..., A n }. Se dice que X Y (X determina a Y o que Y depende funcionalmente de X) si para toda extensión r de R y para toda tupla t 1 y t 2 de r se tiene que: Π X ( t 1 ) = Π X ( t 2 ) implica que Π Y ( t 1 ) = Π Y ( t 2 ) Ejemplo: 1. placa marca placa modelo placa color placa (marca, modelo) modelo marca 2. (codigomateria, cedulaestudiante, semestre, año, sección) nota Considerando varias secciones en una misma asignatura y la posibilidad de repitencia de un estudiante en una sección de una asignatura. Las dependencias funcionales, en adelante DF, se identifican mirando atentamente el significado de los atributos, no sus valores actuales, sino todos los valores posibles de ellos. Las DF deben aparecer en el esquema conceptual de una BD. Propiedades de las DF: 1. Reflexibidad: Si Y X X Y. Ejemplo: color color y (marca, modelo) marca 2. Aumento: Si X Y X Z Y Z Ejemplo: modelo marca (modelo, color) (marca, color) 3. Transitividad: Si X Y y Y Z entonces X Z Ejemplo: placa modelo y modelo marca placa marca 4. Aditividad: Si X Y y Y Z entonces X Y Z Ejemplo: placa modelo y modelo marca placa (modelo, marca) 5. Pseudo-transitividad: Si X Y y X W Y Z entonces W Y Z Ejemplo: placa modelo y (marca, modelo) potencia (placa, marca) potencia 6. Descomposición: Si X Y y Z Y entonces X Z

Los Modelos de Datos y el Modelo Objeto-Relacional Página 19 de 27 Ejemplo: placa (modelo, marca) y modelo (modelo, marca) placa modelo Dependencias funcionales elementales: Una dependencia funcional elemental, en adelante DFE, es una DF de la forma X A, donde A es un atributo único no incluído en X y donde no existe un X' X tal que X' A Ejemplo: placa DFE modelo, pero placa no es DFE (modelo, marca) La regla de inferencia que se aplica a las DFE es la transitividad. Las DFE se expresan en un grafo de DFE donde los nodos son los atributos y las aristas son las DFE. En caso de tener más de un atributo en la parte izquierda de la DFE, ésta se expresa colocando una línea que acoja las aristas de todos los atributos de la parte izquierda y de ella sale una arista al atributo de la parte derecha, convirtiendo así el grafo de DFE en una red de DFE. Un ejemplo de grafo y de red de DFE se muestra en la figura 9. Figura 9. (a) Grafo de DFE. (b) Red de DFE. A partir de las DFE se pueden componer otras DFE utilizando la propiedad de transitividad. El conjunto completo de todas las DFE se denomina cierre transitivo, formalmente se define como el conjunto de las DFE consideradas, enriquecidas con todas las DFE deducidas por transitividad. Notación: C +. Ejemplo: Para la relación Carro se tiene: C + = {placa marca, placa modelo, placa color, modelo marca } A partir de C + se define la equivalencia de dos conjuntos de DFE. Dos conjuntos de DFE son equivalentes si tienen la misma C +. Cobertura mínima: es el conjunto C de DFE asociado a un conjunto de atributos que verifican las propiedades siguientes:

Los Modelos de Datos y el Modelo Objeto-Relacional Página 20 de 27 a. ninguna DF es redundante en C, es decir para toda DF denotada f de C, C - f no es equivalente a C. b. toda DFE de los atributos está dentro de C +. Ejemplo: C = {placa modelo, placa color, modelo marca } C es esencial para la descomposición sin pérdida. Clave de una relación: es el conjunto X de atributos de una relación R(A 1, A 2,..., A n ) tal que: a. X A 1, A 2,..., A n b. no existe un subconjunto Y X tal que Y A 1, A 2,..., A n Pueden existir varios atributos que cumplan con esta definición dentro de una misma relación, ellos serán denominados claves candidatas y se escogerá entre las mismas una única clave primaria. Dentro de una relación, la clave primaria se subraya. Formas normales El objetivo de las tres primeras formas normales es permitir la descomposición de relaciones sin pérdida de información, a partir de las DFE y obtener así el esquema conceptual relacional normalizado. Primera forma normal (1FN): Una relación está en 1FN si todo atributo contiene un valor atómico. Ejemplo: Persona(cedula, nombre, apellido, sexo, telefono, direccion) los primeros cinco atributos son atómicos y el atributo direccion puede ser considerado atómico en aquellas aplicaciones donde esta columna no va a ser utilizada como un atributo de búsqueda, lo que implica que la relación Persona está en 1FN.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 21 de 27 Estudiante(cedula, apellido, nombre, escuela, materias, notas) es claro que los primeros cuatro atributos son atómicos, pero también es claro que los dos últimos no lo están, por lo tanto la relación no está en 1FN. Para convertirla a 1FN se proyecta en dos relaciones, obteniendo: Estudiante(cedula, apellido, nombre, escuela) Cursa(cedula, materia, nota) Segunda forma normal (2FN): Una relación está en 2FN si y solo si: 1. la relación está en 1FN 2. todo atributo que no pertenece a una clave no puede depender de una parte de esa clave. Ejemplo: Proveedor(codProv, codart, dirprov, precio) Ella está en 1FN considerando la dirección como una columna atómica, pero dadas las DFE siguientes: (codprov, codart) precio y codprov dirprov, ella no está en 2FN, pues hay un atributo no clave (dirprov) que depende de una parte de la clave. Para normalizarla se proyecta en dos relaciones: Proveedor(codProv, dirprov) ProveeArticulos(codProv, codart, precio) Carro(placa, marca, modelo, color) está en 2FN. La segunda forma normal permite eliminar las redundancias para que ningún atributo esté determinado por una parte de una clave. Tercera forma normal (3FN): Una relación está en 3FN si y solo si: 1. la relación está en 2FN 2. todo atributo que no pertenece a la clave no depende de un atributo que no es clave.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 22 de 27 Ejemplo: Carro(placa, marca, modelo, color) está en 2FN, pero no en 3FN ya que se tiene la DFE modelo marca. Para normalizarla se proyecta en dos relaciones: Carro(placa, modelo, color) ModelosDeCarros(modelo, marca) La tercera forma normal permite asegurar la eliminación de redundancias debidas a las dependencias transitivas. Descomposición que preserva las dependencias funcionales: la descomposición {R 1, R 2,..., R n } de una relación R preserva las DF de R, si C + de R es la misma que la de la unión de las DF de {R 1, R 2,..., R n }. Toda relación R tiene al menos una descomposición en 3FN tal que: 1. la descomposición preserve las DF. 2. la descomposición sea sin pérdida. Algoritmo de descomposición en 3FN: Este algoritmo propuesto por Bernstein en 1976 se basa en el principio siguiente: Se construye la cobertura mínima C y a partir de la misma se editan los atributos aislados, considerándolos como claves, luego se busca el conjunto más grande X de atributos que determine a otros A 1, A 2,..., A n con n 1 y como salida se genera la relación (X, A 1, A 2,..., A n ). Las DFE utilizadas en la formación de esa relación se eliminan de C y todos los atributos aislados que no estén en las DFE que quedaron en C. Procedimiento Normalizar3FN( DFE ) 1. C = cobertura mínima de las DFE 2. At = Obtener los atributos aislados que pertenecen a C 3. reducir(c, At) 4. formar una R con los atributos restantes en At, si los hay 5. fin del procedimiento

Los Modelos de Datos y el Modelo Objeto-Relacional Página 23 de 27 Procedimiento reducir( C, At ) 1. repita mientras que una DFE en C no incluya todos los atributos o C esté vacío 1. buscar el conjunto más grande de atributos X tal que X A 1,..., X A k 2. formar la relación R(X, A 1, A 2,..., A k ) 3. eliminar de C las DFE utilizadas en R 4. eliminar de At los atributos que no pertenezcan ya a C 5. reducir(c, At) fin del repita mientras 2. regresar Un esquema normalizado hasta 3FN debe cumplir con el juramento siguiente: Forma normal de Boyce-Codd (FNBC): Una relación está en FNBC si y solo si las solas DFE son aquellas dentro de las cuales una clave determina un atributo. Ejemplo: Examen(cedEst, codmat, cedprof, nota) (cedest, codmat) cedprof cedprof codmat (cedest, codmat) nota está en 3FN no está en FNBC si cada profesor dicta una única materia

Los Modelos de Datos y el Modelo Objeto-Relacional Página 24 de 27 Para resolver el problema se proyecta para que cumpla con la FNBC Examen(cedEst, codmat, nota) Dicta(codMat, cedprof) No se preserva la DFE (cedest, codmat) cedprof En general, la descomposición en FNBC es sin pérdida pero NO preserva las DFE, después ellas pueden obtenerse por reunión o producto. Dependencias multivaluadas (DM): Sea R(A 1, A 2,..., A n) y X e Y dos subconjuntos de atributos de {A 1, A 2,..., A n }. Se dice que X -» Y, si dados los valores de X hay un conjunto de valores Y asociados y este conjunto es independiente de otros atributos Z = R X Y de R. Las DM caracterizan la independencia entre Y y Z correlacionadas por X. Las DF son un caso particular de las DM, por lo cual X Y X -» Y Dependencias multivaluadas elementales (DME): Una DME es una DM X -» Y de una relación R tal que: a. Y no es vacío y es disjunto de X b. R no contiene otra DM del tipo X -» Y tal que X X y Y Y Ejemplo: EstMatDeporte (nroest, codmat, deporte) EstMatDeporte nroest codmat deporte 105 PD10 tennis 105 PD10 natación 145 AL10 tennis 145 FI20 futbol` nroest -» codmat, nroest-» deporte, pues un estudiante puede cursar varias materias y puede practicar varios deportes, pero codmat es independiente de deporte y en este caso solo están correlacionados a través de nroest. Cuarta forma normal (4FN): Una R está en 4FN si y solo si las solas DME son aquellas donde una clave determina un atributo. Una R en 4FN está en 3FN y en FNBC. Ejemplo: EstMatDeporte (nroest, codmat, deporte) no está en 4FN, por lo que se proyecta según sus DME como: Cursa(nroEst, codmat) Practica(nroEst, deporte) Teorema de Fagin (1979): R(A, B, C) se puede descomponer sin pérdida en R1(A, B) y R2(A, C) si y solo si se cumplen en R las DM A -» B C. Demuestra que toda R tiene una descomposición, no siempre única, en 4FN sin pérdida de información.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 25 de 27 Ejemplo: Curso(nomCur, prof, texto) Curso nomcur Prof texto Estadística Perez Estadística I Estadística Perez Introducción a la estadística Estadística Mendez Estadística I Estadística Mendez Introducción a la estadística nomcur -» prof, nomcur-» texto Se proyecta como: TextoMateria(nomCur, texto) Dicta(nomCur, prof) Dependencias de productos (DP): Existen relaciones que no es posible descomponerlas en 2 relaciones, pero si en 3, 4 o más relaciones. Sea R(A 1, A 2,..., A n ) y X 1, X 2,..., X m subconjuntos de {A 1, A 2,..., A n }. Se dice que existe una DP simbolizada por *{X 1, X 2,..., X m } si R es el producto de sus proyecciones sobre X 1, X 2,..., X m, es decir si R = Π X 1 ( R ) Π X 2 ( R )... Π X m ( R ) Ejemplo: Si el proveedor #E suministra la pieza #P y en el proyecto #J se usan piezas #P y el proveedor #E suministra piezas al proyecto #J, entonces #E suministra #P al proyecto #J. Suministro(#E, #P, #J) está en 4FN Suministro #E #P #J E1 P1 J2 E1 P2 J1 E2 P1 J1 E1 P1 J1 No está en 5FN pues #E -» #P, #P -» #J, #J -» #E, no es posible descomponerla en 2 relaciones, pero si es posible en 3 relaciones, así: R1 #E #P R2 #P #J R3 #E #J E1 P1 P1 J2 E1 J2 E1 P2 P2 J1 E1 J1 E2 P1 P1 J1 E2 J1

Los Modelos de Datos y el Modelo Objeto-Relacional Página 26 de 27 Suministro R1 R2, Suministro R1 R3, Suministro R2 R3, Suministro = R1 R2 R3 Quinta forma normal (5FN): Una relación R está en 5FN si y solo si toda DP está implicada por las claves candidatas de R. En la realidad no es común tener DP y es muy difícil darse cuenta de su existencia, por lo que Fagin en [Fag-79] presenta un algoritmo para probar si una DP está implicada por un conjunto de claves en R. 2.7. Restricciones de integridad La integridad de los datos en bases de datos accedidas por procesos concurrentes debe ser asegurada, mediante la aplicación de restricciones y reglas que aseguren la concordancia de los datos que la base de datos modela con los del mundo real. Restricciones de integridad: Son aserciones que deben verificar los datos en instantes determinados. Bases de datos coherentes: Son bases de datos donde el conjunto de restricciones de integridad (explícitas o implícitas) se respeta a todo lo largo de la vida útil de la BD. Tipos de restricciones de integridad: Se tienen ocho tipos que son los siguientes: 1. Restricciones de dominio o integridad de dominio: Están referidas al tipo de dato del atributo o columna. El valor que se puede asignar a una columna debe estar en el dominio especificado para dicha columna. Se permite a un dato estar marcado para contener un valor especial definido por el diseñador de la BD (NoDefinido), no contener valor alguno o contener el valor nulo si: a. Existe la posibilidad de desconocer la información (nulo aplicable) b. No tiene sentido asignar un valor del dominio (nulo inaplicable) Ejemplo: cant es de tipo Entero siempre positivo.

Los Modelos de Datos y el Modelo Objeto-Relacional Página 27 de 27 2. Restricciones de rango o integridad de columna: Se refiere al intervalo de variación de los valores del dominio del atributo y de los tipos de datos definidos en el SMBD. Ejemplo: edad es de tipo Entero siempre positivo entre 0 y 120. 3. Integridad de entidad o de dependencias funcionales: Se refiere al hecho de tener un atributo que está determinado por uno o varios atributos. Estas restricciones están aseguradas con la normalización de las tablas de la BD. Ningún componente de una clave primaria puede contener valores nulos. Ningún componente de una clave foránea debe permitir un valor nulo por inaplicable, aunque si puede permitir valor nulo por desconocimiento de información. Ejemplo: cedula determina edad. 4. Dependencias multivaluadas: Son aquellas donde uno o varios atributos multideterminan un atributo. Estas están aseguradas con la normalización de las tablas de la BD. Ejemplo: cedulaestudiante multidetermina deportepractica. 5. Integridad referencial: Son las dependencias de inclusión en varias tablas o de claves foráneas. Para cada clave foránea debe existir un valor equivalente de una clave primaria y en el mismo dominio. Ejemplo: Se tienen las tablas Carro(placa, modelo, color) y ModeloMarca(modelo, marca), en ellas observamos que el atributo modelo es clave en la tabla ModeloMarca y está incluida en la tabla Carro, por tanto el atributo modelo es una clave foránea en la relación Carro. 6. Restricciones aritméticas: Son las expresiones aritméticas que deben cumplir algunos atributos de una tabla o que involucra a varias tablas de la BD. Ejemplo: En la BD formada por las tablas siguientes: Producto(codPro, nompro, cantexistencia, color) Venta(codVen, nomcli, codproven, cantven, fechaven) Compra(codCom, fechacom, codprocom, cantcom, nomproveedor) Para todo producto identificado con su código codpro de la tabla Producto, la cantexistencia debe ser mayor que la cantidad vendida cantven para el producto codproven, ya que no se puede vender una cantidad de producto mayor que la que se tiene en existencia. 7. Valores invariantes que no son posibles de expresar en el esquema: Ejemplo: Tomando la BD descrita anteriormente, se tiene que en todo momento la cantidad comprada menos la cantidad vendida debe ser igual a la cantidad en existencia (cantcom - cantven = cantexistencia), para cada producto presente en la BD. 8. Restricciones temporales: Son aquellas aserciones que deben ser cumplidas periódicamente o en momentos específicos. Ejemplo: En una BD de trasacciones bancarias al finalizar cada mes, el saldo de cada cuenta debe ser igual a la suma de de depósitos en la cuenta menos la suma de los retiros de la cuenta.