ERWIN

Herramienta CASE para el modelado de Bases de Datos

ERWIN

DABD

Objetivo
• Herramienta CASE para 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

Grupo Sintonía

2

ERWIN

DABD

Componentes del diagrama
• Convención IDEF1X • Componentes
– – – – Entidades Interrelacciones Cardinalidades Reglas de validación

Grupo Sintonía

3

ERWIN

DABD

Componentes del diagrama
• Entidades y atributos
nombre Atributos clave Atributos NO clave

• Interrelaciones: asociaciones entre entidades
nombre Atributos clave Atributos NO clave interrelación nombre Atributos clave Atributos NO clave
4

Grupo Sintonía

ERWIN

DABD

Comp. del diagrama (cont.)
• Dominios
– Lógico: significado de las entidades, atributos, etc. y relaciones entre ellas. – Físico: valores de los mismos, tipos de datos (char, boolean, …), dominios de validación, valores máximos y mínimos de los datos, …, y vistas.

Grupo Sintonía

5

ERWIN

DABD

Entidades
1.- Independientes: no dependen de ninguna otra entidad para su identificación.
nombre Clave Datos

2.- Dependientes: dependen de una o más entidades para su identificación.
nombre Clave Datos
Grupo Sintonía 6

ERWIN

DABD

Atributos
1.- Clave primaria (PK): atributo o grupo de atributos elegido como el único identificador de una entidad. 2.- Clave candidata (CK): atrib. o grupo de atrib. que pueden ser elegidos como PK. 3.- Clave ajena (FK): clave primaria de otra entidad. 3.- Atrib. no clave: no puede ser elegido como PK. 4.- Atrib. derivado: calculado a partir de otros atribs. (no necesita ser almacenado físicamente)
Grupo Sintonía 7

ERWIN

DABD

Atributos
5.- Role-name.atributo (FK): Nombre del role de un atributo (ej. Reflexivas). Se toma un nuevo nombre para la FK que tenga una connotación con su uso 6.- Grupo (c1,c2,c3): El atributo es un grupo y se listan los componentes 7.- Clave ajena unificada (fk1,fk2,fk3)(FK):La lista de claves se unen en una simple FK 8.- Derivados (D): Cuando un atributo se calcula a partir de otros.
Grupo Sintonía 8

ERWIN

DABD

Interrelaciones
1.- En Identificación: la clave primaria de la entidad padre como parte de la clave primaria de la hija para su identificación.
n-padre Clave-padre
Frase verbal Frase inversa

n-hija Clave-padre (FK) Clave-hija

2.- En NO Identificación: la clave primaria de la entidad padre como parte del área de datos de la hija (no en el área de claves.
n-padre Clave-padre
Frase verbal Frase inversa

n-hija Clave-padre (FK) Clave-hija

Grupo Sintonía

9

ERWIN

DABD

Interrelaciones
• En existencia: No se implementan en ERWIN. Se tratan como de no identificación, pero con restricciones de integridad (borrado en cascada, …) • No específicas: No hay claves que contribuyan a la relación, pero algunas de las claves de la primera están relacionadas con la segunda.
Primera entidad Frase verbal Frase inversa Segunda entidad

Grupo Sintonía

10

ERWIN

DABD

Interrelaciones
• Jerarquías: Cuando cada categoría de la entidad representa un subgrupo de un padre genérico y existe un atributo discriminador. Pueden ser completas e incompletas.
Padre genérico Padre genérico

Atributo discriminador Completa Presentes todas las categorías Categoría 1 Categoría N

Incompleta

Atributo discriminador

No todas las categorías presentes

Categoría 1

Categoría N
11

Grupo Sintonía

ERWIN

DABD

Interrelaciones. Cardinalidades
• En identificación:
Una a cero o más
P Z N

Una a una o más Una a cero o una Una 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 derecho)
N

Cero o una a exactamente N

Grupo Sintonía

12

ERWIN

DABD

