Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño de Bases de Datos
Diseño de Bases de Datos
Es una practica estándar el dividir el diseño de bases de datos en las siguiente fases
Análisis de Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Físico
Cada vez es más común que los sistemas manejadores de base de datos tengan ya
predefinida la estructura de almacenamiento y como estrategia de acceso tengan solo dos:
Acceso Secuencial y Acceso usando B-Trees. Entonces esta etapa se reduce en términos
simples a la selección de los INDICES para acelerar el acceso. En ocasiones por eficiencia es
posible que en esta fase del proceso se realice una DESNORMALIZACIÓN, es decir aceptar
una Forma Normal de Menor Nivel que a la que se puede llegar, recuérdese que la
NORMALIZACIÓN es un medio y no un fin.
En estas dos fases es fundamental el poder identificar en base a las necesidades del sistema
las entidades de interés y sus relaciones.
En base a las entrevistas realizadas se plantea que es necesario el poder realizar la planeación
de cursos y llevar el control de los cursos que ha tomado cada empleado. Los atributos de
interés que se han identificados se ilustran en la figura 2.2.
Con esto podemos llevar el control de los empleados y cursos, pero no de la relación entre
ellos, de este modo es necesario el crear una relación que indique que cursos ha tomado cada
empleado y que empleados han tomado que curso. En este sentido es necesario
adicionalmente el poder identificar que tipo de relación hay:
Diseño Conceptual
En esta fase tomando el modelo entidad - relación debemos producir el modelo ELKA
correspondiente. En la Figura 2.4 se ilustra el modelo ELKA resultante.
El proceso de Normalización involucra (por lo general) el particionar las tablas del modelo
ELKA en tablas NORMALIZADAS donde se ha reducido o eliminado la redundancia. Por
ejemplo, si todos los empleados del mismo departamento tuvieran el mismo Salario, entonces
podríamos particionar la tabla de Empleado en dos según se ilustra en la figura 2.5.
Figura 2.5: Modelo ELKA de la base de datos de Empleados y Cursos NORMALIZADO
Diseño Físico
Tomando como base el modelo ELKA normalizado se procede a realizar el diseño físico de la
base de datos. Asumiendo que (normalmente) no se tiene la opción de seleccionar la estructura
de almacenamiento, esta etapa se refiere solo a la asignación de los tipos de datos específicos
de cada campo y a la definición de los índices(B-Trees). Como regla general debe haber un
índice por cada llave de cada tabla, pero adicionalmente se deberían de diseñar índices para
optimizar las consultas o reportes que son más frecuentes. También es importante el
considerar que dependiendo de la frecuencia de uso, el tamaño de las bases de datos, el
tamaño de los índices, el costo de actualizar los índices, etc. algunos índices se designan como
temporales y otros como permanentes.
Para nuestro caso el resultado final esta ilustrado en las tablas 2.1 y 2.2
Nombre De Campo Tipo de Campo
#Empleado Numérico 6 dígitos
NombreEmpleado Carácter 35 posiciones
Dirección Carácter 40 posiciones
Departamento Carácter 20 posiciones
#Curso Numérico 6 dígitos
NombreCurso Carácter 35 posiciones
Salario Numérico 6 dígitos enteros 2 decimales
De esta manera si tenemos que dos entidades están conectadas a través de una relación
tendremos un total de 16 posibles combinaciones. Cuando una relación conecta tres entidades
tendremos 64 posibles combinaciones de terminaciones, etc.
Por otro lado existen tres tipos de Relaciones segun se indica en las figuras 2.7, 2.8 y 2.9.La
relación isa indica que una entidad es un subconjunto de otra, esto implica que ambas tienen la
misma llave. La relación id implica que una de las entidades tiene adicionalmente otros campos
como llave.
2.2.1 Ejemplos
Asignación de Salones
El problema de asignación de salones puede ser planteado de manera muy simplificada como
la planeación en tiempo y espacio de un conjunto de cursos , es decir, se tiene que definir para
cada curso en que salón y a que hora se imparte. En este sentido un posible modelo entidad
relación es ilustrado en la figura 2.10
Se tiene una empresa en la que los empleados están asignados a departamentos, dentro de la
empresa se desarrollan diversos proyectos y en él pueden participar empleados incluso de
diferente departamento. Un posible modelo Entidad - Relación es presentado en la figura 2.12.
Se sabe que en una empresa se desarrollan proyectos que utilizan partes suministradas por
varios proveedores. Adicionalmente se sabe que los pedidos (Proveedor-Parte-Proyecto) son
almacenados en diversos almacenes(pero un pedido en un solo almacén). Un posible modelo
Entidad - Relación está en la figura 2.13.
Figura 2.13: Modelo Entidad - Relación de Proyecto, Proveedor y Parte
Empresa Completa
La relación isa es usada para ilustrar el estado civil de empleados en la figura 2.15
Una relación es isa cuando la entidad que se considera HIJA tiene la misma llave que el
PADRE. Una relación es id cuando la entidad que se considera HIJA la llave de la entidad
PADRE más otros atributos
Universidad
ALUMNO
Matricula (Llave)
Nombre
Carrera
Dirección
Tutor
PROFESOR
RFC (Llave)
Nombre
Grado
Especialidad
Salario
Dirección
SALON
Número (Llave)
Ubicación
Capacidad
MATERIA
Clave (Llave)
Nombre
Descripción
PLAN DE ESTUDIOS
Carrera (Llave)
Nombre
Descripción
SEMESTRES
ID (Llave)
Inicio
Fin
Anotaciones
Uno de los posibles problemas de utilizar el modelo Entidad - Relación como herramienta para
el diseño conceptual es que no es implementable directamente en archivos planos, y es
necesario realizar la conversión a su equivalente en archivos. Ante esto han surgido algunos
paquetes que realizan la conversión automática de diagramas Entidad - Relación a Sistemas
Manejadores de Bases de Datos comerciales, uno de estos paquetes es ERWIN que genera
código para ORACLE, SYBASE, DB2, etc.
Algunos diseñadores al no contar con una forma automatizada de manipular los diagramas
Entidad - Relación, han optado por utilizar una forma de modelado más cercana a archivos
planos. Una de estas técnicas es el modelo ELKA.
Es importante aclarar que una posible opción, sería el generar los diagramas Entidad -
Relación y después convertirlos a un diagrama ELKA; aunque en la práctica muchos
diseñadores generan directamente el diagrama ELKA sin pasar por el diagrama Entidad -
Relación.
#Curso
Nombre del Curso.
El como llegar a este modelo de base de datos puede hacerse usando la metodología ELKA
como se comentará en la siguiente sección.
2.3.2 Diseño de Bases de Datos
El diseño de una base de datos es una parte muy importante en el desarrollo de una aplicación.
Se han propuesto diferentes metodologías para llevar a cabo esta tarea.
Una de estas metodologías es el uso del MODELO ELKA que será visto a continuación.
E Entity Entidad
L Link Liga
K Key Llave
A Attribute Atributo
Suponga que una compañía necesita tener una Base de Datos que contenga la información de
las siguientes Entidades:
Num_Prov (llave)
Nombre
Status
PROYECTOS
Num_Proy (llave)
Nombre
Fecha_Ini
Fecha_Fin
PARTES
Num_Par (llave)
Nombre
Color
EMPLEADOS
Num_Emp (llave)
Nombre
Sueldo
ALMACENES
Num_Alm (llave)
Capacidad
DEPARTAMENTOS
Num_Dep (llave)
Nombre
Un departamento se relaciona con empleados de forma que un departamento puede tener uno
o más empleados.
TIPOS DE ENLACE
ELKA representa una entidad como un rectángulo con un recuadro en la esquina inferior
izquierda.
En la parte superior dentro del rectángulo se ponen los nombres de los atributos separados por
comas.
Los atributos que forman parte de la llave van subrayados (la llave puede ser de un solo
atributo). La entidad almacen es ilustrada en la figura 2.18.
Representación de Enlaces
Enlace 1-a-1
Por cada ocurrencia de un tuplo en A existen cero ó una ocurrencia del tuplo en B
Por cada ocurrencia de un tuplo en A existen cero, una ó más ocurrencias del tuplo en B
Considerando que existe una entidad llamada PEDIDOS que contiene los atributos:
Num_Prov
Num_Par
Num_Proy
Cantidad
Tenemos que un ALMACEN puede tener cero, uno o más pedidos de diferentes partes
suministradas por diferentes proveedores. De esto tenemos una relación 1-a-N DEBIL entre
PEDIDOS y ALMACENES como se ilustra en la figura 2.22
Por cada ocurrencia de un tuplo en A existen una ó más ocurrencias del tuplo en B
Por cada ocurrencia de un tuplo en B existe una ocurrencia del tuplo en A.
Enlace N-a-M
Se representa a través de dos enlaces 1-a-N ya sean fuertes o débiles utilizando una entidad
conectora. Los casos se ilustran en las figuras 2.25, 2.26, 2.27, 2.28.
El problema de explosión de materiales, de forma tal que una parte puede estar compuesta de
cero, una o más partes y una parte puede formar parte de cero, una ó más partes.En la figura
2.30 se ilustra este modelo.
Figura 2.30: Modelo ELKA de explosión de materiales
Requisitos de Materias
El problema de requisitos de materias de forma tal que una materia tiene cero, uno o más
requisitos y una materia puede ser requisito de cero, una o más materias. Se ilustra en la figura
2.31.
El problema de una Base de Datos para el manejo de circuitos secuenciales en los que de un
estado Ex se va a un estado Ey si la entrada es cero o a un estado Ez si la entrada es un uno.
La figura 2.33 indica un ejemplo de un circuito secuencial y la figura 2.34 presenta este modelo
ELKA.
En la figura 2.36 se presenta un ejemplo de reglas del sistema experto y en la figura 2.37 se
presenta el modelo ELKA.
El problema de una base de datos para dos procesos concurrentes en el que se pueden dar los
casos de que avance un proceso, avance el otro ó avancen ambos y además cada una de las
instrucciones puede ser secuencial o condicional.
2.4 ER a ELKA
El objetivo de este capítulo es el de presentar una serie de ideas que pueden auxiliar en el
proceso de conversión de un modelo Entidad - Relación al modelo ELKA equivalente.
2.4.1 Transformación de Entidades
Cada una de las entidades de un modelo Entidad-Relación es mapeada a una tabla dentro del
modelo ELKA. Es importante en este paso el designar las llaves de cada una de las tablas.
2.4.2 Transformación de Relaciones
Relación N - Relación N
La relación es transformada a una tabla. Esta nueva tabla hereda las llaves de las entidades a
las que estaba conectada la relación. La llave de la nueva tabla es la combinación de las llaves
heredadas.
Relación N -Relación 1 Obligatoria