domingo, 13 de julio de 2014

NORMALIZACION


. Objetivos
. Respecto a los datos: Reducir inconsistencias y redundancias de los datos, evitar anomalías en sus manipulaciones, y reducir el impacto en sus cambios
. Facilitar el mantenimiento de los datos y programas
. Conceptos básicos de dependencia funcional de atributos de la misma entidad
. Dependencia funcional
. B depende funcionalmente de A (se representa AàB) si cada valor de A se corresponde con un único valor de B
. Es decir, dado A puedo obtener B
. P.e. si dado un DNI puedo obtener el nombre de la persona con ese DNI: DNI à Nombre
. Dependencia funcional completa
. B tiene dep. func. completa de un grupo de atributos A, si depende funcionalmente de A, pero no de ningún subcjto de A
. Es decir, A es el mínimo cjto de atributos de los que depende B (si se añade/quita algún atributo, B ya no depende func.)
. P.e. si una empresa tiene empleados, y una persona puede ser empleado de varias empresas, hay varias dependencias:
  . Para saber el sueldo de un empleado, necesitamos saber a qué empresa pertenece, es decir, el sueldo depende del DNI y del identificador de la empresa: DNI.EMPRESAàSUELDO es una dependencia funcional total
  . Nombre depende funcionalmente de DNI y de Empresa (DNI.EMPRESAàNOMBRE), pero esta dependencia NO es total, porque en realidad también se puede identificar totalmente al empleado solo a través del DNI: DNIàNOMBRE
. Dependencia transitiva de tres atributos (o grupo de atributos) A, B y C de una relación; C dependerá transitivamente de A si…
. B depende funcionalmente de A
. C depende funcionalmente de B
. A no depende funcionalmente de B
P.e. DNIàNOMBRE, y NOMBREàDIRECCIÓN, por tanto, DNIàDIRECCIÓN
. Procedimiento de Normalización
. Relación en 1ª Forma Normal (1FN): una entidad está en 1FN si..
. Sus atributos contienen valores atómicos
. Es decir, no contiene grupos repetitivos (*)
(*) Ningún atributo puede tomar más de 1 valor
. Todos los atrib’s dependen funcionalmente de la clave
Si un atributo A viola la condición de 1FN, tenemos dos opciones..
. Duplicar registros con valores repes*
(*) Añadiendo a clave valores no repes
. Separar el atrib A a otra tabla (**)
(*) La clave se “arrastra” a la otra tabla
. Relación en 2ª Forma Normal (2FN): una entidad está en 2FN si..
. Está en 1FN
. Todo atrib no clave tiene dep. func. completa de clave
. I.e.,para determinar atrib no clave no valen ”subclaves”
Para grupos de atributos A con dep. incompleta ..
1.Eliminar de la relación el atrib A
2.Nueva relación con A y parte de clave
3.Clave en nueva relación es esa parte
. 2FN se aplica a relaciones con claves de más de 2 atribsàUna relación 1FN con clave simple (1 atrib), siempre es 2FN
. En general, tendremos que observar atributos no clave que puedan depender de parte de la clave
. Relación en 3ª Forma Normal (3FN): una entidad está en 3FN si..
. Está en 2FN
. Todo atrib no clave no depende transitivamente de clave
. I.e.,cada atrib de la entidad depende solo de la clave
Dado 2FN,las dependencias func entre atributos no clave,son problemas 3FN: los separamos a tabla(s) adicional(es); la clave allí será el atributo que define la transitividad

MODELO LÓGICO RELACIONAL


. El esquema de una BDR se compone de uno o más esquemas de relación y de un conjunto de restricciones de integridad
. Dominio es un conjunto de valores
. Un esquema de relación (o intensión de una relación) consiste en el nombre de relación, seguido de los atributos y sus respectivos dominios: Nombre_relación(Atrib1,Atrib2,..AtribN)
. Relación: Dados los dominios D1,D2,..Dn, no necesariamente distintos, R es una relación entre esos n-cjtos si es un cjto de n tuplas (d1,d2,..dn) tal que d1∈d1,.. dn∈Dn
. El nº de atributos de una relación define su grado, mientras que el número de tuplas define su cardinalidad
. La extensión u ocurrencia de una relación es una tabla donde las filas corresponden a las tuplas, y las columnas a los atributos
. Restricciones del modelo relacional (o reglas de integridad)
. Regla de los nulos: cuando un atributo es desconocido à es nulo
. Un nulo no representa valor cero ni cadena vacía (esos son valores con significado)
. El nulo implica ausencia de info
. Porque al insertar la tupla se desconocía el valor del atributo
. Porque para dicha tupla el atributo no tiene sentido
. Regla de integridad de la entidad: ninguno de los atributos que componen la clave primaria (de las relaciones base) puede ser nulo
. Regla de integridad referencial: si en una relación hay una clave ajena , sus valores…
. Deben coincidir con valores de la clave primaria a la que hace referencia
. O bien deben ser completamente nulos

DISEÑO FÍSICO DE BASES DE DATOS


. El diseño físico se divide en 4 fases, cada una de ellas compuesta por una serie de pasos
. Obtención modelo físico para un SGBDR concreto a partir del lógico
. Traducir esquema lógico al SGBD específicoàDiseñar las relaciones base primero, y las reglas de negocio después, para el SGBD específico
. Determinar si el sistema “destino” soporta la definición de…
. Claves primarias, ajenas y alternativas
. Datos requeridos (i.e. atributos no nulos)
. Dominios
. Restricciones o aserciones de usuario
. Cómo se crean las tablas
. Diseñar la representación física
. Interacción de los dispositivos involucrados (mem ppal,cpu, E/S a disco, red), e impacto en prestaciones
. Identificación estructuras manejo de BD: transacciones, organización fich e índices,introducción redundancias controladas,..
. Diseñar mecanismos de seguridad
. Diseñar las vistas de los usuariosà CREATE VIEW
. Diseñar las reglas de accesoà GRANT, REVOKE, triggers…
. Monitorizar y afinar el sist.,una vez en marcha
. Observar las prestaciones del sist,si no son las deseadas, cambiar el esquema para intentar satisfacerlas
. Una vez afinado el esquema (tunning) no pemanecerá estático:cambiará con nuevos requisitos de los usuarios
. Los SGBD proporcionan herramientas de performance para monitorizar el sist,y conocer su rendimiento