Interrelaciones Reflexivas
• Donde la entidad padre coincide con la entidad hija • Es obligatoriamente una interrelación de tipo NO IDENTIFICACIÓN. • Resolución:
– El nombre de la clave ajena (FK) cambian en el área de datos (owner-id.clave). – Es opcional (cardinalidad mínima a 0 => diamante)
nombre Clave Otros atributos ... Owner-id.Clave
13

Grupo Sintonía

ERWIN

DABD

Interrelaciones No Específicas
• Interrelaciones N:M • Resolución: Creación de una nueva entidad dependiente en identificación (propagando claves). PE:
Persona DNI Nom_persona Dirección ID_dirección Detalles_dir

Puede_usar

Dirección-uso ID_direccion (FK) DNI (FK) tipo_uso Fecha_uso

Usado_por

Grupo Sintonía

14

ERWIN

DABD

Interrelaciones n-arias
• Sólo se permiten relaciones binarias • Resolución: Creación de una nueva entidad dependiente en identificación (propagando claves). PE:
Compañía ID_comp Nombre_comp Producto ID_prod Nombre_prod Cliente ID_cli Nombre_cli

vende

Contrato ID_comp (FK) ID_prod (FK) ID_cli (FK) Detalles

es_comprado firma

Grupo Sintonía

15

ERWIN

DABD

Atributos en Interrelaciones
• Resolución: Creación de una nueva entidad (nombre de la interrelación) dependiente en identificación (propagando claves de las entidades asociadas). PE:
Compañía ID_comp Nombre_comp Cliente ID_cli Nombre_cli

contrata

Contrata ID_comp (FK) ID_cli (FK) Fecha

Es_contratado

Grupo Sintonía

16

ERWIN

DABD

Atributos multivaluados
• Un atributo multivaluado en erwin se representa mediante una tabla.
Persona DNI: Char (18) Nombre:char(18) Direc: char (18) Tiene Teléfono Número:Char(18) DNI:char(18)

Grupo Sintonía

17

ERWIN

DABD

Herramienta
• La herramientea consiste en un ejecutable (MMOPN32.exe)

Grupo Sintonía

18

ERWIN

DABD

ToolBox y ToolBar
Crear Informe Ver Entidades Ver Entidades y Atributos

Funciones de zoom
Ver definiciones

Generar esquema

Seleccionar servidor
Añadir Entidad Selección de entidades y relaciones Añadir Jerarquía Añadir Texto

Manipulación de datos

Añadir Interrelaciones

Comparar el modelo físico y sincronizar

Grupo Sintonía

19

ERWIN

DABD

ToolBox
Entidad Jerarquia Texto

Modelo lógico
Manipulación Interrelacciones

Vistas

Modelo físico

Grupo Sintonía

20

ERWIN

DABD

Entidades
• Construir entidades
– Erwin toolbox – Editor de entidad (Nombre, notas, Definición)

• Editor de definición de entidad
– Dos veces sobre entidad (anotar/editar definición, consultar definición y cambiar nombre)

Grupo Sintonía

21

ERWIN

DABD

Entidades

Grupo Sintonía

22

ERWIN

DABD

Atributos
• Usar el editor entidad-atributo
– – – – – – Construir atributo de clave primaria Construir atributo no clave Construir clave alternativa Construir una clave invertida Navegar a otras entidades Editor de definición de atributos ( generar definiciones, notas, consultar y definir atributos)

• Editar sobre pantalla
– Añadir atributos a una entidad
Grupo Sintonía 23

ERWIN

DABD

Atributos. Tipos

Grupo Sintonía

24

ERWIN

DABD

Atributos PK

Grupo Sintonía

25

ERWIN

DABD

Atributos AK

Grupo Sintonía

26

ERWIN

DABD

Interrelaciones
• Construir la relación
– – – – Seleccionar el tipo de relación deseada Seleccionar padre Seleccionar hijo Relacionar la flecha

• Posicionarla
– Se puede ajustar por origen, destino, manejar la relación

• Nombrar la relación
– Con el botón derecho en la línea, editor de la relación.
Grupo Sintonía 27

ERWIN

DABD

Relaciones. Características

Grupo Sintonía

28

ERWIN

DABD

