Citation preview

PROCESO UNIFICADO DISEÑO Objetos Persistentes y Base de Datos

Objetos Persistentes y Base de Datos Contenido 1. 2. 3. 4. 5. 6. 7. 8. 9.

Objetos persistentes Almacenamiento de los Objetos Selección de una Aproximación a Persistencia Criterios de Evaluación de un DBMS Capas de Diseño Mapeo de Objetos Persistentes a un Esquema Relacional Modelado de Base de Datos con Rational Rose: Modelador de Datos Transformación del Modelo de Análisis a Modelo de Datos Mapeo en la Transformación

1. Objetos Persistentes  Un objeto persistente es aquel que lógicamente existe bajo el ámbito del programa que lo creó.  Los lenguajes de programación OO manejan objetos residentes en memoria, los cuales son esencialmente transitorios  Un objeto persistente tiene la habilidad de guardar el valor de sus atributos en algún tipo de almacenamiento persistente  Un objeto persistente puede también crearse en memoria e inicia con sus valores de atributo desde el almacenamiento persistente  La estrategia total para proveer persistencia a los objetos en el sistema, es un mecanismo de control

2. Almacenamiento de los Objetos Persistentes  El almacenamiento persistente puede hacerse empleando un sistema de archivos simple o algún tipo de sistema de administración de base de datos. Hay varios modelos para DBMSs:    

Jerárquicos Red Relacional (RDBMS) Orientado a Objetos (ODBMS)

 El Relacional y el ODBMS son los más comunes

3. Selección de una Aproximación a Persistencia  La estrategia de diseño para retener objetos persistentes deberá considerar:    

Tiempos de acceso Capacidad de almacenamiento Confiabilidad del sistema de almacenamiento Acceso a datos existentes

 El modelo elegido influirá al sistema y al diseño de objetos, de tal forma que los diseñadores deberán considerar:  Operaciones adicionales para almacenar y recuperar objetos persistentes  Adición de atributos para manejar detalles de almacenamiento del sistema  Clases adicionales para hacer interfaz con el DBMS

4. Criterios de Evaluación de un DBMS  Se debe decidir el criterio de evaluación para elegir un DBMS  Presencia del Vendedor  Mirar el poder financiero, estructura de la organización, procedimientos de soporte al cliente, soporte de entrenamiento y consultoría, alianzas con otras compañías

 Desempeño de la Base de Datos  Ninguna marca puede probar que un DBMS es más rápido para todas las aplicaciones  El desempeño depende de la aplicación, los prototipos específicos de aplicación son muy importantes

 Capacidades de la Base de Datos  Se debe evaluar administración de transacciones, control de concurrencia, respaldo y recuperación, seguridad y soporte de un lenguaje de consulta (SQL)

4. Criterios de Evaluación de un DBMS  Arquitectura de la Base de Datos  Evaluar esquemas de control de concurrencia, mecanismos de seguridad y administradores de almacenamiento

 Herramientas de Desarrollo  Ver las herramientas para el diseño de la base de datos, modificación del esquema de las base de datos y navegación, así como también las herramientas de depuración y afinación de la base de datos

 Soporte al lenguaje de elección  Asegurarse de que hay soporte para el lenguaje de su elección para el desarrollo del sistema

 Facilidad de Migración  ¿Qué tan fácil/difícil es migrar al sistema de la base de datos?

4. Criterios de Evaluación de un DBMS  Integración con Sistemas Legados  ¿Qué tan fácil/difícil es integrarse al sistema de administración de base de datos existente?

 Soporte Multi-usuario  Evaluación del soporte para desarrollo multiusuario, administración de configuración, control de versiones y estrategias de seguridad Nota: Invierta tiempo y esfuerzo para seleccionar el sistema de administración de base de datos apropiado para el proyecto SIEMPRE es más caro corregir que hacerlo bien desde el principio!!!

5. Capas de Diseño Window Na me:

OK

Cancel

Interfaz

Dominio

Pers ist enc ia

Objetos a tuplas y BDR

VENTA

v1: Venta

6. Mapeo de Objetos Persistentes a un Esquema Relacional  Para la traducción de un modelo de clases a un esquema relacional, necesitamos:  Un identificador para cada tupla, se suele hacer añadiendo un ID a cada tabla.  Un atributo por cada atributo original de la clase.

 Típicamente, cada clase mapea a una tabla y cada instancia mapea a un renglón o fila. cliente nombre direccion telefono

