MODELOS LÓGICOS BASADOS EN LOS OBJETOS

Anuncio
INSTITUCIÓN EDUCATIVA PERPETUO SOCORRO
BASES DE DATOS TEMA: MODELO DE DATOS
Objetivo: Identificar las características del modelo de datos con el fin de aplicarlas al desarrollo de una base de
datos
Tomado de:
www.soeduc.cl/apuntes/basededatos
http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-datos-modelo-entidad-relacion
¿Qué es un MODELO?
Es una representación de la realidad que contiene las características generales de algo que se va a realizar. En
base de datos, esta representación la elaboramos de forma gráfica.
¿Qué es un MODELO DE DATOS?
Es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos,
semántica (significado) asociada a los datos y restricciones de consistencia (estabilidad, durabilidad). Los modelos
de datos se dividen en tres grupos:
1. Modelos lógicos basados en objetos
2. Modelos lógicos basados en registros
3. Modelos físicos de datos
MODELOS LÓGICOS BASADOS EN LOS OBJETOS
Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos los
datos de tal forma como nosotros los captamos en el mundo real. Tienen una capacidad de estructuración
bastante flexible y permiten especificar restricciones de datos explícitamente. Existen diferentes modelos de este
tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación
MODELO ENTIDAD RELACIÓN O E-R
Introducción
Las bases de datos son un gran pilar de la programación actual, ya que nos permiten almacenar y usar de forma
rápida y eficiente cantidades ingentes de datos con cierta facilidad. En la actualidad se usa de forma mayoritaria
las bases de datos relacionales (dominadas por distintos gestores a través del lenguaje SQL, en gran medida).
Pero ahora vamos a dar un pequeño repaso a lo más esencial del modelo entidad-relación, que es y ha sido
durante años la mejor forma de representar la estructura de estas bases de datos relacionales (o de representar
sus esquemas).
¿Qué es el modelo entidad-relación?
Este modelo es solo y exclusivamente un método del que disponemos para diseñar estos esquemas lógicos que
posteriormente debemos de implementar en un gestor de BD (bases de datos). Este modelo se representa a
través de diagramas y está formado por varios elementos.
Este modelo habitualmente, además de disponer de un diagrama que ayuda a entender los datos y como se
relacionan entre ellos, debe de ser completado con un pequeño resumen con la lista de los atributos y las
relaciones de cada elemento.
Elementos del modelo entidad-relación
1. Entidad
Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.
Para poder seguir un ejemplo durante el artículo añadiré ejemplos sobre un taller mecánico, donde se podría
crear las siguientes entidades:
 Coches (objeto físico): contiene la información de cada taller.
 Empleado (objeto físico): información de los trabajadores.
 Cargo del empleado (cosa abstracta): información de la función del empleado.
Estas entidades se representan en un diagrama con un rectángulos, como los siguientes.
2. Atributos
Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad
contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos
tipos (numéricos, texto, fecha…).
Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad “Coches“, que nos darán
información sobre los coches de nuestro supuesto taller.
Unos posibles atributos serían los siguientes: número de chasis, matrícula, DNI del propietario, marca, modelo y
muchos otros que complementen la información de cada coche.
Los atributos se representan como círculos u óvalos que descienden de una entidad, como se muestra a
continuación.
En un modelo relacional (ya implementado en una base de datos) un ejemplo de tabla dentro de una BD podría
ser el siguiente.
Número de chasis
Matrícula
DNI del propietario
5tfem5f10ax007210
4817 BFK
45338600L
6hsen2j98as001982
8810 CLM
02405068K
5rgsb7a19js001982
0019 GGL
40588860J
Este ejemplo es con tres atributos, pero un coche podría tener cientos (si fuese necesario) y seguirían la misma
estructura de columnas, tras implementarlo en una BD.
3. Relación
Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que
varias entidades compartan ciertos atributos de forma indispensable.
Por ejemplo, los empleados del taller (de la entidad “Empleados“) tienen un cargo (según la entidad “Cargo del
empleado“). Es decir, un atributo de la entidad “Empleados“ especificará que cargo tiene en el taller, y tiene que
ser idéntico al que ya existe en la entidad “Cargo del empleado“.
Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante líneas.
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una implementación en una BBDD), por lo que
voy a poner el ejemplo de cómo se representaría (resaltada la relación, que posteriormente veremos como se
haría).
Tabla: Empleados
Nombre
DNI
Cargo
Carlos Sánchez
45338600L
1
Pepe Sánchez
02405068K
2
Juan Sánchez
40588860J
2
Tabla: Cargo del empleado
ID del cargo
Descripción
1
2
Jefe de taller
Mecánico
4. Relaciones de cardinalidad
Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir, en el caso
anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados.
Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación
que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación.
Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una entidad con
distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo puede tener una matrícula
(y cada matrícula un chasis, ni más en ningún caso).
Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con varios de otra
entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior del trabajador del taller.
Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros y
viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos mecánicos
pueden reparar varios coches distintos.
Los indicadores numéricos indican el primero el número mínimo de registros en una relación y posteriormente el
máximo (si no hay límite se representa con una “n“).
5. Claves
Es el atributo de una entidad, al que le aplicamos una restricción que lo distingue de los demás registros (no
permitiendo que el atributo específico se repita en la entidad) o le aplica un vínculo (exactamente como
comentábamos en las relaciones). Estos son los distintos tipos:
 Superclave: aplica una clave o restricción a varios atributos de la entidad, para así asegurarse que en su
