Unidad 2.-Diseño de Bases de Datos con Modelo ER.
2.1 El Proceso de Diseño
El diseño de una base de datos consiste en extraer los datos
más importantes de un problema. Para poder realizar esto se debe de realizar un
análisis bastante detallado sobre el problema para poder saber que datos son
los realmente necesarios para ser almacenados e ignorar aquellos sin relevancia
alguna. Esto es logrado mediante pláticas con el usuario final del sistema,
pero no solo el crear la base de datos significa el final del trabajo, además
se debe poner a disposición del usuario una herramienta (software) que le
facilite la interacción con la información almacenada. Hecho esto se pasa al
modelado, el cual es la representación gráfica mediante alguna herramienta
especializada en diseño de bases de datos, que represente con precisión los
datos requeridos.
El proceso de diseño para una base de datos consta básicamente de 7 pasos, los
cuáles se describen en la siguiente imagen.
El proceso de diseño consta de los pasos siguientes
1.Determinar la finalidad de la base de datos: Esto le ayudará a estar
preparado para los demás pasos.
2.Buscar y organizar la información necesaria: Reúna todos los tipos de
información que desee registrar en la base de datos, como los nombres de
productos o los números de pedidos.
3.Dividir la
información en tablas y convertir los elementos de información en
columnas :
- En este punto lo primero que se debe hacer es dividir los elementos de información obtenidos en entidades o temas principales como Empleados o Clientes, cada tema será una tabla.
- Se decide qué tipo información desea almacenar en cada tabla. Cada elemento se convertirá en un campo y se mostrará como una columna en la tabla. Por ejemplo, una tabla Clientes podría incluir campos como Nombre, Apellido y Teléfono.
4. Especificar
claves principales:
Elija la clave principal de
cada tabla. La clave principal es una columna que se utiliza para identificar
inequívocamente cada fila. Un ejemplo podría ser el identificador de producto o
Id.
5.Definir relaciones de las tablas:
5.Definir relaciones de las tablas:
Examine cada tabla y decida
cómo los datos en una tabla relacionados con los datos en otras tablas. Agregar
campos a las tablas o cree nuevas tablas para clarificar las relaciones según
sea necesario.
6.Ajustar el diseño: Analice el diseño para detectar errores. Cree las tablas y agregue algunos registros con datos de ejemplo. Compruebe si puede obtener los resultados previstos de las tablas. Realice los ajustes necesarios en el diseño.
7.Aplicar las reglas de normalización: se aplican reglas de normalización de los datos para comprobar si las tablas están estructuradas correctamente. Realice los ajustes necesarios en las tablas.
7.Aplicar las reglas de normalización: se aplican reglas de normalización de los datos para comprobar si las tablas están estructuradas correctamente. Realice los ajustes necesarios en las tablas.
Un modelo de datos es una colección de herramientas conceptuales para la descripción de datos, relaciones entre datos, semántica de los datos y restricciones de consistencia.
El modelo entidad-relación (E-R): es un modelo de datos de alto nivel está basado en una percepción de un mundo real que consiste en una colección de objetos básicos, denominados entidades, y de relaciones entre estos objetos.
El modelo relaciona: es un modelo de menor nivel. Usa una colección de tablas para representar tanto los datos como las relaciones entre los datos. Su simplicidad conceptual ha conducido a su adopción general; actualmente, una vasta mayoría de productos de bases de datos se basan en el modelo relacional.
Los diseñadores formulan generalmente el diseño del esquema de la base de datos modelando primero los datos en alto nivel, usando el modelo E-R, y después traduciéndolo al modelo relacional.
El modelo de datos entidad-relación (E-R) está basado en una percepción del mundo real consistente en objetos básicos llamados entidades y de relaciones entre estos objetos. Se desarrolló para facilitar el diseño de bases de datos permitiendo la especificación de un esquema de la empresa que representa la estructura lógica completa de una base de datos. El modelo de datos E-R es uno de los diferentes modelos de datos semánticos; el aspecto semántico del modelo yace en la representación del significado de los datos. El modelo E-R es extremadamente útil para hacer corresponder los significados e interacciones de las empresas del mundo real con un esquema conceptual. Debido a esta utilidad, muchas herramientas de diseño de bases de datos se basan en los conceptos del modelo E-R.
Este modelo se encarga de representar el modelo conceptual.
Este coloca el resultado del análisis del problema real mediante diagramas. La
notación es bastante sencilla de comprender. Dentro de los elementos que
componen estos diagramas encontramos los siguientes:
Entidades: Son objetos del mundo real de los cuales se
recoge información, pueden ser tangibles o intangibles. Se encuentran colocadas
dentro de un rectángulo. Existen 2 tipos de entidades: las entidades fuertes y
las entidades débiles, ambas dependientes de una entidad fuerte. Una OCURRENCIA
se refiere a una instancia dentro de la entidad.
- Que sea única.
- Que se tenga pleno conocimiento de ella.-
¿Por qué en las empresas se asigna a cada cliente un número de cliente?.
- Que sea mínima, ya que será muy utilizada por el gestor de base de datos.
Relaciones: Es una asociación entre 2 o más entidades, estas pueden ser binarias, ternarias, etc. Se identifican por ser un verbo y son colocadas dentro de un rombo.para reflejar las interacciones existentes entre entidades. Las relaciones pueden ser de tres tipos:
- Relaciones 1-1.-
Las entidades que intervienen en la relación se asocian una a una (Ej: la
entidad HOMBRE, la entidad MUJER y entre ellos la relación MATRIMONIO).
- Relaciones 1-n.-
Una ocurrencia de una entidad está asociada con muchas (n) de otra (Ej: la
entidad EMPERSA, la entidad TRABAJADOR y entre ellos la relación
TRABAJAR-EN).
- Relaciones n-n.-Cada
ocurrencia, en cualquiera de las dos entidades de la relación, puede estar
asociada con muchas (n) de la otra y viceversa (Ej: la entidad ALUMNO, la
entidad EMPRESA y entre ellos la relación MATRÍCULA).
Participación: La participación de una ocurrencia de una
entidad indica, mediante una pareja de números, el mínimo y máximo número de
veces que puede aparecer en la relación asociada a otra ocurrencia.
Participación
|
Significado
|
(0,1)
|
Mínimo cero, máximo uno
|
(1,1)
|
Mínimo uno, máximo uno
|
(0,n)
|
Mínimo cero, máximo n
(muchos)
|
(1,n)
|
Mínimo uno, máximo n (muchos)
|
Cardinalidad: La cardinalidad de una relación se calcula
mediante las participaciones de sus ocurrencias. Se toma el número máximo de
participaciones y se colocan en ella.
Atributos: Son las características o propiedades que definen
a la entidad son colocadas dentro de elipses y pueden ser de diferentes tipos:
simple (no están divididos en sub-partes), compuesto (formado por más de un
atributo), monovalorado (tiene un solo valor), multivalorado (pueden tener
varios valores de manera simultánea), almacenado (guardan una cantidad para
realizar cálculos), derivado (su valor se puede derivar de otros atributos) y
nulo (puede no haber valor para un atributo).
Dominio: El dominio representa la naturaleza del dato, es decir, el conjunto de valores permitidos para un atributo. Por ejemplo: si es un número entero, una cadena de caracteres, etc.
Dominio: El dominio representa la naturaleza del dato, es decir, el conjunto de valores permitidos para un atributo. Por ejemplo: si es un número entero, una cadena de caracteres, etc.
2.3 Diseño con diagramas E-R
Es la representación gráfica del Modelo Entidad-Relación y permite ilustrar la estructura de la base de datos del negocio modelado.
Escribe Johnson "los diagramas ER constituyen una notación para documentar un diseño tentativo de bases de datos. Los analistas los utilizan para facilitar el proceso de diseño".
Entidad Fuerte: Una Entidad fuerte (también conocida como entidad regular) es aquella que sí puede ser identificada unívoca-mente. En los casos en que se requiera, se puede dar que una entidad fuerte "preste" algunos de sus Atributos a una entidad débil para que, esta última, se pueda identificar.
Entidad débil: Es aquella que no puede existir sin participar en la relación, es decir, aquella que no puede ser unívocamente identificada solamente por sus atributos como Clave.
Conjunto de entidades Fuerte: Conjunto de entidades que posee una clave primaria.
Relaciones: Una entidad se relaciona con otra entidad. Toda relación debe de llevar una cardinalidad. Una relación entre dos entidades siempre se va a dar por medio de un rombo. Cada entidad deberá tener sus elementos.
Atributos: Características o propiedades asociadas al conjunto de entidades o relaciones y que toman valor en una entidad en particular. Los posibles valores puede tomar un atributo para un conjunto de entidades se denomina dominio.
El Discriminante: Es un conjunto de atributos que permite que esta distinción se haga. Por ejemplo; el discriminante del conjunto de entidades débiles pago es el atributo número-pago, ya que, para cada préstamo, un número de pago identifica de forma única cada pago para ese préstamo. El discriminante de un conjunto de entidades débiles se denomina la clave parcial del conjunto de entidades.
2.4 Modelo E-R extendido
Este incorpora los elementos antes vistos en el modelo
Entidad/Relación, con la adición de generalización y especialización.
Una entidad E es una generalización de un grupo entidades E1, E2…En. Estas últimas son especializaciones de la entidad general E.
Una entidad E es una generalización de un grupo entidades E1, E2…En. Estas últimas son especializaciones de la entidad general E.
Ejemplificando
esto para hacerlo más entendible:
Tomemos a una entidad “doctor” como la entidad
general. Ahora, esta entidad puede dividirse en varias especialidades como
enfermeros, odontólogos, ginecólogos, etc. Todos pertenecen a doctor y heredan los atributos
de esa superclase, pero además de estos tienen otros atributos propios de su
especialización.
Los tipos de especialización existentes son:
Exclusiva:
Cada ocurrencia de la superclase solo puede materializarse o existir en
una de las especializaciones o subclases. Para representar esta
especialización se agrega un arco al triángulo de la jerarquía o generalización.
Inclusiva:
Es cuando una ocurrencia de la superclase puede materializarse en más de
una subclase. Se representa sin el arco, quedando únicamente el triángulo.
Total:
Se da cuando una ocurrencia en la entidad padre o superclase tiene que
materializarse obligatoriamente en una de las especializaciones. En este
caso se representa añadiendo un pequeño círculo al triángulo de la
generalización.
Parcial:
La entidad superclase no tiene porqué materializarse en una de las
especializaciones (es opcional). Se representa de la misma forma que la
especialización inclusiva.
Ejemplo:
Ejemplo:
2.5 La Notación E-R con UML.
El UML es un estándar propuesto que ayuda a la creación de
especificaciones de distintos componentes de un software. Algunos componentes
son la interacción del usuario con el sistema, especificación de módulos
funcionales del sistema y su interacción.
Estas son algunas partes del UML:
- Diagrama de clase: Este es parecido al diagrama E-R
- Diagrama de caso de uso: estos muestran la interacción entre los usuarios y el sistema.
- Diagrama de actividad: se encargan de describir el flujo de tareas entre varios componentes de un sistema.
- Diagrama de implementación: Muestran componentes del sistema y sus interconexiones tanto en el nivel del componente software como el hardware.
El UML muestra conjuntos de entidades como cuadros y en
cuanto al E-R, muestra los atributos dentro del cuadro en lugar de elipses
separadas. UML modelo objetos, mientras que E-R modela entidades. Los objetos
son similares a las entidades al igual que tienen atributos, pero proporcionan
un conjunto de funciones las cuales se pueden invocar para calcular distintos
valores.
En UML los conjuntos de relaciones binarias se dibujan
mediante una línea que conecta a los conjuntos de entidades; en esta misma se
escribe el nombre del conjunto. Se puede especificar el papel que juega un
conjunto de relaciones y así conectar el cuadro con una línea discontinua en
donde se describe el conjunto de relaciones.Este cuadro se puede tratar como un conjunto de entidades,
pero las relaciones binarias no se pueden representar directamente en el UML se
deben convertir en relaciones binarias. En cuanto a las restricciones de
cardinalidad en UML se especifican de la mima manera que en los diagramas E-R
en donde:
1: denota el mínimo
* : el máximo número de relaciones en que pueda
participar una entidad.
Para ser mas entendible este punto dejamos el siguiente ejemplo de un diagrama de E-R con notación tradicional y con el mismo modelo pero con notación UML:
Para ser mas entendible este punto dejamos el siguiente ejemplo de un diagrama de E-R con notación tradicional y con el mismo modelo pero con notación UML:
wu, graci
ResponderBorrar