AllFusion Erwin Data Modeler Autores: César R. Flores Nazario Derechos Reservados 2002
Conceptos Básicos de Modelamiento Lógico Introducción 2
Definición de Dato Es la representación de un mensaje. Debe ser OBJETIVO Definición de Información Son los datos procesados. Debe ser SUBJETIVO Dato + Proceso = Información Información = Significado percibido al recibir un mensaje Base de Datos Conjunto de datos organizados de tal manera, que pueda extraerse información y que pueda ser compartida. Entre los usuarios debe existir un consenso en lo que representan los datos (la información a obtener) Definición de Modelo Representación grafica de la realidad que son clarificados a través de texto explicativo. Ejemplo: Una representación a escala de una casa, Una representación de un automóvil, etc. Definición de Modelo de Datos Estructuras de datos y reglas de negocio que representan los requerimientos de un sistema. 3
Tipos de Modelo de Datos ERwin Los modelos de datos pueden ser: Lógico: Orientado a la empresa, Definiciones y Reglas de Negocio Físico: Restringido por el DBMS Dimensional: DataWarehousing, Diseño de DataMart Entidad Una persona, lugar, evento o concepto acerca del cual el negocio necesita guardar datos. Atributo Propiedad de una entidad que almacenara datos Llave Primaria (PK) Un atributo (Llave simple) o conjunto de atributos (Llave compuesta) que identifican únicamente una instancia (fila o registro) de una entidad. En ERwin la llave primaria esta posicionada sobre la línea en una entidad. Llave Alterna (AK) Un atributo (Llave simple) o conjunto de atributos (Llave compuesta) que identifican únicamente una instancia (fila o registro) de una entidad, pero que NO ES ESCOGIDA como llave primaria. En ERwin, se muestra por el diagrama (AKx,y) donde x representa un numero entero incrementado para cada llave alterna en una entidad; y representa el orden del atributo llave. Entrada Inversa (IE) Se utilizan cuando uno o mas atributos son usados frecuentemente para acceder a una o mas instancias (filas o registros) de las entidades. EN ERwin son mostrados en diagramas (IEx,y) después de cada atributo de la entrada inversa. donde x representa un numero entero incrementado para cada llave alterna en una entidad; y representa el orden del atributo llave. Relación Un enlace lógico entre dos entidades que representa una regla de negocio o una restricción. Llave Foránea (FK) Una llave foránea es una llave primaria de una entidad padre (Fuerte) que es AGREGADA a la entidad hijo (Débil) a través de su relación. 4
Relación Identificada La llave primaria de la entidad padre es migrada a través de la RELACION para FORMAR parte de la llave primaria de la entidad hijo. Relación Obligatoria No-Identificada La llave primaria de la entidad padre es migrada como un atributo no llave (no forma parte de la llave primaria de la entidad hijo) de la entidad hijo. La FK necesariamente tiene que tener un valor real de la PK. Relación No-Obligatoria No-Identificada La llave primaria de la entidad padre es migrada como un atributo no llave (no forma parte de la llave primaria de la entidad hijo) de la entidad hijo. La opcianalidad en el lado del padre indica que la FK en la entidad hijo puede existir sin la información de la PK de la entidad padre. Relación Muchos a Muchos La llave primaria de la entidad padre no es migrada como llave foránea. Cada frase representa la regla desde la perspectiva Padre a Hijo Hijo a Padre Rol de ERwin en el Modelamiento de Datos ERwin es una herramienta de base de datos que le ayuda a diseñar, generar y mantener aplicaciones de base de datos de calidad y alto rendimiento. Desde un modelo lógico de sus requerimientos de información y reglas del negocio que definen su base de datos, hasta un modelo físico, optimizado por las características específicas de su base de datos de destino, ERwin le permite visualizar la estructura adecuada, los elementos clave y un diseño optimizado de su base de datos. ERwin genera tablas automáticamente y miles de líneas de stored procedures y código trigger para las principales bases de datos. Su tecnología "complete-compare" permite el desarrollo interactivo, de manera que su modelo está siempre sincronizado con su base de datos. A través de la integración con los ambientes de desarrollo líderes en la industria, ERwin también acelera la creación de aplicaciones data-centric. Beneficios de ERwin Asegura consistencia, reuso, e integración de los datos del proyecto al proporcionar el bosquejo que las IT necesitan para entender, analizar y comunicar la estructura de la base de datos. Mejora la productividad entre los desarrolladores cuando los diseños de la base de datos son divididos, compartidos, y reutilizados. 5
El ambiente gráfico facilita la visualización de la estructura completa, los elementos claves y el diseño optimizado de la base de datos. Le ahorra tiempo al acelerar la creación de bases de datos de alta calidad, transaccionales de alto rendimiento y para data warehouse. Mantiene los recursos y mejora la precisión al sincronizar el modelo y la base de datos. Para el presente manual seguiremos haciendo uso del caso de estudio que se planteo en el manual de Modelamiento de Procesos. 6
Herramientas de Navegación de ERwin 3.52 Caja de Herramientas La Barra de Herramientas El Editor de Diagramas Ventana Principal de ERwin 7
La Barra de Herramientas de ERwin Nuevo Modelo Guardar Modelo Vista de No Examinar Disminuir Área de Atributos Magnificar Reportes Zoom Selección Exportar Modelo Herramienta ModelMart Tipo de Modelo Abrir Modelo Imprimir Modelo Vista de Tabla Vista de Definición Aumentar Zoom Fit Model Ingeniería Reversa Servidor de Datos Área de Negocios Barra de Herramientas Lógica IDEF1X Siempre seleccione la flecha para regresar al modo Mouse después de manipular objetos Agregar Entidad Agregar Categoría Agregar Texto Herramienta de manipulación de Atributos Relación Identificada Relación No Identificada Relación Muchos a Muchos Barra de Herramientas Lógica IE Agregar Entidad Agregar Texto Siempre seleccione la flecha para regresar al modo Mouse después de manipular objetos Agregar Categoría Herramienta de manipulación de Atributos Relación Identificada Relación No Identificada Relación Muchos a Muchos 8
El Editor de Diagrama Para crear un Modelo en ERwin utilice el Editor de Diagrama. Para ello realizar los siguientes pasos: 1. Desde el menú Edit, elegir Diagram... 2. Ingrese Nombre y Autor 3. Seleccione el Servidor de Base de Datos (Target Server) 4. Clic en OK para retornar al modelo 9
Ventana Principal de ERwin ERwin Barra de Tareas Menú Principal Barra de Texto Barra de Herramientas Área de Visualización 10
Creando Entidades y Atributos Construyendo Entidades El Editor en Pantalla Creando Atributos 11
Tipos de Entidades en ERwin En ERwin el modelo lógico puede contener dos tipos de entidades: independiente y dependiente. Una entidad independiente es una entidad que puede identificarse sin determinar su relación con otra entidad. Cada entidad tiene llave propia, se representa como una caja con rincones cuadrados. Una entidad dependiente es una entidad que para identificarse requiere de su relación a otra entidad o entidades. Se representa como una caja con rincones redondeados. Entidad Independiente Entidad Dependiente Construyendo y Nombrando Entidades Para crear una entidad realizar lo siguiente: 1. Seleccione Entidad de la Caja de Herramientas 2. Cambia el Cursor 3. Clic en el fondo del diagrama 4. Tipee el nombre de la entidad 5. Finalmente seleccione la flecha 12
Nota: ERwin establece un nombre por defecto para la Entidad así como para cualquier objeto construido. El Editor de Entidades Utilice el editor de entidades para ingresar/editar, definiciones de entidades y sus notas, para explorar definiciones, cambiar el nombre a la entidad o para asignar propiedades definidas por el usuario UPD. Para ello realizar lo siguiente 1. Clic derecho en una Entidad para mostrar el menú contextual 2. Escoja Entity Editor 1. Ingrese la Definición en el tab Definition 2. Seleccione el Combo Box en la parte superior de la ventana de dialogo para elegir otra entidad a ser editada 3. Finalmente clic en OK 13
Finalmente la entidad quedara definida tal como se muestra en la figura: Haga clic aquí para visualizar definiciones de entidades El Editor en Pantalla El editor en pantalla permite crear en forma rápida el nombre de la entidad, atributos, y llaves. Para ello realizar lo siguiente: 4. Seleccione una Entidad. 5. Presione TAB para pasar al área de los atributos llaves y escriba el nombre de los atributos 6. TAB para pasar al área de los atributos no-llave y escriba el nombre de estos 14
Nota: 1. Si la llave primaria es compuesta use la tecla ENTER para escribir atributos adicionales en esta área 2. Utilizar la tecla ENTER para incluir mas atributos El Editor de Atributos El editor es utilizado construir y editar llaves primarias y atributos no-llave, explorar entidades, definir atributos, asignar dominios y crear llaves alternas y entradas inversas. Para ingresar al editor de atributos realizar lo siguiente: 1. Clic derecho en una entidad 2. Elija la opción Attribute Editor 3. Finalmente ERwin le mostrara la siguiente ventana 1. Seleccione el CheckBox Primary Key en el tab General para designar que un atributo es parte de la llave primaria 2. Seleccione el CheckBox Logical Only para indicar que un atributo seleccionado no aparezca como una columna en el modelo fisico 3. Seleccione el CheckBox Required para indicar que un atributo debe tener un valor 15
Para el caso en estudio las entidades a crear son las siguientes: PRODUCTO CLIENTE PERSONAL USUARIO PROFORMA NOTA DE PEDIDO FACTURA BOLETA El modelo quedara tal como se muestra en la siguiente figura: Haga clic aquí para visualizar atributos 16
Creando Llaves Llaves Primaria Llaves Alternas Llaves Inversas 17
Creando Llaves Primaria (PK) Por definición un Llave Primaria es aquella que identifica de manera única una fila de la entidad. Esta debe cumplir ciertos requisitos: 1. No cambia con el tiempo 2. No acepta valores NULL 3. No acepta valores repetidos En ERwin para crear una Llave Primaria realizar lo siguiente: 1. Clic derecho sobre la entidad 2. Seleccione Key Group... 3. Posteriormente ERwin le mostrara la siguiente ventana: 18
4. En la zona de Available Attributes seleccione el atributo CODIGO DE PERSONAL 5. Posteriormente haga clic en el botón para elegir el atributo como PK 6. En el cuadro combinado que tiene como titulo Entity elija otra entidad y seleccione el atributo que usted ha elegido como Llave Primaria 7. Repita el paso 5 8. Finalmente Clic en OK Otra forma de crear Llaves Primarias es haciendo uso de la herramienta de manipulación de atributos de la barra de trabajo de ERwin de la siguiente manera: 1. Clic en la caja de herramienta que tiene como titulo manipulación de atributos 2. Haga clic en el atributo CODIGO DE PERSONAL, arrástrelo y ubíquelo por encima de la línea y suelte. 3. Automáticamente ERwin creara la Llave Primaria. 4. Realizar los mismos pasos para las demás entidades. Para el caso en estudio las lleves primaria del modelo serán las que se muestran a continuación: 19
Entidades del Modelo con sus Llaves Primarias (PK) Creando Llaves Alternas (AK) Una llave alterna (AK) es un atributo o grupos de atributos que no fueron elegidos como Llaves Primarias. En ERwin para crear una Llave Alterna realizar lo siguiente: 1. Clic derecho sobre la entidad 2. Seleccione Key Group... 3. ERwin le mostrara la siguiente ventana 1. Haga clic en el botón NEW 2. ERwin le mostrara la siguiente ventana 20
1. Seleccione Key Group y escriba AK 2. Un nombre por defecto es creado pero puede ser modificado. 3. Finalmente clic en OK 4. Luego seleccione los atributos que van a ser incluidos dentro de la llave. 5. Clic en la flecha derecha para incluir atributos 6. Finalmente clic en OK 21
Creando Llaves Inversas (IE) Para crear Llaves Inversa o Entrada Inversa repita los mismos pasos que siguió para crear una Llave Alterna. En la ventana New Key Group elija el botón que tiene como titulo Inversion Entry (no-unique). Tal como se muestra en la figura: Finalmente Seleccione los atributos que van a ser incluidos dentro de la llave y haga clic en la flecha derecha para incluirlos. El modelo quedara tal como se muestra en la figura: 22
El Modelo para el caso en estudio la entidad personal quedara tal como se muestra en la figura: Entidad Personal con una Llave Alterna (AK1.1) y con una Entrada Inversa (IE1.1) definidas 23
Creando Relaciones Relación Identificada Relación no Identificada Relación Muchos a Muchos 24
Creando Relaciones ERwin define tres tipos de relaciones: 1. Relación Identificada 2. Relación no Identificada 3. Relación Muchos a Muchos Para todos los casos la construcción de las relaciones es tal como se detalla a continuación: 1. Seleccione el tipo de relación de la caja de herramienta 2. Seleccione la entidad Padre 3. Seleccione la entidad hijo 4. Seleccione la flecha de la caja de herramienta para desactivar la relación Para el ejemplo las relaciones quedaran establecidas de acuerdo a la siguiente figura: Nota: Las relaciones están sin editarse dentro del modelo, a continuación pasaremos a hablar sobre la edición de la relaciones. 25
Editando la Relaciones Para editar una relación realizar lo siguiente: 1. Haga doble clic sobre la relación 2. ERwin le mostrara la siguiente ventana: Utilizar el TAB General para: 1. Ingresar frases a la relación 2. Cambiar Cardinalidad 3. Cambiar el tipo de relación 4. Marcar la relación como solamente Lógica Para el presente modelo edite las siguientes relaciones de acuerdo a la tabla que se muestra a continuación: Entidades Relacionadas No Null Cardinalidad Personal-Usuario X Zero-uno Cliente-Proforma SI X Pro forma-pedido SI Zero-uno Pedido-Boleta SI Zero-uno Pedido-Factura SI Zero-uno Usuario-Cliente SI X Usuario-Producto SI X Usuario-Proforma SI X Usuario-Pedido SI X Usuario-Boleta SI X Usuario-Factura SI X Finalmente el modelo se visualizara tal como se muestra en la figura: 26
Creando Frase-Verbo a las Relaciones Una frase verbo permite describir la relación entre dos entidades, para ello realizar lo siguiente: 1. Doble clic sobre la relación 2. En el TAB General ingrese a la zona que tiene como titulo Parent-to-Child y escriba el verbo para la relación 3. Finalmente clic en OK 27
Si aplicamos esta opción a todas nuestra relaciones dentro del modelo estas se visualizaran tal como se muestra en la figura: Nota: El modelo lógico debe tener todas sus entidades totalmente relacionadas, no puede existir ninguna entidad acéfala ya que dejaría de ser un modelo Entidad- Relación 28
Creando Áreas de Negocio y Stored Display 29
Áreas de Negocio (Subject Área) Permiten trabajar con un subconjunto de entidades mientras se mantiene la integridad de todo el modelo. Para crear una Área de Negocio realizar lo siguiente: 1. Haga clic en el icono de la barra de herramienta de ERwin 2. También desde el menú Edit elija Subject Área 3. ERwin le mostrara la siguiente ventana 1. Haga Clic en New 2. En la opcion Name ingrese un nombre para el área de negocio. 3. Clic en OK 4. Luego haga clic en el TAB Members y ERwin le mostrara la siguiente ventana 1. Mueva las entidades que se incluirán dentro del área de negocio 2. Incluya entidades relacionadas a una entidad utilizando los dos últimos botones 3. Seleccione un grupo de entidades combinando CTRL y/o SHIFT 30
Para visualizar realizar lo siguiente: 1. seleccione la opcion área de negocio y despliegue el botón de flecha hacia abajo 2. Seleccione el nombre del área de negocio que fue creado 3. Finalmente ERwin le mostrara lo siguiente: Área de Negocio creada con sus respectivas entidades Creando Stored Display Permiten crear Tabs en la parte inferior de la ventana principal de ERwin. Para ello realizar lo siguiente: 1. Desde el Menú Edit seleccione Stored Display... 2. ERwin le mostrara la siguiente ventana 1. Seleccione Rename 2. Ingrese el nuevo nombre 3. Clic en OK 4. Para crear mas Stored Display clic en el botón New 31
1. Clic en cada TABs para seleccionar el nivel apropiado de visualización y reordenar el modelo 2. El ordenamiento y los niveles de visualización permanecen almacenados Finalmente el modelo se visualizara tal como se aprecia en la siguiente figura: Stored Display creados en ERwin a nivel de entidades 32
Stored Display creados en ERwin a nivel de Llaves (PK) Opciones de Visualización Estas opciones permiten visualizar de distinta manera el modelo ERwin. Para ello distinguimos las siguientes opciones de visualización: 1. Nivel de Entidad 2. Nivel de Atributo 3. Nivel de Llave Primaria 4. Nivel de Definición 5. Nivel de Iconos 33
Nivel de Entidad Para ello, en la barra de herramientas de ERwin seleccione el botón Nivel de Atributo Para ello, en la barra de herramientas de ERwin seleccione el botón Nivel de Llave Primaria Para ello, en la ventana de fondo haga clic derecho y elija la opcion Display Level, posteriormente elija la opcion Primary Key 34
Creando Atributos Independientes 35
Creando Atributos Independientes En ERwin, un dominio es un objeto independiente que se utiliza para asignar rápidamente las propiedades a un atributo o la columna. Una vez que se haya definido el dominio, se pueden emplear en ambos modelos: lógico y físico. Entre sus ventajas tenemos: Promueve la consistencia Reduce el tiempo en el desarrollo y la conservación (si cambia el dominio, todas columnas asociadas con el dominio se cambian también) Apoyo a las propiedades definidas por el usuario Define los atributos y las columnas Los tipos de dominio que se pueden crear en ERwin son: String Cadena Number Numero DateTime FechaHora Blob General Para crear un Dominio realizar los siguientes pasos: 1. En el examinador de Atributos independientes haga clic en cualquier tipo de dominio por ejemplo String Haga doble clic sobre cualquier tipo de dominio 36
2. ERwin le mostrara la siguiente ventana: Haga clic en el botón New para crear un nuevo Dominio. 3. Finalmente el dominio se visualizara en el Diccionario de Dominios Dominio creado de tipo cadena 37
Por otro lado desde el Examinador de Atributos también se pueden crear Dominios para ello realizamos lo siguiente: Utilizar CRTL + clic para seleccionar todos los atributos en la entidad y luego arrastrelo al examinador de atributos Copiar los atributos existentes al explorador de atributos independientes para ser utilizados como estándar Finalmente el explorador de atributos se visualizara tal como se muestra en la siguiente figura: Dominios creados por la copia de los atributos de la entidad personal 38
Utilizando Atributos Independientes Los atributos independientes pueden utilizarse para asignar atributos existentes en el dominio en el Editor de Atributos. Cuando la herencia esta configurada correctamente, cualquier cambio hecho al dominio afectara automáticamente a los atributos referidos dentro de las entidades. 1. Crear una Entidad 2. Haga clic en la herramienta de manipulación de atributos de la caja de ERwin 3. Seleccione un atributo independiente del examinador de atributos 4. Arrástrelo y colóquelo en la zona de atributos de la Entidad 39
Refinando el Modelo de Datos Unificación Rolenames Relaciones Recursivas Resolución Muchos a Muchos 40
Unificación Cuando un atributo es migrado como una llave foránea dentro de una entidad en la que este ya existe, los dos son unificados dentro de un solo atributo. Esto se deriva de una regla IDEF en la cual si un objeto tiene el mismo nombre entonces es la misma cosa. Para demostrar este ejemplo en el modelo que se muestra, vamos a crear una entidad y en ella vamos a incluir un atributo con el mismo nombre de la llave primaria de la entidad padre y luego procederemos a establecer la relación. Entidad creada con un atributo llamado código de cliente. Al establecer la relación ERwin le mostrara la siguiente ventana: Este cuadro de dialogo muestra las siguientes opciones: 1. Reemplazar el atributo 2. Renombrar el atributo 3. Crear un nuevo nombre a la llave foránea. Finalmente haga clic en OK para establecer la relación. 41
Rolenamed Foreign Key Es un atributo cuyo nombre ha sido cambiado en la llave foránea para mostrar su rol. Para ilustrar el ejemplo veamos el caso de una tienda que vende y alquila herramientas al mismo tiempo, a su vez esta tienda pertenece a una división dentro del negocio. Según lo planteado el grafico se muestra tal como se aprecia. El grafico muestra la relación entre tienda y herramientas, nótese que al realizar la relación la misma PKs concatenadas migran a la entidad herramientas. Pero cada relación tiene que cumplir su rol respectivo dentro de la entidad hija (vende y alquila), para ello utilizamos el Rolenaming. Para ello realizamos lo siguiente: 1. Haga doble clic en la relación 2. Elija el TAB Rolename 3. En el cuadro de texto escriba el nombre para cada llave para cambiar el rol dentro de la entidad. Cambie el rol para cada llave 42
4. Finalmente el modelo se vera tal como se aprecia en la figura: Creando una Relación Recursiva Es una relación que se establece entre una misma entidad. Para el presente ejemplo vamos a crear una entidad llamada empleados y vamos a establecer la relación entre si misma, tal como se aprecia en la siguiente figura: Al establecer la relación no se puede apreciar la FK dentro de la entidad, para ello utilizar Rolename para poder visualizar la FK dentro de la entidad 1. Clic derecho en la relación 2. Elija Relationship Editor 3. Ingrese una frase 4. Asigne una Rolename a la llave foránea 5. Clic en OK para regresar al modelo 43
Finalmente la relación quedara tal como se aprecia en la siguiente figura: Aquí se puede apreciar la llave foránea sobre la misma entidad Resolviendo Relaciones Muchos a Muchos Para resolver relaciones muchos a muchos se tienen que crear entidades asociativas. También podemos resolverlas utilizando la opción Many to Many que proporciona ERwin para dichas relaciones. Para el ejemplo veamos la siguiente relación: Un método alternativo para resolver dicha relación es la siguiente: 1. Clic derecho en la relación Muchos a Muchos 2. Elija la opción Resolve Many to Many 3. Analice los resultados cuidadosamente 44
4. Finalmente la relación quedara resuelta tal como se aprecia en la siguiente figura Entidad agregada a través de la relación Muchos a Muchos Nivel de Visualización Para ello, en la barra de herramientas de ERwin seleccione el botón Nivel de Iconos Para ello, en la ventana de fondo haga clic derecho y elija la opcion Display Level, posteriormente elija la opcion Icon. 45
Refinando el Modelo de Datos Generalización Jerárquica Integridad Referencial 46
Jeneralización Jerárquica Se define como un conjunto de entidades que comparten atributos comunes. Para comprender la definición veamos un ejemplo: Padre Genérico (Supertipo). Contiene atributos y llaves generalizados Categoría (Subtipo). Entidad que contiene llaves foráneas migradas y atributos distintivos. Símbolos de las Relaciones Completa (Obligatorio) Utilizar el símbolo de categoría completa donde todos los subtipos son mostrados. Cada instancia del Supertipo debe tener una instancia en uno de los subtipos. Incompleta (Opcional) Utilizar el símbolo de incompleta donde todos los subtipos no son mostrados debido a que ellos no requieran de atributos distintivos. Cada instancia del Supertipo podría tener una instancia en uno de los subtipos. 47
Para entender esta definición veamos un ejemplo: Ejemplo de Categoría Completa Vemos el siguiente modelo donde la Regla de negocio indica que: Un vehículo debe ser un CAMION o una EMBARCACION. No puede ser otra cosa mas. La grafica será tal como se muestra en la figura: Discriminador de Categoría Tipo de vehículo 48
Ejemplo de Categoría Incompleta Vemos el siguiente modelo donde la Regla de negocio indica que: Un vehículo PODRIA ser un CAMION o una EMBARCACION. Podría ser también un AUTO pero no necesitamos registrar atributos distintivos de AUTOS por eso no lo modelamos. La grafica será tal como se muestra en la figura: Discriminador de Categoría Tipo de vehículo Crear una Generalización Jerárquica Para crear una Generalización Jerárquica realizar los siguientes pasos: 1. Seleccione el icono relación de categoría desde la caja de herramientas 2. Seleccione la entidad Supertipo 3. Seleccione la entidad subtipo (hijo) 4. Repita los siguientes pasos para cada entidad subtipo adicional a ser conectada a. Clic en el símbolo de relación de categoría b. Clic en la entidad subtipo 49
5. Finalmente clic derecho en el símbolo de categoría para cambiar el tipo(exclusiva o inclusivo) Haga clic aquí, para enlazar a la entidad Luego clic derecho aquí, para editar la subcategoría Elija la opción Inclusiva en el grupo de opciones. Finalmente clic en OK. 50
Finalmente la subcategoría se vera tal como se muestra en la siguiente figura: Integridad Referencial (RI) Se define como reglas que determinan lo que pasa cuando una fila de la entidad Padre o Hijo es insertada, actualizada o eliminada. Evita la data huérfana y asegura que las reglas de negocio se cumplan. ERwin asocia por defecto opciones RI para cada acción en una relación, basado en el tipo de relación, acción y rol de la entidad (padre/hijo). Estos valores por defecto están basados en el sentido de GENERALIDAD; ellos pueden ser sobrescritos para todo el modelo o para una acción dada en una relación establecida. ACCION Identificada TIPO DE RELACION No Identificada (Acepta NULL) No Identificada (No Acepta NULL) Subcategoría Al Eliminar en el hijo Ninguna Ninguna Ninguna Ninguna Al Insertar en el hijo Restricción Set Null Restricción Restricción Al Actualizar en el hijo Restricción Set Null Restricción Restricción Al Eliminar en el padre Restricción Set Null Restricción Cascada Al Insertar en el padre Ninguna Ninguna Ninguna Ninguna Al Actualizar en el padre Restricción Set Null Restricción Cascada 51
Opciones de Integridad Referencial Para cambiar las opciones de Integridad Referencial para un relación especifica realizar lo siguiente: 1. Clic derecho en la línea de relación 2. Elija la opción Relationship Editor 3. En el editor de relaciones seleccione el TAB RI Actions 4. Seleccione las opciones de Integridad referencial desde el ComboBox 5. Clic en OK para retornar al modelo Cambie las opciones de Integridad Referencial para la relación establecida. Finalmente clic en OK. 52
Bases del Modelamiento Físico 53
Representación Física del Modelo de Datos ERwin mantiene las representaciones Lógica y Física del modelo de datos. Soporta características físicas del servidor objetivo (Target Server). Sincroniza el modelo físico de datos con el catalogo del servidor objetivo. Vista en el Modelo Lógico Vista en el Modelo Físico Objetos Logical Only (Solo Lógicos) Entre estos objetos tenemos: 1. Las relaciones Muchos a muchos solamente se muestran en el modelo lógico 2. Los símbolos de Generalización Jerárquica cambian en el modelo Físico 3. Entidades, atributos individuales o relaciones podrían ser diseñadas como solo lógicos. RELACIONES MUCHOS A MUCHOS Modelo Lógico 54
Modelo Físico GENERALIZACION JERARQUICA Modelo Lógico Modelo Físico Objetos Physical Only (Solo Físicos) Entre estas tenemos: 1. Vistas son solo mostrados en el modelo físico 2. Tablas columnas o relaciones también pueden ser designadas como físico. Selección del Servidor ERwin administra el modelo físico según el servidor de base de datos seleccionado. Las opciones de columna están disponibles para el tipo de datos seleccionado. Las propiedades de almacenamiento físico pueden ser asignadas para una base de datos específica. Las opciones de índice son especificadas para los servidores que las soporten. Selección del Cliente ERwin soporta desarrollo de aplicaciones cliente tan bien como el diseño y construcción de la base de datos. Edwin administra la parte del modelo basado en la herramienta cliente seleccionada. 55
Seleccionando el Servidor de Datos Reconfigurando nombres físicos Configurando valores por RI Selección del Cliente 56
Seleccionando el Servidor Para elegir el servidor realizar los siguientes pasos: 1. Clic en el icono desde la barra de herramientas 2. O también desde el menú Server elija la opción Target Server 3. ERwin le mostrara la siguiente ventana: 1. Seleccione el botón radio correspondiente al Servidor elegido 2. Si se aplica, seleccione el numero de la versión desde el combobox 3. Seleccione la opción NULL para valores no llaves para el modelo 4. Seleccione el tipo de datos por defecto 5. Configure el nombre por defecto de las tablas 6. Configure el nombre por defecto de los índices Reconfigurando Nombres físicos Configure los nombres físicos para el modelo haciendo clic en RESET NAMES. ERwin le mostrara la siguiente ventana: 1. Configure las propiedades del DBMS 2. Seleccione las opciones a ser configuradas 3. Clic en OK para regresar a la ventana de selección del servidor 57
Configurando los valores por defecto de RI Para cambiar las opciones por defecto de la Integridad Referencial haga clic en el botón RI DEFAULTS.Tal como se aprecia en la siguiente ventana: La configuración de este cuadro de dialogo afectan las opciones de Integridad Referencial asignadas al modelo. Seleccionando el cliente Para elegir al cliente realizar las siguientes acciones: Desde el menú Client elija la opción Target Client ERwin le mostrara la siguiente ventana: Elija una de las opciones que se indican. Finalmente clic en OK.. 58
ERwin le mostrara la siguiente ventana; haga clic en Si 59
Modelamiento Físico Asignando Propiedades a las Columnas Asignando Tipo de Datos Creando Reglas de Validación Usando el Editor de Tablas Índices 60
Asignando Propiedades a Columnas Para asignar propiedades a las columnas realizar lo siguiente: 1. Clic derecho sobre la tabla 2. Elija Column Editor En esta ventana especifique la información del cliente y del servidor incluyendo tipo de dato y regla de validación. En el TAB General seleccione: Un dominio Configure la Llave Primaria Configure Physical Only Asignando Tipo de Datos Para asignar tipo de dato a las columnas realizar lo siguiente: 1. Clic derecho sobre la tabla 2. Elija Column Editor 3. Elija el TAB que tiene como nombre el servidor de base de datos elegido Elija el TAB DBMS y seleccione: Tipo de dato Longitud si es necesario Opción NULL 61
Creando Reglas de Validación (Validation Rule) Es una expresión que establece un rango de valores aceptables que pueden ser almacenadas en una columna Pueden ser ingresadas y mantenidas desde ERwin y permiten que el servidor de bases de datos valide la información a ser almacenada. Permite que la aplicación cliente valide la información antes de hacer una llamada a la base de datos. Para crear una regla de validación en ERwin realizar los siguientes pasos: 1. Cambiar al Modelo físico 2. Clic derecho en la tabla y elija la opción Column Editor 3. ERwin le mostrara la siguiente ventana: 1. Clic al costado del ComboBox VALID 2. ERwin le mostrara la siguiente ventana 62
1. Clic en el botón NEW 2. Ingrese un nombre 3. Clic en OK 4. Luego haga clic en el botón VALID VALUE 5. ERwin le mostrara la siguiente ventana. 1. Escriba el nombre de la regla de validación 2. Clic en OK 1. Clic en NEW 2. Ingrese un nombre 3. Ingrese un valor para Display Value 4. Describa la definición de la regla 5. Clic en OK 63
Posteriormente ERwin le mostrara nuevamente la ventana anterior con la regla de validación creada: Clic en OK nuevamente para regresar al editor de columnas donde la regla será ligada a la columna tal como se muestra en la figura. 64
Dominio Conjunto de propiedades de atributos/columnas definidas por el usuario. Utilizar los dominios para: Ahorrar tiempo Evitar errores Estandarizar el Modelo Todo lo que puede especificar para una columna con aquellas especificadas para el dominio lógico. Estas propiedades están relacionadas con aquellas especificadas para el dominio lógico. Crear dominios para la información de uso común. Dominios creados en el modelo Lógico Asignando Tipo de Datos a un Dominio Para asignar un tipo de datos a un dominio realizar lo siguiente: 1. Pasar al modelo Físico 2. En el examinador de dominios haga doble clic sobre uno de ellos 1. Elija el TAB 2. Elija el tipo de dato 3. Repita el mismo paso para cada dominio 65
Indices Estructura asociada con una tabla para realizar la búsqueda más fácil. Existe una relación entre el número de índices y la performance en las actualizaciones. La elección depende del negocio: Son actualizaciones o consultas mas criticas Cual es el volumen de la tabla Cual volátil es la tabla Creación de Índices Para crear índices realizar los siguientes pasos: 1. Clic derecho en la tabla 2. Elija SQL Server Index 3. ERwin mostrara el siguiente cuadro de dialogo: Nótese que existe un índice creado, como PK. Para crear un nuevo índice: 1. Clic en New 2. Marque o desmarque el checkbox UNIQUE 3. Ingrese el nombre del índice 4. clic en OK 5. Luego seleccione las columnas que van a formar parte del índice. 66
En el TAB Comment ingrese el propósito del índice, finalmente clic en OK para regresar al modelo 67