Pk

cliente * Idcliente * nombre * direccion

6. Mapeo de Objetos Persistentes a un Esquema Relacional  En cuanto a las asociaciones binarias, depende de la multiplicidad.  Las asociaciones de uno-a-muchos se implementan agregando una columna como clave foránea en la tabla que representa a la clase que tiene la multiplicidad mayor a uno en la relación, esta nueva columna tendrá como valor la clave primaria de la tabla que representa a la clase cuya multiplicidad es uno. cliente

ordenes

nombre direccion telefono

fecha tiempoentrega urgencia

1

0..n

cliente Pk * Idcliente * nombre * direccion

ordenes Pk * Idorden * fecha * Tiempoentrega * Urgencia Fk * Idcliente

6. Mapeo de Objetos Persistentes a un Esquema Relacional  Las asociaciones con multiplicidad n-m, se implementan como una nueva tabla con los atributos ID de las tablas asociadas a las clases originales cliente Pk * Idcliente * nombre * direccion

cliente nombre direccion telefono

1

0..n

ordenes fecha tiempoentrega urgencia

0..n

1..n

productos descripcion unidadMedida precio

Fk ordenes Pk * Idorden * fecha * Tiempoentrega * Urgencia Fk * Idcliente

Fk1

items Pk,Fk1 * Idorden Pk,Fk2 * Idprod

Fk2

Pk

productos * Idprod * descripcion * unidadMedida * precio

6. Mapeo de Objetos Persistentes a un Esquema Relacional  Las relaciones de generalización tienen tres enfoques o estrategias posibles:  Conservar una tabla para cada subclase, de modo que el ID sea el mismo en la clase padre y en las hijas.  Eliminar la tabla correspondiente a la clase padre o superclase, de modo que se añadan sus atributos a cada tabla correspondiente a las clases hijas o subclases.  Se crea una sola tabla para la clase padre o superclase con sus atributos y los atributos de las clases hijas o subclases en forma opcional. Se le agrega a la tabla un atributo adicional como bandera para identificar la filas que pertenecen a las clases hijas.

 Se buscan la mejor relación con respecto al desempeño y espacio de almacenamiento para decidir que mapeo usar en cada situación de herencia

6. Mapeo de Objetos Persistentes a un Esquema Relacional cliente

ordenes

productos

nombre direccion telefono

fecha tiempoentrega urgencia

descripcion unidadMedida precio

1

0..n

0..n

1..n

Ordenstandar

Ordenespecial

fechaInicio fechaFin

frecuencia

6. Mapeo de Objetos Persistentes a un Esquema Relacional Estrategia por Superclase (una sola tabla)

Pk cliente Pk * Idcliente * nombre * direccion

Fk

Fk

ordenes * Idorden * fecha * Tiempoentrega * Urgencia o fechaInicio o fechaFin o frecuencia * Idcliente * tipoOrden

Fk1

items Pk,Fk1 * Idorden Pk,Fk2 * Idprod

Fk2

Pk

productos * Idprod * descripcion * unidadMedida * precio

6. Mapeo de Objetos Persistentes a un Esquema Relacional Estrategia por Arco ordenstandar Fk, Pk * Idorden * fechaInicio * fechaFin Pk cliente Pk * Idcliente * nombre * direccion

Fk

Fk

ordenes * Idorden * fecha * Tiempoentrega * Urgencia * Idcliente

ordenespecial Fk, Pk * Idorden * frecuencia

7. Modelado Base de Datos con Rational Rose: Contenido  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.

7. Modelado Base de Datos con Rational Rose: Modelador de Datos  Para modelar los datos de un Sistema con la herramienta Rational Rose se utiliza

Data Modeler (Modelador de datos)    

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.

7. Modelado Base de Datos con Rational Rose: Modelador de Datos  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 Datos

Modelo de Almacenamiento

7. Modelado Base de Datos con Rational Rose: Modelo de Análisis  Representa la vista ló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

7. Modelado Base de Datos con Rational Rose: Modelo de Análisis escribe 1..n

1..n

Autor

Libro

codAutor : Long nombre : String apellidos : St ring sexo : Boolean fec haNacimiento : Date

codLibro : Long titulo : String fechaEdicion : Date

