DEL DIAGRAMA DE CLASES AL MODELO DE DATOS...

13
Computación e Informática Taller de Modelamiento de Software Migración a SQL Server 200x ~ 1 ~ Ing. Fabián Silva Alvarado DEL DIAGRAMA DE CLASES AL MODELO DE DATOS Y A LA BASE DE DATOS EN SQL SERVER 2008 El Rational Rose es una herramienta que puede ser utilizado para elaborar el modelado de un sistema informático en todas las fases del proyecto, con ella podemos construir todos los flujos de trabajos (workflow) que establece la metodología RUP. El Diagrama de clases del análisis nos permite identificar las clases que utiliza el sistemas y sus relaciones, nos permite identificar también los atributos y sus métodos, estas clases normalmente se convierten en las tablas de la Base de Datos, por eso este diagrama es muy consultado en la fase de implementación, donde el desarrollador tendrá que construir las tablas con sus campos basados en este. El Rational Rose permite la migración de este diagrama hacia el motor de base de datos que el desarrollador ha seleccionado, (DB2, Oracle, SQL Server, entre otros), sin tener que duplicar el trabajo. En este manual desarrollaremos paso a paso la creación del modelo de datos y la base de datos en SQL Server 2008, a partir del diagrama de clases, utilizaremos el Rational Rose 7 para ello. A continuación tenemos el siguiente caso: “Soy el administrador de una compañía de capacitación que provee cursos de informática, impartidos por nuestros docentes. Enseñamos muchos cursos, cada uno tiene un código, un nombre y un costo. Taller de Modelamiento de Software y Programación con Visual Basic son dos de nuestros cursos más populares. Los cursos varían en duración desde un mes hasta 3 meses. Un Docente puede enseñar varios cursos. Pedro Rodríguez y María Gonzáles son dos de nuestros mejores docentes. De los Docentes registramos sus apellidos, nombres, su dirección de correo electrónico, su profesión, su grado (Lic, Ing, Mag, Dr… etc), así como un número telefónico fijo y un móvil. Cada curso es enseñado por solo un docente pero a través del tiempo puede ser enseñado por otro docente. Se designa el curso y en base a ello asignamos al docente. Los estudiantes pueden tomar varios cursos a través del tiempo. Javier Díaz de Innova TI tomo cada curso de los que ofrecemos. También registramos de los estudiantes sus apellidos, nombres, fecha de nacimiento, sexo, dirección, su colegio de procedencia (estatal o particular) y su grado de instrucción (Secundaria, Técnica o Superior) y su distrito de procedencia. Identificamos a los distritos mediante un código único y la provincia a la que pertenece. Por ejemplo la mayoría de nuestros estudiantes provienen de Supe Pueblo. Varios de nuestros docentes no nos dan su número telefónico.

Transcript of DEL DIAGRAMA DE CLASES AL MODELO DE DATOS...

Page 1: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 1 ~ Ing. Fabián Silva Alvarado

DEL DIAGRAMA DE CLASES AL MODELO DE DATOS Y A LA

BASE DE DATOS EN SQL SERVER 2008

El Rational Rose es una herramienta que puede ser utilizado para elaborar el modelado de

un sistema informático en todas las fases del proyecto, con ella podemos construir todos

los flujos de trabajos (workflow) que establece la metodología RUP.

El Diagrama de clases del análisis nos permite identificar las clases que utiliza el sistemas y

sus relaciones, nos permite identificar también los atributos y sus métodos, estas clases

normalmente se convierten en las tablas de la Base de Datos, por eso este diagrama

es muy consultado en la fase de implementación, donde el desarrollador tendrá que

construir las tablas con sus campos basados en este.

El Rational Rose permite la migración de este diagrama hacia el motor de base de

datos que el desarrollador ha seleccionado, (DB2, Oracle, SQL Server, entre otros), sin

tener que duplicar el trabajo.

En este manual desarrollaremos paso a paso la creación del modelo de datos y la base

de datos en SQL Server 2008, a partir del diagrama de clases, utilizaremos el Rational

Rose 7 para ello.

A continuación tenemos el siguiente caso:

“Soy el administrador de una compañía de capacitación que provee cursos de

informática, impartidos por nuestros docentes. Enseñamos muchos cursos,

cada uno tiene un código, un nombre y un costo.

Taller de Modelamiento de Software y Programación con Visual Basic son dos

de nuestros cursos más populares. Los cursos varían en duración desde un mes

hasta 3 meses. Un Docente puede enseñar varios cursos. Pedro Rodríguez y

María Gonzáles son dos de nuestros mejores docentes. De los Docentes

registramos sus apellidos, nombres, su dirección de correo electrónico, su

profesión, su grado (Lic, Ing, Mag, Dr… etc), así como un número telefónico fijo

y un móvil. Cada curso es enseñado por solo un docente pero a través del

tiempo puede ser enseñado por otro docente. Se designa el curso y en base a

ello asignamos al docente. Los estudiantes pueden tomar varios cursos a través

