Está en la página 1de 45

DISEÑO DE

BASE DE DATOS
Unidad 2 – Herramientas de Base de Datos (ERWIN)
Contenido 1 – Introducción al Erwin
Contenido 2 – Creación de Llaves
Contenido 3 – Creación de Relaciones
Contenido 4 – Modelo Físico de Datos
M S C . I N G . M A R T IN A N D RÉS G U T I É R RE Z L Ó PE Z
V E R S I O N 20 1 8
CONTENIDO DEL CURSO

Curso : Diseño de Base de Datos 2


Docente: Msc. Ing. Martín Andrés Gutiérrez López
UNIDAD DE APRENDIZAJE 2
HERRAMIENTAS DE BASE DE DATOS
OBJETIVO: Al finalizar esta
Unidad usted será capaz de
“Identificar y desarrollar las
herramientas básicas del
Software ERWIN.
Desarrollará Llaves Primarias y
Alternas.
Creará y analizará las relaciones
entra las entidades.
Desarrollará el Modelo Físico de
Datos”

Curso : Diseño de Base de Datos 4


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 ¿QUE ES ERWIN?

Es una herramienta CASE


especializada en Diseñar, Generar y
Mantener Aplicaciones de Base de
Datos de Calidad y Alto
Rendimiento

Diseño Diseño
Lógico Físico

Curso : Diseño de Base de Datos 5


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 BENEFICIOS DE ERWIN
Beneficios del Ayuda a integrar y visualizar todos los componentes del Modelo de Datos
Uso de permitiendo un fácil diseño. Esto acelera la creación de la base de datos.
Herramienta
Ayuda a asegurar la Consistencia de los Datos.- “Asegura que el dato sea el mismo
CASE si se consulta varias veces”. Erwin te permite visualizar de una manera rápida si
ERWIN hay campos o tablas mal ubicadas para poderlas ubicar adecuadamente.
Ayuda a asegurar la Mínima Redundancia de Datos al permitir visualizar todo el
modelo de datos e identificar campos repetidos.

Mejora la Productividad de los Desarrolladores al construir Sistemas de


Información.- Erwin te permite visualizar de una manera rápida cual es el camino
óptimo de búsqueda de datos que se debe seguir para obtener una información.
Facilita la COMUNICACIÓN ESTANDARIZADA de la estructura de la Base de
Datos. El modelo se comparte y es entendida por todo el equipo de desarrollo.

Permite reducir la CURVA DE APRENDIZAJE cuando se quiere enseñar el Modelo


de Datos.

Mejora la precisión al sincronizar el Modelo de Datos con la Base de Datos Física

Curso : Diseño de Base de Datos 6


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 PROPIEDADES DEL MODELO ERWIN

El Modelo de Patitas de
Gallo (o Patas de Cuervo)
usa IE.

Curso : Diseño de Base de Datos 7


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 BARRA DE HERRAMIENTAS DE ERWIN

Curso : Diseño de Base de Datos 8


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 BARRA DE HERRAMIENTAS DE ERWIN

Tipo de
Modelo
• LOGICO
• FISICO

Curso : Diseño de Base de Datos 9


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 BARRA DE HERRAMIENTAS DE ERWIN
¿Se puede
entender así
el Modelo de
Datos cuando
está lleno de
tablas y
relaciones?

Curso : Diseño de Base de Datos 10


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 BARRA DE HERRAMIENTAS DE ERWIN
Área de Negocios (STORED DISPLAYS).- Son agrupaciones de entidades que satisfacen las necesidades de
información de cierta área de negocio específica. Se pueden agrupar subconjuntos de tablas para que
muestren específicamente las tablas que se relacionan a un área de negocio. Esto hace más fácil la
visualización y entendimiento del modelo.

COMPRAS VENTAS PRODUCCION

T1 T1 T7
T2 T5 T8

T3 T4 T6 T4 T3 T9

Curso : Diseño de Base de Datos 11


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.1 BARRA DE HERRAMIENTAS DE ERWIN
Flecha
Manipulación de Atributos (Manito)
Agregar Texto
Agregar Entidad

Algunos botones
pueden cambiar si se
cambia de un
Estándar IDEF1X a IE

