Documento visualisacao Tema 5.doc (103 KB) Baixar Tema 5. Diseño de bases de datos relacionales. Tema 5 Diseño de bases de datos relacionales. 1 DISEÑO Y MODELO RELACIONAL. 2 1.1 UTILIDAD DE UN MÉTODO FORMAL DE DISEÑO RELACIONAL. 1.2 RESTRICCIONES DE INTEGRIDAD QUE CONDICIONAN EL DISEÑO. 2 DEPENDENCIAS ENTRE LOS DATOS. 3 2.1 CONCEPTO DE DEPENDENCIA FUNCIONAL. 2.2 CONCEPTO DE DEPENDENCIA MULTIVALUADA. 4 3 TEORÍA DE LA NORMALIZACIÓN. 2 3 4 5 3.1 FORMAS NORMALES BASADAS EN LAS DEPENDENCIAS FUNCIONALES. 3.1.1 Primera Forma Normal (1FN). 6 3.1.2 Segunda Forma Normal (2FN). 6 3.1.3 Tercera Forma Normal (3FN). 6 3.1.4 Forma Normal De Boyce-Codd (FNBC). 7 3.2 FORMAS NORMALES BASADAS EN LAS DEPENDENCIAS MULTIVALUADAS. 3.2.1 Cuarta Forma Normal (4FN). 7 4 NORMALIZACIÓN Y MODELO ENTIDAD RELACIÓN. DESNORMALIZACIÓN. 8 6 7 1 Diseño y modelo relacional. Los modelos de datos son instrumentos (reglas y objetos) que nos ayudan a representar la realidad. El proceso de diseño de una base de datos consiste en representar una determinada realidad mediante un modelo de datos. Cuando se diseña una base de datos mediante el modelo relacional, al igual que ocurre en otros modelos de datos, tenemos distintas alternativas, es decir, podemos obtener diferentes esquemas relacionales, no todos ellos equivalentes, ya que unos van a representar la realidad mejor que otros. En este tema vamos a ver qué propiedades debe tener un esquema relacional para representar adecuadamente la realidad y cuáles son los problemas que se pueden derivar de un diseño inadecuado. Expondremos la teoría de la normalización, que permite afrontar el diseño de bases de datos relacionales de una manera rigurosa y objetiva, estudiando la forma de llevar a cabo la normalización de un esquema relacional. 1.1 Utilidad de un método formal de diseño relacional. En el modelo relacional, el diseño de una base de datos se puede abordar de dos formas distintas: Obteniendo el esquema relacional directamente a partir de la observación de nuestra realidad, de forma que plasmemos nuestra percepción de la misma en un conjunto de esquemas de relación, los cuales contendrán los atributos y las restricciones de integridad que hemos captado. Realizando el proceso de diseño en dos fases, en la primera se lleva a cabo el diseño conceptual, por ejemplo en el modelo E/R, obteniéndose el correspondiente esquema conceptual; en la segunda, se transforma éste en un esquema relacional, siguiendo unas determinadas reglas de transformación. Las relaciones resultantes, pueden presentar algunos problemas, derivados de fallos en la percepción de la realidad, en el diseño del esquema E/R o en el paso al modelo relacional. Entre estos problemas cabe destacar los siguientes: Incapacidad para almacenar ciertos hechos. Redundancias y, por tanto, posibilidad de incoherencias. Pérdida de información (aparición de tuplas espúreas). Pérdida de dependencias funcionales, es decir, de ciertas restricciones de integridad que dan lugar a interdependencias entre los datos. Aparición en la base de datos de estados que no son válidos en el mundo real. En definitiva, el esquema relacional debe ser analizado para comprobar que no presenta los problemas anteriormente citados, evitando la pérdida de información y la aparición de estados que no son válidos en el mundo real. La teoría de la normalización puede definirse como una técnica formal para organizar datos que nos ayuda a determinar qué está equivocado en un diseño y nos enseña la manera de corregirlo. Por tanto, la teoría de la normalización introduce una formalización en el diseño lógico de bases de datos relacionales, lo que además, permite mecanizar parte del proceso al poder disponer de instrumentos algorítmicos de ayuda al diseño. Hay que dejar bien claro que las anomalías a las que da lugar un diseño inadecuado de una base de datos se producen sólo en procesos de actualización y nunca en los de consulta. La aplicación de la teoría de la normalización consigue una disminución de dichas anomalías, evitando muchos de los problemas que se pueden plantear en las actualizaciones. Sin embargo, al mismo tiempo penaliza las consultas, al disminuir la eficiencia de las mismas; en el proceso de normalización aumenta el número de relaciones presentes en nuestra base de datos, por lo que una determinada consulta puede ocasionar el acceso a varias relaciones, lo que indudablemente eleva el coste de la consulta. 1.2 Restricciones de integridad que condicionan el diseño. En el modelo relacional existen restricciones, es decir, estructuras u ocurrencias no permitidas, siendo preciso distinguir entre restricciones inherentes y restricciones de usuario. Los datos almacenados en la base han de adaptarse a las estructuras impuestas por el modelo y han de cumplir las restricciones de usuario para constituir una ocurrencia válida del esquema. Inherentes al modelo relacional. o De la definición matemática de relación. o Integridad de entidad que establece que ningún atributo que forma parte de la clave primaria de una relación puede tomar un valor nulo. Restricciones de usuario. o Dentro de las restricciones de usuario destaca la de integridad referencial, según la cual, si una relación R2 tiene una clave externa definida sobre la clave primaria de una relación R1, todo valor de los atributos de R2 en la clave externa han de concordar con valores de la clave primaria de R1 o bien ser nulos. Además de definir las claves externas, hay que determinar las consecuencias que pueden tener ciertas operaciones (borrado y modificación) realizadas sobre tuplas de la relación referenciada. o Restricciones sobre atributos y restricciones sobre tuplas. En general, estas restricciones reciben el nombre de asertos. 2 Dependencias entre los datos. La idea central en el diseño formal de una base de datos en el modelo relacional es el concepto de dependencias entre los datos. Íntimamente ligado al concepto de dependencias, tenemos el de Forma Normal en la que se encuentra un esquema de relación. Las dependencias son propiedades inherentes al contenido semántico de los datos; forman parte de las restricciones de usuario del modelo relacional y se han de cumplir para cualquier extensión de un esquema de relación. Puesto que las dependencias constituyen una parte importante de la semántica de la realidad que se pretende modelar, son incluidas en la definición de los esquemas de relación que forman parte del esquema relacional. Un esquema de relación se define de acuerdo a un par de la forma: R(A,DEP), donde A es el conjunto de atributos de la relación y DEP es el conjunto de dependencias existentes entre los atributos. Existen distintos tipos de dependencias: funcionales, multivaluadas, y de combinación. Cada tipo se caracteriza por ser una asociación particular entre los datos. Además, cada tipo de dependencia constituye un caso particular del grupo que le sigue; así, las dependencias funcionales son un caso particular de las dependencias multivaluadas y así sucesivamente. Aunque cada tipo de dependencia tenga una serie de características particulares, todas ellas presentan aspectos comunes: Son propiedades inherentes al contenido semántico de los datos y forman parte de las restricciones de usuario del modelo relacional. Son invariantes en el tiempo. Siempre que el mundo real no cambie, se han de cumplir para cualquier extensión del esquema de relación. No es posible deducir la existencia de una dependencia a partir de la observación de una extensión del esquema de relación; la existencia de las dependencias viene determinada únicamente por la semántica del UD que se pretende modelar. El grupo más restrictivo y también más numeroso de asociaciones entre los datos es el de las dependencias funcionales. Sobre este conjunto de dependencias se apoyan las tres primeras formas normales y la forma normal de Boyce-Codd. 2.1 Concepto de dependencia funcional. Sea el esquema de relación R(A, DF), y sean X, Y dos subconjuntos de A, a los que llamaremos descriptores. Se dice que Y depende funcionalmente de X o que X determina a Y, y se denota como X Y, si y sólo si, a cada valor x del atributo X, le corresponde un único valor y del atributo Y. Explicación más campechana.- si X vale 1 después Y puede valer 2 y pero después no puede cambiar a 3, por cada valor de X tendrá un valor Y (y no varios).. Por ejemplo, podemos decir que el código de estudiante determina el nombre del mismo. CodEstudiante NombreEstudiante Existen diferentes tipos de dependencias funcionales: Una dependencia funcional XY se dice que es trivial, si Y es un subconjunto de X. Dos descriptores se dice que son equivalentes si X Y e Y X, pudiéndose representar por X Y. Por ejemplo, los atributos CodEstudiante y DNI son equivalentes. El hecho de que CodEstudiante DNI, no significa que, conocido el código de un alumno, podamos deducir a partir de él su DNI. Sin embargo, si podremos asegurar que dos tuplas cualquiera que tengan un mismo CodEstudiante tendrán un mismo DNI. Se dice que Y tiene dependencia funcional completa o plena de X, si depende funcionalmente de X, pero no depende de ningún subconjunto de éste. Sean las dependencias funcionales X Y y Y Z. Se dice que existe una dependencia funcional transitiva entre X y Z, X Z. Un concepto muy importante dentro de un esquema de relación R(A,DEP), es el de clave. Un descriptor K (subconjunto de atributos de A) se dice que es clave de R, cuando existe la dependencia funcional K A y además es una dependencia funcional completa. A los atributos que forman parte de alguna clave se les denomina atributos principales y a los que no forman parte, atributos no principales. 2.2 Concepto de dependencia multivaluada. Es posible que aparezcan anomalías IBM (Inserción, Borrado, Modificación) provocadas por motivos distintos a las dependencias funcionales. De entre estos motivos el principal es la presencia de una dependencia multivaluada... Ficheiro do Abelha estupendo Outros ficheiros desta pasta 2. Modelo Entidad-Relación.ppt (1104 KB) apuntes bases de datos.doc (40 KB) ejercicios modelo ER.pdf (104 KB) ejercicios normalizacion.doc (294 KB) formas normales.pdf (104 KB) Outros ficheiros deste Abelha LIBRO SQL Identificar se as regras foram violadas Página inicial Contacta-nos Ajuda Opções Termos e condições Política de privacidade Reportar abuso Copyright © 2012 Abelhas.pt