Upload
jordan-durand-espinoza
View
61
Download
2
Embed Size (px)
Citation preview
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 1 ~ Ing. Fabin 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 informtico en todas las fases del proyecto, con ella podemos construir todos
los flujos de trabajos (workflow) que establece la metodologa RUP.
El Diagrama de clases del anlisis nos permite identificar las clases que utiliza el sistemas y
sus relaciones, nos permite identificar tambin los atributos y sus mtodos, estas clases
normalmente se convierten en las tablas de la Base de Datos, por eso este diagrama
es muy consultado en la fase de implementacin, donde el desarrollador tendr que
construir las tablas con sus campos basados en este.
El Rational Rose permite la migracin 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 creacin 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 continuacin tenemos el siguiente caso:
Soy el administrador de una compaa de capacitacin que provee cursos de informtica, impartidos por nuestros docentes. Enseamos muchos cursos,
cada uno tiene un cdigo, un nombre y un costo.
Taller de Modelamiento de Software y Programacin con Visual Basic son dos
de nuestros cursos ms populares. Los cursos varan en duracin desde un mes
hasta 3 meses. Un Docente puede ensear varios cursos. Pedro Rodrguez y
Mara Gonzles son dos de nuestros mejores docentes. De los Docentes
registramos sus apellidos, nombres, su direccin de correo electrnico, su
profesin, su grado (Lic, Ing, Mag, Dr etc), as como un nmero telefnico fijo y un mvil. Cada curso es enseado por solo un docente pero a travs del
tiempo puede ser enseado por otro docente. Se designa el curso y en base a
ello asignamos al docente. Los estudiantes pueden tomar varios cursos a travs
del tiempo. Javier Daz de Innova TI tomo cada curso de los que ofrecemos.
Tambin registramos de los estudiantes sus apellidos, nombres, fecha de
nacimiento, sexo, direccin, su colegio de procedencia (estatal o particular) y
su grado de instruccin (Secundaria, Tcnica o Superior) y su distrito de
procedencia. Identificamos a los distritos mediante un cdigo nico y la
provincia a la que pertenece. Por ejemplo la mayora de nuestros estudiantes
provienen de Supe Pueblo. Varios de nuestros docentes no nos dan su nmero
telefnico.
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 2 ~ Ing. Fabin 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 anlisis 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 pestaa Detail, y
seleccionar la opcin Persistent, tal como se
observa en la figura 2.
3. Hacer lo mismo con las dems clases.
Figura 2: Cuadro de Dilogo Open Specification
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 3 ~ Ing. Fabin Silva Alvarado
Paso 3. Crear La Base de Datos en Rational (Database) ver figura3
1. Clic derecho en el Paquete Component View, seleccionar la opcin Data
Modeler / New / Database
2. Ponerle un nombre adecuado que tenga relacin 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 . Creacin del Schema que almacenara las
tablas de la Base de Datos y servir para la
elaboracin 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
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 4 ~ Ing. Fabin 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 pondrn a
las tablas
4. Pulse OK para finalizar.
Figura 6: Transformacin del diagrama de clases al Modelo de Datos
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 5 ~ Ing. Fabin Silva Alvarado
Paso 6. Creacin 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
opcin Rename, a un nombre
tenga relacin 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
Observacin, el Rational Rose genera automticamente los campos claves
primarias (PK) de las tablas sin importar si ya tenamos definido uno, esto debe
ser arreglado manualmente de igual manera para los campos claves forneas
(FK).
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 6 ~ Ing. Fabin 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,
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 7 ~ Ing. Fabin Silva Alvarado
4. Abrir las especificaciones de los
campos para definir el tamao de
los campos pestaa Type y
activar el check Primary Key.
5. Repetir los mismos pasos para todos los campos de las tablas, hasta que el
diagrama.
Computacin e Informtica Taller de Modelamiento de Software
Migracion a SQL Server 200x ~ 8 ~ Ing. Fabin Silva Alvarado
Modelo de Datos:
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 9 ~ Ing. Fabin Silva Alvarado
Paso 8. Convertir a la Base de Datos fsica
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, tambin
puede seleccionar la base de datos del motor, debe estar instalado el SQL
server y funcionando para que esta opcin funcione. Pulsar Next, y luego
finalizar.
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 10 ~ Ing. Fabin 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 creacin de la Base de Datos, ya puede utilizarlo
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 11 ~ Ing. Fabin Silva Alvarado
MODELO FISICO DE LA BASE DE DATOS:
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 12 ~ Ing. Fabin Silva Alvarado
Caso 1: RECURSOS HUMANOS
Yo manejo el departamento de Recursos Humanos de una compaa grande. Necesitamos tener la informacin de cada uno de los empleados de nuestra compaa. Necesitamos tener seguimiento de los nombres, apellidos, trabajo o puesto, fecha de contratacin y salario de cada empleado. A cada empleado se le asigna un nmero nico. Nuestra compaa est dividida en departamentos. Cada empleado est asignado a un departamento (contabilidad, ventas o desarrollo). En el tiempo un empleado puede ser asignado a ms de un departamento. Necesitamos conocer el departamento responsable de cada empleado y la localizacin del departamento. Cada departamento tiene un nmero nico, por ejemplo contabilidad es 10 y ventas tiene el nmero 40.
Caso 2: Cadena Boticas
Somos una cadena de boticas en expansin en la localidad que necesita organizar sus productos en existencia mediante un sistema: Los productos se encuentran organizados segn su accin farmacolgica como por ejemplo: Analgsico, Antiinflamatorio, Histamnico, Antibitico, Corticoide, Antipirtico, etc. Existen casos en que un producto es a la vez Analgsico y Antipirtico como es el caso de los productos que pertenecen a los Genricos del PARACETAMOL, as como tambin los productos que pertenecen al genrico IBUPROFENO que es similar al PARACETAMOL y a su vez puede ser Antiinflamatorio. Interesa registrar una descripcin segn la accin farmacolgica as como la descripcin del producto genrico. Contamos adems con productos que pertenecen a un genrico especfico como por ejemplo IBUPROFENO, DICLOFENACO o AMOXICILINA, etc. Tambin para nosotros es importante conocer la clasificacin general de los productos, es decir, si son va oral, inhaladas, tpicos, parenterales, etc. Por ejemplo dentro de los productos de va 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 genrico, el laboratorio al que pertenece.
Caso 3: Tienda Videos
Soy el propietario de una pequea tienda de pelculas. Tenemos ms de 3000 videos de las que necesitamos llevar registro. Cada uno de nuestros discos tiene un nmero asignado. Para cada pelcula, necesitamos conocer su ttulo y su categora (ej. Comedia, suspenso, drama, accin, guerra o ciencia ficcin). Tenemos muchas copias de la mayora de nuestras pelculas. Le damos a cada pelcula un identificador especfico, y as podemos saber en que disco est que pelcula. Un disco de video puede ser tanto de
Computacin e Informtica Taller de Modelamiento de Software
Migracin a SQL Server 200x ~ 13 ~ Ing. Fabin Silva Alvarado
formato CD como DVD. Siempre tenemos por lo menos un disco de cada pelcula que registramos. Frecuentemente nos preguntan por los protagonistas de determinada pelcula. Leonardo DiCaprio y Catherine Zeta-Jones son siempre populares. As que nos gustara llevar el registro de los actores que aparecen en cada pelcula. No todas nuestras pelculas tienen actores. A los clientes les gustara conocer el nombre real del actor y su fecha de nacimiento. Nosotros solamente llevamos el registro de actores que aparecen en pelculas 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 gustara registrar sus datos personales y por supuesto cada miembro del club tiene un nmero de membresa. Necesitamos llevar el registro de que cd de video ha rentado en este momento. Un cliente puede alquilar varias pelculas en un mismo punto en el tiempo.