Story Transcript
Bases de Datos
Laboratorio III, L106/L111
Profesor: Goyo Celada
© Belén Vela, Goyo Celada 2011
ERwin Data Modeler • Herramienta CASE en el modelado de Bases de Datos • Metodología de trabajo: • Modelo Conceptual • Paso al Modelo Relacional • Modelado con ERWIN. • Modelo lógico • Modelo físico
• Paso al SGBD © Belén Vela, Goyo Celada 2011
GERwin / GNU Ferret 2
ERwin Al crear un nuevo modelo, existen tres tipos: • Lógico: entidades, atributos y relaciones • Físico: tablas, columnas, restricciones y vistas • Lógico/Físico: permite ver ambas vistas
© Belén Vela, Goyo Celada 2011
3
ERwin. Notaciones. 2 Tipos de Notaciones para presentar las Cardinalidades: Notación IDEF1X: Integration DEFinition for Information Modeling Notación IE: Information Engineering
© Belén Vela, Goyo Celada 2011
4
ERwin. Notaciones. E/R
Código
Nombre_e
1:N LIBRO
Tiene
EDITORIAL
(0,n)
(1,1)
IDEF1X
IE
LIBRO
EDITORIAL
Código Título ISBN Nombre_E (FK)
© Belén Vela, Goyo Celada 2011
Nombre_E Publica / Es Publicado
Dirección Ciudad Pais
LIBRO
EDITORIAL
Código Título ISBN Nombre_E (FK)
Nombre_E Publica / Es Publicado
Dirección Ciudad Pais
5
ERwin. Notaciones. Las opciones de la barra de herramientas dependerán de la notación elegida: IDEF1X Notation Logical
© Belén Vela, Goyo Celada 2011
Physical
IE Notation Logical
Physical
6
ERwin. Componentes del Diagrama. Componentes: Entidades Relaciones Cardinalidades Jerarquías Reglas de validación Dominios
© Belén Vela, Goyo Celada 2011
7
ERwin. Entidades. - Regulares: no dependen de ninguna otra entidad para su identificación.
- Débiles: dependen de una o más entidades para su identificación.
© Belén Vela, Goyo Celada 2011
8
ERwin. Entidades. 1
2
2
© Belén Vela, Goyo Celada 2011
9
ERwin. Atributos.
© Belén Vela, Goyo Celada 2011
10
ERwin. Atributos. Clave primaria (PK): atributo o grupo de atributos elegido como el único identificador de una entidad. Clave ajena (FK): clave primaria de otra entidad.
Clave alternativa (AK): atributo o grupo de atributos que pueden ser elegidos como PK. Multivaluados. © Belén Vela, Goyo Celada 2011
11
ERwin. Clave Primaria y Ajena. Atributos que forman parte de la Clave Primaria
Atributos que no forman parte de la Clave Primaria
La Clave Ajena (FK: Foreign Key) puede aparecer en ambas áreas. ¿En qué casos puede aparecer arriba? ¿En qué casos puede una FK formar parte de una PK?
© Belén Vela, Goyo Celada 2011
12
ERwin. Clave Primaria y Ajena.
Clave Ajena
© Belén Vela, Goyo Celada 2011
13
ERwin. Clave Alternativa (UNIQUE)
14 © Belén Vela, Goyo Celada 2011
ERwin. Vista de Componentes.
© Belén Vela, Goyo Celada 2011
15
ERwin. Relaciones. Regulares: la clave primaria de la entidad padre se añade a la parte del área de atributos regulares de la hija (no en el área de claves primarias). LIBRO (cód_libro, ISBN, título, nombre_e)
EDITORIAL (nombre_e, dirección, ciudad, país)
© Belén Vela, Goyo Celada 2011
17
ERwin. Relaciones. Con Dependencia en Identificación: la clave primaria de la entidad regular pasa como parte de la clave primaria de la débil para su identificación.
Con Dependencia en Existencia: No se implementan en ERwin. Se tratan como relaciones de no identificación(Regulares), pero con restricciones de integridad (borrado en cascada, …)
© Belén Vela, Goyo Celada 2011
18
ERwin. Relaciones. Cardinalidades.
© Belén Vela, Goyo Celada 2011
19
ERwin. Relaciones. Cardinalidades. En identificación: Uno a cero, uno o N P Z N
Uno a uno o N Uno a cero o uno Uno a exactamente N N a M (relaciones no específicas)
En NO identificación: (además de las anteriores, se permiten nulos en el lado de la entidad padre) N
© Belén Vela, Goyo Celada 2011
Cero o uno a exactamente N
20
ERwin. Relaciones 1:1. DNI
cód_depto
1:1 PERSONA
dirige (1,1)
DEPARTAMENTO (0,1) DEPARTAMENTO (cód_depto,..., DNI_director)
PERSONA (DNI, nombre, apellidos, dirección ...)
© Belén Vela, Goyo Celada 2011
HIJO
PADRE
21
ERwin. Relaciones. Hijo
Padre
Para presentar el Rol de una relación: Verb Phrase
© Belén Vela, Goyo Celada 2011
22
ERwin. Generación de Código SQL. Siempre a partir del modelo FÍSICO.
En Other Options, deseleccionar todo. © Belén Vela, Goyo Celada 2011
ERwin. Relaciones 1:N. cód_libro
nombre_e
1:N LIBRO
publica (0,n)
EDITORIAL (1,1) LIBRO (cód_libro, ISBN, título, nombre_e)
EDITORIAL (nombre_e, dirección, ciudad, país)
© Belén Vela, Goyo Celada 2011
23
ERwin. Relaciones 1:N. cód_libro
nombre_e
1:N LIBRO
publica (0,n)
© Belén Vela, Goyo Celada 2011
EDITORIAL
(0,1)
24
ERwin. Relaciones 1:N. cód_libro
nombre_e
1:N LIBRO
publica (1,n)
© Belén Vela, Goyo Celada 2011
EDITORIAL
(1,1)
25
ERwin. Dependencia en Identificación. cód_libro
LIBRO
ID
tiene
Entidad Regular
EJEMPLAR Entidad Débil © Belén Vela, Goyo Celada 2011
26
ERwin. Relaciones N:M. DNI
cód_propiedad
N:M
PERSONA
tiene (1,n)
© Belén Vela, Goyo Celada 2011
PROPIEDAD (0,n)
27
ERwin. Relaciones N:M. Resolución: Creación de una nueva entidad dependiente en identificación (propagando claves).
© Belén Vela, Goyo Celada 2011
28
ERwin.
Relaciones Binarias con Atributos.
DNI
Título
N:M PERSONA
Presta (1,n)
LIBRO (0,n)
Fecha
Resolución: Anticipar la transformación de la interrelación a nivel lógico e incluir el atributo en la “entidad/tabla” resultante.
© Belén Vela, Goyo Celada 2011
29
ERwin. Relaciones Ternarias. DNI
AUTOR
N:M:N
Título
Escribe
LIBRO
(1,n)
(0,n) (0,1) EDITORIAL
Nombre_E
© Belén Vela, Goyo Celada 2011
30
ERwin. Relaciones Ternarias. • Anticipar la transformación de la interrelación a nivel lógico. Hay que tener en cuenta las cardinalidades.
Sólo se permiten relaciones binarias. Resolución: Creación de una nueva entidad dependiente en identificación (propagando claves). © Belén Vela, Goyo Celada 2011
31
ERwin. Atributos Multivaluados. Un atributo multivaluado en ERWin se representa mediante una tabla. DNI Nombre Apellidos
TELÉFONO (núm_teléfono, DNI)
PERSONA PERSONA (DNI, nombre, apellidos)
Teléfono
© Belén Vela, Goyo Celada 2011
16
ERwin. Relaciones Reflexivas. núm_socio
(0,n) SOCIO (1,1)
1:N
Avala
La entidad padre coincide con la entidad hija. Obligatoriamente será una interrelación de tipo NO IDENTIFICACIÓN.
© Belén Vela, Goyo Celada 2011
32
ERwin. Relaciones Reflexivas. núm_socio
(0,n) SOCIO (1,1)
Avala
CREATE TABLE SOCIO ( núm_socio CHAR(18) NOT NULL, nombre CHAR(18) NULL, apellidos CHAR(18) NULL, PRIMARY KEY (núm_socio), FOREIGN KEY (núm_socio) REFERENCES SOCIO); © Belén Vela, Goyo Celada 2011
33
ERwin. Relaciones Reflexivas.
CREATE TABLE SOCIO ( núm_socio CHAR(18) NOT NULL, avalista CHAR(18) NOT NULL, nombre CHAR(18) NULL, apellidos CHAR(18) NULL, PRIMARY KEY (núm_socio), FOREIGN KEY (avalista) REFERENCES SOCIO);
© Belén Vela, Goyo Celada 2011
34
ERwin. Jerarquías. Jerarquías: Cuando cada subtipo de la entidad representa un subgrupo de un supertipo y existe un atributo discriminador. Pueden ser parciales o totales. TOTAL
© Belén Vela, Goyo Celada 2011
PARCIAL
35
ERwin. Jerarquía Total. Código
PROPIEDAD
1
Tipo
CASA
2
© Belén Vela, Goyo Celada 2011
36
ERwin. Jerarquía Parcial. Código
PROPIEDAD
Tipo
1
TERRENO
© Belén Vela, Goyo Celada 2011
CASA
2
37
ERwin. Atributos Opcionales. ¿NULL / NOT NULL?
© Belén Vela, Goyo Celada 2011
38
ERwin. Reglas de Validación.
© Belén Vela, Goyo Celada 2011
39
ERwin. Reglas de Validación.
© Belén Vela, Goyo Celada 2011
40
ERwin. Valores por Defecto.
© Belén Vela, Goyo Celada 2011
41
ERwin. Dominios. 2
1
© Belén Vela, Goyo Celada 2011
3
42
ERwin. Dominios.
© Belén Vela, Goyo Celada 2011
43
ERwin. Dominios.
© Belén Vela, Goyo Celada 2011
44
ERwin. Generación de Código SQL. Siempre a partir del modelo FÍSICO.
En Other Options, deseleccionar todo. © Belén Vela, Goyo Celada 2011
45
ERwin. Opciones de Generación. • Filter
• Preview, vista preliminar. • Print, imprime el esquema. • Report, permite guardar el esquema como .sql • Generate, generación del esquema solicitando conexión a un esquema de Base de Datos © Belén Vela, Goyo Celada 2011
46