2.1 El Proceso de Diseño
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
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.
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. Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades, o atributos.
Una entidad se representa mediante un conjunto de atributos. Los atributos describen propiedades que posee cada miembro de un conjunto de entidades.
Para cada atributo hay un conjunto de valores permitidos, llamados el dominio, o el conjunto de valores, de ese atributo. El dominio del atributo nombre cliente podría ser el conjunto de todas las cadenas de texto de una cierta longitud.
Puede haber ocasiones en las que un atributo tiene un conjunto de valores para una entidad específica. Por ejemplo una entidad cliente 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 multi-valorado.
También están los atributos derivados que son otra cosa más que valores que pueden ser calculados.
Un atributo toma un valor nulo cuando una entidad no tiene un valor para un atributo o también puede indicar «no aplicable», es decir, que el valor no existe para la entidad.
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 tienen un conjunto de atributos que forman sus claves primarias y que permiten identificarlas completamente se denominan, entidades fuertes.
Aunque también existen las entidades débiles 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. 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.
2.7 Modelo E-R extendido
La generalización permite reflejar el hecho de que hay una entidad general, que denominamos entidad superclase la cual se puede especializar en entidades subclase:
a) La entidad superclase nos permite modelizar las características comunes de la entidad vista de una formagenérica.
b) Las entidades subclase nos permiten modelizar las características propias de sus especializaciones.
2.8 Otros aspectos del diseño de bases de datos
“Un diagrama E-R, puede ser representado también a través de una colección de tablas. Para cada una de las entidades y relaciones existe una tabla única a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un número de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo.”
2.9 La Notación E-R con UML
El lenguaje de modelado unificado (UML) es un estándar propuesto para la creación de especificaciones de varios componentes de un sistema software. Algunas de las partes de UML son:
Diagrama de clase. Es similar a un diagrama E-R.
Diagrama de caso de uso. Muestran la interacción entre los usuarios y el sistema, en particular los pasos de las tareas que realiza el usuario
Diagrama de actividad. Describen el flujo de tareas entre varios componentes de un sistema.
Diagrama de implementación. Muestran los componentes del sistema y sus interconexiones tanto en el nivel del componente software como el hardware.
UML muestra los conjuntos de entidades como cuadros y, a diferencia de E-R, muestra los atributos dentro del cuadro en lugar de como elipses separadas además de que en UML las entidades serán manejadas como objetos. Los conjuntos de relaciones binarias se representan en UML dibujando simplemente una línea que conecte los conjuntos de entidades.