DATAMODELER - UML

58
Ing. Yamil Ramos García Modelando Modelando Base de Datos Base de Datos con Rational con Rational Rose Rose

description

Modelando Base de Datos con Rational Rose. CIBERTEC

Transcript of DATAMODELER - UML

Page 1: DATAMODELER - UML

Ing. Yamil Ramos García

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

Page 2: DATAMODELER - UML

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.

Page 3: DATAMODELER - UML

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)

Page 4: DATAMODELER - UML

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

Page 5: DATAMODELER - UML

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

Page 6: DATAMODELER - UML

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

Page 7: DATAMODELER - UML

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

Page 8: DATAMODELER - UML

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>>

Page 9: DATAMODELER - UML

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

Page 10: DATAMODELER - UML

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

Page 11: DATAMODELER - UML

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.

Page 12: DATAMODELER - UML

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.

Page 13: DATAMODELER - UML

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

Page 14: DATAMODELER - UML

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.

Page 15: DATAMODELER - UML

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.

Page 16: DATAMODELER - UML

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

Page 17: DATAMODELER - UML

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

Page 18: DATAMODELER - UML

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

Page 19: DATAMODELER - UML

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.

Page 20: DATAMODELER - UML

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.

Page 21: DATAMODELER - UML

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

Page 22: DATAMODELER - UML

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.

Page 23: DATAMODELER - UML

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.

Page 24: DATAMODELER - UML

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

Page 25: DATAMODELER - UML

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.

Page 26: DATAMODELER - UML

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

Page 27: DATAMODELER - UML

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.

Page 28: DATAMODELER - UML

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.

Page 29: DATAMODELER - UML

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

Page 30: DATAMODELER - UML

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.

Page 31: DATAMODELER - UML

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()

Page 32: DATAMODELER - UML

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

Page 33: DATAMODELER - UML

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

Page 34: DATAMODELER - UML

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

Page 35: DATAMODELER - UML

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.

Page 36: DATAMODELER - UML

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()

Page 37: DATAMODELER - UML

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()

Page 38: DATAMODELER - UML

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.

Page 39: DATAMODELER - UML

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>>

Page 40: DATAMODELER - UML

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>>

Page 41: DATAMODELER - UML

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)

Page 42: DATAMODELER - UML

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>>

Page 43: DATAMODELER - UML

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.

Page 44: DATAMODELER - UML

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>>

Page 45: DATAMODELER - UML

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

Page 46: DATAMODELER - UML

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>>

Page 47: DATAMODELER - UML

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

Page 48: DATAMODELER - UML

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>>

Page 49: DATAMODELER - UML

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.

Page 50: DATAMODELER - UML

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ó

Page 51: DATAMODELER - UML

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>>

Page 52: DATAMODELER - UML

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.

Page 53: DATAMODELER - UML

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.

Page 54: DATAMODELER - UML

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

Page 55: DATAMODELER - UML

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.

Page 56: DATAMODELER - UML

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

Page 57: DATAMODELER - UML

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

Page 58: DATAMODELER - UML

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.