Вы находитесь на странице: 1из 10

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A.

Surez

UNIVERSIDAD TECNOLGICA NACIONAL


CARRERA :Ingeniera en Sistemas de Informacin MATERIA : Diseo de Sistemas DOCENTE A CARGO : Paula A. Surez

Por qu usar Sistemas de Bases de Datos ?

BASES DE DATOS
Transformacin del Modelo de Datos al Diseo Fsico

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

ALTERNATIVA: Sistemas Manejadores de Archivos


Actualizacin de Empleados
Esq. registro de empleados

Caractersticas
Los datos se almacenan en archivos.

Listado alfabtico de empleados


Esq. registro de empleados

Maestro de Empleados

El file system que es parte del S.O. , lleva cuenta de los nombres y las ubicaciones de los archivos. Cada programa incluye una descripcin de los archivos a los que accede.

Informa de Vacaciones por departamento


Esq. registro de empleados

Maestro de Deptos

Esq. registro de deptos

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Desventajas
Alto costo de mantenimiento debido a la dependencia de los datos.Redundancia sin control y riesgo de inconsistencia.Dificultad en el acceso a los datos Dificultad en el desarrollo de nuevas aplicaciones Dificultad en controlar el acceso a datos (seguridad) Dificultad en asegurar la consistencia de los datos (integridad)

Sistemas Aministradores de BD

Almacenar la descripcin de la estructura de datos, los detalles de almacenamiento y acceso junto con los datos en una BD.

El sistema administrador de la BD tiene un papel ms activo que un manejador de archivos

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez
Niveles de abstraccin
Aplicacin Aplicacin
Independencia lgica

EVOLUCIN Y TENDENCIAS DE LAS BD


ANALISIS ESTRUCTURADO INGENIERIA DE LA INFORMACION ORIENTACION AL OBJETO REGLAS DEL NEGOCIO

PROCESOS
ALMACEN DE DATOS DATOS

INFORMACION
PROCESOS

OBJETO
ATRIBUTOS

REGLA DEL NEGOCIO


ENTIDADES
ATRIBUTOS

Base de Datos Conceptual


Independencia fsica

ENTIDADES SERVICIOS
ATRIBUTOS

Base de Datos Fsica

PROCESO DE LA REGLA

1970 UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

1980

1990

2000

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

EVOLUCIN Y TENDENCIAS DE LAS BD

1 GENERACIN

2 GENERACIN

3 GENERACIN

VF EN RED RELACIONAL ORIENTADA A OBJETOS

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Modelo Relacional
Base terica: en 1970 el Dr. Codd publica su artculo: A Relational Model for Large Shared Data Banks) Toda la informacin, datos y relaciones se representa mediante valores en tablas. Se eliminan las relaciones padre/hijo (M. Jerrquico) y los punteros existentes en modelos anteriores (M. Red) El acceso a los datos es mediante un grupo de operaciones de conjunto, que no requieren un lenguaje husped.

Por qu relacional ?
Por analoga con el concepto matemtico de relacin. Una tupla es una lista ordenada de valores.(n-tupla es una lista ordenada de n valores) Sean D1, D2.... Dn dominios (Conjunto de valores). El producto cartesiano D1x D2...es el conjunto de todas las ntuplas de la forma (v1, v2 ......,vn) donde v1 D1, v2 D2 , ....vn Dn. Una relacin es un subconjunto del producto cartesiano de una listado de dominios. El grado de la relacin es el nmero de dominios.

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez
Ingeniera de BD Relacionales
Modelo Conceptual

Diseo Lgico

El contenido del DD incluye: los nombres de usuarios y sus privilegios los nombres y las definiciones de los objetos del esquema los constraints los store procedures y los triggers

Diccionario de datos

Diseo Fsico

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Diseo Lgico Cmo se traduce el Modelo Lgico al Modelo Fsico ?


Atributo Relacin
UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Diseo fsico
Tabla Columna FK en hijo

Entidad

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Tablas
Una tabla es un conjunto de filas no hay filas repetidas las filas no se almacenan ordenadas cualquier nmero de filas (por ej: 0) La tabla no debe estar ordenada En teora no hay lmite para el nmero de columnas Cada columna tiene un nombre nico dentro de la tabla Cada columna tiene un dominio: conjunto de valores permitidos
UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez
Clave primaria (PK)
Clave candidata es una columna o conjunto mnimo de columnas cuyos valores permiten identificar en forma nica cada fila de la tabla La clave primaria es una clave candidata elegida por el diseador como la forma principal de identificar las filas de la tabla
Algunas consideraciones: que rara vez cambie, estable en el tiempo
preferentemente numricos que no contenga nulos