del tiempo. Javier Díaz de Innova TI tomo cada curso de los que ofrecemos.

También registramos de los estudiantes sus apellidos, nombres, fecha de

nacimiento, sexo, dirección, su colegio de procedencia (estatal o particular) y

su grado de instrucción (Secundaria, Técnica o Superior) y su distrito de

procedencia. Identificamos a los distritos mediante un código único y la

provincia a la que pertenece. Por ejemplo la mayoría de nuestros estudiantes

provienen de Supe Pueblo. Varios de nuestros docentes no nos dan su número

telefónico.

Page 2: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 2 ~ Ing. Fabián Silva Alvarado

Paso 1: Modelo de Objetos (Modelo Conceptual de Datos):

Figura 1: Diagrama de Clases en Rational Rose

Paso 2. Cambiar todas las clases del análisis como Persistentes.

1. Abrir el diagrama de clases.

2. Doble clic en la primera clase, se mostrará el

cuadro de dialogo de open Specification, en

ella seleccionar la pestaña Detail, y

seleccionar la opción Persistent, tal como se

observa en la figura 2.

3. Hacer lo mismo con las demás clases.

Figura 2: Cuadro de Diálogo Open Specification

Page 3: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 3 ~ Ing. Fabián Silva Alvarado

Paso 3. Crear La Base de Datos en Rational (Database) ver figura3

1. Clic derecho en el Paquete Component View, seleccionar la opción Data

Modeler / New / Database

2. Ponerle un nombre adecuado que tenga relación con el sistema.

3. Especificar el Motor de la Base de Datos a migrar, doble clic en la base de datos

creado en el punto anterior, nos mostrara el cuadro de dialogo de las

especificaciones de la base de datos, ubicar el campo Target seleccionar de la

lista el motor de base de datos en nuestro caso Microsoft SQL Server 2000.x

Seleccionando el motor de la

Figura 3: Database creado, seleccionando el motor de la base de datos

Paso 4 . Creación del Schema que almacenara las

tablas de la Base de Datos y servirá para la

elaboración el diagrama Modelo de Datos

1. Ingresar al paquete Logical View, Data

Modeler -> New-> Schema, clic derecho

sobre Schema,

2. Ponerle un nombre

Figura 4: Creando el Schema

BASE DE DATOS

SELECCIONANDO EL MOTOR DE BASE DE DATOS

Page 4: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 4 ~ Ing. Fabián Silva Alvarado

Paso 5. Transformar el diagrama de clases al Modelo de Datos, definiendo la base de

datos y el Schema donde pondrá las tablas generadas. Ver figura 4

1. Ingresar al paquete donde este el diagrama de clases de la figura 1, en nuestro

caso Logical View / Analisisl.

2. Clic derecho

sobre el paquete

ingresado Analisis ,

Data Modeler /

Transform to Data

Model

Figura 5: Transformar el diagrama de clases al Modelo de Datos

3. En el cuadro de dialogo seleccionar los campos Destination Schema elegir

el schema creado en el paso 4, Target Database elegir la base de datos

creado en el paso 3. Finalmente ingresar un prefijo que se pondrán a

las tablas

4. Pulse OK para finalizar.

Figura 6: Transformación del diagrama de clases al Modelo de Datos

Page 5: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 5 ~ Ing. Fabián Silva Alvarado

Paso 6. Creación del Modelo de Datos

1. Ubicarse en el Schema donde se encuentran las tablas generadas, clic derecho,

Data Modeler / New / Data Model Diagram.

Figura 7: Creando el Diagrama del Modelo de Datos

2. Cambiarlo de nombre con la

opción Rename, a un nombre

tenga relación con el proyecto

Figura 8: Renombrando el nombre del Diagrama

3. Pulsar doble clic sobre el modelo de datos creado y empezar a arrastrar cada

una de las tablas hacia el diagrama

Observación, el Rational Rose genera automáticamente los campos claves

primarias (PK) de las tablas sin importar si ya teníamos definido uno, esto debe

ser arreglado manualmente de igual manera para los campos claves foráneas

(FK).

Page 6: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 6 ~ Ing. Fabián Silva Alvarado

Figura 9: Modelo de Datos sin corregir

Paso 7. Arreglar los campos de las tablas y definir las PK y FK ver figura 10

1. Seleccionar la tabla a corregir desde el Schema

2. Seleccionar el campo

Tabla_ID generado por el

Rational y eliminarlo con clic

derecho / Delete.

3. Seleccionar el campo a definir

como PK y pulsar doble click

sobre ella, nos mostrara la

ventana de las

especificaciones del campo,

Page 7: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 7 ~ Ing. Fabián Silva Alvarado

4. Abrir las especificaciones de los

campos para definir el tamaño de

los campos pestaña Type y

activar el check Primary Key.

5. Repetir los mismos pasos para todos los campos de las tablas, hasta que el

diagrama.

Page 8: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migracion a SQL Server 200x ~ 8 ~ Ing. Fabián Silva Alvarado

Modelo de Datos:

Page 9: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 9 ~ Ing. Fabián Silva Alvarado