Relaciones. Restricciones
• Establecer restricciones
– – – – Segundo botón en la línea Editor relación Rolename/IR action En IR elegir para el padre y el hijo las restricciones de borrado, inserción y modificación deseadas

• Para relaciones en identificación hay: restrict, cascada, set null, set default, none • Para relaciones en no identificación hay: restrict, cascada, none
Grupo Sintonía 29

ERWIN

DABD

Relaciones. Rolename

Grupo Sintonía

30

ERWIN

DABD

Jerarquías

Grupo Sintonía

31

ERWIN

DABD

Modelo Físico. Vistas

Grupo Sintonía

32

ERWIN

DABD

M.F. Reglas Validación (I)

Grupo Sintonía

33

ERWIN

DABD

M.F. Reglas Validación (II)

Grupo Sintonía

34

ERWIN

DABD

M.F. Reglas Validación (III)

Grupo Sintonía

35

ERWIN

DABD

Disparadores

Grupo Sintonía

36

ERWIN

DABD

Generación del Script
• Una vez generado el modelo, se crea el script, dependiente del SGBD. • Pasos: Elección del modelo físico; Pinchar en:
Server> Target Server

Grupo Sintonía

37

ERWIN

DABD

Restricciones de integridad

Grupo Sintonía

38

ERWIN

DABD

Opciones del script
• Una vez elegido el SGBD (en nuestro caso Oracle)

Grupo Sintonía

39

ERWIN

DABD

Opciones del script
• Las opciones de la primera línea son:
– Report (list box): Muestra el report actual, aunque se puede elegir otro (pinchando) – New: Abre un nuevo report y salva el actual con otro nombre – Rename: Cambia el nombre al report – Delete: Borra el report seleccionado.

Grupo Sintonía

40

ERWIN

DABD

Opciones del script
• Schema generation: Muestra en el recuadro las opciones que se debe incluir para el SGBD. Las opciones marcadas son:
– Referential Integrity: Da la opción de tener en control en el borrado y modificación de tablas.
• PK: Hacer cumplir la identidad única de cada fila en cada tabla • FK: Hacer cumplir la integridad referencial cuando la clave borrada es ajena • ON DELETE: Hacer cumplir la integridad referencial cuando se borra una variable • ON UPDATE: Hacer cumplir la integridad referencial cuando se modifica una variable
Grupo Sintonía 41

ERWIN

DABD

Opciones del script
• UNIQUE (AK): Una clave debe ser única • SP_PRIMARY KEY: Incluir en el sistema procedimientos que generan la clave primaria en cada tabla • SP_FOREIGN KEY: Incluir en el sistema procedimientos que generan la clave ajena

– Schema options: Controla el nivel del esquema de opciones
• <PHYSICAL OBJECT> Incluir una definición de objeto físico en el esquema • CREATE PROCEDURE: Incluye un procedimiento de almacenamiento del esquema • DROP PROCEDURE: Incluye sentencias de borrado del esquema
Grupo Sintonía 42

ERWIN

DABD

Opciones del script
• DROP MACRO. Incluye sentencias de borrado de las macro del esquema • PRE_SCRIPT. Ejecuta pre-scripts sujetos a un esquema después de que el esquema es generado PRE_SCRIOPT. • POST_SCRIPT. Ejecuta post-scripts sujetos a un esquema después de que el esquema es generado • DISTINCT DATATYPE. Incluir sentencias CREAR DISTINCT para cada tipo de usuario DB2/2 en el esquema. Se pueden generar los usuarios en el editor de dominios. • CREATE DOMAIN. Incluir sentencias de crear dominios para cada usuario InterBAse o Rdb en el esquema. Se pueden definir los usuarios en el editor de dominios • CREATE DATATYPE. Incluir sentencias de crear DATATYPE para cada usuario SQL en el esquema. . Se pueden definir los usuarios en el editor de dominios
Grupo Sintonía

43

ERWIN

DABD

