Diseño lógico de una base de datos
Anteriormente había escrito sobre el diseño de un modelo de base de datos que estaba conformado por el diseño conceptual, diseño lógico y diseño físico de los datos en esta ocacion seguire con el siguiente diseño que es el modelo lógico el cual tiene un objetivo que es traducir el diseño coneptual en un modelo lógico y depues validar este modelo para comprobar que sea estructuralmente correcto y capaz de soportar las transacciones requeridas
Lo conseguiremos mediante las siguientes tareas
- Determinaremos las relaciones para el modelo lógico de los datos
- Validaremos las relaciones mediante técnicas de normalización
- Validar las relaciones comprobando las transacciones de los usuarios
- Comprobar las restricciones de integridad
- Repasar el modelo lógico de los datos con los usuarios
- Combinar el modelo lógico de los datos en un modelo global(paso opcional)
- Verificar las consideraciones derivadaas del crecimiento futuro
El primer punto que es validar las relaciones para el modelo lógico de los datos no es mas que la creación de las tablas relacionales que representan etidades,relaciones y atributos que se hayan identificado en el modelo conceptual.
Las relaciones que una entidad tenga con otra se representara mediante el mecanismmo de clave principal/clave externa, la desición donde situar las claves externas, es determinar primero la entidad padre e hija implicadas en la relación esto lo conseguiremos identificando entidades fuertes (que son entidades que no dependen de otras) para lo cual para esta entidad se creara un tabla que incluya los atributos simpples de dicha entidad.
Identidades debiles(que son entidades dependientes),igual crearemos una tabla con suatributos simples pera la clave principal dependera de la entidad propietaria
Otro punto a tomar encuenta será la multiplidad ya que grcias a ellos veremos que entidad se considerará como entidad padre/hijo el tipode relación binaria uno a muhos(1:*), designamos como entidad padre al que esta al lado de uno y como entidad hijo al que esta a lado de muchos, por tal motivo incluimos una copia de la clave principal en la entidad hijo para que funcione como clave externa.
En la relación de uno a uno(1:1) considerar quien sera entida padre o hijo es un poco más complejo ya no dependera de la cardinalidad como se vio en el caso anterior sino de la restricción de participación en el cual pueden existir los siguietes caso participación obligatoria en ambos lados(si ocurre esto se creara una única tabla y eligiremos una de las claves como principal y la otra quedara commo alternativa).
Si la particiapación es obligatoria solo en uno de los lados y la otra es opcional en este caso la que tegan participación opcional será entidad padre y la que es obligatoria sera entidad hija y como se dijo anteriormente la que actua como entidad hija se coloca una copia de la clave principal de la entidad padre y representara la clave externa.
Y por ultimo si la participación es opcional en ambos designar a una entidad padre o hijio es arbitrario, lo que ayudaría más a la elección será la información proporcionada por el usuario
Siguiendo con la multiplicidad tenemos la relación recursiva (1:1) bueno en este punto se tomarán en cuanta las reglas descritas anteriormente
Otro medio que nos ayudará a identificar la entidad padre o entidad hijo es a relación superclase/subclase
El tipo de relaciones binarias muchos a muchos(*:*)
Tipo de relación complejas
Atributos multivaluados
Bueno mas adelante explicare mas adetalle lo temas faltantes.