Transformacin del Modelo Lgico al Fsico

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Transformacin del Modelo Lgico al Fsico

Transformacin del Modelo Lgico al Fsico


Paso 1
ENTIDADES INDEPENDIENTES

Para cada entidad independiente, en el modelo ER, crear una relacin R (tabla) que incluya todos los atributos simples de A. Seleccionar el/los atributo/s clave de A como clave primaria de R.

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Transformacin del Modelo Lgico al Fsico


Paso 2
ENTIDADES DEPENDIENTES

Transformacin del Modelo Lgico al Fsico


Paso 3
ENTIDADES ASOCIATIVAS Para cada interrelacin binaria R donde ambas entidades interrelacionadas (A y B) posean cardinalidad mxima superior a 1, crear una nueva tabla C. Incluir como claves forneas en C las claves primarias de las relaciones que representan las entidades A y B. La unin de estas claves formar la clave primaria de C. Si existen atributos en la relacin, agregarlos en C

Para cada entidad dbil , con entidad identificante A, crear una relacin R, que incluya todos los atributos simples de D. Adicionalmente, agregar como clave fornea de R los atributos claves de la relacin que representa a A. La clave primaria de R ser la combinacin de la clave primaria de A con la clave parcial de D.

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez
Implementacin de Subtipos
1 tabla para Supertipo, 1 tabla para cada subtipo. Eliminar el Supertipo, 1 tabla para cada subtipo. Se replican los atributos de Supertipo en cada subtipo. Existen restricciones y se deben utilizar triggeres. 1 tabla para Supertipo, eliminando los subtipos. Se incorporan los atributos de los subtipos al supertipo permitiendo nulos. (*)
(*) Las restricciones en este caso son por desperdicio de espacio y performance. Aqu es obligatorio incorporar un atributo discriminador

Cmo se implementan las relaciones de SUBTIPO ?

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

1 tabla para Supertipo, 1 tabla para cada subtipo

Eliminar el Supertipo, 1 tabla para cada subtipo

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

1 tabla para Supertipo, eliminando los subtipos

Cmo se implementan las Reglas de Negocio ?

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez
Constraints

Constraints:
Es una regla o restriccin que controla los datos ingresados a la base

Son la traduccin de las reglas de validacin Los constraints son definidos al momento de crear las tablas (pueden agregarse luego siempre que los datos y ingresados cumplan la validacin)

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Tipos de constraints

Columna/s a la que se aplica

Tipo de Constraints

Tabla a la cual corresponde la PK

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Constraint check
Es una regla o condicin que se verifica cada vez que se inserta o actualiza el valor de la columna

Constraint check
Puede verificar que est dentro de un rango o dentro de una lista de valores (dominio)

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez

Constraint check
ALTER TABLE TEST.CABECERAS_FACTURAS ADD CONSTRAINT SYS_C0070259 CHECK (cfa_tipo_comprobante IN ( '1' , '2' , '3' , '4' ) ) /

Constraint Unique
Asegura que no existan dos filas de una tabla que tengan valores duplicados en la/s columna/s especificadas. El nico valor que puede aparecer es unvoco o nulo (se crea un ndice asociado)

ALTER TABLE TEST.CABECERAS_FACTURAS ADD CONSTRAINT CFA_ARCO_CK CHECK ( ( CFA_SCO_ID IS NOT NULL AND CFA_OEL_ID IS NULL ) OR ( CFA_SCO_ID IS NULL AND CFA_OEL_ID IS NOT NULL ) ) /

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Constraint Unique

Constraint Unique

Es una buena prctica definir un constraint unique para las claves candidatas que no fueron elegidas como clave primaria

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Constraint Not Null


Asegura que existe un valor para la columna.

Constraint Not Null

ALTER TABLE TEST.CABECERAS_FACTURAS ADD CONSTRAINT SYS_C0070250 CHECK ( CFA_CEE_COD IS NOT NULL ) /

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez

Constraint Primary Key


Clave candidata es una columna o conjunto mnimo de columnas cuyos valores permiten identificar en forma nica cada fila de la tabla

Constraint Primary Key

Clave candidata es una columna o conjunto mnimo de columnas cuyos valores permiten identificar en forma nica cada fila de la tabla

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Constraint Primary Key

