DATAMODELER - UML

Post on 06-Jun-2015

2.287 views 2 download

description

Modelando Base de Datos con Rational Rose. CIBERTEC

Transcript of DATAMODELER - UML

Ing. Yamil Ramos García

Modelando Modelando Base de Datos Base de Datos con Rational con Rational RoseRose

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 2

AgendaAgenda

• Los tres Modelos del Modelador de Datos de Rational Rose.

• Construir un Modelo de Datos a partir de un Modelo de Análisis.

• Construir un Modelo de Almacenamiento.

• Generar una base de datos a partir de un Modelo de Datos.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 3

Conociendo el Modelador de Conociendo el Modelador de DatosDatos• Para modelar los datos de un Sistema con la

herramienta Rational Rose se utiliza

• Es una herramienta adicional (add-in).• Permite construir el Modelo de Datos.• Permite construir el Modelo de Almacenamiento.• Utiliza UML como estándar de modelado.

Data Modeler(Modelador de datos)

Data Modeler(Modelador de datos)

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 4

Modelos del Modelador de Modelos del Modelador de DatosDatos• El Modelador de Datos se basa en tres Modelos.

Modelo de Análisis. Modelo de Datos. Modelo de Almacenamiento.

Modelo de Análisis

Modelo de Almacenamiento

Modelo de Datos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 5

Modelo de AnálisisModelo de Análisis

• Representa la vista lógicalógica de las clases.• Presenta los conceptos o clases fundamentales y la

relación entre ellos.• Es independiente del tipo de Base de Datos.• Está compuesto por:

Clases. Atributos. Operaciones. Asociaciones. Diagrama de clases.

Modelo de Análisis

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 6

Modelo de AnálisisModelo de AnálisisModelo de

Análisis

Autor-Libro

principal : Booleantema : String

Libro

codLibro : Longtitulo : String

fechaEdicion : Date

Autor

codAutor : Longnombre : String

apellidos : Stringsexo : Boolean

fechaNacimiento : Date

1..n1..n 1..n1..n

escribe

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 7

Modelo de DatosModelo de Datos• Representación de la vista físicafísica de

los datos.• Es dependiente del tipo de Base de Datos.• Está compuesto por:

Tablas. Columnas o campos. Llaves primarias y foráneas. Restricciones. Índices. Relaciones. Diagrama del Modelo de Datos.

Modelo de Datos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 8

Modelo de DatosModelo de DatosModelo de

Datos

TAutor

codAutor : INTEGERnombre : VARCHAR(255)apellidos : VARCHAR(255)sexo : SMALLINTfechaNacimiento : DATETAutor_ID : INTEGERTPais_ID : INTEGER

<<PK>> PK_TAutor0()<<FK>> FK_TAutor5()<<Index>> TC_TAutor8()

TAutor-Libro

principal : SMALLINTtema : VARCHAR(255)TLibro_ID : INTEGERTAutor_ID : INTEGER

<<PK>> PK_TAutor-Libro2()<<FK>> FK_TAutor-Libro0()<<FK>> FK_TAutor-Libro1()<<Index>> TC_TAutor-Libro0()<<Index>> TC_TAutor-Libro1()

1

0..*

1

0..*

<<Identifying>>

TLibro

codLibro : INTEGERtitulo : VARCHAR(255)fechaEdicion : DATETLibro_ID : INTEGER

<<PK>> PK_TLibro1()

1

0..*

1

0..*

<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 9

Modelo de AlmacenamientoModelo de Almacenamiento

• Representación de la vista físicafísica de la Arquitectura de Almacenamiento de los datos.

• Elementos de Almacenamiento de Base de Datos.• Es dependiente de la Base de Datos.• Está compuesto por:

Componente de Base de Datos. Tablespace. Script de la Base de Datos física. Diagrama de Componentes.

Modelo de Almacenamiento

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 10

Modelo de AlmacenamientoModelo de Almacenamiento

SINDBA

TSP_BIBLIOTECA<<Tablespace>>

TST_BIBLIOTECA<<Tablespace>>

Modelo de Almacenamiento

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 11

Modelador de Datos (Data Modelador de Datos (Data Modeler)Modeler)• ¿Qué puede hacerse con el Modelador de Datos

(Data Modeler)? Construir el Modelo de Datos.

Desde cero. Transformando el Modelo de Análisis automáticamente.

Construir el Modelo de Almacenamiento. Transformar el Modelo de Datos en la Base de Datos física. Transformar el Modelo de Datos en el Script de la Base de