Curso : Diseño de Base de Datos 12


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.2 CREACION DE LLAVES EN ERWIN
PRIMARY KEY (PK).- La Llave Primaria es un campo (o grupo de campos) que juntos le dan un sentido UNICO a un registro (tupla)
de una Entidad. Se identifica con el símbolo PK. En ERWIN se puede visualizar con una llave amarilla.
tiene NUMERO
PERSONA
pertenece TELEFONICO En la Entidad PERSONA, la llave primaria (PK) es el campo “Cod_Persona”. Con dicho código se puede
Cod_Persona (PK) Cod_Persona (FK) identificar a una persona únicamente.
Id_NumTelefonico En la Entidad NUMERO TELEFONICO, la llave primaria es compuesta, y se conforma por la unión de
Nombre “Cod_Persona” + “Id_NumTelefonico”.
Apellido Paterno Número Telefónico
Apellido Materno Cod. Prefijo Ciudad
Cod. Prefijo País

FOREIGN KEY (FK).- La Llave Foránea es la llave primaria (PK) de otra entidad que ha sido relacionada con la entidad en análisis.
Estos campos llegan a convertirse en Foreign Key (FK). Esos campos sirven como referencia (link) a la entidad tercera.
tiene NUMERO
PERSONA
pertenece TELEFONICO
Cod_Persona (PK) Id_NumTelefonico

Nombre Número Telefónico


Apellido Paterno Cod. Prefijo Ciudad En la Entidad PERSONA, la llave primaria (PK) es el campo “Cod_Persona”. Con dicho código se puede
Apellido Materno Cod. Prefijo País identificar a una persona únicamente.
Cod_Persona (FK) En la Entidad NUMERO TELEFONICO, la llave Foreign Key (FK) es “Cod_Persona” que apunta como
referencia a la Entidad PERSONA.

Curso : Diseño de Base de Datos 13


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.2 CREACION DE LLAVES EN ERWIN
PRIMARY KEY (PK) y FOREIGN KEY (FK)

FRASE VERBAL DE LA RELACION


NOMBRE DE LA ENTIDAD

ZONA DE LLAVE RELACION


PRIMARIA

ATRIBUTOS DE
LA ENTIDAD

La herramienta MANITO sirve para mover los LLAVE FORANEA


atributos hacia arriba o hacia abajo entre atributos. CARDINALIDAD
DE LA RELACION (FOREIGN KEY)
Si mueves un atributo de la parte inferior a la zona
de Llave Primaria, dicho atributo también será parte
de la clave primaria.
Curso : Diseño de Base de Datos 14
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.2 CREACION DE LLAVES
PERSONA
ALTERNATE KEY (AK).- La Llave Alterna es otra llave
diferente a la PK que identifica únicamente a un Cod_Persona (PK) En la Entidad PERSONA, la llave primaria (PK)
registro. No es PK, y va en la parte de atributos. es el atributo “Cod_Persona”. Con dicho
Nombre código se puede identificar a una persona
Apellido Paterno
Apellido Materno
únicamente.
Nro DNI (AK) También se puede apreciar que existe una
llave alterna (AK), es el atributo “Nro DNI”.
Con dicho código también se puede
identificar a una persona únicamente.

PRIMARY KEY (PK) ALTERNATE KEY (AK)

Cod_Persona Nombre Apellido Paterno Apellido Materno Nro DNI

10 Scott Cain Carver 09954786

20 Tim Sanger Clements 29464081

30 Dave Ficklin Clemson 31464079

40 Stephen Halder Berkeley 20414033

50 Ian Holmes McKay 57414855

Curso : Diseño de Base de Datos 15


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

IDENTIFYING RELATION.- Una Relación de IDENTIFICACION es cuando la existencia de una tupla de la entidad
Hija depende de una tupla de la entidad Padre.
tiene NUMERO
PERSONA
pertenece TELEFONICO La Llave Primaria de la Entidad NUMERO TELEFONICO incluye la referencia a la llave
Cod_Persona (PK) Cod_Persona (FK) primaria de la entidad padre PERSONA.
Id_NumTelefonico Si la llave Primaria de esta entidad no tuviera dicha referencia, el Id_NumTelefonico por sí
Nombre solo, no le da existencia al número telefónico porque pertenece a alguien.
Apellido Paterno Número Telefónico
Apellido Materno Cod. Prefijo Ciudad
Cod. Prefijo País La línea de la relación que une las dos entidades es una LINEA CONTINUA.

