© fime-agvm-20041 sesión no. 3 modelación de datos, casos prácticos base de datos mtra. alicia...

29
© FIME-AGVM-2004 1 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila Facultad de Ingeniería Mecánica y Eléctric

Upload: gregorio-partida

Post on 05-Mar-2015

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 2: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 3: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 4: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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.

Page 5: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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.

Page 6: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 7: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 8: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© FIME-AGVM-2004 8

Notación ER

Entidad

EntidadDébil

Atributo

Atributocompuesto

Relación

Relación deidentificación

Atributollave

Atributoderivado

Page 9: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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.

Page 10: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© FIME-AGVM-2004 10

Ejemplo:

Empleado Trabaja_en Departamento1N

Empleado trabaja en departamento

curp nombre

sueldo fecha

D_id D_nombre

Presupuesto

Page 11: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© FIME-AGVM-2004 11

Ejercicio de la Compañía

Tiempo estimado 20 minutos

Page 12: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 13: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 14: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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)

Page 15: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 16: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 17: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 18: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 19: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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,

Page 20: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 21: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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)

Page 22: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 23: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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.

Page 24: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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)

Page 25: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© FIME-AGVM-2004 25

Resumiendo

1.- Entidades Fuertes.2.- Entidades Débiles.3.-. Relaciones 1:14.- Relaciones 1:N5.- Relaciones N:M6.- Atributos Multivalor

Page 26: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 27: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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)

Page 28: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© 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

Page 29: © FIME-AGVM-20041 Sesión no. 3 Modelación de datos, casos prácticos Base de datos Mtra. Alicia Guadalupe Valdez Menchaca Universidad Autónoma de Coahuila

© FIME-AGVM-2004 29