Datos física. Aplicar ingeniería inversa:

Transformar el Modelo de Datos en el Modelo de Análisis . Transformar la Base de Datos del Modelo de

Almacenamiento en el Modelo de Datos.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 12

Modelador de DatosModelador de Datos

• El Modelador de Datos soporta los formatos de base de datos siguientes: Estándar ANSI SQL 92. Base de Datos IBM DB2. Base de Datos Oracle. Base de Datos Microsoft SQL Server. Base de Datos Sybase.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 13

Transformar el Transformar el Modelo de Modelo de AnálisisAnálisisen elen elModelo de Modelo de DatosDatos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 14

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos1. Definir las clases persistentes que serán las que

participarán en la transformación.

2. Indicar los atributos que se sugieren como parte de la identidad del objetos (llaves primarias).

3. Agrupar las clases persistentes en un paquete. La transformación ocurre solo a nivel de paquete.

4. Crear un componente de Base de Datos en la Vista de Componentes.

5. Transformar el Modelo Análisis-Modelo Datos.

6. Construir el Diagrama del Modelo de Datos.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 15

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos1. Definir las clases persistentes que van a participar

en la transformación.1. Seleccionar la clase.

2. Hacer doble clic y se muestra el formulario de especificaciones de la clase.

3. Seleccionar la pestaña Detail.

4. Marcar la clase como persistente en el control correspondiente.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 16

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 17

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos2. Indicar los atributos que se sugieren como parte de

la identidad del objetos (llaves primarias). Seleccionar la clase.

1. Seleccionar la clase en el explorador del proyecto.

2. Expandir la clase.

3. Seleccionar el atributo.

4. Hacer clic derecho y seleccionar Data Modeler/Part of Object Identity

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 18

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 19

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos3. Agrupar todas las clases persistentes en un

paquete. La transformación ocurre solo a nivel de paquete.

1. Para ello se crea un paquete dentro de la Vista Lógica y se mueven hacia dentro las clases persistentes.

2. Se sugiere realizar este paso desde el inicio de la construcción del Modelo de Análisis.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 20

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos4. Crear un componente de Base de Datos en la Vista

de Componentes.1. Seleccionar la Vista de Componentes.2. Hacer clic derecho, seleccionar Data Modeler / New /

Database. Como resultado se crea un paquete con el nombre DB_n y un componente de Base de Datos de igual nombre en su interior.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 21

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 22

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos4. Crear un componente de Base de Datos en la Vista

de Componentes.3. El componente creado representa la Base de Datos

física sobre la cual se va a generar el esquema, por tanto el nuevo paquete y el nuevo componente de Base de Datos creados deben ser renombrados con el nombre que identifica a la Base de Datos.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 23

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos4. Crear un componente de Base de Datos en la Vista

de Componentes.4. Especificar el tipo de la

Base de Datos haciendo doble clic sobre el componente de Base de Datos creado.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 24

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos4. Crear un componente de Base de Datos en la Vista

de Componentes.5. Se debe crear un Tablespace en la Base de Datos y

para ello se selecciona el componente.

6. Hacer clic derecho sobre el componente y seleccionar Data Modeler/New/Tablespace

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 25

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos4. Crear un componente de Base de Datos en la Vista

de Componentes.7. Hacer doble clic sobre el Tablespace creado para

especificar todas sus propiedades. Esto depende del tipo de la Base de Datos.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 26

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos4. Crear un componente de Base de Datos en la Vista

de Componentes.7. Oracle DB2

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 27

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos5. Transformar el Modelo Análisis -Modelo Datos.

1. Seleccionar el paquete que contiene al Modelo de Análisis.

2. Hacer clic derecho y seleccionar Data Modeler / Transform to Data Model.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 28

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos5. Transformar el Modelo Análisis -Modelo Datos.

3. Especificar los parámetros de la transformación.1. Nombre del esquema (Modelo de Datos) destino.

2. Componente de la base de datos.

3. Prefijo para el nombre de las tablas.

4. Si se desea o no índice para las llaves foráneas.

4. Hacer click en el botón Ok para comenzar la transformación.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 29

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 30

Mapa de TransformaciónMapa de Transformación

Modelo de Análisis

Modelo de Datos

Resultado

Clase Tabla Las clases persistentes son transformadas en tablas

Atributo Columna Los atributos de las clases se transforman en columnas usando el mismo nombre de los atributos.Los atributos son transformados en tipos de Datos propios de la Base de Datos

Operación No transformada

Asociación Relación Las asociaciones se transforman de acuerdo a su tipo.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 31