NON IDENTIFYING RELATION.- Una Relación de NO IDENTIFICACION es cuando la existencia de una tupla de la
Entidad Hija no depende de una tupla de la Entidad Padre para existir.
puede ocupar
La llave Primaria de la entidad ASIENTO no incluye la referencia a la llave primaria de la
PASAJERO ASIENTO entidad PASAJERO.
puede ser
Cod_Pasajero (PK) ocupado Num_Asiento La entidad ASIENTO no necesita de tener el “cód. Pasajero” para existir. Este valor puede
estar en NULO inicialmente.
Nombre Pasajero Cod. Pasajero (FK) Sin embargo, este tipo de relaciones, hacen que la referencia “Cod. Pasajero” se traslade
a la entidad ASIENTO como una referencia FK.

Curso : Diseño de Base de Datos La línea de la relación que une las dos entidades es una LINEA DISCONTINUA. 16
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

IDENTIFYING RELATION que se convierte en NON IDENTIFYING RELATION Una relación Non-
Identifying puede
tiene ser opcional u
NUMERO obligatoria, lo cual
PERSONA La Llave Primaria de la entidad NUMERO TELEFONICO es
pertenece TELEFONICO significa que la
Cod_Persona (PK) Cod_Persona (FK) compleja e incluye la referencia a la llave primaria de la
entidad padre PERSONA más un identificador único de columna FK
Id_NumTelefonico
Nombre registro. permite NULL o
Apellido Paterno Número Telefónico NOT NULL
Apellido Materno Cod. Prefijo Ciudad respectivamente.
Cod. Prefijo País
Si configuramos el
campo
Es una práctica común en la actualidad, crear una pseudollave para la
PRACTICA COMUN “Cod_Persona” en
tiene NUMERO obligatorio (NOT
Entidad Hija que no contenga la referencia FK a la Entidad Padre
PERSONA NULL), entonces
cómo parte de la Llave Primaria. pertenece TELEFONICO
Esto puede parecer confuso, sin embargo, se mantiene la relación Cod_Persona (PK) Id_NumTelefonico la entidad Hijo SI
lógica de que el hijo no puede existir sin un padre. depende de la
Nombre Número Telefónico entidad Padre.
Podemos pensar que un número telefónico pertenece a una persona, Apellido Paterno Cod. Prefijo Ciudad
a pesar de que estén modelados como atributos de una entidad Apellido Materno Cod. Prefijo País Si configuramos
separada. Esto es una pista fuerte que es una RELACION de Cod_Persona (FK) opcional, el hijo no
IDENTIFICACION (aún si literalmente no se incluye el Cod_Persona depende.
en la llave primaria de la entidad NUMERO TELEFONICO).
Curso : Diseño de Base de Datos 17
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

NOTACION IDEF1X (Integration Definition for


NOTACION IE (Information Engineering) Information Modeling)
puede ocupar
puede ocupar
PASAJERO ASIENTO PASAJERO ASIENTO
puede ser Z
puede ser
Cod_Pasajero (PK) ocupado Num_Asiento Cod_Pasajero (PK) ocupado Num_Asiento

Nombre Pasajero Cod. Pasajero (FK) Nombre Pasajero Cod. Pasajero (FK)

IDEF1X incluye un diamante vacío en el lado del padre y


un círculo lleno en el lado de la entidad Hija. El diamante
blanco significa que el padre tendrá (0,1).
Z significa que solo acepta 0 ó 1 como valores en la
entidad Hija.

Curso : Diseño de Base de Datos 18


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

El grado de una relación se define como el número de entidades que participan en una relación.
es delegado de

contiene GRUPO AULA


ALUMNO GRUPO ALUMNO
pertenece
contiene contiene
GRADO 1 GRADO 2
RELACION REFLEXIVA RELACION BINARIA
PROGRAMACION DE CURSOS
X AULA
Programación de Cursos por Aula
Horario Curso Grupo Aula
1 8:00 AM – 11:20 AM INGENIERIA DE SISTEMAS Grupo 2017-1 AULA A
CURSO
2 11:20 AM – 3:40 PM DISEÑO DE BASE DE DATOS Grupo 2017-1 AULA B

3 3:40 PM – 6:40 PM INGENIERIA DE Grupo 2017-1 AULA A