Aut or-Libro principal : Boolean tema : String

Modelo de Análisis

7. Modelado Base de Datos con Rational Rose: Modelo de Datos  Representación de la vista física de los datos.  Es dependiente del tipo de Base de Datos.  Está compuesto por:       

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

Modelo de Datos

7. Modelado Base de Datos con Rational Rose: Modelo de Datos TAutor codAutor : INTEGER nombre : VARCHAR(255) apellidos : VARCHAR(255) sexo : SMALLINT fechaNacimiento : DATE TAutor_ID : INTEGER TPais_ID : INTEGER PK_TAutor0() FK_TAutor5() TC_TAutor8()

TLibro codLibro : INTEGER titulo : VARCHAR(255) fechaEdicion : DATE TLibro_ID : INTEGER PK_TLibro1() 1

1

0..*

0..* TAutor-Libro principal : SMALLINT tema : VARCHAR(255) TLibro_ID : INTEGER TAutor_ID : INTEGER PK_TAutor-Libro2() FK_TAutor-Libro0() FK_TAutor-Libro1() TC_TAutor-Libro0() TC_TAutor-Libro1()

Modelo de Datos

7. Modelado Base de Datos con Rational Rose: Modelo de Almacenamiento  Representación de la vista fí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

7. Modelado Base de Datos con Rational Rose: Modelador de Datos  ¿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.

8. Transformación del Modelo de Análisis al Modelo de Datos: Mapeo 8.1. Definir las clases persistentes que serán las que participarán en la transformación. 8.2. Indicar los atributos que se sugieren como parte de la identidad del objetos (claves primarias). 8.3. Agrupar las clases persistentes en un paquete. La transformación ocurre solo a nivel de paquete. 8.4. Crear un componente de Base de Datos en la Vista de Componentes. 8.5. Transformar el Modelo Análisis-Modelo Datos. 8.6. Construir el Diagrama del Modelo de Datos.

8.1. Definir las clases persistentes que serán las que participarán en la transformación.  Seleccionar la clase.  Hacer doble clic y se muestra el formulario de especificaciones de la clase.  Seleccionar la pestaña Detail.  Marcar la clase como persistente en el control correspondiente.

8.1. Definir las clases persistentes que serán las que participarán en la transformación.

8.2. Indicar los atributos que se sugieren como parte de la identidad del objetos (clave primaria)    

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

8.2. Indicar los atributos que se sugieren como parte de la identidad del objetos (clave primaria)

8.3. Agrupar las clases persistentes en un paquete. La transformación ocurre solo a nivel de paquete.  Para ello se crea un paquete dentro de la Vista Lógica y se mueven hacia el mismo las clases persistentes.  Se sugiere realizar este paso desde el inicio de la construcción del Modelo de Análisis.

8.4. Crear un componente de Base de Datos en la Vista de Componentes  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.

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

8.4. Crear un componente de Base de Datos en la Vista de Componentes  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.

8.4. Crear un componente de Base de Datos en la Vista de Componentes  Especificar el tipo de la Base de Datos haciendo doble clic sobre el componente de Base de Datos creado.

8.4. Crear un componente de Base de Datos en la Vista de Componentes  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

8.4. Crear un componente de Base de Datos en la Vista de Componentes  Hacer doble clic sobre el Tablespace creado para especificar todas sus propiedades. Esto depende del tipo de la Base de Datos.

8.4. Crear un componente de Base de Datos en la Vista de Componentes Oracle

DB2

8.5. Transformar el Modelo Análisis-Modelo Datos  Seleccionar el paquete que contiene al Modelo de Análisis.  Hacer clic en el boton derecho y seleccionar Data Modeler / Transform to Data Model.

8.5. Transformar el Modelo Análisis-Modelo Datos  Especificar los parámetros de la transformación.    

Nombre del esquema (Modelo de Datos) destino. Componente de la base de datos. Prefijo para el nombre de las tablas. Si se desea o no índice para las llaves foráneas.

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

8.5. Transformar el Modelo Análisis-Modelo Datos

9. Mapeo en la Transformación 9.1. Mapa de Transformación. 9.2. Transformación de los atributos. 9.3. Transformación de las relaciones 9.4. Resultado de la Transformación. 9.5. Construir el Diagrama del Modelo de Datos. 9.6. Generando la Base de Datos Física y/o Script