Transformación de los Transformación de los atributosatributos

Modelo de Análisis Modelo de Datos

Clase X

atributoCadena : StringatributoLogico : BooleanatributoNumerico : Long

atributoReal : Double

(from NewPackage)

T_Clase X

atributoCadena : VARCHAR(255)atributoLogico : SMALLINTatributoNumerico : INTEGERatributoReal : DOUBLE PRECISION

<<PK>> PK_T_Clase X1()

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 32

Mapa de transformación para Mapa de transformación para OracleOracle

Tipos de DatosModelo de Análisis

Tipos de DatosModelo de Datos

STRING VARCHAR2(255)

INTEGER NUMBER (10,0)

DOUBLE FLOAT

DATE DATE

BOOLEAN NUMBER (5,0)

BYTE NUMBER (3,0)

SINGLE FLOAT

LONG NUMBER (20,0)

CURRENCY FLOAT

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 33

Mapa de transformación para Mapa de transformación para DB2DB2

Tipos de DatosModelo de Análisis

Tipos de DatosModelo de Datos

STRING VARGRAPHIC(255)

INTEGER INTEGER

DOUBLE DOUBLE

DATE TIMESTAMP

BOOLEAN SMALLINT

BYTE SMALLINT

SINGLE REAL

LONG BIGINT

CURRENCY DOUBLE

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 34

Mapa de transformación para Mapa de transformación para SQLSQL

Tipos de DatosModelo de Análisis

Tipos de DatosModelo de Datos

STRING VARCHAR(255)

INTEGER INT

DOUBLE FLOAT

DATE DATETIME

BOOLEAN BIT

BYTE SMALLINT

SINGLE FLOAT

LONG INT

CURRENCY MONEY

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 35

¿Qué sucede con las llaves?¿Qué sucede con las llaves?

• Por cada atributo parte de la identidad del objeto el Modelador de Datos crea una columna. Se mantiene el nombre del atributo.

• Si no se especifica lo anterior el Modelador de Datos crea una columna. Nombre: NombreDeLaTabla + _ID Tipo de dato: ENTERO.

• En ambos casos se crea la restricción de llave primaria PK.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 36

Atributo parte de la identidad Atributo parte de la identidad del objetodel objeto

Modelo de Análisis Modelo de Datos

Clase K

atributoIdentidad : Stringatributo : String

(from NewPackage)

T_Clase K

atributoIdentidad : VARCHAR(255)atributo : VARCHAR(255)

<<PK>> PK_T_Clase K3()

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 37

Atributo sin identificarAtributo sin identificar

Modelo de Objetos Modelo de Datos

Clase Z

atributo

(from NewPackage)

T_Clase Z

atributo : SMALLINTT_Clase Z_ID : INTEGER

<<PK>> PK_T_Clase Z4()

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 38

¿Qué sucede con las ¿Qué sucede con las relaciones?relaciones?• Cuando una tabla A tiene una relación con una

tabla B .• Relación es IDENTIFICANTE.

Si la llave de A es parte de la llave primaria de B. La relación de A con B identifica o contribuye a

identificar a un objeto de B.

• Relación es NO IDENTIFICANTE. Si la llave de A no es parte de la llave primaria de B. La relación de A con B no identifica o contribuye a

identificar a un objeto de B.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 39

Relación IDENTIFICANTERelación IDENTIFICANTE

T_Clase B

llave de B : NUMBER(5, 0)

<<PK>> PK_T_Clase B6()

T_Clase A

llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase A5()

T_Clase B

llave de B : NUMBER(5, 0)llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase B6()<<FK>> FK_T_Clase B2()

T_Clase A

llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase A5()

0..1 0..*0..1 0..*<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 40

Relación IDENTIFICANTERelación IDENTIFICANTE

T_Clase B

llave de B : NUMBER(5, 0)

<<PK>> PK_T_Clase B6()

T_Clase A

llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase A5()

T_Clase B

llave de B : NUMBER(5, 0)llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase B6()<<FK>> FK_T_Clase B2()

T_Clase A

llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase A5()

0..1 0..*0..1 0..*<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 41

Convirtiendo asociación en Convirtiendo asociación en relaciónrelaciónElemento del Modelo de Análisis

Elementos del Modelo de Datos

Resultado

Asociación simple Relación no identificante

Cada asociación simple se transforma en una relación no identificante entre las tablas (en el sentido contrario a la navegabilidad)

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 42

