Primera parte - Departamento de Ingeniería de Sistemas e Industrial

Download Report

Transcript Primera parte - Departamento de Ingeniería de Sistemas e Industrial

HERRAMIENTAS CASE PARA
MODELAMIENTO DE DATOS
OBJETIVOS
• Crear y manejar modelos de datos conceptuales
• Generar y administrar modelos de datos físicos
• Implementar detalles, tales como triggers,
procedimientos y vistas
• Manipular la reingeniería
• Sincronizar modelos y la base de datos
• Trabajar en grupo con modelos de datos compartidos
• Aprender técnicas de administración de estos modelos
Herramienta PowerDesigner
Modelamiento de datos con CDM, PDM y OOM
• Tres tipos de modelos para modelamiento de datos
– Conceptual
• En la ingeniería tradicional se inicia con el nivel conceptual
• Describe relaciones conceptuales entre tipos de información
• Independiente del DBMS
– Físico
• Especifica la implementación física de la base de datos
• Es dependiente del DBMS usado
• Incluye características de rendimiento y usabilidad
– Orientado a Objetos
• Usa diagramas UML para definir la estructura funcional de una aplicación
• Los Objetos son bloques de construcción de la ingeniería de software
• Cada objeto o clase tiene identidad y comportamiento
Modelado de los Procesos del Negocio
• BPM (Business Process Modeling) PowerDesigner lo soporta
• Un BPM es un modelo conceptual desde el punto de vista de
la lógica y los procesos de los negocios
• Es una representación visual de los negocios, incluyendo la
interacción entre los procesos, flujos, mensajes y recursos.
• El BPM se usa para análisis de los procesos de los negocios
Generación del Modelo
- Código Java
(Fuente, Bytecode, JAR)
-Código PowerBuilder
-Archivo XML
- Estructura de la Aplicación
- Lógica de los negocios
- Estructura de los datos
- Reglas del negocio
OOM
Modelo Orientado
a objetos
-Archivos fuente Java
-Objetos no visuales PowerBuilder
-Java Bean información de clases
-Objetos XML
-Genera objeto: C#, C++, Visual
Basic, IDL-CORBA
CDM
Modelo Conceptual
Ingeniería
- Definición del esquema
- Desnormalización
- Optimización (Indexado)
- Creación de la base de dtos
PDM
Modelo físico
Re-Ingeniería
ODBC
Script SQL
DBMS
Crear CDM con Diagramas Entidad Relación
- Código Java
(Fuente, Bytecode, JAR)
-Código PowerBuilder
-Archivo XML
- Estructura de la Aplicación
- Lógica de los negocios
- Estructura de los datos
- Reglas del negocio
OOM
Modelo Orientado
a objetos
-Archivos fuente Java
-Objetos no visuales PowerBuilder
-Java Bean información de clases
-Objetos XML
-Genera objeto: C#, C++, Visual
Basic, IDL-CORBA
CDM
Modelo Conceptual
Ingeniería
- Definición del esquema
- Desnormalización
- Optimización (Indexado)
- Creación de la base de dtos
PDM
Modelo físico
Re-Ingeniería
ODBC
Script SQL
DBMS
Generar un PDM a partir de un CDM
- Código Java
(Fuente, Bytecode, JAR)
-Código PowerBuilder
-Archivo XML
- Estructura de la Aplicación
- Lógica de los negocios
- Estructura de los datos
- Reglas del negocio
OOM
Modelo Orientado
a objetos
-Archivos fuente Java
-Objetos no visuales PowerBuilder
-Java Bean información de clases
-Objetos XML
-Genera objeto: C#, C++, Visual
Basic, IDL-CORBA
CDM
Modelo Conceptual
Ingeniería
- Definición del esquema
- Desnormalización
- Optimización (Indexado)
- Creación de la base de dtos
PDM
Modelo físico
Re-Ingeniería
ODBC
Script SQL
DBMS
PDM por Reingeniería
- Código Java
(Fuente, Bytecode, JAR)
-Código PowerBuilder
-Archivo XML
- Estructura de la Aplicación
- Lógica de los negocios
- Estructura de los datos
- Reglas del negocio
OOM
Modelo Orientado
a objetos
-Archivos fuente Java
-Objetos no visuales PowerBuilder
-Java Bean información de clases
-Objetos XML
-Genera objeto: C#, C++, Visual
Basic, IDL-CORBA
CDM
Modelo Conceptual
Ingeniería
- Definición del esquema
- Desnormalización
- Optimización (Indexado)
- Creación de la base de dtos
PDM
Modelo físico
Re-Ingeniería
ODBC
Script SQL
DBMS
Generar Diagrama de clases a partir de un PDM
- Código Java
(Fuente, Bytecode, JAR)
-Código PowerBuilder
-Archivo XML
- Estructura de la Aplicación
- Lógica de los negocios
- Estructura de los datos
- Reglas del negocio
OOM
Modelo Orientado
a objetos
-Archivos fuente Java
-Objetos no visuales PowerBuilder
-Java Bean información de clases
-Objetos XML
-Genera objeto: C#, C++, Visual
Basic, IDL-CORBA
CDM
Modelo Conceptual
Ingeniería
- Definición del esquema
- Desnormalización
- Optimización (Indexado)
- Creación de la base de dtos
PDM
Modelo físico
Re-Ingeniería
ODBC
Script SQL
DBMS
Modelo OO: Generar/Importar lógica de negocios
- Código Java
(Fuente, Bytecode, JAR)
-Código PowerBuilder
-Archivo XML
- Estructura de la Aplicación
- Lógica de los negocios
- Estructura de los datos
- Reglas del negocio
OOM
Modelo Orientado
a objetos
-Archivos fuente Java
-Objetos no visuales PowerBuilder
-Java Bean información de clases
-Objetos XML
-Genera objeto: C#, C++, Visual
Basic, IDL-CORBA
CDM
Modelo Conceptual
Ingeniería
- Definición del esquema
- Desnormalización
- Optimización (Indexado)
- Creación de la base de dtos
PDM
Modelo físico
Re-Ingeniería
ODBC
Script SQL
DBMS
Desarrollo Iterativo
Modelamiento iterativo de Datos
Crear CDM
Mejorar PDM
Generar PDM
Crear CDM
Más
Revisiones
Generar PDM
Generar PDM
Más
Mejoras
Más
Mejoras
Sincronización de Modelos
- Java Code
(Source, Bytecode, JAR)
-PowerBuilder Code
-XML File
- Application Structure
- Business Logic
- Data Structures
- Business Rules
Object-Oriented
Model
(OOM)
-Java source files
-PowerBuilder non-visual objects
-Java Bean info classes
-XML Objects
-Generic obj: C#, C++, Visual
Basic, IDL-CORBA
Conceptual Data
Model (CDM)
Forward Engineering
- Schema Definition
- Denormalization
- Optimization (Indexing)
- Database Creation
Physical Data
Model
(PDM)
Reverse Engineering
ODBC
Database SQL
Script
Database
Management System
(DBMS)
Workspace de PowerDesigner
• Define un espacio de trabajo que se necesita para ejecutar
las tareas de modelamiento usando PowerDesigner
• Está ubicado en el computador del usuario, se puede grabar
todo el ambiente como como una organización jerárquica de
carpetas y modelos
• La estructura de carpetas y la ubicación de la información
está disponible en el disco cada vez que se inicia una sesión
• Puede incluir archivos PowerDesigner, tales como modelos
conceptuales (CDM) o archivos externos
• Se pueden tener varios workspace
Interfaz PowerDesigner
Barras de herramientas
• Hay barras de herramientas predefinidas
• Se pueden crear nuevas barras de herramientas
– Se pueden ajustar para tener en el menú las opciones más usadas
• Pueden ser fijas o flotantes
Vista del explorador
• Herramienta para manejar las
relaciones jerárquicas que existen
entre los modelos y sus objetos
–
–
–
–
La raíz del árbol es el Workspace
Los folderes son niveles opcionales
Modelo es la unidad básica de diseño
Cada modelo tiene una o más vistas
gráficas denominadas diagramas
Carpetas
• Contenedor opcional que ayuda a organizar de forma
jerárquica el workspace
• Una carpeta puede contener otras carpetas o modelos
Explorador de Objetos
• Lista los objetos asociados
con el modelo
• Dando clic derecho se
pueden ejecutar acciones
sobre un objeto o sobre un
tipo de objeto
Área de trabajo
• Muestra la ventana donde se trabaja el diagrama
• También se usa para trabajar con los Editores
• Dando clic derecho se pueden usar menús contextuales
Ventana para las salidas
• Muestra cómo se van adelantando los procesos en
ejecución
• Muestra mensajes que envían las tareas, tales como el
chequeo del modelo, generación de bases de datos, etc.
Lista de Resultados
• Muestra en pestañas separadas el resultado de las
búsquedas de un objeto u operaciones de chequeo de
modelos
• Dando clic derecho sobre un mensaje muestra un menú
contextual, para ver detalles, tales como detalles de los
errores
La Paleta
• Barra de herramientas especializada
para trabajo gráfico
• Cada tipo de modelo tiene asociada
una paleta diferente
– Herramientas para selección y
acercamiento
– Herramientas para gráficos
– Herramientas para creación de objetos
Ambiente para el modelado
• Modelos de Objetos
– Algunos tienen una representación gráfica
– Propiedades
Lista de Objetos
• Listas de objetos, usando diferentes métodos
• Listas de herramientas
• Listas Arregladas/Filtradas
Herramientas para listas
• Listas Arregladas/Filtradas
Hojas de propiedades
• Presentan las propiedades de los objetos
• Se pueden activar utilizando diferentes métodos
Hojas de propiedades ajustables
• Se pueden escoger las pestañas que se desean ver
– Estándar, todas, o las pestañas seleccionadas
Pestañas de las hojas de propiedades
•
•
•
•
•
•
General – Identifica el objeto (por ejemplo: nombre, código)
Rules – Reglas del negocio para el objeto
Notes – Para hacer descripciones y anotaciones
Version Info – Origen del objeto
Dependencies – Items dependientes
Extended Dependencies – Dependencias definidas por el
usuario
Pestaña General de Propiedades
• La pestaña General contiene al menos:
– Nombre
– Código
– Comentarios
Convenciones para Nombres
• Escoger una convención efectiva para Nombres y
Códigos
• Nombres – Seleccionar términos estándares utilizados
en el mundo real
• Códigos – breves, significativos y consistentes con el
DBMS
• Comentarios – útiles para describir o detallar los
objetos
Pestaña Notes
• Description – Da información detallada
• Parte permanente de la documentación
• Annotation – Notas de trabajo o recordatorio
• Temporal
Editor RTF
• Define fuentes,
características de
los parágrafos y
espaciado de las
pestañas
• Edita las notas
usando un editor
externo
• Inserta contenido
de texto o archivo
RTF
Problema de la Reutilización y Actualización
• Objetos compartidos están desincronizados en
diferentes modelos
• Cambios en objetos reutilizados y heredados en
múltiples modelos
Solución: Shortcuts
• Objetos compartidos entre varios modelos
• PowerDesigner hace sincronización automática
EL MODELO
CONCEPTUAL
Crear un modelo conceptual de datos
• Para crear un CDM
– Primero hacer el diseño
– Los expertos en el problema deben trabajar con los
modeladores de datos para crear la mejor representación
lógica del problema
• Crear el modelo CDM
– Crear un modelo nuevo cuando se parte de cero
– Crearlo a partir de una base de datos existente haciendo reingeniería
– Generar un CDM a partir de un OOM
Propiedades del modelo conceptual
Propiedades del modelo conceptual
• General tab
–
–
–
–
–
–
Name
Code
Comment
Author
Version
Default Diagram
• Rules tab
– Business rules attached to
the model
• Notes tab
– Description
– Annotation
• Dependencies
– Dependent items
• Extended Dependencies
– Links between CDM objects
• Version Info
–
–
–
–
Creation user
Creation date
Last modification user
Last modification date
Preferencias y opciones de PowerDesigner
• Para borrado,
navegación, arrastre
y bitácora de salida
• En cajas de diálogo
• En el editor de texto
• Fuentes por default
• Repositorio
Opciones de Dialog
• Modos de operación
– Auto commit
– Nombre a código
• Lista de Objetos
– Filas con auto inserción
– Uso de nombres por
default
• Open property sheet mode
• Property sheets tab
presentation
Preferencias para ver el Modelo
• Formato para nombre y
código
– Nombre dividido
– Truncamiento
– Ajuste de palabras
• Formato general para ver
gráficos
– Despliegue de textos
• Formato para ver símbolos
–
–
–
–
–
Tamaño del símbolo
Color de primer plano
Color de fondo
Color de los textos
Fuente
Preferencias para ver el modelo
• Tamaño
Default
• Estilo de línea
• Llenado
• Color de
sombras
• Fuente
• Alineamiento
de textos
Reglas del negocio
• Describir en lenguaje natural cómo opera el negocio
• Complementar el modelo gráfico con información que
no se puede representar fácilmente de modo gráfico
• Guiar y documentar la creación del modelo
Tipos de reglas del negocio
• Constraint – Restricción. Factor que limita la
operación factible del negocio
• Definition – Expresa propiedades inherentes del
objeto
• Fact – Expresa certeza o existencia
• Formula – Cálculo usado para producir valores
• Requirement – Especificación funcional en el
sistema de información
• Validation – Restricción sobre un valor
Reglas del negocio
• Proceso iterativo
• Definir reglas a nivel conceptual
• Definir reglas a nivel físico
Definir reglas del negocio
• Pasos
– Crear y describir en el CDM
– Aplicar a uno o más modelos de objetos en el CDM o en el
PDM
– Asociar una expresión en el PDM
Aplicar reglas del negocio a objetos
• Objetos CDM
–
–
–
–
–
Dominio
Relación
Ítem de datos
Cadena de herencia
Entidad
• Objetos PDM
–
–
–
–
–
–
Dominio
Referencia
Tabla
Índice
Columna
Vista
Definir entidades
• Entidad
– Objeto distinguible con propiedades
– En las reglas del negocio se identifican porque definen
objetos para el problema del mundo real
• Crear entidades:
– Usando la herramienta para construir entidades
– Adicionando la entidad a la lista de entidades
– Dando doble clic en el nodo entidad del explorador y
seleccionar la opción New en el menú contextual
Propiedades de Entidad
• Propiedades
generales:
–
–
–
–
Nombre
Código
Comentarios
Generar flags
– Estimated number of occurrences
Propiedades adicionales de Entidad
• Attributes – Atributos: piezas elementales de información
asociadas a la entidad
• Identifiers – Identificadortes: uno o más atributos que
identifican de manera inequívoca cada ocurrencia de la
entidad
• Notes – Notas: descripción y notas
• Rules – Reglas del negocio asociadas a la entidad
• Dependencies – Dependencias: relaciones y asociaciones
Definir Atributos de la Entidad
• Atributos de la entidad: son sencillamente datos
elementales asociados con una entidad
• Típicamente identificada en las reglas del negocio
ISBN
Book
ISBN
Propiedades de los Atributos de la Entidad
•
•
•
•
•
•
•
Nombre
Código
Tipo de datos
Dominio
Parámetros de chequeo
Notas
Reglas
• Obligatorio
• identificador primario
• Indicador de despliegue
Datos elementales
• Unidad más pequeña de información en un modelo de
datos
• Se asocian con los atributos de una entidad
• Típicamente identificados en las reglas del negocio que
definen objetos
• Se pueden crear explícita o implícitamente
Propiedades de los datos elementales
• Los mismos que los atributos de la entidad,
excepto:
– Pestaña Dependencies que muestra los atributos
que están usando los datos elementales
Tipos de datos e implementación
• En el modelamiento conceptual no es necesario
concentrarse en los detalles de la implementación
• Se toman los tipos de datos estándar
• En la generación del PDM los tipos de datos utilizados
en el modelo conceptual se convierten a los tipos de
datos que acepte la base de datos para el cual se está
generando
Parámetros de chequeo
• Especifica los valores que se aceptan para un dominio,
datos elementales y atributos de las entidades
– Chequeos estándar
– Chequeos adicionales
– Reglas
Propiedades estándar de los parámetros
•
•
•
•
•
Mínimo
Máximo
Default
Unidad
Formato
•
•
•
•
•
Minúsculas
Mayúsculas
No modificable
Lista de valores
Rótulo
Dominio
• Nombre de un conjunto de valores o un rango de
valores de los cuales una o más entidades o datos
elementales toman sus valores
Modificar un Dominio
• Para poder aplicar cambios a los datos y atributos
asociados con el dominio
• Precaución: Tener en cuenta que si se modifica un
dominio y no se aplican los cambios a los datos y
atributos existentes, se introduce una inconsistencia en
el modelo de datos
Definir relaciones
• Relación: asociación entre entidades
• Definida con propiedades:
–
–
–
–
–
Nombre, Código, Comentarios
Rol
Cardinalidad
Obligatoriedad
Dependencia
• Generalmente definidas por las reglas del negocio
Menú del objeto Relación
• Dar clic derecho en la
línea de relación
Notación para las relaciones
• La relaciones expresan una amplia variedad de
información acerca de las entidades. Los detalles se
representan con la siguiente nomenclatura:
Roles
• Roles
– Describen
explícitamente la
relación
– Uno en cada dirección
– Verbo o frase con un
verbo
Rol dominante
• Define una relación tipo padre-hijo
• La entidad dominante es el padre
Cardinalidad
• Mapeo numérico
• Expresado como una
relación entre dos
entidades
–
–
–
–
Uno-a-uno
Uno-a-muchos
Muchos-a-uno
Muchos-a-muchos
• Definida en ambas
direcciones
Obligatoriedad de la Existencia
• Indica cuándo una
relación es obligatoria u
opcional
• Definida en ambas
direcciones
Dependencia
• Una entidad en una
relación depende de la
otra para su
identificación
Orden 1
Orden 2
Orden 2
Bodega Bogotá
?
Orden 1
Bodega Tunja
Bodega Cali
Dependencia
• Una bodega puede tener una
o más órdenes
• Cada orden debe provenir de
una y solo una bodega
• Cada orden se identifica por
un número y el identificador
de la bodega
Continúa …
Dependencia
• Un triángulo señala el sentido de la entidad dependiente
Dependiente uno-a-uno
Dependiente uno-a-muchos
Relación obligatoria
Relaciones uno-a-muchos
• Una instancia de la primera entidad puede corresponder
a más de una instancia de la segunda entidad
Relaciones recursivas
• Un empleado puede
supervisar a cero o más
empleados
• Un empleado debe ser
supervisado por uno y
solo un empleado
Metodología Merise
• Use Asociaciones y Asociaciones encadenadas en
cambio de relaciones
• PowerBuilder acepta diagramas que utilizan la
metodología Entidad Relación, Merise o Mezclada
Opciones del modelo CDM
Opciones del modelo CDM
•
•
•
•
•
•
Notación
Datos elementales – Código único – Acepta reutilización
Relación
Dominio/Atributo no-divergente
Nombre de tipo de datos
Tipo de datos por default
Definir cadenas de herencia
• La herencia define un caso especial de una entidad
más general
• La entidad general es el supertipo o padre
• Un caso especial de entidad es la subtipo o hija
• Las entidades hijas heredan, en su totalidad o en parte,
los atributos de la entidad padre
Símbolo para cadenas de herencia
Cadena mutuamente exclusiva
• Solamente una hija puede existir para una ocurrencia
del padre
• Solamente para propósitos de documentación
General y específico
Continúa …
General y específico
Continúa …
General y específico
Definir una cadena de herencia
•
•
•
•
•
•
Mutuamente exclusiva
Modo de generación
Nombre, código, tipo de datos
Atributo específico
Descripción, anotación, reglas del negocio
Entidad hija
Modo de generación
• Define la implementación física de la cadena
• Generar el padre
– Especificando atributo para cadena mutuamente exclusiva
• Generar hijos
• Generar padre / Generar hijos
Definiciones para el modelo extendido
• Permite extender el modelo de PowerDesigner
• Conjunto de atributos extendidos, estereotipos y
parámetros de generación
• Organizado en categorías correspondientes a objetos
• Almacenados como archivos .XEM
Tipos de definiciones del modelo extendido
• Genérico
– Una librería de atributos extendidos, estereotipos y
parámetros de generación
– El archivo se almacena en un área central y puede ser
referenciado por múltiples modelos
• Específico
– Embebido en el modelo
– Definiciones del objeto y parámetros de generación para un
solo modelo
Crear la definición de un modelo genérico extendido
• Tools … Resources … Extended Model Definition
• Seleccionar el tipo de modelo
• Colocar nombre a la definición y grabarlo
Propiedades de la definición del modelo extendido
Importar una definición genérica de un modelo extendido
• Model … Extended Model Definitions
• Use Import an Extended Model Definition
Ejemplo de un atributo extendido
Chequear el modelo conceptual
• Incluye una inspección de todos los datos elementales,
entidades y herencias indicadas en el modelo
• Determina la validez del CDM
– En cualquier momento durante la creación del CDM
– Activado automáticamente cuando se genera el PDM
Tipos de chequeo
• Unicidad del nombre de los
objetos
• Las entidades deben tener
atributos
• Relaciones asociadas a un
atributo
•
•
•
•
•
•
•
•
Paquetes
Dominios y datos elementales
Entidades
identificador de entidad
Relaciones
Asociaciones
Herencias
Archivo del objeto
Nivel de severidad
• Conjunto para cada parámetro objeto
• Un error termina el proceso de generación
• Las advertencias se muestran pero el proceso de
generación continúa
• Corrección automática para algunos errores
Fijar opciones para chequear el modelo
• Seleccionar todo/nada
• Cambiar el nivel de
severidad
• Fijar auto-corrección
Seleccionar los objetos a chequear
• Usar la selección
gráfica
• Mover los ítems
seleccionados
hacia arriba/abajo
Ejecución del chequeo del modelo
• Mensajes en
la ventana de
salidas
• Resultados en
la ventana de
resultados
Uso de la ayuda en la ventana de resultados
• Dar clic derecho en una línea de la ventana de resultados y
seleccionar la opción Help
Corrección de errores
• Opción de corrección en el menú contextual
• Auto corrección
Rechequeo del modelo
• Para asegurar que los errores se han corregido y no se
han introducido nuevos errores
• Opción de rechequeo en el menú contextual
Generación de un modelo físico
Modelo físico de datos
• Un PDM representa un modelo de datos en términos de
detalles de implementación física
– Características del DBMS escogido
– Diseñar modificaciones para mejorar el rendimiento,
usabilidad y seguridad
Para crear un PDM
• Generar el PDM desde un CDM
• Generar el PDM desde una base de datos o desde el
script de generación de la base de datos
• Generar el PDM desde un OOM
• Diseñar el PDM sin hacer modelamiento de datos a
nivel conceptual
Opciones de generación de un PDM
• Seleccionar el DBMS
– Archivo XDB en
formato XML
• Compartir vs copiar
• Configurar opciones
del modelo
Opciones detalladas
•
•
•
•
Chequear el modelo
Grabar la generación de dependencias
Convertir nombres a códigos
Opciones de referencia
– Restricción, Cascada, Fijar nulo, Fijar valor default
• Opciones para convenciones de los nombre de índices
– Llave foránea Umbral – Número mínimo estimado de
ocurrencias de una entidad necesarias para crear un índice
en una llave foránea
Seleccionar objetos a generar del modelo
• Pestaña Selection
• Incluir Sub-paquetes
Opciones del modelo PDM
Nombre de las plantillas
• Reutilizar plantillas para forzar restricciones en longitud,
letras y tipo para nombres y código de objetos
• Típicamente usado para forzar el uso de nombres
estándar en los diferentes modelos
Transformación de objetos CDM en objetos PDM
• Objeto CDM
–
–
–
–
–
–
–
–
–
–
Entidad
Atributo
Dato elemental
identificador
Ninguno
Relación
Ninguno
Ninguno
Ninguno
Ninguno
• Objeto PDM
–
–
–
–
–
–
–
–
–
–
Tabla
Columna
Ninguno
Llave primaria o foránea
Llave foránea
Referencia
Índice
Vista
Trigger
Procedimiento almacenado
Transformación de entidades en tablas
Si se selecciona una entidad del modelo CDM para generación física,
ella se convierte en una tabla en el modelo PDM
Entidad
Atributo
identificador
Tabla
Columna
Llave primaria
Transformación de relaciones en referencias PDM
• Regida por la cardinalidad y dependencia de la relación
• Cardinalidad y opcionalidad indican el número máximo
y mínimo de filas hijas que puede tener una tabla
• Por default, las referencias en PDM son uno-a-muchos
• Propiedad obligatoria de una llave foránea indica que el
número de filas que pueden existir es de 1 o 0
Opciones de despliegue de
referencias en el PDM
• Mostrar preferencias – Vista de objetos
–
–
–
–
–
–
–
Nombre o Código
Nombre de la restricción
Join
Integridad referencial
Cardinalidad
Implementación
Modo de despliegue
Transformación de relaciones uno-a-muchos
• Relaciones independientes
uno-a-muchos
– El identificador en el lado de
“uno” migra como llave foránea
en el lado de “muchos”
– La llave foránea hace parte de
la lave primaria de la entidad
dependiente
– Tablas relacionadas por
referencia
Dependencia uno-a-muchos
Transformación de relaciones muchos-a-muchos
• Los identificadores migran como llaves foráneas a la
nueva tabla (asociada)
• Las llaves foráneas hacen parte de las llaves primarias
de las tablas asociadas
• Tablas relacionadas por referencia
Relaciones muchos-a-muchos
Cambiar a entidad asistente
• Crea una entidad asociada basada en la definición de
la relación
Relaciones recursivas (reflexivas)
• El identificador migra hacia su propia tabla como llave foránea
• Renombrado para unicidad
Transformación de una cadena de
herencia en tablas PDM
• Regida por:
– La propiedad generar tabla de la entidad
– Parámetro del modo de generación de la cadena de herencia
• Modos de generación:
– Generar Padre
– Generar Hijos
– Generar Padre / Generar Hijos
Generar padre
• Produce una tabla que corresponde a la entidad padre
que incluye:
– Nombre de la entidad padre
– Columnas correspondientes a los atributos de la entidad
padre
– Columnas correspondientes a los atributos de todas las
entidades hijas
– Referencias correspondientes a todas las relaciones
definidas tanto en el padre como en todas las entidades hijas
Cuándo seleccionar generar padre
• Se esperan accesos frecuentes a los datos del padre
junto con todos o algunos tipos de hijos
• Se espera poca necesidad de acceso a datos para un
simple tipo de hijo a la vez
– Es el acercamiento más común usado por los modeladores
de datos
Modo generar padre
Especificar atributos
• Modo generar padre,
solamente
• Distingue datos de
entidades hijas
mutuamente excluyentes
• Propiedades
– Nombre, Código
– Tipo de datos, longitud
Generar hijos
• Produce tablas correspondientes a las entidades
hijas
• La opción heredar todo produce tablas que incluyen:
– Columnas correspondientes a atributos hijos
– Columnas correspondientes a todos los atributos del padre
– Referencias correspondientes a las relaciones definidas
por la entidad padre y las entidades hijas
• La opción heredar identificador produce tablas con
columnas correspondientes al identificador de la
entidad padre solamente
Generar hijos – Heredar todo
Generar hijos – Identificador heredado
• Tablas correspondientes a las entidades hijas
• Nombres de tablas correspondientes a los nombre de
las entidades hijas
• Columnas correspondientes a los atributos hijos y al
identificador padre
• Referencias correspondientes a las relaciones de las
hijas y las relaciones del padre
Generar hijos – Identificador heredado
Cuándo seleccionar el modo generar hijos
• Se esperan frecuentes accesos a los datos de un tipo
de hija a la vez
Y
• Hay poca necesidad de acceso a los datos del padre
jnto a todos o algunas de las hijas
Generar Padre/Hijos
• Genera tablas correspondientes a la entidad padre y cada una
de las entidades hijas
• La tabla padre corresponde la entidad padre con el nombre del
padre, los atributos del padre y las referencias del padre
• Las tablas hijas corresponden a las entidades hijas con los
nombres de las hijas
• Las columnas de la tabla hija corresponden a los atributos de la
hija y el identificador del padre (si se hereda el identificador) o
los atributos del padre (si los hereda todos)
• Referencias de tablas hijas correspondientes a las relaciones
hijas y las relaciones del padre (si las ereda todas)
Generar Padre/Hijos – Heredar todo
Generar Padre/Hijos – Identificador heredado
Cuándo usar ambos modos de generación
• Se espera acceso a los datos del padre igualmente
frecuentes junto con todas o algunas de las hijas
• Se espera acceso a los datos del padre igualmente
frecuentes con un tipo de hija a la vez
– Frecuentemente es el método menos utilizado
Modificar CDMs y PDMs
• Añade entidades y datos elementales para conseguir los
requerimientos de información en el CDM
• Añade tablas y columnas en el PDM solamente para mejorar una
implementación específica
• Da nombres significativos a los objetos a nivel conceptual para
eliminar la necesidad de cambio de nombres a nivel físico
• Define la cardinalidad y existencia cierta a nivel conceptual tal
que las referencias no se modifican a nivel físico
• Expresa las reglas del negocio y las descripciones en términos
que son significativos tanto a nivel conceptual como físico para
eliminar la necesidad de revisiones a nivel físico
Actualizar un PDM a partir de un CDM
• PowerDesigner crea un PDM default con los objetos
trasladados del CDM modificado y luego los intercala
con el PDM existente
• Internamente guarda un registro de la identidad de
cada modelo y objeto
– Capaz de hacer concordar objetos entre modelos, aún si los
nombres de los objetos han sido cambiados
Conservar modificaciones
• La ventana
Merge Model
permite escoger
entre guardar o
sobreescribir los
cambios para
cada objeto
modificado
¿Preguntas?