GRADO 3
REQUERIMIENTOS RELACION TERNARIA

Nota Importante: Los conjuntos de relaciones pueden


Curso : Diseño de Base de Datos
tener cualquier grado pero lo ideal es llevarlos a 19
Docente: Msc. Ing. Martín Andrés Gutiérrez López relaciones binarias.
2.3 CREACION DE RELACIONES

Tipos de Relaciones
• 1 a 1 (uno a uno) – La entidad se relaciona una sola
vez con otra entidad y viceversa.
Ejemplo: Un PROFESOR es tutor de una sola AULA Y
un AULA es tutoriada por un solo PROFESOR. NOTACION DE PATAS DE GALLO
(PATAS DE CUERVO)
• 1 a M (uno a muchos) – La entidad se relaciona con
varios registros de la otra entidad. ESTANDAR IE
Ejemplo: Un ALUMNO pertenece a un AULA y un AULA (INFORMATION ENGINEERING)
puede tener varios ALUMNOS.

• M a M (muchos a muchos) – La entidad se relaciona


con varios registros de la otra entidad y viceversa.
Ejemplo: Un ALUMNO puede cursar varias
ASIGNATURAS y una ASIGNATURA puede ser
cursada por varios ALUMNOS.

Curso : Diseño de Base de Datos 20


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

Es la propiedad relacional que define exactamente cuantas


instancias aparecen en la Entidad HIJO por cada instancia
correspondiente de la Entidad PADRE.

Una Persona puede comprar 1 o Muchos Autos. 1 N


Un Auto puede ser comprado por 1 persona únicamente PERSONA AUTO

(1,1) (1,3)

PERSONA AUTO  Se lee de izquierda a derecha y luego de derecha a izquierda (o al revés)

Una Persona puede comprar mínimo 1 y máximo 3 Autos.


Un Auto puede ser comprado mínimo por 1 persona y máximo 1 persona

Cardinalidad MINIMA Cardinalidad MAXIMA


Curso : Diseño de Base de Datos 21
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES
Cuando decimos que hay una Relación 1 a M,
significa que para un PADRE puede haber
CERO, UNO o MAS DE UN HIJO.
PADRE HIJO

NOTACION IDEF1X (Integration Definition


NOTACION IE (Information Engineering) for Information Modeling)

1 a Cero, Uno o Muchos CLIENTE REGISTRO_VENTAS CLIENTE REGISTRO_VENTAS

1 a Uno o Muchos CLIENTE CLIENTE


P
REGISTRO_VENTAS REGISTRO_VENTAS

Z
1 a Cero o Uno CLIENTE REGISTRO_VENTAS CLIENTE REGISTRO_VENTAS

1 a 4 (Máximo 4) CLIENTE REGISTRO_VENTAS CLIENTE REGISTRO_VENTAS


4 4

Curso : Diseño de Base de Datos 22


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

Curso : Diseño de Base de Datos 23


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 BARRA DE HERRAMIENTAS DE ERWIN

Relación de Relación de Relación


Identificación No Identificación Muchos a Muchos

Relación de Relación
Identificación De No
Identificación

Curso : Diseño de Base de Datos 24


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES EN ERWIN

ES_TUTOR

PROFESOR AULA

Ejemplo:
Un PROFESOR es tutor de una sola AULA (o de ninguno
para el caso 0)

Y un AULA es tutoriada por un solo PROFESOR (aquí se


puede definir que no hay cero).

Curso : Diseño de Base de Datos 25


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

Es la propiedad relacional que salvaguarda la correcta


correspondencia de los datos con sus claves PK.
Tabla Empleado Tabla Departamento
Cod_Empleado Nombre Apellido Paterno Cod_Dpto Cod_Dpto Nombre_Dpto Eliminar o modificar valores en
(PK) (FK) (PK) la clave primaria (PK) puede
originar inconsistencias en las
10 Scott Cain OP OP OPERACIONES
claves ajenas.
20 Tim Sanger OP
CO COMERCIAL
30 Dave Ficklin CO
TE TECNOLOGIA
40 Stephen Halder TE

50 Ian Holmes

Vacío
(sin dpto.) ¿ Qué pasa si quiero borrar el registro “Operaciones” de la tabla
Departamento?
 Existen registros hijos en la Tabla Empleado que apuntan a este