9.1. Mapa 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.

9.2. Transformación de los Atributos

Modelo de Análisis

Modelo de Datos T_Clase X

Clase X (from NewPackage)

atributoCadena : String atributoLogico : Boolean atributoNumerico : Long atributoReal : Double

atributoCadena : VARCHAR(255) atributoLogico : SMALLINT atributoNumerico : INTEGER atributoReal : DOUBLE PRECISION

PK_T_Clase X1()

9.2. Transformación de los Atributos En Oracle Tipos de Datos Modelo de Análisis STRING INTEGER DOUBLE DATE BOOLEAN BYTE SINGLE LONG CURRENCY

Tipos de Datos Modelo de Datos VARCHAR2(255) NUMBER (10,0) FLOAT DATE NUMBER (5,0) NUMBER (3,0) FLOAT NUMBER (20,0) FLOAT

9.2. Transformación de los Atributos En DB2 Tipos de Datos Modelo de Análisis STRING INTEGER DOUBLE DATE BOOLEAN BYTE SINGLE LONG CURRENCY

Tipos de Datos Modelo de Datos VARGRAPHIC(255) INTEGER DOUBLE TIMESTAMP SMALLINT SMALLINT REAL BIGINT DOUBLE

9.2. Transformación de los Atributos En SQL Tipos de Datos Modelo de Análisis STRING INTEGER DOUBLE DATE BOOLEAN BYTE SINGLE LONG CURRENCY

Tipos de Datos Modelo de Datos VARCHAR(255) INT FLOAT DATETIME BIT SMALLINT FLOAT INT MONEY

9.2. Transformación de los Atributos  Por cada atributo que forma parte de la clave primaria será la identidad del objeto, el Modelador de Datos crea una columna, manteniendo 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.

9.2. Transformación de los Atributos

Atributo como Parte de la dentidad del objeto

Modelo de Análisis Clase K (from NewPackage)

atributoIdentidad : String atributo : String

Atributo sin identidad

Modelo de Objetos

Clase Z

Modelo de Datos T_Clas e K atributoIdentidad : V A RCHA R(255) atributo : V A RCHA R(255) < < P K > > P K _T_Clas e K 3()

Modelo de Datos T_Clase Z at ri buto : SMALLINT T_Clase Z_ID : INTEGER

(from NewPackage)

atributo

PK_T_Clas e Z4()

9.3. Transformación de las 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.

9.3. Transformación de las Relaciones  Relación es NO IDENTIFICANTE

llave de A : NUMBER(5, 0)

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

PK_T_Clase A5()

PK_T_Clase B6()

T_Clase A

 Relación es IDENTIFICANTE

T_Clase A llave de A : NUMBER(5, 0) PK_T_Clase A5()

0..* 0..1

T_Clase B llave de B : NUMBER(5, 0) llave de A : NUMBER(5, 0) PK_T_Clase B6() FK_T_Clase B2()

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación Elemento del Elementos del Resultado Modelo de Análisis Modelo de Datos Relación no Cada asociación Asociación simple identificante simple se transforma en una relación no identificante entre las tablas (en el sentido contrario a la navegabilidad)

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación Clase A llave de A

1

Clase B llave de B *

T_Clase A llave de A : NUMBER(5, 0) PK_T_Clase A5()

0..1

0..*

T_Clase B llave de B : NUMBER(5, 0) llave de A : NUMBER(5, 0) PK_T_Clase B6() FK_T_Clase B2() TC_T_Clase B7()

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación Elemento del Elementos del Resultado Modelo de Análisis Modelo de Datos Asociación múltiple Tablas separadas Cada asociación (Clase asociación) múltiple (clase asociación) se transforma en una tabla de separada.

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación clase AA

clase BB

llav e de AA

llav e de BB 1..n

1..n

Cla se As oc iac ion atributo de la asociacion T_clase AA

T_clase BB

llave de AA : NUMBER(5, 0)

llave de BB : NUMBER(5, 0)

PK_T_clase AA23()

PK_T_clase BB24() 1

1



0..*

0..*

T_Clase Asociacion atributo de la asociacion : NUMBER(5, 0) llave de BB : NUMBER(5, 0) llave de AA : NUMBER(5, 0) PK_T_Clase Asociacion25() FK_T_Clase Asociacion11() FK_T_Clase Asociacion10() TC_T_Clase Asociacion32() TC_T_Clase Asociacion31()

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación Elemento del Elementos del Modelo de Análisis Modelo de Datos Relación Asociación identificante composición Asociación agregación