conjunto no se repitan varias veces y así no poder entrar en dudas al querer identificar un registro.
 Clave primaria: identifica inequívocamente un solo atributo no permitiendo que se repita en la misma
entidad. Como sería la matrícula o el número de chasis de un coche (no puede existir dos veces el
mismo).
 Clave externa o clave foránea: este campo tiene que estar estrictamente relacionado con la clave
primaria de otra entidad, para así exigir que exista previamente ese clave. Anteriormente hemos hablado
de ello cuando comentábamos que un empleado indispensablemente tiene que tener un cargo (que lo
hemos representado numéricamente), por lo cual si intentásemos darle un cargo inexistente el gestor de
bases de datos nos devolvería un error.
ACTIVIDAD No. 1
Fecha de la Actividad : 24/Julio/2015
Fecha de Entrega
: 28 /Julio/2015
Tipo de Actividad
: INDIVIDUAL
Teniendo en cuenta la anterior información define el modelo Entidad-Relación (con sus respectivas
entidades, atributos, relaciones, cardinalidad y claves) para la siguiente situación asignada
respectivamente como se indica.
La solución se debe presentar individualmente en una hoja
preferiblemente cuadriculada, para el martes 28 de julio.
1. Academia de Clases
RESUELVEN INDIVIDUALMENTE: Ledys Zabala, Luisa Álvarez, Ana María Jiménez, Kelly Garzón, José
Manuel Ocampo
Crear un diseño entidad relación que permita controlar el sistema de información de una academia
de cursos siguiendo estas premisas:
 Se dan clases a trabajadores y desempleados. Los datos que se almacenan de los alumnos son
el Identificación, dirección, nombre, teléfono y la edad
 Además de los que trabajan necesitamos saber el NIT, nombre, teléfono y dirección de la
empresa en la que trabajan
 Los cursos que imparte la academia se identifican con un código de curso. Además se
almacena el programa del curso, las horas de duración del mismo, el título y cada vez que se
imparte se anotará las fechas de inicio y fin del curso junto con un número concreto de curso
(distinto del código) y los datos del profesor o profesora (sólo uno por curso) que son:
Identificación, nombre, apellidos, dirección y teléfono
 Se almacena la nota obtenida por cada alumno en cada curso teniendo en cuenta que un
mismo alumno o alumna puede realizar varios cursos y en cada cual obtendrá una nota.
2. Red Social
RESUELVEN INDIVIDUALMENTE: Jeison Moreno, Ana Mychell Suesca, Stefanni Estrada, Juan Pablo
Maya
Crear un diseño entidad/relación que permita modelar un sistema que sirva para simular el
funcionamiento de una red social, teniendo en cuenta lo siguiente:
 Los usuarios de la red social se identifican con un identificador y una contraseña. Además se
almacena de ellos: Su nombre, apellidos, dirección, teléfono (puede tener varios teléfonos) y
e-mail (el e-mail no tiene que poder coincidir con el de otro usuario) y una foto
 Si los usuarios son celebridades, de ellos no aparecerá ni el email ni la dirección ni el teléfono.
 Los usuarios pueden tener una serie de contactos, que en realidad son otros usuarios. De
cada contacto se puede almacenar un comentario que es personal y que sirve para describir al
contacto.
 Los usuarios pueden organizar sus contactos en grupos de los cuales se almacena un nombre
y deberemos saber los contactos que contiene. El mismo contacto puede formar parte de
varios grupos.
 Además cada usuario puede tener una lista de usuarios bloqueados a fin de que no puedan
contactar con él
 Los usuarios pueden publicar en la red comentarios, los cuales se puede hacer que los vea
todo el mundo, que los vea uno o varios de los grupos de contactos del usuario o bien una
lista concreta de usuarios. Los comentarios pueden incluir un texto y una imagen.
3. Menú Diario
RESUELVEN INDIVIDUALMENTE: Carolina Arcila, Lised Carolina Tribiño, Valentina Quintero,
Verónica Montoya, Johan Sebastián Granada
Crear un esquema Entidad/relación que represente un modelo para llevar los datos que maneja un
restaurante de menús diarios. Teniendo en cuenta que:
 Sólo interesa llevar los datos de los menús diarios a la hora de la comida
 Cada menú se compone de una serie de posibles platos. Cada plato se puede repetir en
diferentes días. Los platos pueden ser del 1º, 2º, 3º o 4º grupo.
 De cada plato se almacena el nombre (por ejemplo Arroz con verduras y champiñones) y una
pequeña descripción.
 De los menús almacenamos la fecha en la que se ofrece el menú, el número de personas que
han tomado menú ese día. Además almacenamos la cantidad de cada plato que se ha tomado
ese día.
 Se almacena también la temperatura que hacía el día del menú para así poder analizar las
temperaturas y los platos exitosos
 Observación: Los grupos de cada plato son:
 1º grupo (estimulan el apetito): Entremeses. Sopas. Cremas. Consomés.
 2º grupo (ligeros): Huevos, Arroces. Pescados. Pastas italianas.
 3º grupo (fuertes): Carnes, Aves, Pescado
 4º grupo: Helados, Quesos, Frutas, Repostería, Postres (frío o caliente)
Descargar