Convirtiendo asociación en Convirtiendo asociación en relaciónrelación

Clase B

llave de B

Clase A

llave de A1 *

T_Clase B

llave de B : NUMBER(5, 0)llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase B6()<<FK>> FK_T_Clase B2()<<Index>> TC_T_Clase B7()

T_Clase A

llave de A : NUMBER(5, 0)

<<PK>> PK_T_Clase A5()

0..1 0..*

<<Non-Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 43

Convirtiendo asociación en Convirtiendo asociación en relaciónrelaciónElemento del Modelo de Análisis

Elementos del Modelo de Datos

Resultado

Asociación múltiple (Clase asociación)

Tablas separadas Cada asociación múltiple (clase asociación) se transforma en una tabla de separada.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 44

Convirtiendo asociación en Convirtiendo asociación en relaciónrelación

clase AA

llav e de AA

clase BB

llav e de BB

1..n1..n

Clase Asociacion

atributo de la asociacion

1..n1..n

T_clase BB

llave de BB : NUMBER(5, 0)

<<PK>> PK_T_clase BB24()

T_Clase Asociacion

atributo de la asociacion : NUMBER(5, 0)llave de BB : NUMBER(5, 0)llave de AA : NUMBER(5, 0)

<<PK>> PK_T_Clase Asociacion25()<<FK>> FK_T_Clase Asociacion11()<<FK>> FK_T_Clase Asociacion10()<<Index>> TC_T_Clase Asociacion32()<<Index>> TC_T_Clase Asociacion31()

1

0..*

1

0..*

<<Identifying>>

T_clase AA

llave de AA : NUMBER(5, 0)

<<PK>> PK_T_clase AA23()

1

0..*

1

0..*

<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 45

Convirtiendo asociación en Convirtiendo asociación en relaciónrelaciónElemento del Modelo de Análisis

Elementos del Modelo de Datos

Resultado

Asociación composiciónAsociación agregación

Relación identificante

Cada composición se transforma en una relación identificante entre las tablas correspondientes. La clase que representa a la parte absorbe la llave de la clase compuesta

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 46

Convirtiendo asociación en Convirtiendo asociación en relaciónrelación

Todo

llave de Todo

Parte

llave de Parte

1..n

1

+partes 1..n

1

T_Parte

llave de Parte : NUMBER(5, 0)llave de Todo : NUMBER(5, 0)

<<PK>> PK_T_Parte20()<<FK>> FK_T_Parte8()<<Index>> TC_T_Parte27()

T_Todo

llave de Todo : NUMBER(5, 0)

<<PK>> PK_T_Todo19()

1

1..*

1

1..*

<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 47

Convirtiendo asociación en Convirtiendo asociación en relaciónrelaciónElemento del Modelo de Análisis

Elementos del Modelo de Datos

Resultado

Asociación generalización

Tablas separadas Cada subclase se transforma en una tabla. La superclase se transforma en una tabla padre con una relación identificante de 0 a N con cada subclase

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 48

Convirtiendo asociación en Convirtiendo asociación en relaciónrelación

Superclase

llave superclase

Subclase

llave subclaseT_Subclase

llave subclase : NUMBER(5, 0)llave superclase : NUMBER(5, 0)

<<PK>> PK_T_Subclase22()<<FK>> FK_T_Subclase9()

T_Superclase

llave superclase : NUMBER(5, 0)

<<PK>> PK_T_Superclase21()

1

0..*

1

0..*

<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 49

¿El resultado de la ¿El resultado de la transformación?transformación?• Se crea el Modelo de

Datos.

• Se agrega el paquete Schema dentro de la Vista Lógica.

• Se agrega un paquete con el nombre definido.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 50

EjemploEjemplo

Autor-Libro

principal : Booleantema : String

Usuario

codUsuario : Integernombre : String

apellidos : Stringsexo : Boolean

Ejemplar

codEjemplar : Integer

1..n

1..n

1..n

1..n

solicita

Prestamo

fechaPrestamo : DatefechaDevolucion : Date

Estudiante

carrera : String

Profesor

departamento : String

Libro

codLibro : Longtitulo : String

fechaEdicion : Date

1..n1 1..n1

contiene

Pais

codPais : Integerdescripcion : String

Autor

codAutor : Longnombre : String

apellidos : Stringsexo : Boolean

fechaNacimiento : Date

1..n1..n 1..n1..n

escribe

1

0..n

1

0..n

nació

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 51

Resultado en SQLResultado en SQL

TAutor-Libro

