base de datos 4

15
INSTITUTO TECNOLÓGICO DE IGUALA FUNDAMENTOS DE BASE DE DATOS Unidad 4: Diseño De Base De Datos Relacional DOCENTE: L.I VICENTE DE LEÓN CASTREJÓN CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES SEMESTRE: ENERO-JUNIO 2014

Upload: punketho-fernandez

Post on 25-Jun-2015

157 views

Category:

Data & Analytics


4 download

DESCRIPTION

Base de datos

TRANSCRIPT

Page 1: Base de datos 4

INSTITUTO TECNOLÓGICO DE IGUALA

FUNDAMENTOS DE BASE DE DATOS

Unidad 4: Diseño De Base DeDatos Relacional

DOCENTE:

L.I VICENTE DE LEÓN CASTREJÓN

CARRERA:

INGENIERÍA EN SISTEMAS COMPUTACIONALES

SEMESTRE:

ENERO-JUNIO 2014

Page 2: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 2

ContenidoINTRODUCCION................................................................................................................................... 3

UNIDAD 4: DISEÑO DE BASE DE DATOS RELACIONAL......................................................................... 4

4.1 CARACTERISTICAS DEL DISEÑO RELACIONAL. ............................................................................... 4

4.2 DOMINIOS ATOMICOS Y LA FORMA NORMAL.............................................................................. 5

Dominio Atómico. ........................................................................................................................... 5

Formas Normales ............................................................................................................................ 5

Primera Forma Normal (1FN).......................................................................................................... 5

4.3 DEPENDENCIAS FUNCIONALES...................................................................................................... 6

4.4 SEGUNDA FORMA NORMAL (2FN). ............................................................................................... 7

4.5 TERCERA FORMA NORMAL (3FN). ................................................................................................ 8

4.6 FORMA NORMAL BOYCE-COD..................................................................................................... 10

4.7 ALGORITMOS DE DESCOMPOSICION. ......................................................................................... 10

4.8 FORMAS NORMALES SUPERIORES. ............................................................................................. 11

Cuarta forma normal..................................................................................................................... 11

Quinta forma normal .................................................................................................................... 12

4.9 INTEGRIDAD DE LA BASE DE DATOS............................................................................................ 13

CONCLUSIÓN..................................................................................................................................... 14

BIBLIOGRAFÍA.................................................................................................................................... 15

Page 3: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 3

INTRODUCCION

En este trabajo de investigación, podrá encontrar información básica acercade cada uno de los temas que forman parte de la unidad 4 Diseño de Base deDatos Relacional de Fundamentos de base de datos. Información comodefiniciones sobre cada uno de los conceptos que se manejaran en esta etapa deldiseño de una base de datos, características nuevas, terminologías de esta etapadel proceso así como múltiples ejemplos acerca de cada uno de los temas yaplicaciones que se pretenden se aprenda en esta unidad.

Para entrar en materia en esta fase, lo primero que encontrara serádefiniciones acerca de las características del diseño de una base de datosrelacional, los términos centrales a aprenderse, para poder obtener el mayor gradode aprendizaje posible sobre este atapa y así poderlo aplicar y ejecutar sobrealgún proyecto de creación de base de datos.

Posteriormente, tenemos la definición de lo que es un dominio atómico, queno es nada más que información sobre algo o alguien en su forma más simple; apartir de aquí ya se empieza a hablar sobre algo muy importante de esta parte deldesarrollo de una BD, que son las formas normales; que en este caso se incluye ladefinición de una forma normal, para que posteriormente se explique cada una delas seis diferentes formas normales válidas y utilizadas, para la eliminación deerrores dentro de una base de datos. Encontrará información a partir de la primerahasta la tercera forma normal; notara que después de la tercera se habla de laforma normal de Boyce Codd, que toma en cuenta las características de lasformas que la anteceden.

Luego de esto, se presentan los algoritmos de descomposición de loscuales se incluyen unos pequeños conceptos, la forma de utilizarlos y además seanexan algunos ejemplos que serán de utilidad para entender mejor de lo que setratan y para que nos van a servir en una BD.

Por último, se mencionan las formas normales superiores que están casiligadas a las formas normales, mencionadas anteriormente, además se habla unpoco sobre la integridad de la base de datos. Este término se maneja en estaetapa, debido a que al utilizar las diferentes formas normales, realmente lo que sebusca es que la información que encuentre en nuestra base de datos no tenganingún tipo de inconvenientes en cuanto a su actualización o manipulación,eliminando las redundancias e inconsistencias que en un momento dado puedenpresentarse en las etapas anteriores del proceso de diseño de la Base De Datos.

