© FIME-AGVM-2004 1
Sesión no. 3Modelación de datos, casos prácticos
Base de datos
Mtra. Alicia Guadalupe Valdez Menchaca
Universidad Autónoma de CoahuilaFacultad de Ingeniería Mecánica y Eléctrica
© FIME-AGVM-2004 2
Modelación de DatosConcepto de modelo de datos: Es un conjunto de conceptosque pueden ser usados para describir la estructura de una base de datos. La modelación de datos es utilizada para representar entidades de interés y sus relaciones en la base de datos.Permite la conceptualización de la asociación entre varias entidades y sus atributos
Los modelos de datos se clasifican en:
•Modelo jerárquico•Modelo de redes•Modelo relacional•Modelo orientado a objetos
© FIME-AGVM-2004 3
Conceptos BásicosEntidadesEntidades: son las unidades básicas utilizadas para la modelación de objetosconcretos o abstractos(ideas o conceptos).Ejemplo:•Edificio Empleado•Silla Transacción•Curso Persona•Máquina
Uno de los primeros pasos en modelación de datos es identificar y seleccionar las entidades que formarán la base de datos
Real andabstractobjects
Requirements fordatabase
application
Entities andrelationships
to be modeled
© FIME-AGVM-2004 4
EMPLOYEE
Name Soc_Sec_N Address Skill Annual_Salary
Entidad
Atributos
Dominio: Cada atributo de una entidad tiene un conjunto particular de valores,el conjunto posible de valores que un atributo puede tener es llamado dominio.
Ejemplo:Turno: Matutino y vespertinogrado : rango de números de 1 hasta 10carrera: ISC,IEI,IMEAnnual_Salary: Números positivos entre 0 y 9,999,999.99
Atributos: Son las propiedades que caracterizan una entidad , tambiénse le llama: elementos de datos o campo de datos.
© FIME-AGVM-2004 5
Key (llaves): Una llave de una entidad es un atributo o combinación de dos o másatributos que es usado para identificar una o mas instancias.
Llave primaria (primary key): llave que identifica una sola instancia de una entidad.
Llave secundaria (secondary key): atributo o conjunto de atributos que no son candidatos a llave pero que clasifica la entidad en una característica particular.
Llave foránea(foraney key): uno o más atributos que representan la llave primariaen otra entidad.
Ejemplo:Entidad EMPLOYEEatributos: Name Soc_Sec_No
AddressDepartmentSkillAnnual_Salary
Llave primaria: Soc_Sec_No (identifica un solo registro de datos).Llave secundaria: Department (identifica a los empleados por el depto. donde trabajan).Llave foránea: No tiene.
© FIME-AGVM-2004 6
Relationship
Razón de Cardinalidad: Especifica el número de ejemplaresDe vínculos en los que puede participar una entidad y puedenSer de:
1:11:NN:M
E1 R E21 N
Razón de Cardinalidad 1:N, para E1, E2 en R
© FIME-AGVM-2004 7
RelationshipRestricción de participación: Especifica si la existencia de una entidad depende de que esté relacionada con otra entidad a través del tipo de vínculo, existen dos clases:
•Total
•Parcial
E1 R E2
Participación total de E2 en R,Participación parcial de E1 en R
© FIME-AGVM-2004 8
Notación ER
Entidad
EntidadDébil
Atributo
Atributocompuesto
Relación
Relación deidentificación
Atributollave
Atributoderivado
© FIME-AGVM-2004 9
Caso de Estudio: La Compañía1. La compañía está organizada en departamentos. Cada departamento tiene un nombre único, un número único y un cierto empleado que la dirige, y nos interesa la fecha en que dicho empleado comenzó a dirigir el departamento. 2. Cada departamento controla un cierto número de proyectos, cada uno de los cuales tiene un nombre y un número únicos, y se efectúa en un solo lugar.3. Almacenaremos el nombre, número de seguro social, dirección, salario, sexo y fecha de nacimiento de cada empleado. Todo empleado está asignado a un departamento, pero puede trabajar en varios proyectos, que no necesariamente estarán controlados por el mismo departamento. Nos interesa el número de horas por semana que un empleado trabaja en cada proyecto y quien es el supervisor .4. Queremos mantenernos al tanto de los dependientes de cada empleado con el fin de administrar sus seguros. Almacenaremos el nombre, sexo y fecha de nacimiento de cada dependiente, y su parentesco con el empleado. Diseñe un esquema ER para esta aplicación y un esquema, especifique los atributos clave de cada tipo de entidades y las restricciones estructurales de cada tipo de vínculos.
© FIME-AGVM-2004 10
Ejemplo:
Empleado Trabaja_en Departamento1N
Empleado trabaja en departamento
curp nombre
sueldo fecha
D_id D_nombre
Presupuesto
© FIME-AGVM-2004 11
Ejercicio de la Compañía
Tiempo estimado 20 minutos
© FIME-AGVM-2004 12
Modelo de datos: Caso la Compañía
Empleadoasignado
Departamento
1n
dirige
11
Proyecto
controla
n
1
Trabaja_en
n
m
Dependiente_de
Dependiente
n
1
Supervisión
1 N
supervisor
supervisado
© FIME-AGVM-2004 13
Transformación ER-RelacionalAlgoritmo de transformación ER-modelo relacional
Paso 1:Por cada tipo normal de entidades E del esquema ER, seCrea una relación R que contenga todos los atributos simples de E,Se incluyen solo los atributos simples componentes de un atributoCompuesto, la clave primaria de E será la clave primaria de R.
EMPLEADO(NSS,NOMBREE,PATERNO,MATERNO,SEXO,DIRECCION,SALARIO,FECHAN
DEPARTAMENTO(NUMEROD, NOMBRED
PROYECTO(NUMEROP, NOMBREP , LUGAR
© FIME-AGVM-2004 14
Transformación ER-RelacionalPaso 2: Por cada tipo de entidad débil D del esquema ER conTipo de entidades propietarias E, se crea una relación R y seIncluyen todos los atributos simples de D como atributos de R.
Además se incluyen como atributos de clave externa de R, losAtributos de clave primaria de la relación que corresponden alTipo de entidad propietaria, con esto damos cuenta del vínculoIdentificador de D.
La clave primaria de R es la combinación de las claves primariasDe las propietarias y la clave parcial de D, si existe.
DEPENDIENTE(NSS,Nombre_dependiente, sexo,fechaNac,Parentesco)
© FIME-AGVM-2004 15
Transformación ER-RelacionalPaso 3:Por cada tipo de vínculo binario 1:1 R del esquema ER,Se identifican las relaciones S y T que corresponden a los tipos De entidades que participan en R, se escoge una de las relaciones-digamos S- y se incluye como clave externa en S la clavePrimaria de T.
Es mejor elegir un tipo de entidades con participación total en REn el papel de S, se incluyen todos los atributos simples delTipo de vínculos 1:1 R como atributos de S
© FIME-AGVM-2004 16
Transformación de vínculos 1:1
Empleadoasignado
Departamento
1n
dirige
11
1m1
Transformaremos el tipo de vínculo 1:1 “Dirige” eligiendo Departamento para desempeñar el papel de S, debido a que su participación en Dirige es total (Todo departamento tiene un jefe), incluimos la clave primaria de la relación EMPLEADO como clave externa en la relación DEPARTAMENTO, NSSGTE, también incluimos el atributo simple Fechainicio de Dirige en laRelación DEPARTAMENTO.
ST
DEPARTAMENTO(Numerod, nombreD,NSSGte,FechaInicioGte
© FIME-AGVM-2004 17
Paso 4: Por cada tipo de vínculos normal(no débil) binario 1:N,RSe identifica la relación S que representa el tipo de entidadesParticipantes del lado N del tipo de vínculos.
Se incluye como clave externa en S la clave primaria de la relaciónT que representa al otro tipo de entidades que participa en R; laRazón es que cada ejemplar de entidad del lado N está relacionado con un máximo de un ejemplar de entidad del lado 1. Se incluyenTodos los atributos simples(o componentes simples de los atribCompuestos) del tipo de vínculos 1:N como atributos de S
Transformación de vínculos 1:N
© FIME-AGVM-2004 18
Transformación de vínculos 1:N
Empleadoasignado
Departamento
1n
Proyecto
controla
n
1
En el caso de “Asignado” incluimos la clave primaria de la relación Departamento como clave externa en la relación Empleado, en el caso de
Supervisión, incluir la clave primaria de la relación empleado como clave externa de la misma relación empleado NSSUPER. El vínculo “Controla” corresponde al atributo de clave externa NUMP.
Supervisión
1 nsupervisadosupervisor
© FIME-AGVM-2004 19
Transformación de vínculos 1:N
EMPLEADO(NSS,NOMBREE,PATERNO,MATERNO,SEXO,DIRECCION,SALARIO,FECHAN,NUMEROD,NSSUPER
DEPARTAMENTO(NUMEROD, NOMBRED
PROYECTO(NUMEROP, NOMBREP , LUGAR,NUMEROD,
© FIME-AGVM-2004 20
Transformación de vínculos N:M
Paso 5: Por cada tipo de vínculos binarios M:N, se crea unaNueva relación S para representar R, se incluyen como atributosDe clave externa en S, las claves primarias de las relacionesParticipantes, su combinación constituirá la clave primaria de S.
También se incluyen todos los atributos simples ( o componentesSimples de los atributos compuestos) del tipo de vínculosM:N
© FIME-AGVM-2004 21
Transformación de vínculos N:M
Empleado
Proyecto
Trabaja_en
n
m
Creando la relación “Trabaja_en”, incluir las claves primarias de las relaciones Empleado y Proyecto, como claves en Trabaja_en, también incluir el atributo
Horas_semana, para representar el atributo horas del tipo de vínculos
TRABAJA_EN(NSS,NUMEROP,HORAS_SEMANA)
© FIME-AGVM-2004 22
Cabe destacar que siempre es posible transformar losVínculos 1:1 y 1:N de una manera similar a como seHace con los vínculos M:N. Esta alternativa es útil sobreTodo cuando hay pocos ejemplares del vínculo, a finDe evitar valores nulos en las claves externas. En este casoLa clave primaria de la relación vínculo será la clave Externa de solo una de las relaciones entidad participantes.
En el caso de un vínculo 1:N, ésta será la relación entidadDel lado “N”, en el caso del vínculo 1:1, se elegirá la Relación entidad con participación total (si existe).
Transformación de vínculos 1:N
© FIME-AGVM-2004 23
Transformación ER-RelacionalPaso 6: Por cada atributo multivaluado A se crea una nuevaRelación R que contiene un atributo correspondiente a A, másEl atributo de clave primaria K (como clave externa en R) de La relación que representa el tipo de entidades o de vínculosQue tiene a A.
La clave primaria de R es la combinación de A y K, si elAtributo multivaluado es compuesto, se incluyen sus Componentes simples.
© FIME-AGVM-2004 24
Transformación FinalEMPLEADO(NSS,NOMBREE,PATERNO,MATERNO,SEXO,DIRECCION,SALARIO,FECHAN,NUMEROD,NSSUPER)
DEPARTAMENTO(NUMEROD, NOMBRED,NSSGTE,Fecha_inicioGte)
PROYECTO(NUMEROP, NOMBREP , LUGAR,NUMEROD)
TRABAJA_EN(NSS,NUMEROP,HORAS_SEMANA)
DEPENDIENTE(NSS,Nombre_dependiente, sexo,fechaNac,Parentesco)
© FIME-AGVM-2004 25
Resumiendo
1.- Entidades Fuertes.2.- Entidades Débiles.3.-. Relaciones 1:14.- Relaciones 1:N5.- Relaciones N:M6.- Atributos Multivalor
© FIME-AGVM-2004 26
Ejercicio: Transformar el sig. Modelo ER a Relacional.
A BA B
keyOfA keyOfBAttrOfA
derivedAttr
CompositeOfA
AttrA1 AttrA2 AttrA3
AttrOfB
1N
AttrOfBA
BB1
N
C
BC
1
1
keyOfC AttrOfC
MultiValuedAttr
parent
child
© FIME-AGVM-2004 27
Solución al ejercicio
A(KeyOfA, AttrOfA,derivedAttr,AttrA1,AttrA2,AttrA3, KeyOfB, AttrOfBA)
B(KeyOfB, AttrOfB, KeyOfC, parentKeyOfB)
C(KeyOfC, AttrOfC)
MultivaluedC(KeyOfC, MultivaluedAttr)
© FIME-AGVM-2004 28
Fin de Sesión
Tarea sesión no. 5: Caso de estudio no. 2
CapacitaciónElaborar:
1.- Modelo ER2.- Conversión a Relacional.
Good Bye
© FIME-AGVM-2004 29
Top Related