principal : SMALLINTtema : VARCHAR(255)TLibro_ID : INTEGERTAutor_ID : INTEGER

<<PK>> PK_TAutor-Libro2()<<FK>> FK_TAutor-Libro0()<<FK>> FK_TAutor-Libro1()<<Index>> TC_TAutor-Libro0()<<Index>> TC_TAutor-Libro1()

TAutor

codAutor : INTEGERnombre : VARCHAR(255)apellidos : VARCHAR(255)sexo : SMALLINTfechaNacimiento : DATETAutor_ID : INTEGERTPais_ID : INTEGER

<<PK>> PK_TAutor0()<<FK>> FK_TAutor5()<<Index>> TC_TAutor8() 1

0..*

1

0..*

<<Identifying>>

TPais

codPais : INTEGERdescripcion : VARCHAR(255)TPais_ID : INTEGER

<<PK>> PK_TPais8()

1

0..*

1

0..*

<<Non-Identifying>>

TLibro

codLibro : INTEGERtitulo : VARCHAR(255)fechaEdicion : DATETLibro_ID : INTEGER

<<PK>> PK_TLibro1()

1

0..*

1

0..*

<<Identifying>>

TEjemplar

codEjemplar : INTEGERTLibro_ID : INTEGER

<<PK>> PK_TEjemplar3()<<FK>> FK_TEjemplar2()<<Index>> TC_TEjemplar9()

1 1..*1 1..*

<<Identifying>>

TPrestamo

fechaPrestamo : DATEfechaDevolucion : DATETUsuario_ID : INTEGERTLibro_ID : INTEGER

<<PK>> PK_TPrestamo5()<<FK>> FK_TPrestamo4()<<FK>> FK_TPrestamo3()<<Index>> TC_TPrestamo3()<<Index>> TC_TPrestamo4()

1

0..*

1

0..*<<Identifying>>

TEstudiante

carrera : VARCHAR(255)TUsuario_ID : INTEGER

<<PK>> PK_TEstudiante9()<<FK>> FK_TEstudiante6()<<Index>> TC_TEstudiante10()

TProfesor

departamento : VARCHAR(255)TUsuario_ID : INTEGER

<<PK>> PK_TProfesor10()<<FK>> FK_TProfesor7()<<Index>> TC_TProfesor11()

TUsuario

codUsuario : INTEGERnombre : VARCHAR(255)apellidos : VARCHAR(255)sexo : SMALLINTTUsuario_ID : INTEGER

<<PK>> PK_TUsuario4()

10..*

10..*

<<Identifying>>

1

0..1

1

0..1<<Identifying>>

1

0..1

1

0..1<<Identifying>>

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 52

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos6. Construir el Diagrama del Modelo de Datos.

Una vista gráfica del Modelo de Datos se puede consultar creando un Diagrama del Modelo de Datos en el interior del esquema correspondiente.

El Modelador de Datos, creará un diagrama vacío y activará una barra de herramientas.

Para ver gráficamente una tabla basta con arrastrarla hacia el diagrama y el Modelador de Datos mostrará automáticamente las relaciones de dicha tabla con el resto.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 53

Transformación Modelo Transformación Modelo Análisis - Modelo DatosAnálisis - Modelo Datos6. Construir el Diagrama del Modelo de Datos.

1. Seleccionar el esquema dentro del cual estará el Diagrama del Modelo de Datos.

2. Hacer click derecho y seleccionar Data Modeler / New / Data Model Diagram.

3. Indicar el nombre el Diagrama del Modelo de Datos.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 54

Generando Generando la Base de la Base de Datos Física Datos Física y/o Scripty/o Script

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 55

Generando la Base de Datos Generando la Base de Datos y/o Scripty/o Script1.Seleccionar el esquema que contiene el Modelo de

Datos.2.Hacer clic derecho y seleccionar Data Modeler /

Forward Engineer.3.En el formulario de generación especificar si desea

generar el modelo de datos hacia un archivo DDL o hacia un motor de base de datos.

4.Hacer efectiva la generación.5.Consultar la ventana de Logs, para conocer si hubo

errores.

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 56

Generando la Base de Datos Generando la Base de Datos y/o Scripty/o Script

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 57

Generando la Base de Datos Generando la Base de Datos y/o Scripty/o Script

12/04/23

UPC - Análisis y Diseño Orientado a Objetos 58

ConclusionesConclusiones

• El Modelador de Datos de Rational Rose permite obtener: El Modelo de Datos. El Modelo de Almacenamiento. La Base de Datos física. El script de la Base de Datos.