Page 4: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 4

UNIDAD 4: DISEÑO DE BASE DE DATOS RELACIONAL

El diseño de una base de datos relacional consiste básicamente en generarun conjunto de esquemas de relaciones que permitan almacenar la informacióncon un mínimo de redundancia, pero que a la vez facilite la recuperación de lainformación almacenada en ella.

4.1 CARACTERISTICAS DEL DISEÑO RELACIONAL.

El modelo relacional para la gestión de una base de datos es un modelo dedatos basado en la lógica de predicados y en la teoría de conjuntos. Es el modelomás utilizado en la actualidad para modelar problemas reales y administrar datosdinámicamente.

En este modelo todos los datos son almacenados en relaciones, y comocada relación es un conjunto de datos, el orden en el que éstos se almacenen notiene relevancia (a diferencia de otros modelos como el jerárquico y el de red).Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar porun usuario no experto. La información puede ser recuperada o almacenada pormedio de consultas que ofrecen una amplia flexibilidad y poder para administrar lainformación.

Para manipular la información utilizamos un lenguaje relacional,actualmente se cuenta con dos lenguajes formales el Álgebra relacional y elCálculo relacional. El Álgebra relacional permite describir la forma de realizar unaconsulta, en cambio, el Cálculo relacional sólo indica lo que se desea devolver.

Esquema: Un esquema es la definición de una estructura (generalmenterelaciones o tablas de una base de datos), es decir, determina la identidad de larelación y que tipo de información podrá ser almacenada dentro de ella.

Instancias: Una instancia de manera formal es la aplicación de unesquema a un conjunto finito de datos. En palabras no tan técnicas, se puededefinir como el contenido de una tabla en un momento dado, pero también esválido referirnos a una instancia cuando trabajamos o mostramos únicamente unsubconjunto de la información contenida en una relación o tabla.

Page 5: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 5

4.2 DOMINIOS ATOMICOS Y LA FORMA NORMAL.

Dominio Atómico.

El dominio se refiere a todos los valores que se desprenden de un atributo oque son legales o permitidos en la base de datos, y atómico significa indivisible, esdecir, cada atributo debe contener un único valor del dominio. Además, cada valordebe tener un nombre único, ya que la creación de tablas implica la definición decolumnas de un tipo concreto y con un nombre único. Tampoco pueden existirtuplas idénticas. Por ejemplo si un registro es modificado más de una vez elmismo día, no deberá crearse un registro nuevo cada vez.

Formas Normales

Las formas normales son aplicadas a las tablas de una base de datos. Decirque una base de datos está en la forma normal N es decir que todas sus tablasestán en la forma normal N. En general, las primeras tres formas normales sonsuficientes para cubrir las necesidades de las bases de datos. El creador de estastres primeras formas normales o reglas de creación de una base de datos fueEdgar F. Codd. Dichas formas normales se representan en un orden similar al quese muestra en la siguiente figura.

Primera Forma Normal (1FN)

Aplicar la primera forma normal es muy simple, bastara con dividir cadacolumna no atómica en tantas columnas atómicas como sea necesario. Porejemplo, si tenemos una relación que contiene la información de una agenda deamigos con este esquema: Agenda(Nombre, Email)

El nombre normalmente, estará compuesto por el tratamiento (señor,señora, don, doña, señorita, etc), el nombre en si de la persona y los apellidos.Podríamos en este caso, considerar el nombre como un dato atomico, pero puedeinteresarnos separar algunas de las partes que lo componen, por lo que podríaquedar de la siguiente forma:

Page 6: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 6

Agenda (Nombre_Tratamiento, Nombre_Pila, Nombre_Apellidos, Email).

Por tanto, tenemos que:Una tabla está en primera forma normal si:

Todos los atributos son atómicos. La tabla contiene una clave primaria. La clave primaria no contiene atributos nulos. No existe variación en el número de columnas. Los campos no clave deben de identificarse por la clave principal

(Dependencia Funcional). Una tupla no puede tener múltiples valores de cada columna. Esta forma normal elimina los valores repetidos dentro de una BD.

Por lo general la mayoría de las relaciones cumplen con estas características,así que podemos decir que la mayoría de las relaciones se encuentran en laprimera forma normal. Para ejemplificar como se representan gráficamente lasrelaciones en primera forma normal consideremos la relación alumno cursamateria cuyo diagrama E-R es el siguiente:

