UNIDAD 2
ESCUCHA NUESTRO MAS RECIENTE PODTCAS AQUÍ ;)
Diseño de Bases de Datos y
el Modelo E-R
El diseño de bases de datos es el
proceso por el que se determina la organización de una base de datos, incluidos
su estructura, contenido y las aplicaciones que se han de desarrollar. Se ha
progresado mucho en el diseño de bases de datos y éste se considera ahora una
disciplina estable, con métodos y técnicas propios. Debido a la creciente
aceptación por parte de la industria y el gobierno en el plano comercial, y a
una variedad de aplicaciones científicas y técnicas, el diseño de bases de
datos desempeña un papel central en el empleo de los recursos de información en
la mayoría de las organizaciones.
Es importante tener en cuenta que Los
términos "base de datos" y "tabla" no son sinónimos. El
término base de datos se refiere a una base de datos relacional que almacena
información sobre una o más tablas.
La clave para obtener un diseño de base
de datos eficaz radica en comprender exactamente qué información se desea
almacenar y la forma en que un sistema de administración de bases de datos
relacionales, almacena los datos. Para ofrecer información de forma eficiente y
precisa, debe tener almacenados los datos sobre distintos temas en tablas
separadas. Al organizar los datos de forma apropiada, proporciona flexibilidad
a la base de datos y tiene la posibilidad de combinar y presentar información
de muchas formas diferentes.
El proceso de diseño consta de:
Determinar la finalidad de la
base de datos: Ayuda a
estar preparado para los demás pasos.
Buscar y organizar la información
necesaria: Reunir
todos los tipos de información que desee registrar
Dividir la información en tablas: Divida los elementos en
entidades o temas principales
Convertir los elementos de
información en columnas: Decidir qué información desea almacenar en cada tabla. Cada elemento
se convertirá en un campo y se mostrará como una columna en la tabla.
No incluir datos calculados.
Almacene la información en sus partes lógicas más
pequeñas
Especificar claves principales:. La clave principal es una
columna que se utiliza
para identificar inequívocamente cada fila, como Id
de producto o Id de pedido.
Definir relaciones entre las
tablas: Examine
cada tabla y decida cómo se relacionan los datos de una tabla con las demás
tablas.
Ajustar el diseño: Analice el diseño para
detectar errores.
Aplicar las reglas de
normalización: Esto es
para comprobar si las tablas están estructuradas correctamente.
2.2 Modelo Entidad –
Relación
1.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. Podemos citar dos modelos de datos —el modelo entidad-relación y el modelo relacional.
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 relacional 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.
Otro modelo de datos es el orientado a objetos, por ejemplo, extiende la representación de entidades añadiendo nociones de encapsulación, métodos (funciones) e identidad de objeto. El modelo de datos relacional orientado a objetos combina características del modelo de datos orientado a objetos y del modelo de datos relacional.
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.
Hay tres nociones básicas que emplea el modelo de datos E-R: conjuntos de entidades, conjuntos de relaciones y atributos.
Una entidad es una «cosa» u «objeto» en el mundo real que es distinguible de todos los demás objetos. Por ejemplo, cada persona en un desarrollo es una entidad. Una entidad tiene un conjunto de propiedades, y los valores para algún conjunto de propiedades pueden identificar una entidad de forma unívoca. Por ejemplo, el D.N.I. 67.789.901 identifica unívocamente una persona particular en la empresa. Análogamente, se puede pensar en los préstamos bancarios como entidades, y un número de préstamo P-15 en la sucursal de Castellana identifica unívocamente una entidad de réstamo. Una entidad puede ser concreta, como una persona o un libro, o puede ser abstracta, como un préstamo, unas vacaciones o un concepto.
Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades, o atributos.
El conjunto de todas las personas que son clientes en un banco dado, por ejemplo, se pueden definir como el conjunto de entidades cliente.
Las entidades individuales que constituyen un conjunto se llaman la extensión del conjunto de entidades. Así, todos los clientes de un banco son la extensión del conjunto de entidades cliente.
Una entidad se representa mediante un conjunto de atributos. Los atributos describen propiedades que posee cada miembro de un conjunto de entidades. La designación de un atributo para un conjunto de entidades expresa que la base de datos almacena información similar concerniente a cada entidad del conjunto de entidades; sin embargo, cada entidad puede tener su propio valor para cada atributo. Posibles atributos del conjunto de entidades cliente son id-cliente, nombre-cliente, calle-cliente y ciudad-cliente. En la vida real, habría más atributos, tales como el número de la calle, el número del portal, la provincia, el código postal, y la comunidad autónoma, pero no se incluyen en el ejemplo simple. Posibles atributos del conjunto de entidades préstamo son número-préstamo e importe.
Para cada atributo hay un conjunto de valores permitidos, llamados el dominio, o el conjunto de valores, de ese atributo. El dominio del atributo nombrecliente podría ser el conjunto de todas las cadenas de texto de una cierta longitud. Análogamente, el dominio del atributo número-préstamo podría ser el conjunto de todas las cadenas de la forma «P-n», donde n es un entero positivo.
Ejemplo:
Entidad: Empleado
Nombre de atributo: Código
• Descripción: Código único por empleado
asignado por la empresa
• Función: Identificación (+Definición)
• Dominio: Números positivos de dos cifras
Entidad: Empleado
Nombre de atributo: Código
• Descripción: Código único por empleado
asignado por la empresa
• Función: Identificación (+Definición)
• Dominio: Números positivos de dos cifras
Atributos monovalorados y multivalorados. Los atributos que se han especificado en los ejemplos tienen todos un valor sólo para una entidad concreta. Por ejemplo, el atributo número-préstamo para una entidad préstamo específico, referencia a un único número de préstamo. Tales atributos se llaman monovalorados. Puede haber ocasiones en las que un atributo tiene un conjunto de valores para una entidad específica. Considérese un conjunto de entidades empleado con el atributo número-teléfono. Cualquier empleado particular puede tener cero, uno o más números de teléfono. Este tipo de atributo se llama multivalorado. En ellos, se pueden colocar apropiadamente límites inferior y superior en el número de valores en el atributo multivalorado.
Como otro ejemplo, un atributo nombresubordinado del conjunto de entidades empleado sería multivalorado, ya que un empleado en concreto podría tener cero, uno o más subordinados.
Cuando sea apropiado se pueden establecer límites superior e inferior en el número de valores de un atributo multivalorado. Por ejemplo, un banco puede limitar el número de números de teléfono
almacenados para un único cliente a dos. Colocando límites en este caso, se expresa que el atributo número-teléfono del conjunto de entidades cliente puede tener entre cero y dos valores.
almacenados para un único cliente a dos. Colocando límites en este caso, se expresa que el atributo número-teléfono del conjunto de entidades cliente puede tener entre cero y dos valores.
Considérese que el conjunto de entidades empleado tiene un atributo edad, que indica la edad del cliente. Si el conjunto de entidades cliente tiene también un atributo fechade-nacimiento, se puede calcular edad a partir de fecha-de-nacimiento y de la fecha actual. Así, edad es un atributo derivado.
Un atributo toma un valor nulo cuando una entidad no tiene un valor para un atributo. El valor nulo también puede indicar «no aplicable», es decir, que el valor no existe para la entidad. Por ejemplo, una persona puede no tener segundo nombre de pila. Nulo puede también designar que el valor de un atributo es desconocido. Un valor desconocido puede ser, bien perdido (el valor existe pero no se tiene esa información) o desconocido (no se conoce si el valor existe realmente o no).
Por ejemplo, si el valor nombre para un cliente particular es nulo, se asume que el valor es perdido, ya que cada cliente debe tener un nombre. Un valor nulo para el atributo piso podría significar que la dirección no incluye un piso (no aplicable), que existe piso pero no se conoce cuál es (perdido), o que no se sabe si el piso forma parte o no de la dirección del cliente (desconocido).
Una relación es una asociación entre diferentes entidades. Por ejemplo, se puede definir una relación que asocie al cliente López con el préstamo P-15. Esta relación especifica que López es un cliente con el préstamo número P-15. Un conjunto de relaciones es un conjunto de relaciones del mismo tipo. Formalmente es una relación matemática con n > = 2 de conjuntos de entidades (posiblemente no distintos). Si E1, E2,…,En son conjuntos de entidades, entonces un conjunto de relaciones R es un subconjunto de:
{(e1, e2,…,en) | e1 ∈ E1, e2 ∈ E2,…,en ∈ En}
donde (e1,e2,…en) es una relación.
Considérense las dos entidades cliente y préstamo. Se define el conjunto de relaciones prestatario para denotar la asociación entre clientes y préstamos bancarios que los clientes tengan. Esta asociación se describe en la siguiente figura:
La función que desempeña una entidad en una relación se llama papel de la entidad. Debido a que los conjuntos de entidades que participan en un conjunto de relaciones son generalmente distintos, los papeles están implícitos y no se especifican normalmente. Sin embargo, son útiles cuando el significado de una relación necesita aclaración. Tal es el caso cuando los conjuntos de entidades de una relación no son distintos; es decir, el mismo conjunto de entidades participa en una relación más de una vez con diferentes papeles. En este tipo de conjunto de relaciones, que se llama algunas veces conjunto de relaciones recursivo, es necesario hacer explícitos los papeles para especificar cómo participa una entidad en un ejemplar de relación. Por ejemplo, considérese una conjunto de entidades empleado que almacena información acerca de todos los empleados del banco. Se puede tener un conjunto de relaciones trabaja-para que se modela mediante pares ordenados de entidades empleado. El primer empleado de un par toma el papel de trabajador, mientras el segundo toma el papel de jefe. De esta manera, todas las relaciones
trabaja-para son pares (trabajador, jefe); los pares (jefe, trabajador) están excluidos.
trabaja-para son pares (trabajador, jefe); los pares (jefe, trabajador) están excluidos.
El número de conjuntos de entidades que participan en un conjunto de relaciones es también el grado del conjunto de relaciones. Un conjunto de relaciones binario tiene grado 2; un conjunto de relaciones ternario tiene grado 3.
Otro ejemplo:
Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, un huesped(entidad), se aloja(relación) en una habitacion(entidad).
Dados los conjuntos de entidades "Habitación" y "Huésped", todas las relaciones de la forma habitación-huésped, permiten obtener la información de los huéspedes y sus respectivas habitaciones.
La dependencia o asociación entre los conjuntos de entidades es llamada participación. En el ejemplo anterior los conjuntos de entidades "Habitación" y "Huésped" participan en el conjunto de relaciones habitación-huésped.
2.3 Restricciones
Una restricción es una condición que
obliga el cumplimiento de ciertas condiciones en la base de datos. A veces
algunas restricciones no son creadas por los usuarios sino por el hecho de que
la base de datos sea relacional y estas restricciones proveen un método de
implementar reglas en la base de datos además juegan el rol de organizar mejor
los datos.
La correspondencia de cardinalidades, o
razón de cardinalidad, expresa el número de entidades a las que otra entidad
puede estar asociada vía un conjunto de relaciones. Y estas son:
Uno
a uno. Una entidad en A se asocia con asolo una
entidad en B, y una entidad en B se asocia solo una entidad en A.
Uno a
varios. Una
entidad en A se asocia con cualquier número de entidades en B. Una entidad en
B, sin embargo, se puede asociar con solo una entidad en A
Varios a
uno. Una
entidad en A se asocia solo una entidad en B. Una entidad en B, sin embargo, se
puede asociar con cualquier número de entidades en A
Varios a
varios. Una
entidad en A se asocia con cualquier número de entidades en B, y una entidad en
B se asocia con cualquier número de entidades en A.
Restricciones
Parciales: La
participación de un conjunto de entidades E en un conjunto de relaciones R se
dice que es total si cada entidad en E participa al menos en una relación en R.
Si sólo algunas entidades en E participan en relaciones en R, la participación
del conjunto de entidades E en la relación R se llama parcial.
2.5
Diseño con Diagramas E-R
La
estructura lógica de una Base de Datos se puede representar gráficamente a
través de un diagrama, el cual llamaremos Diagrama E-R. Estos diagramas se
apoyan de diferentes símbolos los cuales tienen un significado particular. Los
diagramas se usan para que la información se presente de forma clara y
sencilla. Los componentes principales son entidad o conjuntos de entidades,
relación o conjunto de relaciones, atributos y estos pueden clasificarse en:
Simples o
atómicos: Son
aquellos que no contienen otros atributos
Compuestos: Son los que incluyen otros
atributos simples.. Ejemplo: dirección (Se puede dividir en calle, número,
ciudad).
Mono
valorado o Univalorados: Atributo que toma un solo valor, para una entidad en particular.
Multivalorados: Atributo que para una misma
entidad puede tomar muchos valores.
Derivados
o calculados: Son
aquellos atributos cuyos valores se pueden conseguir con operaciones sobre
valores de otros atributos.
Nulos: Son aquellos atributos para los
cuales en algún momento no existe o no se conoce su valor.
El Diagrama Entidad – Relación es la representación gráfica del
Modelo Entidad-Relación y permite ilustrar la estructura de la base de datos
del negocio modelado.
Está
compuesto por los siguientes elementos.
Rectángulos:
representan conjuntos de entidades.
Elipses:
representan atributos.
Rombos: representan relaciones.
Líneas:
unen atributos a conjuntos de entidades y conjuntos de entidades a conjuntos de
relaciones.
Elipses
dobles: representan atributos multivalorados.
Elipses
discontinuas: que denotan atributos derivados.
Líneas
dobles: indican participación total de una entidad en un conjunto de
relaciones.
Rectángulos
dobles: representan conjuntos de entidades débiles.
2.6 Conjunto de entidades débiles
Las entidades que hemos considerado hasta ahora tienen un conjunto de atributos que forman su claves primarias y que permiten identificarlas completamente. Estas entidades se denominan, de forma más específica, entidades fuertes. En este subapartado consideraremos otro tipo de entidades que denominaremos entidades débiles.
Una entidad débil es una entidad cuyos atributos no la identifican completamente, sino que sólo la identifican de forma parcial. Esta entidad debe participar en una interrelación que ayuda a identificarla.
Una entidad débil se representa con un rectángulo doble, y la interrelación que ayuda a identificarla se representa con una doble línea.
Una entidad débil se representa con un rectángulo doble, y la interrelación que ayuda a identificarla se representa con una doble línea.
Para que un conjunto de entidades débiles tenga sentido, debe estar asociada con otro conjunto de entidades, denominado el conjunto de entidades identificadoras o propietarias. Cada entidad débil debe estar asociada con una entidad identificadora; es decir, se dice que el conjunto de entidades débiles depende existencialmente del conjunto de entidades identificadoras. Se dice que el conjunto de entidades identificadoras es propietaria del conjunto de entidades débiles que identifica. La relación que asocia el conjunto de entidades débiles con el conjunto de entidades identificadoras se denomina relación identificadora. La relación identificadora es varios a uno del conjunto de entidades débiles al conjunto de entidades identificadoras y la participación del conjunto de entidades débiles en la relación es total.
Ejemplo: Consideremos las entidades edificio y despacho de la figura siguiente. Supongamos que puede haber despachos con el mismo número en edificios diferentes. Entonces, su número no identifica completamente un despacho. Para identificar completamente un despacho, es necesario tener en cuenta en qué edificio está situado. De hecho, podemos identificar un despacho mediante la interrelación situación, que lo asocia a un único edificio. El nombre del edificio donde está situado junto con el número de despacho lo identifican completamente.
La interrelación situación nos ha permitido completar la identificación de los despachos. Para toda entidad débil, siempre debe haber una única interrelación que permita completar su identificación. Esta interrelación debe ser binaria con conectividad 1:N, y la entidad débil debe estar en el lado N. De este modo, una ocurrencia de la entidad débil está asociada con una sola ocurrencia de la entidad del lado 1, y será posible completar su identificación de forma única. Además, la entidad del lado 1 debe ser obligatoria en la interrelación porque, si no fuese así, alguna ocurrencia de la entidad débil podría no estar interrelacionada con ninguna de sus ocurrencias y no se podría identificar completamente.
Veamos y anilicemos el siguiente ejemplo:
El discriminante de un conjunto de entidades débiles es un conjunto de atributos que permite que sea distinguido. 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. La clave primaria de un conjunto de entidades débiles se forma con la clave primaria del conjunto de entidades identificadoras, más el discriminante del conjunto de entidades débiles. En el caso del conjunto de entidades pago, su clave primaria es {número-préstamo, número-pago}, donde número-préstamo es la clave primaria del conjunto de entidades identificadoras, es decir, préstamo, y número-pago distingue las entidades pago dentro del mismo préstamo.
Observe el siguiente modelo E-R y analicelo:
2.7 Modelo E-R extendido
En algunos casos, hay ocurrencias de una entidad que tienen características propias específicas que nos interesa modelizar. Por ejemplo, puede ocurrir que se quiera tener constancia de qué coche de la empresa tienen asignado los empleados que son directivos; también que, de los empleados técnicos, interese tener una interrelación con una entidad proyecto que indique en qué proyectos trabajan y se desee registrar su titulación. Finalmente, que convenga conocer la antigüedad de los empleados administrativos. Asímismo, habrá algunas características comunes a todos los empleados: todos se identifican por un DNI, tienen un nombre, un apellido, una dirección y un número de teléfono.
La generalización/especialización permite reflejar el hecho de que hay una entidad general, que denominamos entidad superclase, que se puede especializar en entidades subclase:
a) La entidad superclase nos permite modelizar las características comunes de la entidad vista de una forma genérica.
b) Las entidades subclase nos permiten modelizar las características propias de sus especializaciones.
Es necesario que se cumpla que toda ocurrencia de una entidad subclase sea también una ocurrencia de su entidad superclase.
Denotamos la generalización/especialización con una flecha que parte de las entidades subclase y que se dirige a la entidad superclase.
Ejemplo de entidades superclase y subclase
En la figura siguiente están representadas la entidad superclase, que corresponde al empleado del ejemplo anterior, y las entidades subclase, que corresponden al directivo, al técnico y al administrativo del mismo ejemplo.
En la generalización/especialización, las características (atributos o interrelaciones) de la entidad superclase se propagan hacia las entidades subclase. Es lo que se denomina herencia de propiedades.
En el diseño de una generalización/especialización, se puede seguir uno de los dos procesos siguientes:
1) Puede ocurrir que el diseñador primero identifique la necesidad de la entidad superclase y, posteriormente, reconozca las características específicas que hacen necesarias las entidades subclase. En estos casos se dice que ha seguido un proceso de especialización.
2) La alternativa es que el diseñador modelice en primer lugar las entidades subclase y, después, se dé cuenta de sus características comunes e identifique la en- tidad superclase. Entonces se dice que ha seguido un proceso de generalización.
La generalización/especialización puede ser de dos tipos:
a) Disjunta. En este caso no puede suceder que una misma ocurrencia apa rezca en dos entidades subclase diferentes. Se denota gráficamente con la etiqueta D.
b) Solapada. En este caso no tiene lugar la restricción anterior. Se denota gráficamente con la etiqueta S.
Además, una generalización/especialización también puede ser:
1) Total. En este caso, toda ocurrencia de la entidad superclase debe pertenecer a alguna de las entidades subclase. Esto se denota con la etiqueta T.
2) Parcial. En este caso no es necesario que se cumpla la condición anterior. Se denota con la etiqueta P.
La generalización/especialización de los empleados es total porque suponemos que todo empleado debe ser directivo, técnico o administrativo. Se denota con la etiqueta T.
Notaciones usadas en el Modelo E-R
Notaciones del Modelo E-R alternativas