Opciones del script
• TABLESPACE Incluir sentencias de Crear tablespace en el esquema • ROLLBLACK SEG. Incluir sentencias crear rollback segment en el esquema • DATABASE. Incluir sentencias para crear database en el esquema. • SEGMENT. Incluir sentencias crear segment en el esquema • CREATE DBSPACE. Incluir sentencias crear dbspace en el esquema • SP_ADDTYPE. Incluir sentencias de crear SP_ADDtype en el esquema • CREATE RULE. Incluir validación de definición en el esquema • CREATE DEFAULT. Incluye definición de variables por defecto en el esquema 44

Grupo Sintonía

ERWIN

DABD

Opciones del script
– Column option. Añade cláusulas adicionales al SQL CREATE TABLE del esquema. Opciones:
• ATRIBUTTE INTEG. Incluye restricciones para cada columna definida • COLUMN CHECK. Incluye restricciones para cada columna definida • INTEGRITY/CHECK. Incluir para cada check de nivel de columna restricciones en el esquema • PHYSICAL ORDER. Preserva el orden físico de las columnas tal y como genera el erwin el nuevo esquema • SP_BINDRULE. Incluye un estado que obliga a la restricción en la columna. • SP_BINDEFAULT. Incluye un estado que obliga a la restricción por defecto en la columna.
Grupo Sintonía 45

ERWIN

DABD

Opciones del script
• VALIDATION: incluye reglas de validación por cada columna • FIELDPROC/CHECK. Incluye un estado que obliga a la restricción por defecto de la columna. • INITIAL VALUE. Incluye un estado de asignación de variables iniciales a la columna. • COLUMN LABEL.Incluir una asignación de etiquetas a la columna. • LABEL. Incluir una asignación de etiquetas de columna. • COLUMN HEADING. Incluir un estado de asignación de título a la columna. • CHECK CONSTR. Incluir una restricción para cada columna definida. • USE DOMAIN. Incluir la definición de usuario del dominio de tipo de datos para la columna del esquema
Grupo Sintonía 46

ERWIN

DABD

Opciones del script
• BETWEEN. Incluir la regla de validación para la columna • TITLE. Incluir un estado de asignación de títulos a las columnas

– TRIGGER option. Permite realizar la integridad referencial seleccionando una más de las opciones:
• ERWIN GENERATED. Seleccionar esta opción para incluir los disparadores IR en el esquema para todas las IR
– IR Type override. Seleccionar este para incluir cada uno de los disparadores IR del tipo “No hacer caso” en el esquema para todas las opciones IR. – Relations override. Seleccionar esta opción para incluir cada uno de los disparadores de relación “no hacer caso” en el esquema para todas las opciones IR.

Grupo Sintonía

47

ERWIN

DABD

Opciones del script
• USER DEFINED. Seleccionar para incluir la tabla de disparadores en el sistema si no hay otra seleccionada
– IR Type override. Seleccionar este para incluir disparadores IR del tipo “No hacer caso” en la tabla de disparadores del esquema. – Relations override. Seleccionar esta opción para incluir cada uno de los disparadores de relación “no hacer caso” en la tabla de disparadores del esquema.

– Table options. Permite especificar cuales son las sentencias de definición de datos que se quieren utilizar en la generación del esquema.
• CREATE TABLE. Incluye sentencias de crear tablas para cada tabla seleccionada cuando se genera el esquema. • ENTITY INTEGR. Incluye sentencias en SQL que crea restricciones de reglas en cada tabla.
Grupo Sintonía

48

ERWIN

DABD

Opciones del script
• DROP TABLE. Ejecuta sentencias de borrar tabla antes de ejecutar las sentencias de crear tabla cuando el esquema es generado. Se ejecuta un borrar tabla antes de un crear tabla para cada tabla. • INTEGRITY/CHECK. Incluye sentencias para cada restricción y check de nivel de tabla en el esquema generado. Se puede seleccionar cuales son las restricciones y check generadas en el editor de reglas de validación. • PHYSICAL STORAGE. Incluye objetos de almacenamiento físico y parámetros del sistema • TABLE CHECK. Incluye sentencias SQL para generar reglas de restricción para cada tabla • TABLE PRE_SCRIPT. Ejecuta pre-script sujeto a una tabla inmediatamente después de generar la tabla
Grupo Sintonía 49