Paso 8. Convertir a la Base de Datos física

1. Seleccionar la base de datos creado en el paso 2

2. Clic derecho, Data Model / Forward Engineer mostrara un asistente que le guiara

durante el proceso

3. En el cuadro de dialogo pulsar Next / luego mostrará las opciones a generar

pulsar Next, luego ingresar el nombre del archivo script a generar, también

puede seleccionar la base de datos del motor, debe estar instalado el SQL

server y funcionando para que esta opción funcione. Pulsar Next, y luego

finalizar.

Page 10: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 10 ~ Ing. Fabián Silva Alvarado

4. Ubicar el Script generado y ejecutarlo desde el Analizador de Consultas del SQL

Server 2008. No olvidar de crear una Base de Datos: DB_CAPACITACIONES donde

alojar las tablas de este script:

5. Finalizamos la creación de la Base de Datos, ya puede utilizarlo

Page 11: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 11 ~ Ing. Fabián Silva Alvarado

MODELO FISICO DE LA BASE DE DATOS:

Page 12: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 12 ~ Ing. Fabián Silva Alvarado

Caso 1: RECURSOS HUMANOS

“Yo manejo el departamento de Recursos Humanos de una compañía grande. Necesitamos tener la información de cada uno de los empleados

de nuestra compañía. Necesitamos tener seguimiento de los nombres, apellidos, trabajo o puesto, fecha de contratación y salario de cada empleado. A cada empleado se le asigna un número único. Nuestra compañía está dividida en departamentos. Cada empleado está asignado a un departamento (contabilidad, ventas o desarrollo). En el tiempo un empleado puede ser asignado a más de un departamento. Necesitamos conocer el departamento responsable de cada empleado y la localización del departamento. Cada departamento tiene un número único, por ejemplo contabilidad es 10 y ventas tiene el número 40.

Caso 2: Cadena Boticas

Somos una cadena de boticas en expansión en la localidad que necesita organizar sus productos en existencia mediante un sistema: Los productos se encuentran organizados según su acción farmacológica como por ejemplo: Analgésico, Antiinflamatorio, Histamínico, Antibiótico, Corticoide, Antipirético, etc. Existen casos en que un producto es a la vez Analgésico y Antipirético como es el caso de los productos que pertenecen a los Genéricos del PARACETAMOL, así como también los productos que pertenecen al genérico IBUPROFENO que es similar al PARACETAMOL y a su vez puede ser Antiinflamatorio. Interesa registrar una descripción según la acción farmacológica así como la descripción del producto genérico. Contamos además con productos que pertenecen a un genérico específico como por ejemplo IBUPROFENO, DICLOFENACO o AMOXICILINA, etc. También para nosotros es importante conocer la clasificación general de los productos, es decir, si son vía oral, inhaladas, tópicos, parenterales, etc. Por ejemplo dentro de los productos de vía oral de se subdividen en: pastillas, capsulas, jarabe, suspensiones, etc. Dentro de las inhaladas tenemos: Aerosoles, Inhaladores, etc. Vendemos productos de distintos laboratorios como por ejemplo: ELIFARMA, MEDIFARMA, ROCHE, GENOMA LAB, etc. Cuando registramos un producto tenemos en cuenta su nombre comercial, su precio de compra, su precio de venta, la cantidad actual, su nombre genérico, el laboratorio al que pertenece.

Caso 3: Tienda Videos

“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos de las que necesitamos llevar registro. Cada uno de nuestros discos tiene un número asignado. Para cada película, necesitamos conocer su título y su categoría (ej. Comedia, suspenso, drama, acción, guerra o ciencia ficción). Tenemos muchas copias de la mayoría de nuestras películas. Le damos a cada película un identificador específico, y así podemos saber en que disco está que película. Un disco de video puede ser tanto de

Page 13: DEL DIAGRAMA DE CLASES AL MODELO DE DATOS …s4742e3257d150494.jimcontent.com/download/version/...“Soy el propietario de una pequeña tienda de películas. Tenemos más de 3000 videos

Computación e Informática Taller de Modelamiento de Software

Migración a SQL Server 200x ~ 13 ~ Ing. Fabián Silva Alvarado

formato CD como DVD. Siempre tenemos por lo menos un disco de cada película que registramos. Frecuentemente nos preguntan por los protagonistas de determinada película. Leonardo DiCaprio y Catherine Zeta-Jones son siempre populares. Así que nos gustaría llevar el registro de los actores que aparecen en cada película. No todas nuestras películas tienen actores. A los clientes les gustaría conocer el nombre real del actor y su fecha de nacimiento. Nosotros solamente llevamos el registro de actores que aparecen en películas de nuestro inventario. Tenemos muchos clientes. Nosotros solamente rentamos videos a la gente que sea socia del video club. Por cada socio del club, nos gustaría registrar sus datos personales y por supuesto cada miembro del club tiene un número de membresía. Necesitamos llevar el registro de que cd de video ha rentado en este momento. Un cliente puede alquilar varias películas en un mismo punto en el tiempo.