República Bolivariana de Venezuela. Ministerio del Poder Popular para las Telecomunicaciones y la Informática. Misión Sucre. Aldea Universitaria Fray Pedro de Agreda. Asignatura Sistemas I. TEMA 2. Modelo de Datos Prof. Juan Cisneros. Septiembre, 2008 MODELO DE DATOS Un modelo de datos es un formalismo matemático que consta de una notación para describir los datos y las estructuras de datos (información), y de un conjunto de operaciones válidas que se pueden utilizar para manipular estos datos, o, al menos, los símbolos que los representan. Es un dispositivo de abstracción que nos permite ver el bosque (la información contenida en los datos) en oposición a los árboles (valores individuales de los datos). Objetivos del modelo de datos: Formalización: • Describir las estructuras permitidas y las restricciones a fin de representar los datos de un sistema de información. • Establecer las bases para la definición de un lenguaje de datos. • Facilitar la apreciación objetiva de la riqueza o flexibilidad de las estructuras de datos, ayudando a la comparación formal de los distintos modelos de datos y a la evaluación de un SGBD. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS MODELO DE DATOS Diseño: • Es uno de los elementos básicos (junto con los lenguajes, documentación y otras herramientas) para el desarrollo de una metodología de diseño de BD. Los principales objetivos del modelamiento de datos, es encontrar la forma de representar los datos de un problema en un sistema. Es decir conocer los datos involucrados, quienes van a usarlos y como van a usarlos. En la actualidad se reconocen tres generaciones de modelos de datos: 1ra generación: Modelos jerárquicos y en red o reticular. 2da generación: Modelo relacional. 3ra generación: Modelos semántico, de objetos complejos, orientado a objetos y deductivo. Realidad TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS Sistema MODELO DE DATOS Definición: Conjunto de conceptos, reglas y convenciones que permiten describir los datos del Universo de discurso, sus relaciones, su semántica y sus limitantes. Un modelo de datos se define a través de: • Un conjunto de restricciones inherentes (invariantes del modelo). • Un conjunto de restricciones semánticas (distintas para cada problema). Componentes: Estructura de datos: colección de objetos abstractos para representar la información. Definiciones de integridad: leyes que limitan el conjunto de casos de las estructuras de datos que pueden aparecer legalmente en cualquier base de datos que se ajuste al modelo. Operadores: conjunto de reglas bien definidas que permiten manipular las estructuras de datos. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS MODELO DE DATOS TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS COMPARACIÓN ENTRE LOS MODELOS DE DATOS Los modelos jerárquicos, en red y relacional han sido soportados por gran cantidad de SGBD durante más de tres décadas. Los que soportan los modelos de 3ra generación, están comenzando ha ser implementados. En la actualidad es el modelo relacional el que ha demostrado mayor fuerza y se encuentra más difundido porque: • Los datos y las relaciones entre ellos se almacenan, al menos conceptualmente, de un modo en que los usuarios entiendan con más facilidad. • Posee una fundamentación desde el punto de vista teórico que se basa en la matemática (los conceptos del álgebra relacional ) y la teoría de predicados de 1er orden. • Los usuarios pueden obtener información de la BD sin asistencia de sistemas complejos. Las principales características de los modelos de la 1ra y 2da generación y sus debilidades se describen en la tabla siguiente. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS COMPARACIÓN ENTRE LOS MODELOS DE DATOS TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS COMPARACIÓN ENTRE LOS MODELOS DE DATOS Modelo reticular Cliente 1 Cliente 2 Modelo jerárquico Banco Cuenta 1 Cuenta 2 Cliente 1 Cuenta 3 Cliente 2 Cliente 3 Cuenta 4 Cliente 3 Cuenta 5 Cuenta 1 Cuenta 2 Cuenta 2 Cuenta 5 Modelo relacional Cliente TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS Cliente - Cuenta Cuenta Cuenta 3 Cuenta 4 TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) También conocido como modelo entidad-interrelación. • Propuesto por Peter Chen en 1976 • Define dos perspectivas en la definición del modelo de datos: Perspectiva estática: • Entidad: Es aquel objeto (real o abstracto) acerca del cual se quiere almacenar información en la base de datos. Debe cumplir las siguientes reglas: 1. Tiene que tener existencia propia. 2. Cada ocurrencia de un tipo de entidad debe poder distinguirse de las demás. 3. Todas las ocurrencias de un tipo deben tener los mismos tipos de características (atributos). • Relación: Asociación o correspondencia existente entre entidades. • Dominio (conjunto de valores posibles que puede tomar una cierta característica) y valor. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) Atributo. • Dato específico, significativo para una entidad, que: la califica (ej: color) o la identifica (ej: DNI) o la clasifica (ej: grupo) o la cuantifica (ej: peso) o expresa su estado (ej: pagado, solicitado). • Pueden ser opcionales u obligatorios. • Para cada atributo existe un rango de valores permitidos (dominio del atributo) Restricciones: • Sobre los valores, que delimitan los valores que pueden corresponder a un cierto objeto del modelado. • Sobre el número de ocurrencias, que delimitan el número de objetos que pueden intervenir en un tipo de interrelación. Perspectiva dinámica: Lenguajes que operan en el nivel conceptual basándose en el modelo entidad-relación. Estos lenguajes permiten formular consultas a la BD con sentencias que se parecen al lenguaje natural y son sencillas de formular. (SQL, QBE, etc. ) TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) El objetivo es identificar y representar las “cosas” de importancia en el funcionamiento del negocio (entidades), sus propiedades (atributos), y la forma en que estas “cosas” se relacionan entre sí (relaciones) TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) El objetivo es identificar y representar las “cosas” de importancia en el funcionamiento del negocio (entidades), sus propiedades (atributos), y la forma en que estas “cosas” se relacionan entre sí (relaciones) Representación Gráfica Diagrama Entidad-Relación (ME/R) Entidad • Son cosas u objetos del mundo real, abstractas o concretas, tangibles o intangibles, que son distinguibles de los demás objetos. Tienen un conjunto de propiedades, y los valores para algún conjunto de propiedades pueden identificar una entidad de forma unívoca • La entidades se representan gráficamente mediante un rectángulo. Alumno TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) Relación • Asociación entre diferentes entidades. Por ejemplo, un cliente compra artículos; donde compra es la relación entre ambas entidades. • La relación entre entidades se representa mediante un rombo. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) Atributo • Son las propiedades descriptivas que poseen todos los elementos de un conjunto de entidades. Por ejemplo alumno = (nom-alumno, cialumno, dirección, carrera). Y el dominio de los atributos son los conjuntos de valores permitidos para cada uno. • Los atributos se representan mediante elipses. dirección nom­alumno Alumno carrera ci­alumno TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS TIPOS DE MODELOS DE DATOS Modelo Entidad-Relación (ME/R) Clave Primaria • Son atributos que se usan para diferenciar una entidad de otra, por ejemplo un alumno de otro, o un producto de otro. • La llave primaria debe ser única y de preferencia no cambie con el tiempo. • Cada juego de entidades (tabla) debe tener una llave primaria. • Se representan subrayando el atributo. dirección nom­alumno Alumno carrera ci­alumno TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS CARDINALIDAD Modelo Entidad-Relación (ME/R) Cardinalidad • Es el número de entidades con la cual otra entidad puede asociar mediante una relación. •Número máximo y mínimo de ocurrencias de un tipo de entidad que pueden estar interrelaciones con una entidad del otro u otros tipos de entidad que participan en un tipo de interrelación. •La cardinalidad puede ser: • Uno a uno (1:1) • Uno a muchos ó muchos a uno (1:N) • Muchos a muchos (N:M) TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS CARDINALIDAD Modelo Entidad-Relación (ME/R) Cardinalidad Uno a Uno (1:1) • Una entidad en A esta asociada con una y solo una entidad en B y viceversa. A1 A2 A3 A4 B1 B2 B3 B4 Ejemplo: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece a un solo paciente (hospital privado) TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS CARDINALIDAD Modelo Entidad-Relación (ME/R) Cardinalidad Uno a Muchos (1:N) • Una entidad en A esta asociada con cualquier número (0 ó más) de entidades en B. Una entidad en B, puede estar asociada a lo mucho con una entidad en A B1 B2 B3 B4 B5 A1 A2 A3 Ejemplo: El titular de una cuenta corriente puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS CARDINALIDAD Modelo Entidad-Relación (ME/R) Cardinalidad Muchos a Muchos (N:M) • Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa. A1 A2 A3 A4 B1 B2 B3 B4 B5 Ejemplo: Un estudiante puede cursar una o mas asignaturas, una asignatura puede ser cursada por uno o mas estudiantes. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS CARDINALIDAD Modelo Entidad-Relación (ME/R) Cardinalidad Ejemplos Hombre 1 Casado 1 Mujer Uno a Uno: Un hombre esta casado con una sola mujer, y una mujer esta casada con un solo hombre. Jugador N Integra 1 Equipo Uno a muchos: Un jugador de beisbol juega en un equipo, en una equipo existen varios jugadores. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS CARDINALIDAD Modelo Entidad-Relación (ME/R) Cardinalidad Ejemplos Estudiante N Cursa M Asignatura Muchos a Muchos: Un estudiante cursa varias materias, una materia es cursada por varias estudiantes. TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS INVESTIGAR • • • • Modelos de datos semántico. Modelo de datos deductivo. Modelo de datos orientado a objetos. Modelo entidad relación extendido (MER/E). TEMA 1. CONCEPTOS FUNDAMENTALES DE BASE DE DATOS