Capítulo 2: Diseño de Bases de Datos - Cinvestav

Anuncio
Capı́tulo 2: Diseño de Bases de Datos
Dr. José Torres Jiménez
Laboratorio de Tecnologı́as de Información
Centro de Investigación y de Estudios Avanzados del IPN
Cinvestav-Tamaulipas
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
1 / 101
Fases del Diseño de Bases de Datos
Outline
1
Fases del Diseño de Bases de Datos
Análisis de Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Fı́sico
Ejemplo de Diseño de una Base de Datos
2
El Modelo Entidad - Relación
Ejemplos
3
El Modelo ELKA
Diseño de Bases de Datos
Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
4
ER a ELKA
Transformación de Entidades
Transformación de Relaciones
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
2 / 101
Fases del Diseño de Bases de Datos
Fases del 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
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
3 / 101
Fases del Diseño de Bases de Datos
Análisis de
Requerimientos
DiseñoConceptual
Entidad
(
Relacional)
Diseño Lógico
(Modelo ELKA
Normalización
Diseño Físico
(Almacenamiento
y Acceso)
Figura 1: Fases de Diseño de Bases de Datos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
4 / 101
Fases del Diseño de Bases de Datos
Análisis de Requerimientos
Análisis de Requerimientos
La fase de análisis de requerimientos produce una descripción operacional
de la base de datos. Su objetivo es asegurar que la base de datos contenga
los datos necesarios para las funciones y aplicaciones donde se usará la
base de datos. Esta fase es realizada normalmente por los diseñadores de
bases de datos a través de entrevistas con los usuarios del sistema que
será realizado. En este sentido se dice que esta fase es una fase de:
Adquisición de Conocimiento. La salida de esta fase (valga la redundancia)
son los requerimientos del sistema.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
5 / 101
Fases del Diseño de Bases de Datos
Diseño Conceptual
Diseño Conceptual
La fase de Diseño Conceptual se alimenta del Análisis de Requerimientos y
produce un diseño que trata de reflejar como son los datos. Es una
práctica común que estas dos primeras fases sean hechas de manera
participativa y a través de refinamientos sucesivos a través de la
interacción de los diseñadores y los usuarios del sistema. El diseño
conceptual trata de crear un Modelo Parcial del Universo donde se trata
de capturar lo suficiente para poder soportar todas las funciones a las que
servirá el sistema final. El resultado final de esta fase es un Esquema de la
Base de Datos. No necesariamente este esquema puede ser implementado
directamente en algún manejador de base de datos. Dentro de esta fase es
común el uso del modelo Entidad - Relación.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
6 / 101
Fases del Diseño de Bases de Datos
Diseño Lógico
Diseño Lógico
Tomando el esquema de la base de datos de la fase de Diseño Conceptual,
esta fase produce un diseño que se acerca más a la implementación en un
Sistema Manejador de Base de Datos. En esencia esta fase transforma el
modelo Entidad - Relación en tablas que podrán ser implementadas en un
sistema manejador de base de datos particular. El modelo de datos que
usaremos para esta etapa es el modelo ELKA(Entity Link Key Attribute).
Una vez que el modelo Entidad - Relación es transformado a tablas y
produce el modelo ELKA, se eliminan ciertas anomalı́as, debidas
principalmente a la redundancia, el proceso a través del cuál se da esto se
conoce como NORMALIZACIÓN. Es importante comentar que el proceso
de NORMALIZACIÓN es un Medio y no un Fin.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
7 / 101
Fases del Diseño de Bases de Datos
Diseño Fı́sico
Diseño Fı́sico
Una vez que tenemos las tablas resultantes del Diseño Lógico es
importante el decidir tanto la estructura de almacenamiento y las
estrategias de acceso. La estructura de almacenamiento se refiere a como
almacenar los datos, y la estrategia de acceso se refiere a como llegar a los
datos. Algunos ejemplos de estructuras de almacenamiento son: Archivos
Planos, Archivos Comprimidos, Archivos Codificados, Formatos Especı́ficos
(DBF, DAT, DBM, etc.). Las estrategias de acceso pueden ser: Acceso
Secuencial, Acceso Binario, Acceso Heap, Acceso usando Btrees, etc. 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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
8 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
Ejemplo de Diseño de una Base de Datos
Suponga que es deseado en el departamento de capacitación de una
empresa el llevar el control de los cursos de capacitación y de la
capacitación de cada empleado.
Análisis de Requerimientos y Diseño Conceptual
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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
9 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
EMPLEADO
#Empleado
Nombre
Dirección
Departamentoalquepertenece
Salario
CURSO
#Curso
NombredelCurso
Figura 2: Atributos de Interés de Empleados y Cursos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
10 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
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:
¿Un empleado sólo puede tomar un curso?
¿Un curso sólo puede ser tomado por un empleado?
¿Un curso puede ser tomado por varios empleados?
¿Un empleado puede tomar varios cursos?
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
11 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
De acuerdo a lo analizado (que reflejarı́a las reglas del negocio particular)
se determino que un empleado puede tomar varios cursos y un curso puede
ser tomado por varios empleados. Entonces surge el modelo Entidad Relación ilustrado en la figura 3.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
12 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
#Empleado
Departamento
NombreEmpleado
EMPLEADO
Departamento
Dirección
INSCRITO
NombreCurso
CURSO
#Curso
Figura 3: Modelo Entidad - Relación de la Base de Datos de Empleados y Cursos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
13 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
Diseño Lógico
En esta fase tomando el modelo entidad - relación debemos producir el
modelo ELKA correspondiente. En la Figura 4 se ilustra el modelo ELKA
resultante.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
14 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
#Empleado, NombreEmpleado, Dirección ,
Departamento
#Curso,NombreCurso
EMPLEADO
CURSO
#Empleado, #Curso
INSCRITO
Figura 4: Modelo ELKA de la base de datos de Empleados y Cursos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
15 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
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 5.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
16 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
#Empleado, NombreEmpleado, Dirección,
Departamento
#Curso,NombreCurso
EMPLEADO
CURSO
Departamento,Salario
#Empleado, #Curso
DEPARTAMENTO
INSCRITO
Figura 5: Modelo ELKA de la base de datos de Empleados y Cursos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
17 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
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 1 y 2
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
18 / 101
Fases del Diseño de Bases de Datos
Nombre De Campo
#Empleado
NombreEmpleado
Dirección
Departamento
#Curso
NombreCurso
Salario
Ejemplo de Diseño de una Base de Datos
Tipo de Campo
Numérico 6 dı́gitos
Carácter 35 posiciones
Carácter 40 posiciones
Carácter 20 posiciones
Numérico 6 dı́gitos
Carácter 35 posiciones
Numérico 6 dı́gitos enteros 2 decimales
Cuadro 1: Definición de Campos de la Base de Datos de Empleados y Cursos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
19 / 101
Fases del Diseño de Bases de Datos
Indice
EMPX
CURSOX
DEPX
INSCX
INSCX
Ejemplo de Diseño de una Base de Datos
Tabla
EMPLEADO
CURSO
DEPARTAMENTO
INSCRITO
INSCRITO
Campo
#Empleado
#Curso
Departamento
#Empleado
#Curso
Cuadro 2: Definición de Campos de la Base de Datos de Empleados y Cursos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
20 / 101
Fases del Diseño de Bases de Datos
Ejemplo de Diseño de una Base de Datos
Para poder soportar la obligatoriedad de algunas relaciones es necesario
crear adicionalmente reglas de integridad que pueden ser soportadas
directamente por el sistema manejador de base de datos o se tienen que
programar. Dentro de este aspecto es importante considerar todas las
reglas de integridad (que aún sin estar capturadas en los modelos Entidad
- Relación o el ELKA) garantizaráan que la base de datos conserve su
INTEGRIDAD.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
21 / 101
El Modelo Entidad - Relación
Outline
1
Fases del Diseño de Bases de Datos
Análisis de Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Fı́sico
Ejemplo de Diseño de una Base de Datos
2
El Modelo Entidad - Relación
Ejemplos
3
El Modelo ELKA
Diseño de Bases de Datos
Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
4
ER a ELKA
Transformación de Entidades
Transformación de Relaciones
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
22 / 101
El Modelo Entidad - Relación
Un modelo de datos trata de capturar la organización lógica de los datos,
adicionalmente en ocasiones es posible capturar en él algunas reglas de
integridad y facilitar la ejecución de consultas.
El modelado de datos semántico que usaremos será el de Entidad Relación, una Entidad es cualquier cosa de la cuál deseamos llevar
información, una Relación representa la manera en la cuál diferentes
entidades(aunque puede ser la misma).
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
23 / 101
El Modelo Entidad - Relación
Los tres componentes de un diagrama Entidad Relación son:
Entidades. Representados como rectángulos con el nombre de la
entidad dentro(el nombre es en singular).
Relaciones. Representados como rombos, con el nombre de la relación
dentro. Que reflejan la manera en que se relacionan las entidades.
Atributos. Representados como Ovalos con el nombre del atributo
dentro.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
24 / 101
El Modelo Entidad - Relación
Adicionalmente es importante saber que:
Los atributos se unen a las entidades a través de lı́neas.
Las entidades se unen a las relaciones a través de lı́neas con las
interpretaciones dadas en la tabla 6.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
25 / 101
El Modelo Entidad - Relación
REPRESENTACIÓN
INTERPRETACIÓN
Relación1 -Obligatoria
Relación1 - NoObligatoria
RelaciónN -Obligatoria
RelaciónN - NoObligatoria
Figura 6: Diferentes conectores de los enlaces que conectan entidades.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
26 / 101
El Modelo Entidad - Relación
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 según
se indica en las figuras 7, 8 y 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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
27 / 101
El Modelo Entidad - Relación
Figura 7: Representación de una relación normal
isa
Figura 8: Representación de una relación isa
id
Figura 9: Representación de una relación id
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
28 / 101
El Modelo Entidad - Relación
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 10
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
29 / 101
El Modelo Entidad - Relación
Ejemplos
Termina
Día
HORARIO
Inicia
#
Curso
Salón
NombreCurso
CURSO
SALÓN
SeImparte
Figura 10: Modelo Entidad-Relación para el problema de Asignación de Salones
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
30 / 101
El Modelo Entidad - Relación
Ejemplos
Explosión de Materiales
El problema de explosión de materiales que surge en diversas empresas
manufactureras, se refiere principalmente a la posibilidad de modelar que
una parte está compuesta de varias partes y una parte forma parte de
varias partes. Un posible modelo Entidad -Relación es presentado en la
figura 11.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
31 / 101
El Modelo Entidad - Relación
Ejemplos
PARTE
COMPOSICIÓN
#PARTE
Figura 11: Modelo Entidad-Relación de Explosión de Materiales
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
32 / 101
El Modelo Entidad - Relación
Ejemplos
Departamentos, Empleados y Proyectos
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 12.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
33 / 101
El Modelo Entidad - Relación
Ejemplos
#Emp
#Dep
DEPARTAMENTO
PERTENECE
NombreEmp
EMPLEADO
NombreDep
DESARROLLA
#Proy
PROYECTO
Monto
Figura 12: Modelo Entidad-Relación de Departamentos, Empleados y Proyectos
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
34 / 101
El Modelo Entidad - Relación
Ejemplos
Proyecto, Proveedor y Parte
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 se da en la figura 13.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
35 / 101
El Modelo Entidad - Relación
Ejemplos
#Proyecto
Monto
PROYECTO
#Proveedor
#Parte
NombreProveedor
PROVEEDOR
PEDIDO
Capacidad
PARTE
#Almacén
ALMACÉN
Figura 13: Modelo Entidad-Relación de Proyecto, proveedor y parte
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
36 / 101
El Modelo Entidad - Relación
Ejemplos
Empresa Completa
#Emp
#Dep
DEPARTAMENTO
NombreEmp
EMPLEADO
PERTENECE
#Parte
NombreDep
PARTE
DESARROLLA
PEDIDO
PROYECTO
#Proveedor
PROVEEDOR
#Proy
NombreProveedor
Monto
ALMACÉN
#Almacén
Capacidad
Figura 14: Modelo Entidad-Relación de empresa completa
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
37 / 101
El Modelo Entidad - Relación
Ejemplos
Estado Civil
La relación isa es usada para ilustrar el estado civil de empleados en la
figura 15
Nombre
#Empleado
EMPLEADOS
isa
isa
isa
isa
DIVORCIADOS
VIUDOS
SOLTEROS
CA
CB
isa
CASADOS
CC
CD
UNION
LIBRE
CE
Figura 15: Modelo Entidad-Relación de una base de datos para indicar el estado
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
38 / 101
El Modelo Entidad - Relación
Ejemplos
Telenovelas
El tipo de relación id es ilustrado en una base de datos de telenovelas de
acuerdo a la figura 16
Nombre
NOVELA
Productor
id
Fecha
EPISODIO
Número
Figura 16: Modelo Entidad-Relación para base de datos de telenovelas
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
39 / 101
El Modelo Entidad - Relación
Ejemplos
REGLA PARA UNA RELACIÓN isa Y UNA RELACIÓN id.
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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
40 / 101
El Modelo Entidad - Relación
Ejemplos
Universidad
Dentro de una universidad se desea automatizar el proceso de
inscripciones, manejo de calificaciones, generación de listas y en general
los servicios de control escolar.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
41 / 101
El Modelo Entidad - Relación
Ejemplos
ALUMNO
Matricula (Llave)
Nombre
Carrera
Dirección
Tutor
PROFESOR
RFC (Llave)
Nombre
Grado
Especialidad
Salario
Dirección
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
42 / 101
El Modelo Entidad - Relación
Ejemplos
SALON
Número (Llave)
Ubicación
Capacidad
MATERIA
Clave (Llave)
Nombre
Descripción
PLAN DE ESTUDIOS
Carrera (Llave)
Materias del plan
Nombre
Descripción
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
43 / 101
El Modelo Entidad - Relación
Ejemplos
SEMESTRES
ID (Llave)
Inicio
Fin
Anotaciones
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
44 / 101
El Modelo Entidad - Relación
Ejemplos
Se sabe además que:
Un alumno puede no estar inscrito en algún semestre.
Un alumno solo puede tener una carrera.
Un alumno puede estar tomando cero, una o más materias.
Un profesor puede impartir cero, una o más materias (incluso puede
tener varios grupos de la misma).
En un salón puede haber programadas, cero, una o más materias(pero
no a la misma hora).
Las materias son abiertas por grupos pudiendo haber cero, uno o más
grupos de una materia.
Cada materia puede tener o ser prerrequisito o correquisito de cero,
una o más materias.
Las materias pueden ser comunes a diferentes carreras.
Cada materia es evaluada con 3 exámenes parciales y uno final.
Siendo la calificación final el promedio de las cuatro calificaciones.
Además se lleva registro de faltas.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
45 / 101
El Modelo Entidad - Relación
PLANES
Ejemplos
CONTIENE
MATERIAS
PERTENECE
REQUISITO
id
SALÓN
ALUMNOS
HORARIO
GRUPO
INSCRITO
PLANEACIÓN
SEMESTRE
IMPARTE
PROFESSOR
Figura 17: Modelo Entidad-Relación de una universidad
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
46 / 101
El Modelo Entidad - Relación
Ejemplos
Praxis del Diseño de Bases de Datos
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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
47 / 101
El Modelo Entidad - Relación
Ejemplos
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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
48 / 101
El Modelo ELKA
Outline
1
Fases del Diseño de Bases de Datos
Análisis de Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Fı́sico
Ejemplo de Diseño de una Base de Datos
2
El Modelo Entidad - Relación
Ejemplos
3
El Modelo ELKA
Diseño de Bases de Datos
Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
4
ER a ELKA
Transformación de Entidades
Transformación de Relaciones
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
49 / 101
El Modelo ELKA
Modelo de una Base de Datos Sencilla
Supongamos que en el departamento de capacitación de una empresa se
desea llevar información de los cursos tomados por cada empleado y de los
cursos. Los atributos de interés de los empleados son:
#Empleado
Nombre
Dirección
Departamento al que pertenecen
Salario
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
50 / 101
El Modelo ELKA
Los atributos de interés de cada curso son:
#Curso
Nombre del Curso.
Seguramente usted obtendrı́a el diseño de la figura 18
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
51 / 101
El Modelo ELKA
# Empleado
,Nombre
,Dirección
,
Departamento
,Salario
# Curso
,Nombre
EMPLEADOS
CURSOS
# Empleado, #Curso
INSCRITOS
Figura 18: Ejemplo de una base de datos simple
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
52 / 101
El Modelo ELKA
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.
El modelo ELKA tiene las siguientes componentes clave:
E: Entity Entidad
L: Link Liga
K: Key Llave
A: Attribute Atributo
Veremos a través de un ejemplo como se emplea esta metodologı́a de
diseño.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
53 / 101
El Modelo ELKA
Diseño de Bases de Datos
Suponga que una compañı́a necesita tener una Base de Datos que
contenga la información de las siguientes Entidades:
PROVEEDORES, PARTES, PROYECTOS, EMPLEADOS, ALMACENES,
DEPARTAMENTOS
Los atributos relevantes de cada entidad son los siguientes:
PROVEEDORES (Num Prov (llave), Nombre, Status)
PROYECTOS (Num Proy (llave), Nombre, Fecha Ini, Fecha Fin)
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
54 / 101
El Modelo ELKA
Diseño de Bases de Datos
PARTES (Num Par (llave), Nombre, Color)
EMPLEADOS (Num Emp (llave),Nombre,Sueldo)
ALMACENES (Num Alm (llave), Capacidad)
DEPARTAMENTOS (Num Dep (llave), Nombre)
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
55 / 101
El Modelo ELKA
Diseño de Bases de Datos
Además se sabe que:
Un proveedor puede suministrar una o más partes a uno o más
proyectos.
Un proyecto puede tener asignados uno o más empleados incluso de
diferente departamento.
Un empleado solo está asignado a un proyecto y solo pertenece a un
departamento.
Un departamento tiene uno o más empleados.
Un almacén puede tener cero, uno o más pedidos de diferentes partes
suministrados por diferentes proveedores.
Una parte puede ser suministrada en varias cantidades por diferentes
proveedores.
Un pedido solo puede estar en un almacén.
Un proyecto puede tener uno o más pedidos.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
56 / 101
El Modelo ELKA
Diseño de Bases de Datos
Entidad
Una entidad es cualquier objeto del cuál se desean almacenar datos dentro
de un base de datos.
Enlace
Un enlace es la relación o forma en que se relacionan las entidades v.g.
Un departamento se relaciona con empleados de forma que un
departamento puede tener uno o más empleados.
Un empleado se relaciona con departamentos de forma que un empleado
solo pertenece a un departamento.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
57 / 101
El Modelo ELKA
Diseño de Bases de Datos
TIPOS DE ENLACE
El modelo ELKA define 4 tipos de Enlaces:
1-a-1
1-a-N DEBIL (Cero, Uno o más)
1-a-N FUERTE (Uno o más)
N-a-M
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
58 / 101
El Modelo ELKA
Diseño de Bases de Datos
LLAVE
Es un atributo o atributos que permite identificar unı́vocamente a un
elemento de una entidad.
ATRIBUTO
Es una caracterı́stica de un elemento de una entidad.
Un elemento de una entidad es implementada computacionalmente como
un registro(también conocido como Tuplo). Un atributo es entonces un
campo de un registro.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
59 / 101
El Modelo ELKA
Diseño de Bases de Datos
Representación de una Entidad
ELKA representa una entidad como un rectángulo con un recuadro en la
esquina inferior izquierda.
En el recuadro se pone el nombre de la entidad.
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 19.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
60 / 101
El Modelo ELKA
Diseño de Bases de Datos
Num_Alum,Capacidades
ALMACENES
Figura 19: Representacion de la entidad almacén
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
61 / 101
El Modelo ELKA
Diseño de Bases de Datos
Representación de Enlaces
Enlace 1-a-1
La representación es ilustrada en la figura 20.
X, Y, P
X, Z, W
A
B
Figura 20: Representación de un enlace de 1 a 1
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
62 / 101
El Modelo ELKA
Diseño de Bases de Datos
Esto indica que la entidad A hereda la llave X a la entidad B.
Por cada ocurrencia de un tuplo en A existen cero o una ocurrencia del
tuplo en B
Por cada ocurrencia de un tuplo en B existe una ocurrencia del tuplo en A.
De acuerdo al planteamiento anterior, un empleado solo está asignado a
un proyecto y a un departamento de forma que tenemos enlaces 1-a-1
según se indica en la figura 21
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
63 / 101
El Modelo ELKA
Diseño de Bases de Datos
Num_Dep,Nombre
Num_Emp,Nombre,Sueldo
Num_Proy,Fecha_Ini,
Fecha_Fin
DEPARTAMENTO
EMPLEADO
PROYECTO
?
?
Num_Emp,Num_Dep
EMP
_
DEPTO
Num_Emp,Num_Proy
EMP
_
PROY
Figura 21: Ejemplo de enlaces de 1 a 1
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
64 / 101
El Modelo ELKA
Diseño de Bases de Datos
Ejmeplo de enlace 1 a N débil
Enlace 1-a-N débil
La representación es ilustrada en la figura 22.
X, Y, P
X, Z, W
A
B
Figura 22: Representación de un enlace de 1 a N débil
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
65 / 101
El Modelo ELKA
Diseño de Bases de Datos
Esto indica que la entidad A hereda la llave X a la entidad B.
Por cada ocurrencia de un tuplo en A existen cero, una o más ocurrencias
del tuplo en B
Por cada ocurrencia de un tuplo en B existe una ocurrencia del tuplo en A.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
66 / 101
El Modelo ELKA
Diseño de Bases de Datos
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 23
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
67 / 101
El Modelo ELKA
Diseño de Bases de Datos
Enlace 1-a-N débil
Num_Prov,Nombre, Status
Num_Par,Nombre, Color
PROVEEDOR
PARTE
?
Num_Prov, Num_Par,
Num_Proy,Cantidad
?
?
Num_Proy,Nombre,Fecha_ini,
Fecha_fin
PROYECTO
PEDIDO
Num_Prov, Num_Par,
Num_Proy,Num_alm
PED_
ALM
Num_alm,Capacidad
ALMACENES
Figura 23: Ejemplo de un enlace de 1 a N débil
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
68 / 101
El Modelo ELKA
Diseño de Bases de Datos
Enlace 1-a-N Fuerte
La manera de representar este enlace se indica en la figura 24.
X, Y, P
X, Z, W
A
B
Figura 24: Representación de un enlace de 1 a N fuerte
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
69 / 101
El Modelo ELKA
Diseño de Bases de Datos
Esto indica que la entidad A hereda la llave X a la entidad B.
Por cada ocurrencia de un tuplo en A existen una o más ocurrencias del
tuplo en B.
Por cada ocurrencia de un tuplo en B existe una ocurrencia del tuplo en A.
De acuerdo a la definición un departamento tiene uno o más empleados y
un proyecto tiene uno o mas empleados, según se indica en la figura 25
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
70 / 101
El Modelo ELKA
Diseño de Bases de Datos
Enlace 1-a-N Fuerte
Num_Dep,Nombre
Num_Emp,Nombre,Sueldo
Num_Proy,Fecha_Ini,
Fecha_Fin
DEPARTAMENTO
EMPLEADO
PROYECTO
Num_Emp,Num_Dep
Num_Emp,Num_Proy
EMP
_
DEPTO
EMP_
PROY
Figura 25: Ejemplo de enlaces de 1 a N fuertes
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
71 / 101
El Modelo ELKA
Diseño de Bases de Datos
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 26,
27,28, y 29.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
72 / 101
El Modelo ELKA
Diseño de Bases de Datos
X, Y
Z, W
A
B
X, Z
C
Figura 26: Representación de enlace N a M
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
73 / 101
El Modelo ELKA
Diseño de Bases de Datos
X, Y
Z, W
A
B
X, Z
C
Figura 27: Representación de enlace N a M
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
74 / 101
El Modelo ELKA
Diseño de Bases de Datos
X, Y
Z, W
A
B
X, Z
C
Figura 28: Representación de enlace N a M
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
75 / 101
El Modelo ELKA
Diseño de Bases de Datos
X, Y
Z, W
A
B
X, Z
C
Figura 29: Representación de enlace N a M
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
76 / 101
El Modelo ELKA
Diseño de Bases de Datos
Modelo Elka Final
Num_Dep,Nombre
Num_Emp,Nombre,Sueldo
Num_Proy,Fecha_Ini,
Fecha_Fin
DEPARTAMENTO
EMPLEADO
PROYECTO
Num_Emp,Num_Dep
Num_Emp,Num_Proy
EMP
_
DEPTO
EMP
_
PROY
Num_Prov,Nombre, Status
Num_Par,Nombre,Color
PROVEEDOR
PARTE
Num_Prov, Num_Par, Num_Prov,
Cantidad
PEDIDO
Num_Prov, Num_Par, Num_Proy,Num_alm
PED_
ALM
Num_Alm,Capacidad
ALMACENES
Figura 30: Modelo ELKA final
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
77 / 101
El Modelo ELKA
Diseño de Bases de Datos
Modelo ELKA de una Universidad
Dentro de una universidad se desea automatizar el proceso de
inscripciones, manejo de calificaciones, generación de listas y en general
los servicios de control escolar.
De acuerdo a la información recopilada se tienen identificadas las
siguientes entidades:
ALUMNO
Matricula (Llave)
Nombre
Carrera
Dirección
Tutor
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
78 / 101
El Modelo ELKA
Diseño de Bases de Datos
PROFESOR
RFC (Llave)
Nombre
Grado
Especialidad
Salario
Dirección
SALON
Número (Llave)
Ubicación
Capacidad
MATERIA
Clave (Llave)
Nombre
Descripción
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
79 / 101
El Modelo ELKA
Diseño de Bases de Datos
PLAN DE ESTUDIOS
Carrera (Llave)
Materias del plan
Nombre
Descripción
SEMESTRES
ID (Llave)
Inicio
Fin
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
80 / 101
El Modelo ELKA
Diseño de Bases de Datos
Anotaciones:
Un alumno puede no estar inscrito en algún semestre.
Un alumno solo puede tener una carrera.
Un alumno puede estar tomando cero, una o más materias.
Un profesor puede impartir cero, una o mas materias (incluso puede
tener varios grupos de una materia).
En un salón puede haber programadas, cero, una o más materias(pero
no a la misma hora).
Las materias son abiertas por grupos pudiendo haber cero, uno o más
grupos de una materia.
Cada materia puede tener o ser prerrequisito o correquisito de cero,
una o más materias.
Las materias pueden ser comunes a diferentes carreras.
Cada materia es evaluada con 3 exámenes parciales y uno final.
Siendo la calificación final el promedio de las cuatro calificaciones.
Además se lleva registro de faltas.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
81 / 101
El Modelo ELKA
Diseño de Bases de Datos
Carr,Nombre,Descrip
Clave,Nombre,Descrip
CARRERAS
MATERIAS
Carr, Clave,Semestre
Clave, Clave1,Tipo_Req
PLANES
REQUISITOS
Matricula,Nombre, Carr,Direc, Tutor
Clave, ID, Num, RFC
ID,Inicio, Fin,Anot
ALUMNOS
GRUPOS
SEMESTRE
Clave, ID, Num, RFC, Matricula,E1,
E2,E3,EF, CF, F1, F2,F3, FF
Num,Ubicación,Capacidad
RFCNombre,Grado, Esp,
Salario
LISTAS
SALONES
PROFESORES
Figura 31: Modelo ELKA de una universidad
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
82 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Explosión de Materiales
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 o más partes.En la figura 32 se ilustra este modelo.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
83 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
P#,Nombre, Peso, Color
PMAYOR, PMENOR
PARTES
EXPLOSIÓN
Figura 32: Modelo ELKA de explosión de materiales
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
84 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
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 33.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
85 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Cve,Nombre,Descrip
Cve, Req
MATERIAS
REQUISITOS
Figura 33: Modelo ELKA de requisitos de materias
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
86 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
El problema de un organigrama tradicional en el que un empleado es jefe
de cero, uno o más empleados y un empleado tiene cero o un jefe.
La figura 34 contiene este modelo.
#Emp,Nombre,Sueldo,Profesión
Jefe, Subordinado
EMPLEADOS
ORGANIGRAMA
Figura 34: Modelo ELKA de una base de datos de organigramas
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
87 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Circuitos Secuenciales
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 35 indica un ejemplo de un
circuito secuencial y la figura 36 presenta este modelo ELKA.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
88 / 101
El Modelo ELKA
Ex
Modelos ELKA Manejando Relaciones Recursivas
¦
Ey
¦
Ez
Figura 35: Ejemplo de un circuito secuencial
Id_Edo,Nombre,Descrip
Edo_Actual, Edo_Fut0,
Edo_Fut1
ESTADOS
CKTO
_SEC
Figura 36: Modelo ELKA de bases de datos para circuitos secuenciales
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
89 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Árbol Genealógico
El problema de un árbol genealógico en el que una persona tiene padre y
madre(aunque deberı́a haber algunos que no, problema del huevo y la
gallina) y una persona puede tener cero, uno o más hijos. La figura 37
presenta el modelo ELKA correspondiente.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
90 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Id_Per,Nombre,Fecha_Nac,
Fecha_Muerte,Sexo
Padre, Madre, Hijo
PERSONAS
GENEALOGICO
Figura 37: Modelo ELKA de un árbol genealógico
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
91 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Sistema Experto
El problema de un sistema experto en el que se maneja incertidumbre en el
que de una regla se pueden disparar tres:
Cuando la regla es verdadera.
Cuando la regla es falsa.
Cuando no se sabe si es falsa o verdadera.
En la figura 38 se presenta un ejemplo de reglas del sistema experto y en
la figura 39 se presenta el modelo ELKA.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
92 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Rw
Incierto
Falso
Rx
Ry
Verdadero
Rz
Figura 38: Ejemplo de reglas de un sistema experto
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
93 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
#R,Nombre,Descrip
Ract, R_Si, R_No, R_Quizas
REGLAS
CADENAS
Figura 39: Modelo ELKA de un sistema experto
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
94 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Instrucciones de un Programa
El problema de una base de datos para un programa en el que se manejan
instrucciones de tipo secuencial e instrucciones de tipo condicional en las
que si la condición es verdadera sigue una instrucción y sino sigue otra. La
figura 40 contiene el modelo elka correspondiente.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
95 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
# Instr,Descrip
INSTRUCCIONES
# Instr,Instr_Verdad,Instr_Falso
# Instr,Instr_Sig
CONDICIONALES
SECUENCIALES
Figura 40: Modelo ELKA de la instrucciones de un programa
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
96 / 101
El Modelo ELKA
Modelos ELKA Manejando Relaciones Recursivas
Procesos concurrentes
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 o
avancen ambos y además cada una de las instrucciones puede ser
secuencial o condicional.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
97 / 101
ER a ELKA
Outline
1
Fases del Diseño de Bases de Datos
Análisis de Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Fı́sico
Ejemplo de Diseño de una Base de Datos
2
El Modelo Entidad - Relación
Ejemplos
3
El Modelo ELKA
Diseño de Bases de Datos
Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
4
ER a ELKA
Transformación de Entidades
Transformación de Relaciones
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
98 / 101
ER a ELKA
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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
99 / 101
ER a ELKA
Transformación de Entidades
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.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
100 / 101
ER a ELKA
Transformación de Relaciones
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
La relación es transformada a la herencia de los campos llaves de la
entidad con relación N a la entidad con relación 1 obligatoria. Los campos
heredados no forman parte de la llave.
Relación N - Relación 1 No Obligatoria
La relación entre cada una de las entidades de un modelo
Entidad-Relación es mapeada a una entidad dentro del modelo ELKA. Es
importante en este paso el designar las llaves de cada una de las entidades.
Dr. José Torres Jiménez (Cinvestav-LTI)
Capı́tulo 2
Bases de Datos
101 / 101
Descargar