Como esta relación maneja valores atómicos, es decir un solo valor por cadauno de los campos que conforman a los atributos de las entidades, ya seencuentra en primera forma normal, gráficamente así representamos a lasrelaciones en 1FN.

4.3 DEPENDENCIAS FUNCIONALES.

Una dependencia funcional es una relación entre atributos de una mismarelación (tupla). Es decir, si X e Y son atributos de la relación R, se dice que Y esfuncionalmente dependiente de X (se denota por XY) si cada valor de X tieneasociado un solo valor de Y (X e Y pueden constar de uno o varios atributos).

Cada dependencia funcional es una clase especial de regla de integridad yrepresenta una relación de uno a muchos.

Page 7: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 7

Dependencia funcional mutua: ab y ba o lo que es lo mismo ab.Nótese que el concepto de dependencia funcional no depende de la extensiónconcreta (contenido) que en un momento determinado tenga la tabla sinocualquier posible extensión que pudiera tener. Los atributos a y b pueden sersimples o compuestos (formados por la agregación de varios atributos).

Reflexividad. A partir de cualquier atributo o conjunto de atributos siemprepuede deducirse el mismo.Dependencia Trivial: xx.

Aumentatividad. Si XY entonces X+ZY. Así se puede aumentartrivialmente el antecedente de una dependencia. Ejemplo: si con el DNI sedetermina el nombre de una persona, entonces con el DNI más la direccióntambién se determina el nombre.

Proyectividad. Si XY+Z entonces XY. ejemplo: si a partir del DNI esposible deducir el nombre y la dirección de una persona, entonces con el DNI esposible determinar el nombre.

Aditividad. Si XY y ZW entonces X+ZY+W. Ejemplo: si con el DNI sedetermina el nombre y con la dirección se determina el teléfono de una persona,entonces con el DNI y la dirección se puede determinar el nombre y el teléfono.

Transitividad o Enlace de Dependencias Funcionales. Si XY e YZentonces XZ. Ejemplo: si con el DNI puede determinarse el código postal deresidencia de la persona, y con este código puede determinarse el nombre de laprovincia, entonces con el DNI puede determinarse el nombre de la provincia. Estees el mecanismo básico de funcionamiento del enlace entre tablas a partir declaves ajenas.

4.4 SEGUNDA FORMA NORMAL (2FN).

Para definir formalmente la segunda forma normal requerimos saber que esuna dependencia funcional: Consiste en edificar que atributos dependen de otro(s)atributo(s).

Definición formal: Una relación R está en 2FN si y solo si está en 1FN y losatributos no primos dependen funcionalmente de la llave primaria.

Una relación se encuentra en segunda forma normal, cuando cumple con lasreglas de la primera forma normal y todos sus atributos que no son claves (llaves)dependen por completo de la clave. De acuerdo con esta definición, cada tablaque tiene un atributo único como clave, está en segunda forma normal.

Page 8: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 8

como:La segunda forma normal se representa por dependencias funcionales

Nótese que las llaves primarias están representadas con doble cuadro, lasflechas nos indican que de estos atributos se puede referenciar a los otrosatributos que dependen funcionalmente de la llave primaria.

4.5 TERCERA FORMA NORMAL (3FN).

Para definir formalmente la 3FN necesitamos definir dependencia transitiva: Enuna afinidad (tabla bidimensional) que tiene por lo menos 3 atributos (A,B,C) endonde A determina a B, B determina a C pero no determina a A.

Definición formal: Una relación R está en 3FN si y solo si está en 2FN ytodos sus atributos no primos dependen no transitivamente de la llave primaria.

Consiste en eliminar la dependencia transitiva que queda en una segunda formanormal, en pocas palabras una relación está en tercera forma normal si está ensegunda forma normal y no existen dependencias transitivas entre los atributos,nos referimos a dependencias transitivas cuando existe más de una forma dellegar a referencias a un atributo de una relación.

Por ejemplo, consideremos el siguiente caso:

Tenemos la relación alumno-cursa-materia manejada anteriormente, pero ahoraconsideramos al elemento maestro, gráficamente lo podemos representar de lasiguiente manera:

Page 9: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 9

Podemos darnos cuenta que se encuentra graficado en segunda formanormal, es decir que todos los atributos llave están indicados en doble cuadroindicando los atributos que dependen de dichas llaves, sin embargo en la llaveNecono tiene como dependientes a 3 atributos en el cual el nombre puede serreferenciado por dos atributos: Necono y RFC (Existe dependencia transitiva),podemos solucionar esto aplicando la tercera forma normal que consiste eneliminar estas dependencias separando los atributos, entonces tenemos:

