Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Agenda
Los tres Modelos del Modelador de
Datos de Rational Rose. Construir un Modelo de Datos a partir de un Modelo de Anlisis. Construir un Modelo de Almacenamiento. Generar una base de datos a partir de un Modelo de Datos.
24/01/2012
Es una herramienta adicional (add-in). Permite construir el Modelo de Datos. Permite construir el Modelo de Almacenamiento. Utiliza UML como estndar de modelado.
UPC - Anlisis y Diseo Orientado a Objetos 3 24/01/2012
Modelo de Anlisis
Modelo de Datos
Modelo de Almacenamiento
24/01/2012
Modelo de Anlisis
Representa la vista lgica de las clases. Presenta los conceptos o clases fundamentales y la
relacin entre ellos. Es independiente del tipo de Base de Datos. Est compuesto por:
Clases. Atributos. Operaciones. Asociaciones. Diagrama de clases.
UPC - Anlisis y Diseo Orientado a Objetos 5 24/01/2012
Modelo de Anlisis
Modelo de Anlisis
escribe 1..n Autor codAutor : Long nombre : String apellidos : String sexo : Boolean fec haNacim iento : Date 1..n Libro codLibro : Long titulo : String fechaEdicion : Date
Modelo de Anlisis
24/01/2012
Modelo de Datos
Representacin de la vista fsica de
Modelo de Datos
los datos. Es dependiente del tipo de Base de Datos. Est compuesto por:
Tablas. Columnas o campos. Llaves primarias y forneas. Restricciones. ndices. Relaciones. Diagrama del Modelo de Datos.
UPC - Anlisis y Diseo Orientado a Objetos 7 24/01/2012
Modelo de Datos
Modelo de Datos
TAutor codAutor : INTEGER nombre : VARCHAR(255) apellidos : VARCHAR(255) sexo : SMALLINT fechaNacimiento : DATE TAutor_ID : INTEGER TPais_ID : INTEGER <<PK>> PK_TAutor0() <<FK>> FK_TAutor5() <<Index>> TC_TAutor8() TLibro codLibro : INTEGER titulo : VARCHAR(255) fechaEdicion : DATE TLibro_ID : INTEGER <<PK>> PK_TLibro1() 1 <<Identifying>> 1 <<Identifying>> 0..* TAutor-Libro principal : SMALLINT tema : VARCHAR(255) TLibro_ID : INTEGER TAutor_ID : INTEGER <<PK>> PK_TAutor-Libro2() <<FK>> FK_TAutor-Libro0() <<FK>> FK_TAutor-Libro1() <<Index>> TC_TAutor-Libro0() <<Index>> TC_TAutor-Libro1() 0..*
24/01/2012
Modelo de Almacenamiento
Representacin de la vista fsica de la
Modelo de Almacenamiento
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 fsica. Diagrama de Componentes.
UPC - Anlisis y Diseo Orientado a Objetos 9 24/01/2012
Modelo de Almacenamiento
Modelo de Almacenamiento
SIN DBA
<<Tablespace>> TSP_BIBLIOTECA
<<Tablespace>> TST_BIBLIOTECA
10
24/01/2012
Modelador de Datos
El Modelador de Datos soporta los formatos de
base de datos siguientes:
Estndar ANSI SQL 92. Base de Datos IBM DB2. Base de Datos Oracle. Base de Datos Microsoft SQL Server. Base de Datos Sybase.
12
24/01/2012
Seleccionar la clase. Hacer doble clic y se muestra el formulario de especificaciones de la clase. Seleccionar la pestaa Detail. Marcar la clase como persistente en el control correspondiente.
15
24/01/2012
16
24/01/2012
Seleccionar la clase en el explorador del proyecto. Expandir la clase. Seleccionar el atributo. Hacer clic derecho y seleccionar Data Modeler/Part of Object Identity
17
24/01/2012
18
24/01/2012
Para ello se crea un paquete dentro de la Vista Lgica y se mueven hacia dentro las clases persistentes. Se sugiere realizar este paso desde el inicio de la construccin del Modelo de Anlisis.
19
24/01/2012
Seleccionar la Vista de Componentes. 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.
20
24/01/2012
21
24/01/2012
El componente creado representa la Base de Datos fsica 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.
22
24/01/2012
Especificar el tipo de la Base de Datos haciendo doble clic sobre el componente de Base de Datos creado.
23
24/01/2012
Se debe crear un Tablespace en la Base de Datos y para ello se selecciona el componente. Hacer clic derecho sobre el componente y seleccionar Data Modeler/New/Tablespace
24
24/01/2012
Hacer doble clic sobre el Tablespace creado para especificar todas sus propiedades. Esto depende del tipo de la Base de Datos.
25
24/01/2012
Oracle
DB2
26
24/01/2012
Seleccionar el paquete que contiene al Modelo de Anlisis. Hacer clic derecho y seleccionar Data Modeler / Transform to Data Model.
27
24/01/2012
4.
28
24/01/2012
29
24/01/2012
Mapa de Transformacin
Modelo de Anlisis Clase Atributo Modelo de Datos Tabla Columna Resultado Las clases persistentes son transformadas en tablas 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
Operacin Asociacin
Modelo de Anlisis
Modelo de Datos
T_Clase X
Clase X
(from NewPackage)
31
24/01/2012
Tipos de Datos Modelo de Datos VARCHAR2(255) NUMBER (10,0) FLOAT DATE NUMBER (5,0) NUMBER (3,0) FLOAT NUMBER (20,0) FLOAT
32 24/01/2012
Tipos de Datos Modelo de Datos VARGRAPHIC(255) INTEGER DOUBLE TIMESTAMP SMALLINT SMALLINT REAL BIGINT DOUBLE
33 24/01/2012
Tipos de Datos Modelo de Datos VARCHAR(255) INT FLOAT DATETIME BIT SMALLINT FLOAT INT MONEY
34 24/01/2012
Modelo de Anlisis
Modelo de Datos
T_Clase K atributoIdentidad : VARCHAR(255) atributo : VARCHAR(255) <<PK>> PK_T_Clase K3()
Clase K
(from NewPackage)
36
24/01/2012
Modelo de Objetos
Modelo de Datos
Clase Z
(from NewPackage)
atributo
37
24/01/2012
la llave de A es parte de la llave primaria de B. La relacin de A con B identifica o contribuye a identificar a un objeto de B.
Relacin es NO IDENTIFICANTE.
Si
la llave de A no es parte de la llave primaria de B. La relacin de A con B no identifica o contribuye a identificar a un objeto de B.
38
24/01/2012
Relacin IDENTIFICANTE
T_Clase A llave de A : NUMBER(5, 0) <<PK>> PK_T_Clase A5() T_Clase B llave de B : NUMBER(5, 0) <<PK>> PK_T_Clase B6()
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()
39
24/01/2012
Relacin IDENTIFICANTE
T_Clase A llave de A : NUMBER(5, 0) <<PK>> PK_T_Clase A5() T_Clase B llave de B : NUMBER(5, 0) <<PK>> PK_T_Clase B6()
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()
40
24/01/2012
41
24/01/2012
Clase B llave de B
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()
42
24/01/2012
43
24/01/2012
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()
44
24/01/2012
<<Identif ying>>
+partes
1..n
1..*
46
24/01/2012
47
24/01/2012
T_Subclase llave su bclase : NUMBER(5, 0) llave su perclase : N UMBER(5, 0) <<PK>> PK_T_Sub clase 22() <<FK>> FK_T_Subclase9()
48
24/01/2012
El resultado de la transformacin?
Se crea el Modelo de
Datos. Se agrega el paquete Schema dentro de la Vista Lgica. Se agrega un paquete con el nombre definido.
49
24/01/2012
Ejemplo
escribe 1..n Autor codAutor : Long nombre : String apellidos : String sexo : Boolean fechaNacimiento : Date 0..n 1..n Libro codLibro : Long titulo : String fechaEdicion : Date 1 contiene 1..n Ejemplar codEjemplar : Integer 1..n solicita 1..n Prestamo fechaPrest amo : Date fechaDevolucion : Date Aut or-Libro naci principal : Boolean tema : String 1 codUsuario : Integer nombre : String apellidos : String sexo : Boolean Usuario
Pais codPais : Integer descripcion : String Est udiante carrera : String Profesor departamento : String
50
24/01/2012
Resultado en SQL
TAutor codAutor : INTEGER nombre : VARCHAR(255) apellidos : VARCHAR(255) sexo : SMALLINT fechaNacimiento : DATE TAutor_ID : INTEGER TPais_ID : INTEGER <<PK>> PK_TAutor0() <<FK>> FK_TAutor5() <<Index>> TC_TAutor8() 0..* <<Non-Identifying>> 1 TLibro codLibro : INTEGER t itulo : VARCHAR(255) fechaEdici on : DATE TLibro_ID : INTEGER <<PK>> PK_TLibro1() 1 <<Ident ifyi ng>> 1 <<Ident ifyi ng>> 0..* TAutor-Libro principal : SMALLINT tema : VARCHAR(255) TLibro_ID : INTEGER TAutor_ID : INTEGER <<PK>> PK_TAutor-Libro2() <<FK>> FK_TAutor-Libro0() <<FK>> FK_TAutor-Libro1() <<Index>> TC_TAutor-Libro0() <<Index>> TC_TAutor-Libro1() 0.. * TPrestamo fechaPrestamo : DATE fechaDevolucion : DATE TUsuario_ID : INTEGER <<Identifying>> TLibro_ID : INTEGER 0..* <<PK>> PK_TPrestamo5() <<FK>> FK_TPrestamo4() <<FK>> FK_TPrestamo3() <<Index>> TC_TPrestamo3() <<Index>> TC_TPrestamo4() <<Identifying>> <<Ident ifyi ng>> 1 1..* <<PK>> PK_TEjemplar3() <<FK>> FK_TEjemplar2() <<Index>> TC_TEj emplar9() 1 0..* TEjemplar codEjempl ar : INTEGER TLibro_ID : INTEGER
TUsuario
codUsuario : INTEGER nombre : VARCHAR(255) apellidos : VARCHAR(255) 1 sexo : SMALLINT TUsuario_ID : INTEGER <<PK>> PK_TUsuario4() 1 1 0..1
<<Identifying>>
<<Identifying>>
0.. 1
TEstudiante carrera : VARCHAR(255) TUsuario_ID : INTEGER <<PK>> PK_TEstudiant e9() <<FK>> FK_TEstudiante6() <<Index>> TC_TEst udiante10()
TProfesor departam ento : VARCHAR(255) TUsuario_ID : INTEGER <<PK>> PK_TProfesor10() <<FK>> FK_TProfes or7() <<Index>> TC_TProfesor11()
51
24/01/2012
Una vista grfica 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 vaco y activar una barra de herramientas. Para ver grficamente una tabla basta con arrastrarla hacia el diagrama y el Modelador de Datos mostrar automticamente las relaciones de dicha tabla con el resto.
52
24/01/2012
Seleccionar el esquema dentro del cual estar el Diagrama del Modelo de Datos. Hacer click derecho y seleccionar Data Modeler / New / Data Model Diagram. Indicar el nombre el Diagrama del Modelo de Datos.
53
24/01/2012
56
24/01/2012
57
24/01/2012
Conclusiones
El Modelador de Datos de Rational Rose permite
obtener:
El Modelo de Datos. El Modelo de Almacenamiento. La Base de Datos fsica. El script de la Base de Datos.
58
24/01/2012