Escolar Documentos
Profissional Documentos
Cultura Documentos
Cap tulo 2
Bases de Datos
1 / 101
Outline
1
Fases del Diseo de Bases de Datos n Anlisis de Requerimientos a Diseo Conceptual n Diseo Lgico n o Diseo F n sico Ejemplo de Diseo de una Base de Datos n El Modelo Entidad - Relacin o Ejemplos El Modelo ELKA Diseo de Bases de Datos n Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
Fases del Diseo de Bases de Datos n Es una practica estndar el dividir el diseo de bases de datos en las a n siguiente fases: Anlisis de Requerimientos a Diseo Conceptual n Diseo Lgico n o Diseo F n sico
Cap tulo 2
Bases de Datos
3 / 101
Anlisis de Requerimientos
Cap tulo 2
Bases de Datos
4 / 101
Anlisis de Requerimientos a
Anlisis de Requerimientos a La fase de anlisis de requerimientos produce una descripcin operacional a o 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 a base de datos. Esta fase es realizada normalmente por los diseadores de n bases de datos a travs de entrevistas con los usuarios del sistema que e ser realizado. En este sentido se dice que esta fase es una fase de: a Adquisicin de Conocimiento. La salida de esta fase (valga la redundancia) o son los requerimientos del sistema.
Cap tulo 2
Bases de Datos
5 / 101
Diseo Conceptual n
Diseo Conceptual n La fase de Diseo Conceptual se alimenta del Anlisis de Requerimientos y n a produce un diseo que trata de reejar como son los datos. Es una n prctica comn que estas dos primeras fases sean hechas de manera a u participativa y a travs de renamientos sucesivos a travs de la e e interaccin de los diseadores y los usuarios del sistema. El diseo o n n conceptual trata de crear un Modelo Parcial del Universo donde se trata de capturar lo suciente para poder soportar todas las funciones a las que servir el sistema nal. El resultado nal de esta fase es un Esquema de la a Base de Datos. No necesariamente este esquema puede ser implementado directamente en algn manejador de base de datos. Dentro de esta fase es u comn el uso del modelo Entidad - Relacin. u o
Cap tulo 2
Bases de Datos
6 / 101
Diseo Lgico n o
Diseo Lgico n o Tomando el esquema de la base de datos de la fase de Diseo Conceptual, n esta fase produce un diseo que se acerca ms a la implementacin en un n a o Sistema Manejador de Base de Datos. En esencia esta fase transforma el modelo Entidad - Relacin en tablas que podrn ser implementadas en un o a 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 - Relacin es transformado a tablas y o produce el modelo ELKA, se eliminan ciertas anomal debidas as, principalmente a la redundancia, el proceso a travs del cul se da esto se e a conoce como NORMALIZACION. Es importante comentar que el proceso de NORMALIZACION es un Medio y no un Fin.
Cap tulo 2
Bases de Datos
7 / 101
Diseo F n sico
Diseo F n sico Una vez que tenemos las tablas resultantes del Diseo Lgico es n o importante el decidir tanto la estructura de almacenamiento y las estrategias de acceso. La estructura de almacenamiento se reere a como almacenar los datos, y la estrategia de acceso se reere a como llegar a los datos. Algunos ejemplos de estructuras de almacenamiento son: Archivos Planos, Archivos Comprimidos, Archivos Codicados, Formatos Espec cos (DBF, DAT, DBM, etc.). Las estrategias de acceso pueden ser: Acceso Secuencial, Acceso Binario, Acceso Heap, Acceso usando Btrees, etc. Cada vez es ms comn que los sistemas manejadores de base de datos tengan a u ya predenida 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 trminos simples a la seleccin de los e o INDICES para acelerar el acceso. En ocasiones por eciencia es posible que en esta fase del proceso se realice una DESNORMALIZACION, es decir aceptar una Forma Normal de Menor Nivel que a la que se puede llegar, recurdese que la NORMALIZACION es un medio y no un n. e
Dr. Jos Torres Jimnez (Cinvestav-LTI) e e Cap tulo 2 Bases de Datos 8 / 101
Ejemplo de Diseo de una Base de Datos n Suponga que es deseado en el departamento de capacitacin de una o empresa el llevar el control de los cursos de capacitacin y de la o capacitacin de cada empleado. o Anlisis de Requerimientos y Diseo Conceptual a n En estas dos fases es fundamental el poder identicar en base a las necesidades del sistema las entidades de inters y sus relaciones. En base a e las entrevistas realizadas se plantea que es necesario el poder realizar la planeacin de cursos y llevar el control de los cursos que ha tomado cada o empleado. Los atributos de inters que se han identicados se ilustran en e la gura 2.
Cap tulo 2
Bases de Datos
9 / 101
Cap tulo 2
Bases de Datos
10 / 101
Con esto podemos llevar el control de los empleados y cursos, pero no de la relacin entre ellos, de este modo es necesario el crear una relacin que o o indique que cursos ha tomado cada empleado y que empleados han tomado que curso. En este sentido es necesario adicionalmente el poder identicar que tipo de relacin hay: o Un empleado slo puede tomar un curso? o Un curso slo puede ser tomado por un empleado? o Un curso puede ser tomado por varios empleados? Un empleado puede tomar varios cursos?
Cap tulo 2
Bases de Datos
11 / 101
De acuerdo a lo analizado (que reejar las reglas del negocio particular) a se determino que un empleado puede tomar varios cursos y un curso puede ser tomado por varios empleados. Entonces surge el modelo Entidad Relacin ilustrado en la gura 3. o
Cap tulo 2
Bases de Datos
12 / 101
#Empleado
Departamento
NombreEmpleado
EMPLEADO
Departamento
Direccin
INSCRITO
NombreCurso
CURSO
#Curso
Diseo Lgico n o En esta fase tomando el modelo entidad - relacin debemos producir el o modelo ELKA correspondiente. En la Figura 4 se ilustra el modelo ELKA resultante.
Cap tulo 2
Bases de Datos
14 / 101
#Curso ,NombreCurso
CURSO
#Empleado #Curso ,
INSCRITO
El proceso de Normalizacin involucra (por lo general) el particionar las o 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 segn se ilustra en la gura 5. u
Cap tulo 2
Bases de Datos
16 / 101
#Curso ,NombreCurso
CURSO
Departamento ,Salario
#Empleado #Curso ,
DEPARTAMENTO
INSCRITO
Cap tulo 2
Bases de Datos
17 / 101
Diseo F n sico Tomando como base el modelo ELKA normalizado se procede a realizar el diseo f n sico de la base de datos. Asumiendo que (normalmente) no se tiene la opcin de seleccionar la estructura de almacenamiento, esta etapa o se reere solo a la asignacin de los tipos de datos espec o cos de cada campo y a la denicin de los o ndices(B-Trees). Como regla general debe haber un ndice por cada llave de cada tabla, pero adicionalmente se deber de disear an n ndices para optimizar las consultas o reportes que son ms frecuentes. Tambin es importante el considerar que dependiendo de a e la frecuencia de uso, el tamao de las bases de datos, el tamao de los n n ndices, el costo de actualizar los ndices, etc. algunos ndices se designan como temporales y otros como permanentes. Para nuestro caso el resultado nal esta ilustrado en las tablas 1 y 2
Cap tulo 2
Bases de Datos
18 / 101
Tipo de Campo Numrico 6 d e gitos Carcter 35 posiciones a Carcter 40 posiciones a Carcter 20 posiciones a Numrico 6 d e gitos Carcter 35 posiciones a Numrico 6 d e gitos enteros 2 decimales
Cap tulo 2
Bases de Datos
19 / 101
Cap tulo 2
Bases de Datos
20 / 101
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 an sin estar capturadas en los modelos Entidad u - Relacin o el ELKA) garantizaran que la base de datos conserve su o a INTEGRIDAD.
Cap tulo 2
Bases de Datos
21 / 101
Outline
1
Fases del Diseo de Bases de Datos n Anlisis de Requerimientos a Diseo Conceptual n Diseo Lgico n o Diseo F n sico Ejemplo de Diseo de una Base de Datos n El Modelo Entidad - Relacin o Ejemplos El Modelo ELKA Diseo de Bases de Datos n Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
Un modelo de datos trata de capturar la organizacin lgica de los datos, o o adicionalmente en ocasiones es posible capturar en l algunas reglas de e integridad y facilitar la ejecucin de consultas. o El modelado de datos semntico que usaremos ser el de Entidad a a Relacin, una Entidad es cualquier cosa de la cul deseamos llevar o a informacin, una Relacin representa la manera en la cul diferentes o o a entidades(aunque puede ser la misma).
Cap tulo 2
Bases de Datos
23 / 101
Los tres componentes de un diagrama Entidad Relacin son: o Entidades. Representados como rectngulos con el nombre de la a entidad dentro(el nombre es en singular). Relaciones. Representados como rombos, con el nombre de la relacin o dentro. Que reejan la manera en que se relacionan las entidades. Atributos. Representados como Ovalos con el nombre del atributo dentro.
Cap tulo 2
Bases de Datos
24 / 101
Adicionalmente es importante saber que: Los atributos se unen a las entidades a travs de l e neas. Las entidades se unen a las relaciones a travs de l e neas con las interpretaciones dadas en la tabla 6.
Cap tulo 2
Bases de Datos
25 / 101
REPRESENTACIN
INTERPRETACIN
Relacin1 -Obligatoria Relacin1 - No Obligatoria RelacinN -Obligatoria RelacinN - No Obligatoria
Cap tulo 2
Bases de Datos
26 / 101
De esta manera si tenemos que dos entidades estn conectadas a travs de a e una relacin tendremos un total de 16 posibles combinaciones. Cuando o una relacin conecta tres entidades tendremos 64 posibles combinaciones o de terminaciones, etc. Por otro lado existen tres tipos de Relaciones segn u se indica en las guras 7, 8 y 9.La relacin isa indica que una entidad es o un subconjunto de otra, esto implica que ambas tienen la misma llave. La relacin id implica que una de las entidades tiene adicionalmente otros o campos como llave.
Cap tulo 2
Bases de Datos
27 / 101
isa
id
Cap tulo 2
Bases de Datos
28 / 101
Ejemplos
Asignacin de Salones o El problema de asignacin de salones puede ser planteado de manera muy o simplicada como la planeacin en tiempo y espacio de un conjunto de o cursos , es decir, se tiene que denir para cada curso en que saln y a que o hora se imparte. En este sentido un posible modelo entidad relacin es o ilustrado en la gura 10
Cap tulo 2
Bases de Datos
29 / 101
Ejemplos
Da HORARIO
Termina
Inicia
# urso C
NombreCurso
Saln
CURSO SeImparte
SALN
Cap tulo 2
Bases de Datos
30 / 101
Ejemplos
Explosin de Materiales o El problema de explosin de materiales que surge en diversas empresas o manufactureras, se reere principalmente a la posibilidad de modelar que una parte est compuesta de varias partes y una parte forma parte de a varias partes. Un posible modelo Entidad -Relacin es presentado en la o gura 11.
Cap tulo 2
Bases de Datos
31 / 101
Ejemplos
PARTE
COMPOSICIN
#PARTE
Ejemplos
Departamentos, Empleados y Proyectos Se tiene una empresa en la que los empleados estn asignados a a departamentos, dentro de la empresa se desarrollan diversos proyectos y en l pueden participar empleados incluso de diferente departamento. Un e posible modelo Entidad - Relacin es presentado en la gura 12. o
Cap tulo 2
Bases de Datos
33 / 101
Ejemplos
#Dep
#Emp
NombreEmp
DEPARTAMENTO
PERTENECE
EMPLEADO
NombreDep DESARROLLA
#Proy
PROYECTO Monto
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 almacn). Un posible modelo e Entidad - Relacin se da en la gura 13. o
Cap tulo 2
Bases de Datos
35 / 101
Ejemplos
#Proyecto
Monto
PROYECTO
#Proveedor NombreProveedor #Parte
PROVEEDOR
PEDIDO
PARTE
Capacidad
#Almacn
ALMACN
Ejemplos
Empresa Completa
#Dep #Emp NombreEmp
DEPARTAMENTO
PERTENECE
EMPLEADO
NombreDep
#Parte
PARTE #Proveedor
DESARROLLA
PROVEEDOR
PEDIDO
PROYECTO
NombreProveedor ALMACN
#Proy
Monto
Capacidad
#Almacn
Ejemplos
Estado Civil La relacin isa es usada para ilustrar el estado civil de empleados en la o gura 15
#Empleado Nombre
EMPLEADOS
CA
CC
Figura 15: Modelo Entidad-Relacin de una base de datos para indicar el estado o
Dr. Jos Torres Jimnez (Cinvestav-LTI) e e Cap tulo 2 Bases de Datos 38 / 101
Ejemplos
Telenovelas El tipo de relacin id es ilustrado en una base de datos de telenovelas de o acuerdo a la gura 16
NOVELA
Nombre
Productor
id
Fecha
EPISODIO
Nmero
Ejemplos
REGLA PARA UNA RELACION isa Y UNA RELACION id. Una relacin es isa cuando la entidad que se considera HIJA tiene la o misma llave que el PADRE. Una relacin es id cuando la entidad que se o considera HIJA la llave de la entidad PADRE ms otros atributos. a
Cap tulo 2
Bases de Datos
40 / 101
Ejemplos
Universidad Dentro de una universidad se desea automatizar el proceso de inscripciones, manejo de calicaciones, generacin de listas y en general o los servicios de control escolar.
Cap tulo 2
Bases de Datos
41 / 101
Ejemplos
ALUMNO Matricula (Llave) Nombre Carrera Direccin o Tutor PROFESOR RFC (Llave) Nombre Grado Especialidad Salario Direccin o
Cap tulo 2
Bases de Datos
42 / 101
Ejemplos
SALON Nmero (Llave) u Ubicacin o Capacidad MATERIA Clave (Llave) Nombre Descripcin o PLAN DE ESTUDIOS Carrera (Llave) Materias del plan Nombre Descripcin o
Cap tulo 2
Bases de Datos
43 / 101
Ejemplos
Cap tulo 2
Bases de Datos
44 / 101
Ejemplos
Se sabe adems que: a Un alumno puede no estar inscrito en algn semestre. u Un alumno solo puede tener una carrera. Un alumno puede estar tomando cero, una o ms materias. a Un profesor puede impartir cero, una o ms materias (incluso puede a tener varios grupos de la misma). En un saln puede haber programadas, cero, una o ms materias(pero o a no a la misma hora). Las materias son abiertas por grupos pudiendo haber cero, uno o ms a grupos de una materia. Cada materia puede tener o ser prerrequisito o correquisito de cero, una o ms materias. a Las materias pueden ser comunes a diferentes carreras. Cada materia es evaluada con 3 exmenes parciales y uno nal. a Siendo la calicacin nal el promedio de las cuatro calicaciones. o Adems se lleva registro de faltas. a
Dr. Jos Torres Jimnez (Cinvestav-LTI) e e Cap tulo 2 Bases de Datos 45 / 101
Ejemplos
PLANES
CONTIENE
MATERIAS
PERTENECE
id
REQUISITO
SALN
ALUMNOS
INSCRITO
GRUPO
HORARIO
PLANEACIN
IMPARTE
SEMESTRE
PROFESSOR
Ejemplos
Praxis del Diseo de Bases de Datos n Uno de los posibles problemas de utilizar el modelo Entidad - Relacin o como herramienta para el diseo conceptual es que no es implementable n directamente en archivos planos, y es necesario realizar la conversin a su o equivalente en archivos. Ante esto han surgido algunos paquetes que realizan la conversin automtica de diagramas Entidad - Relacin a o a o Sistemas Manejadores de Bases de Datos comerciales, uno de estos paquetes es ERWIN que genera cdigo para ORACLE, SYBASE, DB2, etc. o Algunos diseadores al no contar con una forma automatizada de n manipular los diagramas Entidad - Relacin, han optado por utilizar una o forma de modelado ms cercana a archivos planos. Una de estas tcnicas a e es el modelo ELKA.
Cap tulo 2
Bases de Datos
47 / 101
Ejemplos
Es importante aclarar que una posible opcin, ser el generar los o a diagramas Entidad - Relacin y despus convertirlos a un diagrama ELKA; o e aunque en la prctica muchos diseadores generan directamente el a n diagrama ELKA sin pasar por el diagrama Entidad - Relacin. o
Cap tulo 2
Bases de Datos
48 / 101
El Modelo ELKA
Outline
1
Fases del Diseo de Bases de Datos n Anlisis de Requerimientos a Diseo Conceptual n Diseo Lgico n o Diseo F n sico Ejemplo de Diseo de una Base de Datos n El Modelo Entidad - Relacin o Ejemplos El Modelo ELKA Diseo de Bases de Datos n Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
El Modelo ELKA
Modelo de una Base de Datos Sencilla Supongamos que en el departamento de capacitacin de una empresa se o desea llevar informacin de los cursos tomados por cada empleado y de los o cursos. Los atributos de inters de los empleados son: e #Empleado Nombre Direccin o Departamento al que pertenecen Salario
Cap tulo 2
Bases de Datos
50 / 101
El Modelo ELKA
Los atributos de inters de cada curso son: e #Curso Nombre del Curso. Seguramente usted obtendr el diseo de la gura 18 a n
Cap tulo 2
Bases de Datos
51 / 101
El Modelo ELKA
# Curso ombre , N
EMPLEADOS
CURSOS
# Empleado, #Curso
INSCRITOS
Cap tulo 2
Bases de Datos
52 / 101
El Modelo ELKA
El diseo de una base de datos es una parte muy importante en el n desarrollo de una aplicacin. Se han propuesto diferentes metodolog o as para llevar a cabo esta tarea. Una de estas metodolog es el uso del MODELO ELKA que ser visto a as a continuacin. o El modelo ELKA tiene las siguientes componentes clave: E: Entity Entidad L: Link Liga K: Key Llave A: Attribute Atributo Veremos a travs de un ejemplo como se emplea esta metodolog de e a diseo. n
Cap tulo 2
Bases de Datos
53 / 101
El Modelo ELKA
Suponga que una compa necesita tener una Base de Datos que na contenga la informacin de las siguientes Entidades: o 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)
Cap tulo 2
Bases de Datos
54 / 101
El Modelo ELKA
PARTES (Num Par (llave), Nombre, Color) EMPLEADOS (Num Emp (llave),Nombre,Sueldo) ALMACENES (Num Alm (llave), Capacidad) DEPARTAMENTOS (Num Dep (llave), Nombre)
Cap tulo 2
Bases de Datos
55 / 101
El Modelo ELKA
Adems se sabe que: a Un proveedor puede suministrar una o ms partes a uno o ms a a proyectos. Un proyecto puede tener asignados uno o ms empleados incluso de a diferente departamento. Un empleado solo est asignado a un proyecto y solo pertenece a un a departamento. Un departamento tiene uno o ms empleados. a Un almacn puede tener cero, uno o ms pedidos de diferentes partes e a suministrados por diferentes proveedores. Una parte puede ser suministrada en varias cantidades por diferentes proveedores. Un pedido solo puede estar en un almacn. e Un proyecto puede tener uno o ms pedidos. a
Dr. Jos Torres Jimnez (Cinvestav-LTI) e e Cap tulo 2 Bases de Datos 56 / 101
El Modelo ELKA
Entidad Una entidad es cualquier objeto del cul se desean almacenar datos dentro a de un base de datos. Enlace Un enlace es la relacin o forma en que se relacionan las entidades v.g. o Un departamento se relaciona con empleados de forma que un departamento puede tener uno o ms empleados. a Un empleado se relaciona con departamentos de forma que un empleado solo pertenece a un departamento.
Cap tulo 2
Bases de Datos
57 / 101
El Modelo ELKA
TIPOS DE ENLACE El modelo ELKA dene 4 tipos de Enlaces: 1-a-1 1-a-N DEBIL (Cero, Uno o ms) a 1-a-N FUERTE (Uno o ms) a N-a-M
Cap tulo 2
Bases de Datos
58 / 101
El Modelo ELKA
LLAVE Es un atributo o atributos que permite identicar 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(tambin conocido como Tuplo). Un atributo es entonces un e campo de un registro.
Cap tulo 2
Bases de Datos
59 / 101
El Modelo ELKA
Representacin de una Entidad o ELKA representa una entidad como un rectngulo con un recuadro en la a esquina inferior izquierda. En el recuadro se pone el nombre de la entidad. En la parte superior dentro del rectngulo se ponen los nombres de los a 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 gura 19.
Cap tulo 2
Bases de Datos
60 / 101
El Modelo ELKA
Num _Alum,Capacidades
ALMACENES
Figura 19: Representacion de la entidad almacn e
Cap tulo 2
Bases de Datos
61 / 101
El Modelo ELKA
X Y, P ,
X Z, W ,
B
Figura 20: Representacin de un enlace de 1 a 1 o
Cap tulo 2
Bases de Datos
62 / 101
El Modelo ELKA
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 a un proyecto y a un departamento de forma que tenemos enlaces 1-a-1 segn se indica en la gura 21 u
Cap tulo 2
Bases de Datos
63 / 101
El Modelo ELKA
Num_Dep ,Nombre
DEPARTAMENTO
EMPLEADO
PROYECTO
?
Num_Emp ,NumDep _ Num_Emp ,NumProy _
EMP EPTO _ D
EMP ROY _ P
Cap tulo 2
Bases de Datos
64 / 101
El Modelo ELKA
Ejmeplo de enlace 1 a N dbil e Enlace 1-a-N dbil e La representacin es ilustrada en la gura 22. o
X Y, P , X Z, W ,
Cap tulo 2
Bases de Datos
65 / 101
El Modelo ELKA
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 ms ocurrencias a del tuplo en B Por cada ocurrencia de un tuplo en B existe una ocurrencia del tuplo en A.
Cap tulo 2
Bases de Datos
66 / 101
El Modelo ELKA
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 ms pedidos de a diferentes partes suministradas por diferentes proveedores. De esto tenemos una relacin 1-a-N DEBIL entre PEDIDOS y ALMACENES como o se ilustra en la gura 23
Cap tulo 2
Bases de Datos
67 / 101
El Modelo ELKA
PROVEEDOR
PARTE
?
Num_Prov Num_Par , , Num_Proy ,Cantidad PEDIDO
? ?
Num_Proy ,Nombre ,Fechaini _ , Fecha _fin PROYECTO
Num_alm ,Capacidad
ALMACENES
El Modelo ELKA
Enlace 1-a-N Fuerte La manera de representar este enlace se indica en la gura 24.
X Y, P , X Z, W ,
Cap tulo 2
Bases de Datos
69 / 101
El Modelo ELKA
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 ms ocurrencias del a tuplo en B. Por cada ocurrencia de un tuplo en B existe una ocurrencia del tuplo en A. De acuerdo a la denicin un departamento tiene uno o ms empleados y o a un proyecto tiene uno o mas empleados, segn se indica en la gura 25 u
Cap tulo 2
Bases de Datos
70 / 101
El Modelo ELKA
DEPARTAMENTO
EMPLEADO
PROYECTO
Num_Emp ,NumDep _
Num_Emp ,NumProy _
EMP EPTO _ D
EMP ROY _ P
Cap tulo 2
Bases de Datos
71 / 101
El Modelo ELKA
Enlace N-a-M Se representa a travs de dos enlaces 1-a-N ya sean fuertes o dbiles e e utilizando una entidad conectora. Los casos se ilustran en las guras 26, 27,28, y 29.
Cap tulo 2
Bases de Datos
72 / 101
El Modelo ELKA
XY ,
ZW ,
X Z ,
El Modelo ELKA
XY ,
ZW ,
X Z ,
El Modelo ELKA
XY ,
ZW ,
X Z ,
El Modelo ELKA
XY ,
ZW ,
X Z ,
El Modelo ELKA
DEPARTAMENTO
EMPLEADO
PROYECTO
Num_Emp ,NumDep _
Num_Emp ,NumProy _
EMP EPTO _ D
EMP ROY _ P
Num_Prov,Nombre Status ,
Num_Par,Nombre ,Color
PROVEEDOR
PARTE
PEDIDO
PED_ LM A
Num_Alm,Capacidad
ALMACENES
Bases de Datos
77 / 101
El Modelo ELKA
Modelo ELKA de una Universidad Dentro de una universidad se desea automatizar el proceso de inscripciones, manejo de calicaciones, generacin de listas y en general o los servicios de control escolar. De acuerdo a la informacin recopilada se tienen identicadas las o siguientes entidades: ALUMNO Matricula (Llave) Nombre Carrera Direccin o Tutor
Cap tulo 2
Bases de Datos
78 / 101
El Modelo ELKA
PROFESOR RFC (Llave) Nombre Grado Especialidad Salario Direccin o SALON Nmero (Llave) u Ubicacin o Capacidad MATERIA Clave (Llave) Nombre Descripcin o
Dr. Jos Torres Jimnez (Cinvestav-LTI) e e Cap tulo 2 Bases de Datos 79 / 101
El Modelo ELKA
PLAN DE ESTUDIOS Carrera (Llave) Materias del plan Nombre Descripcin o SEMESTRES ID (Llave) Inicio Fin
Cap tulo 2
Bases de Datos
80 / 101
El Modelo ELKA
Anotaciones: Un alumno puede no estar inscrito en algn semestre. u Un alumno solo puede tener una carrera. Un alumno puede estar tomando cero, una o ms materias. a Un profesor puede impartir cero, una o mas materias (incluso puede tener varios grupos de una materia). En un saln puede haber programadas, cero, una o ms materias(pero o a no a la misma hora). Las materias son abiertas por grupos pudiendo haber cero, uno o ms a grupos de una materia. Cada materia puede tener o ser prerrequisito o correquisito de cero, una o ms materias. a Las materias pueden ser comunes a diferentes carreras. Cada materia es evaluada con 3 exmenes parciales y uno nal. a Siendo la calicacin nal el promedio de las cuatro calicaciones. o Adems se lleva registro de faltas. a
Dr. Jos Torres Jimnez (Cinvestav-LTI) e e Cap tulo 2 Bases de Datos 81 / 101
El Modelo ELKA
Carr,Nombre ,Descrip
Clave,Nombre,Descrip
CARRERAS
MATERIAS
Carr, Clave,Semestre
REQUISITOS
ID ,Inicio Fin,Anot ,
ALUMNOS
GRUPOS
SEMESTRE
Num ,Ubicacin,Capacidad
LISTAS
SALONES
PROFESORES
El Modelo ELKA
Explosin de Materiales o El problema de explosin de materiales, de forma tal que una parte puede o estar compuesta de cero, una o ms partes y una parte puede formar parte a de cero, una o ms partes.En la gura 32 se ilustra este modelo. a
Cap tulo 2
Bases de Datos
83 / 101
El Modelo ELKA
PMAYOR PMENOR ,
PARTES
EXPLOSIN
Figura 32: Modelo ELKA de explosin de materiales o
Cap tulo 2
Bases de Datos
84 / 101
El Modelo ELKA
Requisitos de Materias El problema de requisitos de materias de forma tal que una materia tiene cero, uno o ms requisitos y una materia puede ser requisito de cero, una a o ms materias. Se ilustra en la gura 33. a
Cap tulo 2
Bases de Datos
85 / 101
El Modelo ELKA
Cve Req ,
MATERIAS
REQUISITOS
Cap tulo 2
Bases de Datos
86 / 101
El Modelo ELKA
El problema de un organigrama tradicional en el que un empleado es jefe de cero, uno o ms empleados y un empleado tiene cero o un jefe. a La gura 34 contiene este modelo.
#Emp ,Nombre ,Sueldo ,Profesin Jefe Subordinado ,
EMPLEADOS
ORGANIGRAMA
Cap tulo 2
Bases de Datos
87 / 101
El Modelo ELKA
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 gura 35 indica un ejemplo de un circuito secuencial y la gura 36 presenta este modelo ELKA.
Cap tulo 2
Bases de Datos
88 / 101
El Modelo ELKA
Ex
Ey
Ez
ESTADOS
CKTO _SEC
Cap tulo 2
Bases de Datos
89 / 101
El Modelo ELKA
Arbol Genealgico o El problema de un rbol genealgico en el que una persona tiene padre y a o madre(aunque deber haber algunos que no, problema del huevo y la a gallina) y una persona puede tener cero, uno o ms hijos. La gura 37 a presenta el modelo ELKA correspondiente.
Cap tulo 2
Bases de Datos
90 / 101
El Modelo ELKA
PERSONAS
GENEALOGICO
Cap tulo 2
Bases de Datos
91 / 101
El Modelo ELKA
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 gura 38 se presenta un ejemplo de reglas del sistema experto y en la gura 39 se presenta el modelo ELKA.
Cap tulo 2
Bases de Datos
92 / 101
El Modelo ELKA
Rw
Incierto Falso Rx Ry
Verdadero
Rz
El Modelo ELKA
#R ,Nombre ,Descrip
REGLAS
CADENAS
Cap tulo 2
Bases de Datos
94 / 101
El Modelo ELKA
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 condicin es verdadera sigue una instruccin y sino sigue otra. La o o gura 40 contiene el modelo elka correspondiente.
Cap tulo 2
Bases de Datos
95 / 101
El Modelo ELKA
# InstrDescrip ,
INSTRUCCIONES
# InstrInstrVerdad , _ ,InstrFalso _
# InstrInstrSig , _
CONDICIONALES
SECUENCIALES
El Modelo ELKA
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 adems cada una de las instrucciones puede ser a secuencial o condicional.
Cap tulo 2
Bases de Datos
97 / 101
ER a ELKA
Outline
1
Fases del Diseo de Bases de Datos n Anlisis de Requerimientos a Diseo Conceptual n Diseo Lgico n o Diseo F n sico Ejemplo de Diseo de una Base de Datos n El Modelo Entidad - Relacin o Ejemplos El Modelo ELKA Diseo de Bases de Datos n Modelos ELKA Manejando Relaciones Recursivas
Procesos Concurrentes
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 conversin de un modelo Entidad o Relacin al modelo ELKA equivalente. o
Cap tulo 2
Bases de Datos
99 / 101
ER a ELKA
Transformacin de Entidades o
Transformacin de entidades o Cada una de las entidades de un modelo Entidad-Relacin es mapeada a o una tabla dentro del modelo ELKA. Es importante en este paso el designar las llaves de cada una de las tablas.
Cap tulo 2
Bases de Datos
100 / 101
ER a ELKA
Transformacin de Relaciones o
Transformacin de relaciones o Relacin N - Relacin N o o La relacin es transformada a una tabla. Esta nueva tabla hereda las llaves o de las entidades a las que estaba conectada la relacin. La llave de la o nueva tabla es la combinacin de las llaves heredadas. o Relacin N -Relacin 1 Obligatoria o o La relacin es transformada a la herencia de los campos llaves de la o entidad con relacin N a la entidad con relacin 1 obligatoria. Los campos o o heredados no forman parte de la llave. Relacin N - Relacin 1 No Obligatoria o o La relacin entre cada una de las entidades de un modelo o Entidad-Relacin es mapeada a una entidad dentro del modelo ELKA. Es o importante en este paso el designar las llaves de cada una de las entidades.
Cap tulo 2
Bases de Datos
101 / 101