Page 10: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 10

4.6 FORMA NORMAL BOYCE-COD.

Determinante: Uno o más atributos que, de manera funcional, determinan otroatributo o atributos. En la dependencia funcional (A,B)C, (A,B) son losdeterminantes.

Definición formal: Una relación R está en FNBC si y solo si cada determinantees una llave candidato.

Denominada por sus siglas en inglés como BCNF; Una tabla se consideraen esta forma si y sólo sí cada determinante o atributo es una llave candidato.

Continuando con el ejemplo anterior, si consideramos que en la entidadalumno sus atributos control y nombre nos puede hacer referencia al atributo esp.,entonces decimos que dichos atributos pueden ser llaves candidato.

Gráficamente podemos representar la forma normal de Boyce Codd de lasiguiente forma:

Obsérvese que a diferencia de la tercera forma normal, agrupamos todas lasllaves candidato para formar una global (representadas en el recuadro) las cualeshacen referencia a los atributos que no son llaves candidato.

4.7 ALGORITMOS DE DESCOMPOSICION.

Algoritmo de descomposición 3FN también se denomina algoritmo desíntesis de 3FN, ya que toma un conjunto de dependencias y añade los esquemasuno a uno, en lugar de descomponer el esquema inicial de manera repetida.

Algoritmo de descomposición FNBC, Recibe como argumentos:

1. El conjunto de dependencias funcionales (DF)2. La relación original (r)* calculamos f+ * si el esquema no está en FNBC, usamosla primera DEP funcional de DF no trivial que cumpla que la parte izquierda no seaclave candidata. Dividimos el esquema r en dos: por un lado creamos un esquemacuyos atributos sean los de la dependencia funcional y le añadimos aquellasdependencias funcionales de f+ que sólo involucren a esos atributos; y por otrolado creamos otro esquema cuyos atributos son todos los de la relación.

El proceso es recursivo hasta que todos los esquemas estén en FNBC.

Page 11: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 11

4.8 FORMAS NORMALES SUPERIORES.

Cuarta forma normalUna tabla está en 4NF si y solo si está en Tercera forma normal o en BCNF

(Cualquiera de ambas) y no posee dependencias multivaluadas. Una tabla conuna dependencia multivaluada es una donde la existencia de dos o más relacionesindependientes muchos a muchos causa redundancia; y es esta redundancia laque es suprimida por la cuarta forma normal.

Para entender mejor aún esto consideremos una afinidad (tabla) llamadaestudiante que contiene los siguientes atributos: Clave, Especialidad, Curso tal ycomo se demuestra en la siguiente figura:

Clave Especialidad CursoS01 Sistemas NataciónS01 Bioquímica DanzaS01 Sistemas NataciónB01 Bioquímica GuitarraC03 Civil Natación

Suponemos que los estudiantes pueden inscribirse en varias especialidades yen diversos cursos. En esta tabla o relación no existe dependencia funcionalporque los estudiantes pueden tener distintas especialidades, un valor único declave puede poseer muchos valores de especialidades al igual que de valores decursos. Por lo tanto existe dependencia de valores múltiples. Este tipo dedependencias produce redundancia de datos, como se puede apreciar en la tablaanterior, en donde la clave S01 tiene tres registros para mantener la serie de datosen forma independiente lo cual ocasiona que al realizarse una actualización serequiera de demasiadas operaciones para tal fin.

Para eliminar la redundancia de los datos, se deben eliminar las dependenciasde valores múltiples. Esto se logra construyendo dos tablas, donde cada unaalmacena datos para solamente uno de los atributos de valores múltiples. Paranuestro ejemplo, las tablas correspondientes son:

Tabla Eespecialidad

Clave EspecialidadS01 SistemasB01 BioquímicaC03 Civil

Page 12: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 12

Tabla ECurso

Clave CursoS01 NataciónS01 DanzaB01 GuitarraC03 Natación

Quinta forma normalLa quinta forma normal (5FN), también conocida como forma normal de

proyección-unión (PJ/NF), es un nivel de normalización de bases de datosdesignado para reducir redundancia en las bases de datos relacionales queguardan hechos multi-valores aislando semánticamente relaciones múltiplesrelacionadas.Definición formal: Un esquema de relaciones R está en 5FN con respecto a unconjunto D de dependencias funcionales, de valores múltiples y de producto, sipara todas las dependencias de productos en D se cumple por lo menos una deestas condiciones:

*(R1, R2, R3,... Rn) es una dependencia de producto trivial.* Toda Ri es una superllave de R.

La quinta forma normal se refiere a dependencias que son extrañas. Tiene quever con tablas que pueden dividirse en subtablas, pero que no puedenreconstruirse.

Page 13: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 13

4.9 INTEGRIDAD DE LA BASE DE DATOS.

Integridad de datos en bases de datos: Integridad de datos se refiere alestado de corrección y completitud de los datos ingresados en una base de datos.

Los SGBD relacionales deben ser capaces de mantener la integridad de losdatos almacenados en una base de datos con respecto a las reglas predefinidas orestricciones que el administrador y creador de la base de datos determine.

Un claro ejemplo de error de integridad es el ingreso de un tipo de datoincorrecto dentro de un campo. Por ejemplo, ingresar un texto cuando se esperaun número entero. También un error en la integridad de una base de datos puedeser la existencia de un valor numérico (ID_Cliente) en la compra de un productopor parte de un cliente que no existe en su correspondiente tabla con ese número.(Integridad referencial).

La exigencia de integridad de los datos garantiza la calidad de los datos dela base de datos. Por ejemplo, si se especifica para un empleado el valor deidentificador de 123, la base de datos no debe permitir que ningún otro empleadotenga el mismo valor de identificador. Si tiene una columna employee_rating parala que se prevean valores entre 1 y 5, la base de datos no debe aceptar valoresfuera de ese intervalo.

Dos pasos importantes en el diseño de las tablas son la identificación devalores válidos para una columna y la determinación de cómo forzar la integridadde los datos en la columna.

Page 14: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 14

CONCLUSIÓN

Para terminar con este trabajo de investigación, sobre la unidad 4 de diseñode base de datos relacional, no queda más que presentar una opinión acerca de loaprendido durante la realización de esta investigación, que es una etapa más, queconlleva a aprender sobre la creación de bases de datos relacionales.

En este caso en concreto se hablo acerca de las formas normales que debetener un sistema de bases de datos, que consiste básicamente en buscaroptimizar lo mejor posible el funcionamiento de la BD, disminuyendo al mínimo oeliminando por completo los posibles errores que en dado momento se pudieranpresentar durante la manipulación de la información que se almacene en este.Aunque, las formas normales son un tema algo complicado de entender y deaplicar a las bases de datos, es importante conocerlas y con esta investigación,fue sencillo comprender lo mucho que ayuda aplicar las distintas formas normalesdentro de una base de datos.

Un punto sobresaliente, que permite comprender cuando aplicar una formanormal u otra en una base de datos en específico, es conocer las característicasbásicas de la misma además de que dependerá mucho de su tamaño, es decir,mientras más robusto sea la base de datos, será necesario aplicar cada una de lasformas normales, para lograr una mayor optimización, en contraste, si nuestra BDes pequeña, solo usaremos las formas normales que determinemos conveniente.

Y algo muy importante dentro de un sistema que se utiliza para controlar una grancantidad de información, es mantener la integridad de este. En esta investigaciónfue uno de los temas que abordamos y compartimos.

Page 15: Base de datos 4

Fundamentos de Base de Datos

U4 Diseño De Base De Datos Relacional Página 15

BIBLIOGRAFÍAPAGINAS CONSULTADAS

http://es.scribd.com/doc/57712337/Fundamentos-de-Base-de-Datos-UNIDAD-4

www.isc.itcj.s5.com/bdd1/unidad4.htm

http://www.estructurayprogramacion.com/materias/fundamentos-de-base-de-datos/caracteristicas-del-dise%C3%B1o-relacional/

http://es.scribd.com/doc/52384224/FORMAS-NORMALES-DE-UNA-BASE-DE-DATOS

http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos

http://www.unalmed.edu.co/~mstabare/Dep_fnal.htm

http://gemagutsan.wordpress.com/2011/03/18/16032011-normalizacion-y-dependencia-funcional/

http://tareasfundamentosbditp.blogspot.mx/p/tarea-4-unidad-4.html

http://www.ecured.cu/index.php/Integridad_de_las_Bases_de_Datos

http://basesdedatostecpachuca.blogspot.mx/2012/11/tarea-iv-algoritmos-de-descomposicion.html

http://www.estructurayprogramacion.com/materias/fundamentos-de-base-de-datos/algoritmos- de-descomposicion/