ERWIN

DABD

Opciones del script
• TABLE POST_SCRIPT. Ejecuta post-script sujeto a una tabla inmediatamente después de generar la tabla. • VALIDPROC/CHECK. Incluye sentencias de restricción de check para el nivel de tabla para DB2/MVS • VALIDATION. Incluye reglas de validación asociadas con tablas en el esquema como restricciones y checks y tablas. Solo es válido cuando se elige generar un esquema PROGRESS 4GL. • CREATE ALIAS. Incluye nombres de tablas de alias que se definen en el esquema Erwin (Solo para DB/2, DB2/VMS) • DROP ALIAS. Seleccionar para incluir sentencias de borrado de nombres de la tabla de alias. Se ejecuta uno por cada alias generado en el esquema. • CREATE MACRO. Seleccionar para incluir macros de teradata en el esquema
Grupo Sintonía 50

ERWIN

DABD

Opciones del script
• DROP MACRO. Seleccionar para incluir sentencias que borran previamente las Terada macros definidas • CREATE SYNONYM. Seleccionar para incluir nombres de tablas sinónimas en el esquema definido. • DROP SYNONYM. incluye sentencias para borrar previamente nombres de tablas sinónimas en el esquema definido. • CREATE PROCEDURE. Incluir procedimientos almacenados que se definen en el esquema • DROP PROCEDURE. Incluye sentencias que borran previamente los procedimientos almacenados en el esquema.

Grupo Sintonía

51

ERWIN

DABD

Opciones del script
– Statement format:Determina si el esquema incluye un Create o un alter para cada clave primaria o ajena. Si la tabla que requiere una nueva ya existe en la BBDD usar la opción alter.
• CREATE/PK. Incluir una claúsula de clave primaria en una create table • ALTER/PK. Incluir una claúsula de clave primaria en una alter table • CREATE/FK. Incluir una claúsula de clave ajena en una create table • ALTER/FK. Incluir una claúsula de clave ajena en una alter table

Grupo Sintonía

52

ERWIN

DABD

Opciones del script
– View options. Permite tener control de las vistas del esquema.
• CREATE VIEW. Incluir estados create view para cada vista seleccionada en el esquema. • DROP VIEW. Incluir estados drop view antes de ejecutar create view cuando el esquema es generado. Se genera un drop por cada create view. • PRE-SCRIPT. Ejecuta pre-scripts sujetos a una vista antes de generar la vista. • POST-SCRIPT. Ejecuta post-scripts sujetos a una vista antes de generar la vista.

Grupo Sintonía

53

ERWIN

DABD

Opciones del script
– Other options. Permite soportar características especiales para la selección del servidor:
• COMMENTS. Incluir comentarios en las tablas y columnas generadas por Erwin • CONSTRAINT NAME. Incluir nombres de restricciones en el esquema. • QUOTE NAMES. Insertar sobre las tabls y columnas marcas de presupuesto del esquema • OWNER: Incluir la tabla cliente en el estado CREATE TABLE del esquema • USE LABELS FOR LOGICAL NAMES. Incluir etiquetas para tablas basadas en un nombre de entidad en el esquema.

Grupo Sintonía

54

ERWIN

DABD

Opciones del script
• Filter. Tabla de dialogo del filtro, selecciona las entidades que se quieren elegir en la subtarea actual para la generación del esquema.
– TABLE POOL. Muestra el nombre de las tablas que no han sido seleccionadas – TABLE. Muestra las tablas seleccionadas – TABLE FILTER Muestra las tablas seleccionadas en la generación del esquema actual.

• PREVIEW. Se realiza un vista previa del esquema • PRINT. Imprime el esquema
Grupo Sintonía 55

ERWIN

DABD

Opciones del script
• REPORT. Salva el esquema como *.ers o *.sql • GENERATE. Comienza el proceso de generación del esquema. Erwin muestra el diálogo de conexión que permite conectar erwin con el catálogo del sistema en la bbdd. • Vista previa del script:
– physical model, menu>task>forward engineering/schema generation – Se seleccionan las opciones – Preview
Grupo Sintonía 56