Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
MODELAMIENTO DE DATOS CON ERWIN 7.1 En esta oportunidad presento como hacer modelamiento de datos UML con ERwin 7.1, para ello primero definamos que tipos de entidades existen:
TIPOS DE ENTIDADES.- 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 c aja con rincones redondeados.
Entidad Independiente
Entidad Dependiente
CREANDO ENTIDADES Y ATRIBUTOS Paso 1: como primer paso abramos el programa ERwin 7.1 Inicio Todos los Programas Computer Associates AllFusion ERwin Data Modeler r7 , tal como se muestra en la figura.
Luego de esto se abrirá el programa,
Ahora nos dirigimos a la Pestaña
File New, o simplemente damos clic a la hoja en
blanco que aparece debajo de esta pestaña, luego de esto no saldrá lo siguiente:
1
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Seleccionamos tal como se muestra en la figura anterior “ Logical/Physical”, luego de esto nos dirigimos a la parte ultima de esta ventana y en la sección Target Database, escogeremos con que manejador de base de datos deseamos trabajar, para nuestro caso trabajaremos como SQL Server de la Versión del 2000 al 2005 . Luego damos clic en OK, y nos saldrá una ventana, en la cual por defecto esta en el diagrama lógico, dentro de este se realizara realiz ara la creación de Entidades o Clases, Cla ses, con una herramienta que en breve presentare, así mismo también haremos sus relaciones de cada Entidad, observando muy bien la cardinalidad existente entre ellas.
2
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Para crear entidades debemos de utilizar la caja de herramientas ERwin Toolbox, que se encuentran dentro de la pestaña
View Toallbars Toolbox , en ocasiones por
defecto ERwin ya tiene todas las cajas de herramientas activadas, una vez identificadas identific adas esta herramientas, nosotros la podemos desplazar hacia cualquier lugar del programa, tal como se muestra:
Luego dentro de nuestro diagrama Lógico creado, haremos la creación de la s entidades, para ellos damos clic sobre el icono
, y ubicando el cursor sobre el diagrama lógico
(observaremos que dentro del diagrama aparece un símbolo +) damos clic y se abra creado nuestro primera Entidad, luego le ponemos un nombre tal como se muestra:
Colocamos un nombre
3
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Para este ejemplo, tomaremos como referencia un Sistema de Ventas, el cual posee las Entidades: CLIENTES, FACT_CABECERA, FACT_DETALLE, ARTICULO,
VENDEDOR. Paso 2: Entonces crearemos todas la Entidades restantes para este ej emplo, similarmente como se hizo con la Entidad CLIENTES, una vez hecho esto nuestro diagrama lógico quedara como sigue:
Observemos
que las entidades tienen dos secciones, en la primera sección irán todos los atributos Padres que son Primary Key u otro tipo de llave. En la segunda sección se colocaran los atributos hijos.
Ahora para colocar sus atributos a las Entidades, podemos hacerlo de dos maneras, una es haciendo dentro de la entidad seleccionada el uso de las teclas TAB y ENTER, y la otra manera es hacerlo es dando clic derecho y escoger la opción Attributes. Para muestras de un ejemplo realizaré la colocación de atributos utilizando las dos maneras, entonces:
UTILIZANDO EL PRIMER MÉTODO.- para ellos debemos de tener en claro que atributo será un “Primary Key”, entonces considerando esto nos dirigimos a la Entidad CLIENTE, Damos un clic sobre esta entidad quedando:
4
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Estando así, Presionemos la Tecla TAB, y veremos que aparecerá lo siguiente:
Le colocamos un nombre a este atributo que debe de ser un
Primary Key (llave
primaria), el nombre será cli_cod:
Ahora si hay más atributos que serán un
Primary Key, damos con la tecla ENTER ,
sino apretamos la tecla TAB para desplazarnos a la siguiente sección donde se nombrara los demás atributos, para efectos de nuestro ejemplos, presionaremos la tecla TAB por que ya no contamos con mas atributos que sea del tipo Primary Key. Al dar TAB y colocar un nombre al atributo obtenemos:
Similarmente seguimos colocando los atributos hijos, en la entidad CLIENTES, para ellos se utilizara la tecla ENTER , para agregar un nuevo atributo obteniéndose:
Ahora si consideramos la observación antes hecha, las entidades tiene dos secciones separadas por un línea, en la cual se hablo que la primera sección irían aquellos atributos que serian Primary Key, y el resto de atributos que no lo eran irían i rían ubicados en la segunda sección.
En Resumen:
La tecla TAB nos sirve para desplazarnos desplazarnos de una sección a otra
y la tecla ENTER, nos sirve para añadir mas atributos estando dentro de una determinada sección.
5
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
UTILIZANDO EL SEGUNDO MÉTODO.- este segundo método tiene mucha mas funcionalidad que el primero, pero cabe resaltar que los dos dos métodos pueden pueden ir de la mano según la costumbre del trabajo, para este utilizaremos la Entidad FACT_CABECERA, en donde agregaremos sus atributos, para ellos nos ubicamos en la Entidad, damos clic derecho sobre ella, y escogemos la opción
Attributes, tal como se
muestra:
al dar clic en esta opción, nos aparecerá la siguiente ventana:
Damos en el botón NEW para agregar nuevos atributos, dando clic nos saldrá la siguiente ventana, en donde debemos de colocar un nombre al atributo:
6
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
En nuestro caso el nombre es
fac_num, luego damos clic en OK, y regresaremos a la
ventana anterior, y observaremos que se agrego:
Similarmente haremos el agregado de los demás atributos para esta Entidad, quedando.
7
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Como habíamos dicho antes este segundo método continente mas funcionalidades que el primero, aquí podemos cambiar el tipo de datos, así como ponerle una breve definición o comentario establecer las llaves primarias, entre otros.
Primero: Empezaremos primero estableciendo la llave primaria – Primary Key. Para ello haremos uso de la pestaña Key Group , el cual podemos ubicarla con el uso de los botones de desplazamiento
,.
Damos clic en la pestaña Key Group, saldrá lo siguiente: Ahora lo primero que demos de hacer es de seleccionar el atributo fac_num que sera del tipo Primary Key, y luego activar la casilla c asilla se la parte derecha, tal como se muestra:
Observemos que al activar la casilla la variable que hemos seleccionado apareció con una llave al costado de ella. Los demás atributos se dejan como están.
Segundo: en la pestaña Definition, podremos un comentario pequeño a cada atributo, para ellos siempre debemos de seleccionar el atributo el cual queremos definir, por ejemplo con el atributo fac_num:
Aplicamos esta definición a todos los atributos, esto es importante por que es un error muy frecuente en programación que se declaren atributos con nombres extraños , es por
8
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
eso que siempre es necesario poner una definición a estos atributos para sa ber que función cumple, dentro de la entidad. Lo mismo se hará mas adelante con l as Entidades.
Tercero: ahora declararemos el tipo de dato de los atributos, si son de longitud fija (char) , Longitud variable (varchar), o un tipo numérico (numeric), esto se hace con la pestaña DataType, tal como se muestra:
Observemos que existe una casilla que se encuentra desactivada “Not Null”, esto sucede por que todo atributos
Primary Key, no debe estar vacío, luego escogeremos CHAR(5) CHAR(5)
, es decir que nuestro atributo tendrá una longitud siempre fija de 5 caracteres.
PRIMARY KEY tendrán un tipo de dato CHAR de longitud 5. Así mismo como también los tendrán los que serán atributos con FOREIGN KEY, o llaves foráneas. En este ejemplo, todos los atributos
Similarmente se efectúa para los demás atributos. Al final obtenemos:
EN GENERAL.- para todos las Entidades haremos algo similar que lo anterior crearemos sus atributos, especificando quienes son PRIMARY KEY, como también estableciendo sus tipos de datos y una breve definición. Luego de hacer esto para todas la Entidades Obtendremos lo siguiente:
9
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Luego debemos también ponerle una definición o un breve comentario a cada Entidad, para ellos haremos lo siguiente: Clic derecho sobre la Entidad y elegimos, Entity Propierties, donde saldrá lo siguiente:
En el Combo box “Entity” nos sirve para seleccionar la Entidad con la que queremos trabajar, por defecto esta se encuentra en la entidad
CLIENTES, por que fue aquella Entidad donde le dimos la opción de
Entity Propierties. en la sección “Name” también
aparece
por
defecto el nombre de Entidad selecciono,
que
se se
10
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
recomienda no modificar este nombre.
Definition, se escribe una pequeña descripción de la clase, esto nos sirve para poder identificar de manera correcta el contenido de la Entidad CLIENTES.
Luego en la Pestaña
Así como se muestra en la figura anterior.
ESTABLECIENDO LAS RELACIONES.- Una relación describe cierta dependencia entre entidades o permite la asociación asoci ación de las mismas, para establecer estas relaciones se utiliza el principio de cardinalidad, a continuación presento una breve definición: Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, la correspondencia de cardinalidad indica el número de entidades con las que puede estar relacionada una entidad dada.
CARDINALIDAD.- Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia de cardinalidades puede ser: •
Uno a uno: Una entidad de A se relaciona únicamente con una entidad en B y viceversa.
•
Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A.
•
Varios a uno: Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede rela cionar con 0 o muchas entidades en A.
•
Varios a varios: Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa.
Tomando en consideración esta definición, estableceremos las relaciones entre las entidades, haciendo uso de la misma caja herramientas que se uti lizo anteriormente:
En ERwin se definen tres tipos de relaciones:
Rela Relacción ión Ide Identif ntific icaada
.- son aquellas en las que la clave primaria de la
entidad PADRE forma parte de la clave primaria pri maria de la entidad HIJA.
11
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Rela Relacción ión nnoo Ide Ident ntif ific icaada
.- son aquellas en las que la clave primaria de la
entidad PADRE no forma parte de la clave primaria de la entidad HIJA.
Relación Mu Muchos a Mu Muchos
.- Esta relación es conocida también como
Relación no especifica, esta es una relación donde muchas instancias de una entidad están asociadas con muchas instancias de otra entidad. Es decir que una instancia de una entidad puede tener relaciones relaci ones con varias instancias de otra entidad, y que una instancia de la otra entidad puede estar asociada a varias instancias de la primera entidad. A este tipo de entidad también se le denomina
relación de varias a varias. De acuerdo a lo mencionado establecemos las rel aciones con las entidades, escogiendo adecuadamente el tipo de relación a utilizar, por ejemplo estableceremos la relacion entre las entidades CLIENTES Y FACT_CABECERA ( facturas), de acuerdo a lo expuesto antes se sabe que debemos de utilizar la Relaci ón no identificada
Lo que haremos es dar clic sobre la herramienta de relación
.
, luego de esto daremos
un clic a la entidad CLIENTES (padre) y otro en la entidad enti dad FAC_CABECERA (hijo) , luego de esto, aparecerá la siguiente ventana, en donde nos dice que la entidad hijo FAC_CABECERA ya contiene un atributo con el nombre (cli_cod).
12
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Al dar en clic en OK, este automáticamente hará que el atributo (cli_cod), de la clase hijo sea una Llave Foránea (FK), tal como se mue stra en la figura:
Ahora establezcamos la cardinalidad, para ellos como se muestra en la figura anterior ubicaremos el cursos ubicándonos a los extremos de la relación para ellos se ha dibujado unos círculos rojos para que nos sirva de guía. Damos clic derecho y escogeremos la opción “ Relationship Properties”:
El cual abrirá la siguiente ventana con distintas opciones:
13
Modelamiento de Datos Utilizando ERwin Data Modeler Por: Aleksandr Paúl Quito Pérez.
Ahora la cardinalidad de la entidad PADRE con la del HIJO es de una a muchas, es por eso que se selecciono One or More , como se mostró. La explicación es por que la entidad CLIENTES puede puede tener de una a más facturas (FACT_CABECERA). (FACT_CABECERA). Damos clic en OK. Similarmente estableceremos la cardinalidad de la entidad HIJO con la del PADRE, para ello nos ubicaremos el círculo rojo del lado l ado derecho, damos clic secundario y escogemos al igual que lo anterior “ Relationship Properties ”, en donde escogeremos lo siguiente:
Ahora hemos escogido la opción
Zero or One , se preguntaran porque, esto se puede
saber si nos hacemos la pregunta ¿Una factura tiene muchos o un cliente determinado? Si respondemos esta pregunta, decimos que una factura puede ser solo y exclusivamente de un cliente, es por eso que la relación rela ción en esta parte es de UNO a UNO. Similarmente se hace lo mismo con las demás entidades. Quedando:
Una vez hecha la relación de las entidades se pueden realizar muchas opciones, como por ejemplo migrar estas entidades a un determinado motor de base de datos.
14