Constraint Foreign Key


Asegura que existe un valor de primary key en otra columna que corresponda con el valor de la columna

Se utiliza la notacin FK

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Constraint Foreign Key

Foreign Key - Relaciones Recursivas

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez

Por qu es mejor definir las reglas en la BD ?


Los constraints no son la nica forma de forzar la integridad de los datos
Fcil declaracin Centralizacin de las reglas Mayor productividad en el desarrollo de aplicaciones
Usar constraints en la base es mejor que tratar de asegurar la consistencia en la aplicacin aplicacin

Feedback inmediato al usuario de las violaciones de constraint Mayor preformance Posibilidad de deshabilitar temporalmente Menor costo de desarrollo

Cdigo de Triggers

Store procedures
UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Triggers Triggers
Son utilizados para forzar reglas de negocio complejas que no pueden definirse usando constraints. Permite construir reglas across. Entre diferentes tablas (padre-hijo).
Esto no se podra implementar con un constraint porque debera especificar el nuevo y el viejo valor.
UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Por ejemplo puede controlar que a un empleado no se incremente ni reduzca su salario en ms del 10 %

VER

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Ejemplos de triggers
CREATE OR REPLACE TRIGGER trfdaifa0001 BEFORE DELETE ON impuestos_facturas REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE BEGIN DECLARE v_estado VARCHAR2(10); BEGIN SELECT cfa_estado INTO v_estado FROM cabeceras_facturas WHERE cfa_id = :new.ifa_cfa_id; IF v_estado <> 'A FACTURAR' THEN raise_application_error(-20000, 'APL-00071'); END IF; END; END; /

Ejemplos de triggers
CREATE OR REPLACE TRIGGER trpma0001 BEFORE INSERT ON paridad_monedas REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE BEGIN declare cuantos number; hay number; begin
-- Controlar que fecha fin de vigencia se informe antes de crear un nuevo perodo

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

SELECT count(*) INTO cuantos FROM PARIDAD_MONEDAS WHERE pma_fecha_fin_vig IS NULL AND pma_moneda_desde = :new.pma_moneda_desde AND pma_moneda_hasta = :new.pma_moneda_hasta; IF cuantos > 0 THEN raise_application_error(-20000, 'DBE-00290'); END IF; . . . (sigue) UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Apunte Transformacin del Modelo Lgico al Modelo Fsico BD Autor: Ing, Paula A. Surez
Ejemplos de triggers
-- Controlar que no se solapen las fechas de vigencias

SELECT count(*) INTO hay FROM PARIDAD_MONEDAS WHERE :new.pma_fecha_vig <= pma_fecha_fin_vig AND pma_moneda_desde = :new.pma_moneda_desde AND pma_moneda_hasta = :new.pma_moneda_hasta; IF hay > 0 THEN raise_application_error(-20000, 'DBE-00269'); END IF; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; END; /

Conclusiones ...

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Diseo Lgico
Entidad Entidad independiente Entidad dependiente Atributo Tipo de dato Dominio lgico Clave primaria Claves candidatas

Diseo fsico
Tabla No existe FK en la PK PK del padre Columna Tipo de dato fsico Dominio fsico PK de la entidad(constrains) Unique constraints

Diseo Lgico
Relacin Modalidad Cardinalidad Relacin/Parte del ID Relacin /descriptor Subtipo

Diseo fsico
FK FK Not Null Triggers
en INSERT, UPD ATE y DELETE

PK hijo

FK es parte de PK del hijo FK NO es parte de PK hijo 1 tabla Supertipo, 1 c/subtipo 1 tabla Supertipo, 0 c/subtipo 0 tabla Supertipo, 1 c/subtipo

Relacin M:M

1 tabla Asociativa

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

Diseo Lgico
Reglas de validacin Reglas de negocio complejas Integridad Referencial (cascada, etc)

Diseo fsico
Constraints

Algunas consideraciones . . .
Justificar la necesidad de desnormalizar, por ejemplo: agregar datos calculables para mejorar la performance de los procesos que requieren datos de la BD Analizar la distribucin y/o replicacin de datos, en funcin de la ubicacin fsica de los procesos que usan los datos Analizar la implementacin de triggers para incorporar reglas de negocio

Triggers

Triggers INSERT, UPDATE y DELETE

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

UTN - Diseo de Sistemas de Informacin . Docente: Ing. Paula A. Surez

10

Вам также может понравиться