valor de llave.
En el ejemplo, tengo que tomar en cuenta, que si borro la clave
“operaciones” de la Tabla Departamento, debes tomar en cuenta que
puedo afectar los registros 10 y 20 de la tabla Empleado.
Curso : Diseño de Base de Datos 26
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

Tabla Empleado Tabla Departamento


Cod_Empleado Nombre Apellido Paterno Cod_Dpto Cod_Dpto Nombre_Dpto
(PK) (FK) (PK)
10 Scott Cain OP CO COMERCIAL

20 Tim Sanger OP
TE TECNOLOGIA
30 Dave Ficklin CO

40 Stephen Halder TE

50 Ian Holmes

Supongamos que sí logré borrar el registro “Operaciones” de la tabla


Departamento y la Base de Datos no me dijo nada.
 Se presentaría una inconsistencia para los registros 10 y 20 porque
apuntan a un código de departamento que no existe!

Curso : Diseño de Base de Datos 27


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

 Para mantener la consistencia y la Integridad Referencial la Base


de Datos debe realizar una acción adicional:
Luego de borrar la clave “OP” de la tabla Departamento:
RECHAZAR.- si el sistema detecta que hay registros hijos que usan esa llave, rechazará ejecutar la acción. No borrará. También
aplica si el usuario en vez de borrar modificó el valor de la clave mencionada por otra diferente.
 BD me dice “Primero arréglame las referencias que tienes en las tablas hijas y luego ya puedes borrar la clave”.
PONER EN NULO.- si el sistema detecta que hay registros hijos que usan esa llave, sustituirá el valor de las llaves hijas por un valor
NULO. También aplica si el usuario en vez de borrar modificó el valor de la clave mencionada por otra diferente.
 BD me dice “Voy a poner automáticamente en NULO, los registros de la Tabla Empleado que pertenecían a Operaciones (OP) y
luego ya podré borrar la clave OP de la tabla Departamento”.
Tabla Empleado Tabla Departamento
Cod_Empleado Nombre Apellido Paterno Cod_Dpto Cod_Dpto Nombre_Dpto
(PK) (FK) (PK)
10 Scott Cain
1. Pone 2. Borra el
OP OPERACIONES
en NULO registro
20 Tim Sanger
CO COMERCIAL
30 Dave Ficklin CO
TE TECNOLOGIA
40 Stephen Halder TE

50 Ian Holmes
Curso : Diseño de Base de Datos 28
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

 Para mantener la consistencia y la Integridad Referencial la Base


de Datos debe realizar una acción adicional:
Luego de borrar la clave “OP” de la tabla Departamento:
PROPAGAR EN CASCADA.- si el sistema detecta que hay registros hijos que usan esa llave, primero eliminará todos los registros
que usan esa llave y luego borrará la llave de la tabla padre. También aplica si el usuario en vez de borrar modificó el valor de la
clave mencionada por otra diferente. Al propagar, todos los registros que tengan como referencia el valor de llave antigua serán
cambiadas al valor de llave nuevo.
 BD me dice “Voy a borrar automáticamente todos los registros de la Tabla Empleado que pertenecían a Operaciones (OP) y
luego ya podré borrar la clave OP de la tabla Departamento”.
Tabla Empleado Tabla Departamento
Cod_Empleado Nombre Apellido Paterno Cod_Dpto Cod_Dpto Nombre_Dpto
(PK) (FK) (PK)
10 Scott Cain OP
1. Elimina 2. Borra el
OP OPERACIONES
los registro
20 Tim Sanger OP registros
CO COMERCIAL
30 Dave Ficklin CO
TE TECNOLOGIA
40 Stephen Halder TE

50 Ian Holmes

Curso : Diseño de Base de Datos 29


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

El usuario diseñador puede configurar las


acciones a realizar para cada relación con
PROFESOR ASIGNATURA llave Foránea.
• En R1:
Cod_Profesor (PK) Cod_Asignatura (PK)
• MODIFICAR: Propagar en Cascada
• ELIMINAR: Rechazar
• En R2:
• MODIFICAR: Poner en NULO
CLASE • ELIMINAR: Rechazar

