erwin

56
ERWIN Herramienta CASE para el modelado de Bases de Datos

Upload: monomaidens

Post on 07-Jun-2015

2.433 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: ERWIN

ERWIN

Herramienta CASE para el modelado de Bases de Datos

Page 2: ERWIN

2Grupo Sintonía

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

Page 3: ERWIN

3Grupo Sintonía

ERWIN DABD

Componentes del diagrama

• Convención IDEF1X• Componentes

– Entidades

– Interrelacciones

– Cardinalidades

– Reglas de validación

Page 4: ERWIN

4Grupo Sintonía

ERWIN DABD

Componentes del diagrama• Entidades y atributos

• Interrelaciones: asociaciones entre entidades

nombre

Atributos clave

Atributos NO clave

nombre

Atributos clave

Atributos NO clave

nombre

Atributos clave

Atributos NO clave

interrelación

Page 5: ERWIN

5Grupo 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.

Page 6: ERWIN

6Grupo Sintonía

ERWIN DABD

Entidades1.- Independientes: no dependen de ninguna otra

entidad para su identificación.

2.- Dependientes: dependen de una o más entidades para su identificación.

nombre

Clave

Datos

nombre

Clave

Datos

Page 7: ERWIN

7Grupo Sintonía

ERWIN DABD

Atributos1.- 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)

Page 8: ERWIN

8Grupo Sintonía

ERWIN DABD

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

Page 9: ERWIN

9Grupo Sintonía

ERWIN DABD

Interrelaciones1.- En Identificación: la clave primaria de la entidad padre como parte

de la clave primaria de la hija para su identificación.

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

n-hija

Clave-padre (FK)Clave-hija

n-padre

Clave-padre

n-hija

Clave-padre (FK)

Clave-hija

Frase verbal

Frase verbal

Frase inversa

Frase inversa

Page 10: ERWIN

10Grupo Sintonía

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

Page 11: ERWIN

11Grupo Sintonía

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.

Atributo discriminador Atributo discriminador

Presentes todas las categoríasNo todas las categorías presentes

CompletaIncompleta

Padre genérico Padre genérico

Categoría 1 Categoría 1Categoría N Categoría N

Page 12: ERWIN

12Grupo Sintonía

ERWIN DABD

Interrelaciones. Cardinalidades• En identificación:

• En NO identificación: (además de las anteriores se permiten nulos en el lado derecho)

Una a cero o más

Una a una o más

Una a cero o una

Una a exactamente N

P

Z

N

Cero o una a exactamente NN

N a M (relaciones no específicas)

Page 13: ERWIN

13Grupo Sintonía

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

Page 14: ERWIN

14Grupo 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

Dirección-uso

ID_direccion (FK)DNI (FK)tipo_uso

Fecha_uso

Puede_usar Usado_por

Page 15: ERWIN

15Grupo Sintonía

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

Cliente

ID_cli

Nombre_cli

Contrato

ID_comp (FK)ID_prod (FK)ID_cli (FK)

Detalles

vende firma

Producto

ID_prod

Nombre_prod

es_comprado

Page 16: ERWIN

16Grupo Sintonía

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

ID_comp (FK)ID_cli (FK)

Fecha

contrata Es_contratado

Page 17: ERWIN

17Grupo Sintonía

ERWIN DABD

Atributos multivaluados• Un atributo multivaluado en erwin se representa

mediante una tabla.

Tiene

Persona Teléfono

DNI: Char (18)

Nombre:char(18)Direc: char (18)

Número:Char(18)DNI:char(18)

Page 18: ERWIN

18Grupo Sintonía

ERWIN DABD

Herramienta• La herramientea consiste en un ejecutable

(MMOPN32.exe)

Page 19: ERWIN

19Grupo Sintonía

ERWIN DABD

ToolBox y ToolBar

Selección de entidades y relaciones

Manipulación de datos

Añadir Interrelaciones

Añadir Entidad

Añadir Jerarquía

Añadir Texto

Crear Informe

Ver Entidades

Ver Entidades y Atributos

Ver definiciones

Funciones de zoomGenerar esquema

Seleccionar servidor

Comparar el modelo físicoy sincronizar

Page 20: ERWIN

20Grupo Sintonía

ERWIN DABD

ToolBox

Modelo lógico

Modelo físico

Entidad

JerarquiaTexto

ManipulaciónInterrelacciones

Vistas

Page 21: ERWIN

21Grupo Sintonía

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)

Page 22: ERWIN

22Grupo Sintonía

ERWIN DABD

Entidades

Page 23: ERWIN

23Grupo Sintonía

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

Page 24: ERWIN

24Grupo Sintonía

ERWIN DABD

Atributos. Tipos

Page 25: ERWIN

25Grupo Sintonía

ERWIN DABD

Atributos PK

Page 26: ERWIN

26Grupo Sintonía

ERWIN DABD

Atributos AK

Page 27: ERWIN

27Grupo Sintonía

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.

Page 28: ERWIN

28Grupo Sintonía

ERWIN DABD

Relaciones. Características

Page 29: ERWIN

29Grupo Sintonía

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

Page 30: ERWIN

30Grupo Sintonía

ERWIN DABD

Relaciones. Rolename

Page 31: ERWIN

31Grupo Sintonía

ERWIN DABD

Jerarquías

Page 32: ERWIN

32Grupo Sintonía

ERWIN DABD

Modelo Físico. Vistas

Page 33: ERWIN

33Grupo Sintonía

ERWIN DABD

M.F. Reglas Validación (I)

Page 34: ERWIN

34Grupo Sintonía

ERWIN DABD

M.F. Reglas Validación (II)

Page 35: ERWIN

35Grupo Sintonía

ERWIN DABD

M.F. Reglas Validación (III)

Page 36: ERWIN

36Grupo Sintonía

ERWIN DABD

Disparadores

Page 37: ERWIN

37Grupo Sintonía

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

Page 38: ERWIN

38Grupo Sintonía

ERWIN DABD

Restricciones de integridad

Page 39: ERWIN

39Grupo Sintonía

ERWIN DABD

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

Page 40: ERWIN

40Grupo Sintonía

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.

Page 41: ERWIN

41Grupo Sintonía

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

Page 42: ERWIN

42Grupo Sintonía

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

Page 43: ERWIN

43Grupo Sintonía

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

Page 44: ERWIN

44Grupo Sintonía

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

Page 45: ERWIN

45Grupo 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.

Page 46: ERWIN

46Grupo Sintonía

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

Page 47: ERWIN

47Grupo Sintonía

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.

Page 48: ERWIN

48Grupo Sintonía

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.

Page 49: ERWIN

49Grupo Sintonía

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

Page 50: ERWIN

50Grupo Sintonía

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

Page 51: ERWIN

51Grupo Sintonía

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.

Page 52: ERWIN

52Grupo Sintonía

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

Page 53: ERWIN

53Grupo Sintonía

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.

Page 54: ERWIN

54Grupo Sintonía

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.

Page 55: ERWIN

55Grupo Sintonía

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

Page 56: ERWIN

56Grupo Sintonía

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