MODELO LOGICO
El diseo lgico de una base de datos consta de dos etapas: - El diseo lgico estndar - El diseo lgico especfico. En el Diseo Lgico Estndar, se toma el esquema conceptual resultante de la fase de diseo conceptual, y teniendo en cuenta los requisitos de proceso, de construye un Esquema Lgico Estndar (ELS), que se apoya en un Modelo Lgico Estndar (MLS), que ser el mismo modelo de datos soportado por el SGBD a utilizar, pero sin las restricciones de ningn producto comercial en concreto. Una buena forma de describir el ELS es utilizando el lenguaje estndar del MLS (por ejemplo SQL).
En la fase de diseo lgico, adems de las herramientas ya descritas (MLS, MLE, lenguajes SQL), se disponen de otras que permiten establecer un buen diseo lgico, como por ejemplo la normalizacin, la desnormalizacin.
1. Regla del tipo de Entidad: Cada tipo de Entidad (excepto los subtipos) se convierte en una tabla. La llave primaria del tipo de Entidad (si no es dbil) se convierte en la llave primaria de la tabla. Los atributos del tipo Entidad se convierten en las columnas de la tabla. Es decir una entidad se transforma en una relacin: esto es, cada entidad genera una tabla, con sus mismos atributos, incluyendo las claves. 2. Regla de Relacin 1-M: Cada relacin 1-M se convierte en una llave fornea en la tabla que corresponda al tipo de entidad hija (el tipo de entidad cerca del smbolo de pata de cuervo). Si la cardinalidad mnima del lado madre de la relacin es 1, la llave fornea no debe aceptar valores nulos. Importa las claves de la entidad con las que se relaciona: cada relacin con cardinalidad 1-N importa los atributos clave que contiene la entidad con cardinalidad N.
3. Regla de Relacin M-N: Cada relacin de M-N se convierte en una tabla separada. La llave primaria de la tabla es una combinacin de llaves formada por las llaves primarias de los tipos de entidad que participan en la relacin M-N. Las relaciones entre entidades con cardinalidad M-N generan una tabla, con los atributos clave de ambas entidades. 4. Regla de Dependencia Identificable: Cada relacin identificable (representada por una lnea de relacin contnua) agrega un componente a la llave primaria. La llave primaria de la tabla que corresponda a la entidad dbil est formada por: i. La llave local subrayada (si es que existe) de la entidad dbil. ii. La(s) llave(s) primaria(s) de l(os) tipo(s) de entidad conectada por la relacin identificable. Cada relacin dependiente, importa la clave de la otra entidad, como clave.
B. CONVERSIN DE RELACIONES OPCIONALES 1-M: - La llave fornea resultante contiene valores nulos, recuerde que una relacin con una cardinalidad mnima de 0 es opcional. - Para evitar los valores nulos cuando se convierte una relacin 1-M opcional se puede aplicar la regla 5. 5. Regla Opcional de la Relacin 1-M: Cada relacin 1-M con la cardinalidad mnima de 0 en el lado de la madre se convierte en una tabla nueva. La llave primaria de la tabla nueva es la llave primaria del tipo de entidad del lado de la hija (muchos) de la relacin.
El uso de la Regla 5 en lugar de la Regla 2 evita que haya valores nulos en las llaves forneas, a la vez que genera tambin ms tablas.
En muchas base de datos la generalizacin de tablas adicionales puede ser ms importante que evitar los valores nulos.
C. CONVERSIN DE JERARQUAS DE GENERALIZACIN: - El alcance para convertir las jerarquas de generalizacin imita la notacin entidad-relacin tanto como es posible. La Regla 6 convierte cada tipo de entidad de jerarqua de generalizacin en una tabla. 6. Regla de Jerarqua de Generalizacin: Cada tipo de entidad de una jerarqua de generalizacin se convierte en una tabla. Las columnas de una tabla son los atributos correspondientes a un tipo de entidad mas la llave primaria del tipo de entidad madre. Para cada tabla que represente a un subtipo, se define una restriccin de llave fornea que apunta a la tabla que corresponde a un tipo de entidad madre.
D. CONVERSIN DE RELACIONES 1-1: - Las relaciones de 1-1 no son comunes. Pueden ocurrir cuando las entidades con identificadores separados estn muy relacionadas. La regla 7 convierte las relaciones 1-1 en dos llaves forneas, a menos de que generen muchos valores nulos. 7. Regla de la Relacin 1-1: Cada relacin 1-1 se convierte en 2 llaves forneas. Si la relacin es opcional con respecto a uno de los tipos de entidad, se puede eliminar la llave fornea correspondiente para deshacerse de los valores nulos.
El resultado es que tenemos el mismo nmero de filas en todas las tablas, pero ms tablas con menos atributos. Este proceso se realiza en la reestructuracin, ya que las ventajas que ofrece estn relacionadas con la eficiencia. Entre ellas destacan: Aumento de la concurrencia: cada vez que un usuario accede a una fila de la tabla, sta se bloquea, es decir, no puede ser accedida por otro usuario. Al dividir una tabla en ms, la concurrencia aumenta, es decir, si un usuario accede a una fila de una tabla, otro podr acceder a la misma fila en otra tabla. Aumento de la velocidad de consulta / actualizacin: al ser las tablas ms pequeas, una consulta o actualizacin podr realizarse en un menor tiempo, ya que se necesitarn menos accesos a disco para completar la accin. Disminucin de tiempos de consulta de informacin irrelevante: si se quiere consultar un solo atributo de una tabla, se deber acceder a toda la fila, con lo que ello supone. En cambio, al reducir el tamao de las filas, la informacin a la que accedemos tendr ms probabilidad de ser utilizada. Por contra, la principal desventaja que tiene este mtodo es el aumento del tiempo de consulta /actualizacin si se desea acceder a dos o ms tablas. Es por ello por lo que hay que realizar un estudio pormenorizado de la probabilidad de consultas que se va a realizar.
Particionamiento mixto
El particionamiento mixto consiste en un hbrido entre ambos tipos de particionamiento. O bien se aplica un particionamiento vertical a una tabla previamente particionada horizontalmente, o bien se aplica un particionamiento horizontal a una tabla particionada verticalmente. Por lo tanto, existen dos opciones: Realizar primero un particionamiento horizontal, por ejemplo para ubicar las distintas filas de una tabla en distintos nodos de una base distribuida, y posteriormente realizar un particionamiento vertical sobre las tablas obtenidas, para conseguir un mayor ajuste de los tiempos de acceso a datos (evitar acceder a datos irrelevantes). Realizar primero un particionamiento vertical, para conseguir disminuir los