Análisis y Diseño Guía Teórica desarrollada por el profesor del curso: Modelo Físico Ing. Daniel Yucra danielyucra@uigv.edu.pe
Workflow Detail: Design the Database El propósito de este detalle es el flujo de trabajo para identificar las clases de diseño que se persiste en una base de datos.
Role: Database Designer La base de datos de diseño se encarga de diseñar la persistencia de almacenamiento de datos para ser utilizados por el sistema
Data Model El modelo de datos describe la lógica y las representaciones físicas de la persistencia de los datos utilizados por la aplicación. En los casos en que la aplicación utilizará una base de datos relacional sistema de gestión (RDBMS), el modelo de datos también puede incluir elementos de modelo para procedimientos almacenados, disparadores, limitaciones, etc. que definen la interacción de los componentes de aplicación con el RDBMS.
Data Model Conceptual.- Esta etapa implica la identificación del alto nivel clave para el negocio y entidades del sistema y sus relaciones que definen el alcance del problema que debe ser abordado por el sistema. Estas claves las empresas y entidades del sistema se definen usando el modelado de los elementos del perfil UML para el modelado de negocio incluido en el Modelo de Análisis de Negocios y Análisis de la Clase modelo de elementos del Modelo de análisis Business Analysis Model Business Entity Business Worker
Data Model Lógico.-Esta etapa implica el perfeccionamiento de los fundamentos conceptuales de alto nivel del negocio y entidades del sistema en más detallada lógico entidades. Estas entidades lógicas y sus relaciones pueden ser, opcionalmente, definido en un modelo lógico de datos utilizando el modelado de los elementos del perfil UML para diseño de bases de datos.
Data Model Física.-Esta etapa implica la transformación de la lógica de clase en los diseños detallados y optimizado física tabla de base de datos diseños. El físico etapa también incluye la cartografía de la tabla de base de datos para los diseños y tablespaces a la base de datos en el componente de almacenamiento de base de datos de diseño.
La transformación de modelo de diseño de elementos para elementos modelo de datos La persistencia de las clases de modelo de diseño puede ser transformado a los cuadros en el modelo de datos. El siguiente cuadro muestra un resumen de la cartografía entre los elementos de diseño Modelo y Modelo de elementos de datos. Design Model Element Class Attribute Association Association Class Composite Aggregation Many-to-Many Association Multiplicity Qualified Association Generalization (Inheritance) Corresponding Data Model Element Table Column Non-Identifying Relationship Intersection Table Identifying Relationship Intersection Table Cardinality Intersection Table Separate Table
Construcción Modelo de Datos a partir de un Modelo Conceptual El modelador de datos es capaz de construir automáticamente un Modelo de datos a partir de un Modelo Conceptual. Cumplir con determinados requisitos: Tiene que existir un componente de Base de Datos en la vista de componentes. Marcar las clases que participan en al transformación como clases persistentes. Agrupar todas las clases en un paquete (la transformación ocurre solo a nivel paquete).
Ingeniería de Software PARA I SQL SERVER Tipo en el Modelo Conceptual Tipo en el Modelo de Datos STRING VARCHAR (255) INTEGER DOUBLE DATE BOOLEAN BYTE SINGLE LONG CURRENCY INT FLOAT DATETIME BIT SMALLINTDATE FLOAT INT MONEY
Ingeniería de Software PARA I ORACLE Tipo en el Modelo Conceptual Tipo en el Modelo de Datos STRING VARCHAR (255) INTEGER DOUBLE DATE NUMBER(10,0) FLOAT DATE BOOLEAN NUMBER (5,0) BYTE NUMBER (3,0) SINGLE FLOAT LONG NUMBER (20,0) CURRENCY FLOAT
Ingeniería de Software PARA I DB2 Tipo en el Modelo Conceptual Tipo en el Modelo de Datos STRING VARGRAPHIC (255) INTEGER DOUBLE DATE BOOLEAN BYTE SINGLE LONG CURRENCY INTEGER DOUBLEFLOAT TIMESTAMP SMALLINT SMALLINT REAL BIGINT DOUBLE
QUÉ SUCEDE CON LAS LLAVES? Para los atributos declarados como parte de la identidad de objetos, al Modelador de Datos crea una restricción de la llave primaria. Con nombre: PK_ +Nombre Tabla + correlativo. Si no se especifica la llave de una clase el Modelador de Datos crea una llave primaria para la tabla correspondiente: De tipo ENTERO. Con Nombre: Nombre Tabla + ID La restricción de la llave primaria.
Data Model Ver que el Rational Rose este activado el Data Model. Buscar: Add Ins Add Ins Manager
Component View. Deberá: Crear la BD Configurar para que manejador de BD desea Trabajar
Consideraciones: Debe tener terminado el Modelo Lógico. Cada atributo representara una columna en la tabla. La llave primaria se autogenera. Las relaciones entre clases se mantiene en el modelo físico.
Debe definir el tipo de dato
CREATE TABLE T_Cliente ( razonsocial VARCHAR ( 255 ) NOT NULL, direccion VARCHAR ( 255 ) NOT NULL, T_Cliente_ID CHAR ( 10 ) NOT NULL, CONSTRAINT PK_T_Cliente0 PRIMARY KEY NONCLUSTERED (T_Cliente_ID) ) GO
Ejemplo en Rational Rose
Parte I: Caso Una compañía de navegación fluvial ha decidido implementar un sistema para administrar sus viajes de un modo más flexible y preciso. Por eso han encargado la realización de una aplicación. El texto de abajo describe en texto informal los requerimientos preliminares de datos: Un barco tiene un nombre, fecha de inicio de actividades, una capacidad máxima en volumen -m3- y una capacidad máxima en peso toneladas-. Un barco puede realizar muchos viajes y cada viaje tiene una fecha de comienzo y una fecha de finalización. El viaje es realizado por un solo barco. En un viaje se puede recorrer varios puertos. Un puerto puede ser recorrido en uno o más viajes. De un puerto sólo interesa saber su nombre. Cada vez que entra en un viaje se entra en un puerto, se desea registrar fecha de entrada y la fecha de salida Los barcos pueden ser de dos tipos: barcos de carga y barcos de pasajeros. De los barcos de carga se desea saber el tipo de mercadería que puede trasladar. De los barcos de pasajeros se desea saber la cantidad de pasajeros que puede trasladar. Preguntas: 1.Realizar el Modelo Lógico: Identificar las clases, Identificar las asociaciones y multiplicidad, Identificar atributos, Identificar generalizaciones, si los hubiera. Luego Realizar el Modelo Físico.