Resultado 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

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación

T_Todo

Todo llave de Todo

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

1

1

+partes

1..n

1..*

Parte llave de Parte

T_Parte llave de Parte : NUMBER(5, 0) llave de Todo : NUMBER(5, 0) PK_T_Parte20() FK_T_Parte8() TC_T_Parte27()

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación Elemento del Elementos del Resultado Modelo de Análisis Modelo de Datos Tablas separadas Cada subclase se Asociación transforma en una generalización tabla. La superclase se transforma en una tabla padre con una relación identificante de 0 a N con cada subclase

9.3. Transformación de las Relaciones  Convirtiendo asociación en relación

T_Superclase Superclase llave superclase

llave su perclase : N UMBER(5, 0) PK_T_Sup erclase21() 1

0..*

Subclase llave subclase

T_Subclase llave su bclase : NUMBER(5, 0) llave su perclase : N UMBER(5, 0) PK_T_Sub clase 22() FK_T_Subclase9()

9.4. Resultado de la 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.

9.4. Resultado de la Transformación. Ejemplo contiene

escribe 1..n

1

1..n

Autor

1..n Ejemplar

Libro

codAutor : Long nombre : String apellidos : String sexo : Boolean fechaNacimiento : Date

codLibro : Long titulo : String fechaEdicion : Date

codEjemplar : Integer 1..n solicita 1..n

0..n

Prestamo fechaPrest amo : Date fechaDevolucion : Date

Usuario

Aut or-Libro nació principal : Boolean tema : String 1

codUsuario : Integer nombre : String apellidos : String sexo : Boolean

Pais codPais : Integer descripcion : String

Est udiante carrera : String

Profesor departamento : String

9.4. Resultado de la Transformación. Ejemplo TAutor codAutor : INTEGER nombre : VARCHAR(255) apellidos : VARCHAR(255) sexo : SMALLINT fechaNacimiento : DATE TAutor_ID : INTEGER TPais_ID : INTEGER PK_TAutor0() FK_TAutor5() TC_TAutor8() 0..*

1

TPais codPais : INTEGER descripcion : VARCHAR(255) TPais_ID : INTEGER PK_TPais8()

TEjemplar

TLibro codLibro : INTEGER t itulo : VARCHAR(255) fechaEdicion : DATE TLibro_ID : INTEGER

codEjemplar : INTEGER TLibro_ID : INTEGER

1..*

1

PK_TEjemplar3() FK_TEjemplar2() TC_TEjemplar9()

PK_TLibro1()

1

1

1

0..*

0.. * TPrestamo fechaPrestamo : DATE fechaDevolucion : DATE TUsuario_ID : INTEGER TLibro_ID : INTEGER

0..* TAutor-Libro principal : SMALLINT tema : VARCHAR(255) TLibro_ID : INTEGER TAutor_ID : INTEGER

TUsuario

PK_TAutor-Libro2() FK_TAutor-Libro0() FK_TAutor-Libro1() TC_TAutor-Libro0() TC_TAutor-Libro1()

codUsuario : INTEGER nombre : VARCHAR(255) apellidos : VARCHAR(255) 1 sexo : SMALLINT TUsuario_ID : INTEGER

0..*

PK_TPrestamo5() FK_TPrestamo4() FK_TPrestamo3() TC_TPrestamo3() TC_TPrestamo4()

PK_TUsuario4() 1

0.. 1

1

0..1

TEstudiante carrera : VARCHAR(255) TUsuario_ID : INTEGER

TProfesor departamento : V ARCHAR(255) TUsuario_ID : INTEGER

PK_TEstudiant e9() FK_TEstudiante6() TC_TEst udiante10()

PK_TProfesor10() FK_TProfes or7() TC_TProfesor11()

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

9.5. Construir el Diagrama del Modelo de Datos  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.

9.6. Generando la Base de Datos Física y/o Script  Seleccionar el esquema que contiene el Modelo de Datos.  Hacer clic derecho y seleccionar Data Modeler / Forward Engineer.  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.  Hacer efectiva la generación.  Consultar la ventana de Logs, para conocer si hubo errores.

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

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