R1 Cod_Profesor (PK) R2
Cod_Asignatura (PK)
Caso Especial
Al modificar el valor de llave de un registro en
“Cod_Asignatura” en la Tabla Padre ASIGNATURA, está
configurado de poner en NULO los hijos.
La Tabla CLASE es hija, pero “Cod_Asignatura” no puede
ser NULO porque es parte de la Llave Primaria (PK) de
esa tabla.
Por lo tanto, la Base de Datos, rechazará la ejecución de
modificación.

Curso : Diseño de Base de Datos 30


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

UNIVERSIDAD
Cod_Universidad (PK)

Nombre_Universidad

DEPARTAMENTO
R1 Cod_Universidad (FK)
Cod_Departamento (PK)

Nombre_Departamento
Para (FK) Cod_Universidad REF UNIVERSIDAD
• MODIFICAR: Propagar en Cascada
• ELIMINAR: Propagar en Cascada

PROFESOR
R2
Cod_Profesor (PK)
Para (FK compuesto) Cod_Universidad + Cod_Departamento
REF DEPARTAMENTO Nombre_Profesor
• MODIFICAR: Propagar en Cascada Cod_Universidad (FK)
• ELIMINAR: Propagar en Cascada Cod_Departamento (FK)

Curso : Diseño de Base de Datos 31


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES EN ERWIN

ERWIN te ofrece las siguientes opciones:


• CASCADE [Propagar en Cascada].- Cada vez que una
instancia en la entidad padre es borrada, cada instancia
relacionada en la tabla hija deberá también ser borrada.
• RESTRICT [Rechazar].- No se puede borrar una
instancia de la entidad padre, si existe uno o más
instancias en la entidad hija. O también, el borrado de
una instancia en la entidad hija es rechazado si hay una
instancia relacionada en la entidad padre.
• SET NULL [Poner en Nulo].- Cada vez que una instancia
en la entidad padre es borrada, los atributos FK de cada
instancia de las tablas hijas son puestas en NULO.
• SET DEFAULT .- Cada vez que una instancia en la
entidad padre es borrada, los atributos FK de cada
instancia de las tablas hijas son fijadas al valor por
defecto especificado.
• NONE .- No se requiere acción de integridad referencial.
Esta opción desconecta el mecanismo de la base de
datos con la cual asegura la consistencia de los datos.
Usado en casos, en que haya tablas hijos que no
dependan de sus padres.
Curso : Diseño de Base de Datos 32
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

CUENTA CUENTA DE CUENTA DE


HAY CORRIENTE AHORRO PRESTAMO
SIMILITUDES Num_CuentaCorriente Num_CuentaAhorro Nro_CuentaPrestamo
Fecha_Apertura_Cuenta Fecha_Apertura_Cuenta Fecha_AperturaPrestamo
ENTRE LOS Fecha_Revision_Cuenta Fecha_Revision_Cuenta Fecha_Revision_Cuenta
ATRIBUTOS DE Saldo_Corriente Saldo_Ahorros Tasa_Interes_Prestamo
Saldo_Disponible Tasa_Interes
LAS ENTIDADES Cargo_por_cuenta Interes_Ganado
Saldo_Prestamo_Actual

CUENTA
BANCARIA

PUEDES
ORGANIZARLAS
EN JERARQUIA
CUENTA CUENTA DE CUENTA DE
CORRIENTE AHORROS PRESTAMOS

Notación IDEF1X
Curso : Diseño de Base de Datos 33
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES
CUENTA CUENTA BANCARIA
CORRIENTE
Num_CuentaCorriente Id_CuentaBancaria (PK)
Fecha_Apertura_Cuenta
Fecha_Revision_Cuenta Nro_CuentaBancaria
Saldo_Corriente Tipo_Cuenta
Saldo_Disponible Fecha_Apertura_Cuenta
Cargo_por_cuenta Fecha_Revision_Cuenta Atributo Discriminador
Tipo_Cuenta de Sub-Tipo (DiscrSubT)
CUENTA DE
AHORRO
Num_CuentaAhorro
Fecha_Apertura_Cuenta
Fecha_Revision_Cuenta
Saldo_Ahorros
Tasa_Interes CUENTA CUENTA DE CUENTA DE
Interes_Ganado
CORRIENTE AHORRO PRESTAMO
CUENTA DE Id_CuentaBancaria (PK) Id_CuentaBancaria (PK) Id_CuentaBancaria (PK)
PRESTAMO Saldo_Corriente Saldo_Ahorros Fecha_Prestamo_Original
Nro_CuentaPrestamo Saldo_Disponible Tasa_Interes Tasa_Interes_Prestamo
Fecha_AperturaPrestamo Cargo_por_cuenta Interes_Ganado Saldo_Prestamo_Actual
Fecha_Revision_Cuenta
Fecha_Prestamo_Original
Tasa_Interes_Prestamo
Saldo_Prestamo_Actual
Notación IDEF1X
Curso : Diseño de Base de Datos 34
Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES

CUENTA BANCARIA • Subtipo Incompleto.- El modelador siente que pueden


Tipo_Cuenta (DiscrSubT) haber otras entidades subtipos aún no descubiertas.
Se identifica con una simple línea debajo del círculo.

CUENTA_BANCARIA.Tipo_Cuenta aceptará valores


“C” (Cuenta Corriente), “A” (Cuenta Ahorro) y “P”
CUENTA CUENTA DE CUENTA DE (Cuenta de Préstamo) por el momento.
CORRIENTE AHORRO PRESTAMO

EMPLEADO
Tipo_Empleado (DiscrSubT)

• Subtipo Completo.- Todas las entidades subtipo son las


definidas. No habrá nuevas entidades. Se identifica con una
EMPLEADO EMPLEADO
línea doble debajo del círculo.
MASCULINO FEMENINO
EMPLEADO.Tipo_Empleado aceptará valores “M” y “F”
únicamente.
Curso : Diseño de Base de Datos 35
Docente: Msc. Ing. Martín Andrés Gutiérrez López Notación IDEF1X
2.3 CREACION DE RELACIONES

EMPLEADO • Subtipo Exclusivo.- Es cuando una instancia de la entidad


Tipo_Empleado (DiscrSubT) padre puede relacionarse solamente a una y solo una
entidad hija.

EMPLEADO.Tipo_Empleado aceptará valores “M” ó “F”


únicamente.
EMPLEADO EMPLEADO
MASCULINO FEMENINO

EMPLEADO
Tipo_Empleado (DiscrSubT)

• Subtipo Inclusivo.- Es cuando una instancia de la entidad


padre puede relacionarse a más de una entidad hija.
EMPLEADO CON EMPLEADO MANEJA
LICENCIA CONDUCIR OFIMATICA EMPLEADO.Tipo_Empleado aceptará valores “L” (Licencia
de Conducir), “O” (Ofimática) y “A” (ambos).

Curso : Diseño de Base de Datos Notación IDEF1X 36


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES EN ERWIN

Tiene una Entidad (Super-type) EMPLEADO.


Quieres diferenciar los empleados que trabajan Tiempo Parcial de los que
trabajan Tiempo Completo.
Erwin te permite crear un atributo discriminador dentro de la entidad
Empleado. Por ejemplo, el atributo “Employee Type” aceptará los valores
“F” ó “P” únicamente.
Agregar Categoría (Sub-type)
VISTA LOGICA VISTA FISICA
EMPLOYEE

COD_EMPLEADO, Integer
NOMBRE_EMPLEADO, Varchar2(40)
F P EMPLOYEE_TYPE, Char(1), “F/P”

Notación IE

Curso : Diseño de Base de Datos 37


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.3 CREACION DE RELACIONES EN ERWIN

En IE, la
característica
COMPLETA/
INCOMPLETA
es una
definición de
la entidad
pero no se
visualiza
gráficamente.

Curso : Diseño de Base de Datos 38


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 BARRA DE HERRAMIENTAS DE ERWIN

Tipo de
Modelo
• LOGICO
• FISICO

Curso : Diseño de Base de Datos 39


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 NOMENCLATURA EN EL MODELAMIENTO
LOGICO Y FISICO

Curso : Diseño de Base de Datos 40


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 BARRA DE HERRAMIENTAS DE ERWIN

Algunos botones
pueden cambiar si
se cambia del
Modelo Lógico al
Físico.

Tabla

Curso : Diseño de Base de Datos 41


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 CREACION DE TABLAS MUCHOS A MUCHOS
EN ERWIN

MODELO LOGICO MODELO FISICO


