1.18k likes | 1.42k Views
HERRAMIENTAS CASE PARA MODELAMIENTO DE DATOS. Mejorar el modelo físico de datos. Es necesario modificar el PDM por: Integridad de datos – adicionar restricciones a las columnas Consistencia de datos – utilizar integridad referencial declarativa Usabilidad/Seguridad – crear vistas
E N D
Mejorar el modelo físico de datos • Es necesario modificar el PDM por: • Integridad de datos – adicionar restricciones a las columnas • Consistencia de datos – utilizar integridad referencial declarativa • Usabilidad/Seguridad – crear vistas • Rendimiento – adicionar otras llaves e índices • Se hacen a nivel físico porque dependen de las capacidades del DBMS que se esté utilizando
Reglas del negocio y la mejora del PDM • PowerDesigner: • Transfiere las reglas del negocio del CDM al PDM • Aplica las reglas del negocio al PDM cuando éste es generado a partir del CDM • El usuario aplica reglas a objetos del PDM que no corresponden a objetos del CDM • Ejemplo, una vista
Integridad y consistencia de datos • Tipos de restricciones: • A nivel de tabla • A nivel de columna • Integridad referencial
Restricciones a nivel de tabla y columna • Para forzar requerimientos de datos y para aplicar restricciones • PowerDesigner usa restricciones a las que les coloca un nombre para definir restricciones a nivel de tabla y columna • Los parámetros de chequeo definen rangos de valores y reglas de validación
Parámetros estándar Controles para datos comunes Definidos a nivel conceptual Chequeos adicionales Escritos como sentencias SQL %MINMAX%, %LISTVAL% y %RULES% Parámetros de chequeo
Mínimo Máximo Default Lista de valores Rótulo Unidad Formato Minúsculas Mayúsculas Inmodificable Propiedades para chequeo estándar
Chequeos adicionales • %MINMAX% – Valores mínimo y máximo definidos en una caja de grupo (group box) • %LISTVAL% – Lista de valores en una caja de grupo • %RULES% – Validación de expresiones de reglas del negocio definidas en la página de expresiones del servidor
Reglas del negocio • Las reglas de validación del lado del servidor se generan como reglas de chequeo a nivel de columna, tabla o dominio • %RULES% variable • Las expresiones del lado cliente, no se generan ni en el CDM ni en el PDM
Expresión de reglas • En PowerBuilder una regla se escribe como una expresión que combina variables y literales que luego se llevan a SQL y se evalúan para ver si están correctas a nivel del PDM • Generalmente para las reglas a nivel de tabla se debe escribir el código • Para reglas a nivel de columna se puede utilizar la variable %COLNCODE%
Integridad referencial • Conjunto de reglas que determinan el comportamiento de las referencias entre entidades • Indican qué pasa cuando: • En una tabla padre se actualizan o borran valores de una columna que está referenciada • En una tabla padre se borra una fila que tiene una columna que está referenciada • Una relación obligatoria termina en una restricción de no nulo en la columna de la tabla padre
Nombre y código de la referencia Comentario Tabla padre Tabla hija Indicador de generación Propiedades generales de la integridad referencial
Propiedades de Join • Para especificar los join entre tablas encadenadas por referencias • Reutilizar columnas • Migrar columnas • Cancelar migración • Auto Ajuste del orden de encadenamiento • Opciones del modelo • Encadenamiento default al momento de creación • Auto migración de columnas
Nombre de la restricción Método de implementación Declarativa Por triggers Cardinalidad Restricción para actualización Restricción para borrado Padre obligatorio Chequeo al hacer commit Permitir cambios en el padre Propiedades para integridad
Métodos de implementación • Declarativo Continua …
Métodos de implementación • Por trigger
Restricciones para actualización y borrado • Ninguna • Restrictivo • En cascada • Colocando nulo • Colocando el default
Integridad referencial y las reglas del negocio • Las restricciones de la integridad referencial deben basarse en una o más reglas del negocio • Una regla define indirectamente una restricción
Definir vistas • Para mejorar la usabilidad y seguridad de los datos • Forma alterna de ver los datos de una o más tablas • Subconjunto de filas y columnas • Con la consulta SQL a una o más tablas se genera una tabla lógica (virtual)
Crear vistas • Dos formas para crear vistas: • Crear la vista a partir de tablas seleccionadas en el PDM • Crear una vista vacía, y luego seleccionar las tablas de una lista de tablas
Propiedades de la vista • Propietario • Uso • Generar • Usuario predefinido • Columnas
Modificar la consulta SQL • Editor externo • Propiedades • Editor SQL • Adicionar una consulta
Propiedades de la consulta • Pestañas para cada sección de la consulta • Especificar columnas y alias de cada una
Editor SQL • Tipos de objetos • Objetos disponibles • Caja de texto para el script de la consulta • Herramienta para Funciones • Herramienta para operadores
Llaves • Identificadores en el CDM generan llaves en el PDM • Identificadores primarios generan llaves primarias y foráneas • Identificadores diferentes del identificador primario generan llaves alternas
Independiente uno-a-muchos Identificador primario da Llave primaria en el lado de uno Llave foránea en el lado de muchos Relación dependiente Identificador primario Identifica llave foránea en la tabla dependiente Columnas migradas se integran en la llave primaria si ella ya existe Independiente muchos-a-muchos El identificador primario de ambas entidades migran a la tabla encadenada como llaves primaria/foránea Independiente uno-a-uno El identificador primario de la entidad dominante migra a la otra tabla como llave foránea Tipo de llave generada El tipo de llave generada depende de la cardinalidad y tipo de dependencia
Llave alterna • Una o más columnas tales que cada uno de sus valores corresponde a una y solo una fila en la tabla • Mejora la usabilidad: La alternativa debe ser sobre un dato muy familiar para el usuario • Ejemplo: Cédula en cambio de código del empleado • Mejora la seguridad: Oculta los valores de llave primaria a los usuarios finales • La llave alterna puede ser una llave alterna pero no una llave primaria
Propiedades de las llaves • Nombre y código • Comentario • Tabla asociada de la llave • Nombre de la restricción dada a la llave • Indicador de llave primaria • Columnas que conforman la llave
Índices • Estructura de datos asociados a una tabla donde sus valores llaves están lógicamente ordenados • Cada llave genera un índice único o una restricción de unicidad • Mejora el rendimiento de las bases de datos en las operaciones de lectura • Puede desmejorar el rendimiento de operaciones que requieran modificar los índices, por ejemplo en sentencias de inserciones, actualizaciones y borrados • Crear índices en columnas que se accesen de forma regular y donde el tiempo de respuesta es importante • Efectivo cuando se usa en columnas que contienen valores únicos Continua …
Índices • Crea un índice definido por el usuario asociado a una o más columnas, o • Crea un índice encadenado a una llave primaria, llave alterna o llave foránea
Tipos de índices • Llave primaria • Llave foránea • Único • Cluster • Definido por el usuario • Llave alterna
Propiedades de los índices • Nombre, código, Comentario • Tipo de índice • Tabla • Columnas • Reglas • Dependencias • Vista previa • Opciones específicas a cada DBMS
Chequeo de un PDM • Reglas • Cada nombre de objeto debe ser único • Cada tabla debe tener por lo menos una columna • Cada índice debe tener por lo menos una columna • Cada referencia debe tener por lo menos un par de columnas • Las restricciones del modelo deben ser compatibles con las restricciones que acepte la base de datos utilizada
Tipos de chequeo • Tabla • La longitud del nombre y del código no pueden exceder la longitud máxima especificada en el DBMS • Los nombres de las restricciones no pueden estar en conflicto con los nombres de los índices • Columna • Las columnas incluidas en una llave o índice único deben ser obligatorias, en la mayoría de los DBMS • Índice • Un índice no debe incluir otro • Llave • Referencia
Nivel de severidad • Error – es un problema grave que impide la generación de la base de datos • Warning – Indica un problema leve o una recomendación • Algunos errores se pueden auto-corregir
Generar la base de datos o el script de creación de la base de datos
Editor para definir el DBMS • Archivo tipo XDB • Archivo de definición del DBMS en XML • Especificaciones para un DBMS en particular • Sintaxis para generar bases de datos, triggers, procedimientos almacenados • Editar un DBMS, actualmente editando el archivo XDB
Definir el DBMS • Copiar un DBMS existente • Comparar dos DBMS • Seleccionar dos DBMS para intercalar • Importar un DBMS
Propiedades DBMS • Dos categorías: • General • Script • Una categoría puede contener subcategorías, campos y valores de campo
Modificar la definición del DBMS • Los cambios se aplican de manera diferente de acuerdo a la forma como el DBMS esté asociado con el modelo • Share – las modificaciones hechas a un DBMS son compartidas por todos los PDM que usan ese DBMS • Copy – Las modificaciones hechas a un DBMS no afectan al PDM
Añadir atributos extendidos • Usados como variables durante la generación • Los tipos de atributos extendidos definen los tipos de datos y los valores autorizados de los atributos extendidos • Una vez se ha añadido, se presenta la facilidad para ingresar otro
Generación de la base de datos • Ejecutar un script directamente utilizando ODBC • Generar un script para ejecutarlo posteriormente en el DBMS • En ambos casos, los comandos de generación se guardan en un archivo donde está el script
Opciones para generación • Texto • Conjunto de caracteres • Tipo de caracteres (minúsculas/mayúsculas) • Uso • El dueño como prefijo • Título • Generar nombre en un comentario • Chequear el modelo • Grabación automática