RELACION MUCHOS A MUCHOS.- Se puede modelar dos Entidades SE ROMPE LA RELACION.- Se crean tres tablas. Las dos primeras son
con una relación MUCHOS A MUCHOS. las tablas padres derivadas de las dos entidades. La tercera es una
tabla hija de los dos con relaciones 1 a Muchos con cada una de sus
tablas padres.

PROFESOR R1 ASIGNATURA PROFESOR ASIGNATURA


Puede dictar
Cod_Profesor (PK) Cod_Asignatura (PK) Cod_Profesor (PK) Cod_Asignatura (PK)
Puede ser dictada

PROFESOR_X_ASIGNA
TURA

R1 Cod_Profesor (PK) R2
Cod_Asignatura (PK)

Curso : Diseño de Base de Datos 42


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 CREACION DE TABLAS CON RELACIONES DE
CATEGORIA (SUBTYPE) EN ERWIN
MODELO LOGICO MODELO FISICO
• DEJAR COMO ESTA.- Deja el símbolo de
Subtipo en la ventana de diagramación, como
una indicación para el modelador físico que la
relación necesita ser resuelta.
F P • ROLL DOWN.- Crea dos tablas basadas en la
combinación de la entidad supertipo con las
entidades subtipo.
• ROLL UP.- Crea una sola gran tabla que incluye
Notación IE todos los atributos de las tres entidades.
• IDENTITY.- Agrega tres tablas basadas en las
entidades iniciales y estas tablas unidas por
relaciones de identidad.

Curso : Diseño de Base de Datos 43


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 CREACION DE TABLAS CON RELACIONES DE
CATEGORIA (SUBTYPE) EN ERWIN
EMPLEADO
MODELO FISICO
MODELO
ROLL DOWN.- Crea dos ROLL UP.- Crea una sola IDENTITY.- Agrega tres
LOGICO Id_Empleado (PK)
Nombre_Empleado tablas basadas en la gran tabla que incluye tablas basadas en las
Apellido_Empleado
Tipo_Empleado (DiscrSubT)
combinación de la todos los atributos de las entidades iniciales y
entidad Supertipo con tres entidades. estas tablas unidas por
las entidades subtipo. relaciones de identidad.
X
F P EMPLEADO EMPLEADO
EMPLEADO EMPLEADO EMPLEADO
FULL-TIME
FULL-TIME PART-TIME Id_Empleado (PK) Id_Empleado (PK)
Id_Empleado (PK)
Id_Empleado (PK) Nombre_Empleado
Id_Empleado (PK) Nombre_Empleado Nombre_Empleado
Nro_RUC Apellido_Empleado
Nro_CuentaBancaria Apellido_Empleado Apellido_Empleado
PorcRetencion Tipo_Empleado
Tipo_Empleado Tipo_Empleado
Nro_CuentaBancaria Nro_CuentaBancaria
Nro_RUC EMPLEADO
PorcRetencion FULL-TIME
EMPLEADO
PART-TIME Id_Empleado (PK)
Nro_CuentaBancaria
Id_Empleado (PK)
Nombre_Empleado
Apellido_Empleado
Tipo_Empleado
EMPLEADO
Nro_RUC PART-TIME
PorcRetencion Id_Empleado (PK)
Nro_RUC
PorcRetencion

Curso : Diseño de Base de Datos 44


Docente: Msc. Ing. Martín Andrés Gutiérrez López
2.4 MODOS DE OPERACIÓN FISICA CON ERWIN

MODOS DE OPERACIÓN DE
ERWIN

• Exportar Modelo (Forward


Engineer)
• Compara y Completa
• Ingeniería Inversa
(Reverse Engineer)

Curso : Diseño de Base de Datos 45


Docente: Msc. Ing. Martín Andrés Gutiérrez López
FIN DE LA UNIDAD DE APRENDIZAJE 2
HERRAMIENTAS DE BASE DE DATOS
(ERWIN)
COMPETENCIA ADQUIRIDA:
Usted ya es capaz de
“Identificar y desarrollar las
herramientas básicas del
Software ERWIN.
Sabe como desarrollar Llaves
Primarias, Foráneas y Alternas.
Sabe como crear y analizar las
relaciones entra las entidades.
Sabe como desarrollar el
Modelo Físico de Datos”

Curso : Diseño de Base de Datos 46


Docente: Msc. Ing. Martín Andrés Gutiérrez López

También podría gustarte