Anda di halaman 1dari 12

Solcuin Ejercicios sobre diseos de bases de datos relacionales 1) Suponer el esquema de relacin R(A,B,C,D,E) con el siguiente conjunto F de dependencias

funcionales: F{ ABC , CDE , BD , EA}. a. Demostrar que la descomposicin del esquema R en R1(A,B,C) y R2(A,D,E) es una descomposicin de reunin sin prdida. Es sin prdida si R1R2 R1 o R1R2 R2 y est dentro del conjunto de DF de F+ En este caso: R1R2={A}. Hay que mirar si A es clave candidata o no. Se calcula el cierre de A+ A+={ABCDE}. Como es clave candidata en R1 R2 y estn dentro del conjunto de DF, es una descomposicin sin prdida. b. Demostrar que la siguiente descomposicin R1(A,B,C) y R2(C,D,E) de R(A,B,C,D,E) no es una descomposicin de reunin sin prdida. Para este caso: R1R2={C}. Hay que mirar si C es clave candidata o no. Se calcula el cierre de C+ C+={C}. Como no es clave candidata en R1 R2, es una descomposicin con prdida. 2) Indicar todas las dependencias funcionales que satisface la relacin siguiente A a1 a1 a2 a2 B b1 b1 b1 b1 C c1 c2 c1 c3

Dependencia funcional AB: Si t1t2, t1[A]=t2[A] t1[B]=t2[B]. Segn la defincin se encuentran : - AB - CB - ACB 3) Para el siguiente conjunto de dependencias funcionales F del esquema de relacin R(A,B,C,D,E): F{ ABC , CDE , BD , EA} , se pide: a. Calcular el cierre del conjunto F. Se aplican los axomas de Armstrong para calcular todas las posibles dependencias: ABC, se descompone en AB y AC. Por transitividad, AB, BD, luego AD ACD , CDE, luego AE AA, por reflexividad. EA, y por transitividad: EB, EC, ED, EE BD, por aumentatividad, BCCD, y por transitividad: BCE, BCB, BCC, BCD CDE, por transitividad con A, CDABCDE Todas las dependencias triviales ()

Todas las dependencias de la forma: A* , BC*, CD* y E*, donde es un subconjunto de {ABCDE} b. Calcular las claves candidatas de R.

Se calcula el cierre de los atributos, pero en el apartado A ya estn calculadas: - AABCDE - BCABCDE - CDABCDE - EABCDE c. Calcular el cierre del atributo B. B+={BD} d. Calcular el recubrimiento cannico de F. Para este caso hay que hacer que el lado izquierdo de las dependencias sea nico y eliminar algn atributo raro. En este caso no hay ningn atributo raro en el lado izquierdo ni en el lado derecho., por lo que Fc=F 4) Dado el esquema de base de datos R(a,b,c) y una relacin r del esquema R, escribir una consulta SQL para comprobar si la dependencia funcional bc se cumple en la relacin r.Cmo se podra hacer cumplir siempre esa dependencia funcional en la base de datos? No deben de existir dos tuplas con el mismo valor de b y valores diferentes de c. Select b from r group by b having count(distinct c) >1; Se podra crear un disparador o un aserto: Create assertion b_to_c check (not exists ( Select b from r group by b having count(distinct c) > 1 )); 5) Proporcionar un ejemplo de esquema de relacin R y de un conjunto F de dependencias funcionales tales que haya al menos tres descomposiciones de reunin sin prdida distintas de R en FNBC. En FNBC toda dependencia funcional X A, donde X es una superclave de R. Todas las dependencias deben de ser as. Suponer una relacin R(A,B,C,D) con DF{AB, BC , CD}, luego A es la clave y hay transitividad. Posibles descomposiciones: - R1(A,B), R2(C,D), R3(B,C) - R1(A,B), R2(C,D), R3(AC) - R1(B,C), R2(A,D), R3(A,B) 6) Dada la siguiente relacin

Normalizarla (si no lo est) hasta 5FN.

Se cumplen las siguientes DF: - DNINombre - DNICalle - DNICiudad La clave es DNI. Normalizacin: - Est en 1FN, dominios atmicos y no hay atributos multivaluado. - Est en 2FN, todo atributo depende totalmente de la PK. - Est en 3FN, no hay DF transitivas. - Est en FNBC, las DF denpenden de la PK slo. - Est en 4FN, no hay dependencias multivaludas (DMV). - Est en 5FN, no hay dependencias de reunin (DR) 7) Dada la siguiente relacin, utilizada para almacenar informacin sobre los artculos que un dependiente vende, adems de informacin del propio dependiente, normalizarla hasta 5FN

Se cumplen las siguientes DF: - DNI,codigocantidad,ciudad, calle - DNIciudad,calle La clave es (DNI,codigo) Normalizacin: - Est en 1FN, dominios atmicos y no hay atributos multivaluado. - No est en 2FN: hay dependencias funcionales no completas sobre el atributo DNI. Se divide la tabla en 2: o R1(DNI,ciudad,calle) con DF DNIciudad,calle, y PK DNI Est en 2FN, DF completas. Est en 3FN, no hay DF transitivas. Est en FNBC, las DF dependen de la PK Est en 4FN, no hay DMV Est en 5FN, no hay DR. o R2(DNI,codigo,cantidad) con DF DNI,codigocantidad Est en 2FN, DF completas. Est en 3FN, no hay DF transitivas. Est en FNBC, las DF dependen de la PK Est en 4FN, no hay DMV Est en 5FN, no hay DR.

8) Normalizar la siguiente relacin:

Se obtienen las siguientes DF: DNI,codigocantidad DNIciudad, calle ciudadcomunidad , suponiendo que no hay ciudades en diferentes comunidades. Est en 1FN, dominios atmicos y no hay atributos multivaluados. No est en 2FN, hay DF no completas. Dividimos o R1(DNI,ciudad, calle,comunidad) con DF DNIciudad, calle y ciudadcomunidad y PK DNI o R2(DNI,codigo,cantidad) con DF DNI,codigocantidad y PK (DNI,codigo) Ya estn en 2FN. R2 Est en 3FN, no hay DF transitiva y R1 no est. Se divide: o R3(DNI,ciudad,calle), con DF DNIciudad, calle y PK DNI. Est en 3FN o R4(ciudad,comunidad), con DF ciudad comunidad, y PK ciudad. Est en 3FN Estn en FNBC R1,R3 y R4, dependen las DF de la PK. Est en 4FN, no hay DMV Est en 5FN, no hay DR.

9) Normalizar hasta 5FN una relacin R(a,b,c,d) cuyo diagrama de dependencias funcionales es:

El conjunto de DF es: ab, bc, cd. Suponiendo atributos de R son atmicos. - Est en 1FN, dominios atmicos y no hay atributos multivaluado. - Est en 2FN, todo atributo depende totalmente de la PK. - No est en 3FN, hay DF transitivas. o R1(a,b,c), no est en 3FN y DF ab, bc. PK es a. Se vuelve a dividir: R3(a,b), con PK a R4(b,c), con PK b Se encuentran en 3FN y FNBC o R2(c,d), con c PK y DF cd. Est en 3FN y FNBC - Est en FNBC, las DF denpenden de la PK slo. - Est en 4FN, no hay dependencias multivaludas (DMV). - Est en 5FN, no hay dependencias de reunin (DR) 10) Normalizar hasta 5FN una relacin R(a,b,c,d,e) cuyo diagrama de dependencias funciones es:

Nota: el rectngulo que engloba a 2 atributos o ms es la clave primaria Clave (a,b). DF: (a,b) c , ad, be Est en 1FN, dominios atmicos y no hay atributos multivaluado. No est en 2FN, hay dos DF que dependen parcialmente de la PK. Separamos: o R1(a,d), con PK a y se encuntra en 2FN, 3FN y FNBC o R2(a,b,c,e) con PK a y una dependencia parcial be. Se divide: R3(b,e) con PK b y se encuentra en 2FN,3FN y FNBC R4(a,b,c) con PK (a,b), que se encuentra en 2FN,3FN y FNBC. Est en 4FN, no hay dependencias multivaludas (DMV). Est en 5FN, no hay dependencias de reunin (DR)

11) Normalizar hasta 5FN una relacin R(dni, nombre, codigo, cantidad) que representa una base de datos con informacin sobre proveedores, cdigos de piezas y cantidades que de esa pieza vendan los proveedores. Se impone la condicin que NO existen dos instancias de nombre repetidas en toda la relacin. Las DF son: dninombre nombreDNI DNI,codigocantidad Nombre,codigocantidad Claves: (dni,codigo) y (nombre,codigo) Est en 1FN, dominios atmicos y no hay atributos multivaluado. Est en 2FN, no hay atributos no primos que dependan parcialmente de alguna clave. Est en 3FN, no hay DF transitivas. No est en FNBC, ya que dni y nombre no pueden funcionar como PK. Se divide: o R1(dni,nombre), con PK dni nombre. Se encuntra en FNBC o R2(dni,codigo,cantidad) con PK dni,codigo. Se encuentra en FNBC Est en 4FN, no hay dependencias multivaludas (DMV). Est en 5FN, no hay dependencias de reunin (DR)

12) Normalizar hasta 5FN una relacin R(estudiante, asignatura, profesor) que representa una base de datos con informacin sobre alumnos, asignaturas y profesores que imparten las mismas, en un centro de enseanza. Se imponen adems las siguientes restricciones: Para cada asignatura, cada estudiante tiene slo un profesor. Cada profesor slo imparte una asignatura. Una asignatura puede estar dadas por varios profesores.

Se obtienen las siguientes DF:

Estudiante,asignaturaprofesor profesorasignatura Las claves candidatas son: (estudiante,profesor) y (estudiante,asignatura) La relacin est en 1FN Est en 2FN, los atributos no primos dependen totalmente de la PK Est en 3FN, no hay DF transitivas entre atributos no primos. No est en FNBC, ya que no todos los determinantes son claves. Profesor no puede ser clave. Dividimos: o R1(asignatura,profesor) o R2(estudiante,profesor) Est en 4FN, no hay dependencias multivaludas (DMV). Est en 5FN, no hay dependencias de reunin (DR)

13) Normalizar hasta 5FN una relacin R(dni, nif, ciudad, provincia, telfono, codtel) que representa una base de datos con informacin sobre personas fsicas. El atributo codtel representa el prefijo telefnico de cada provincia. Se impone como restriccin el que varias personas pueden tener el mismo telfono. Se obtienen las siguientes DF: dninif nifdni dniciudad dnitelefono ciudadprovincia provinciacodtel ciudadcodtel nifciudad niftelefono La relacin est en 1FN Est en 2FN, los atributos no primos dependen totalmente de las claves. No est en 3FN, hay DF transitivas entre atributos no primos. Desomponemos: o R1(dni,nif,ciudad,provincia,telefono), con claves dni y nif. No est en 3FN: R3(dni,nif,ciudad,telefono), con claves dni y nif. Est en 3FN y FNBC. R4(ciudad,provincia) con PK ciudad. Est en 3FN y FNBC o R2(provincia,codtel), con PK provincia. Est en 3Fn y FNBC No est en FNBC, ya que no todos los determinantes son claves. Profesor no puede ser clave. Dividimos: o R1(asignatura,profesor) o R2(estudiante,profesor) Est en 4FN, no hay dependencias multivaludas (DMV). Est en 5FN, no hay dependencias de reunin (DR)

14) Normalizar hasta 5FN una relacin R(a,b,c,d) cuyo diagrama de dependencias es el siguiente:

Nota: el rectngulo que engloba a 2 atributos o ms es la clave primaria La PK es a,b,c DF ad DMV ac y ab La relacin est en 1FN No est en 2FN, los atributos no primos no dependen totalmente de las claves: o R1(a,b,c) con a,b,c. Est en 3FN y FNBC o R2(a,d) con PK a. Est en 3FN y FNBC No est en 4FN, hay dependencias multivaludas (DMV). Se descompone: o R3(a,b) con PK a,b o R4(a,c) con PK a,c Est en 5FN, no hay dependencias de reunin (DR)

15) Normalizar hasta 5FN una base de datos de una academia que contenga informacin sobre cursos, profesores, libros, editorial de los libros, ciudad de la editorial, telfono de los profesores y aulas. Se imponen las siguientes restricciones: Cada Curso, es impartido siempre por un grupo bien definido de profesores. Cada Curso, tiene un grupo bien definido de libros (se utilizan todos ellos). Cada Curso impartido por un profesor con un cierto libro, se realizar en un aula distinta.

Se muestra una hipottica tabla con los tipos de datos anteriormente citados.

DF: Curso,profesor,libroaula Aula curso,profesor,libro profesortelefono libroeditorial

editorialciudad DMV: cursoprofesor y cursolibro Claves: (curso,profesor,libro) y aula Est en 1FN No est en 2FN, hay DF no completas para atributos no primos. Se descompone: o R1(profesor,telefono), con PK profesor. Est en 2FN,3FN y FNBC o R2(curso,profesor,libro,aula,editorial,ciudad). No est en 3FN. Hay DF transitiva R3(libro,editorial,ciudad), Est en 2FN, pero no en 3FN. R5(libro,editorial) con PK libro. Est en 3FN y FNBC R6(editorial,ciudad) con PK editorial. Est en 3FN y FNBC R4(curso,profesor,libro,aula) con claves (curso,profesor,libro) y aula, est en 2FN, 3FN y FNBC Estn en 4FN salvo R4, hay dos DMV: o R7(curso,profesor,aula) con claves (curso,profesor ) y aula o R8(curso,libro,aula) con claves (curso,libro) y aula [10 p]

Cuestin 3

Dado el esquema de relacin R(A,B,C,D,E) a) Escribir una consulta SQL que permita determinar si se cumple la dependencia ABC. Justificar la respuesta. Para cada valor de AB, slo debe de haber un nico valor de C. Habr que quitar los duplicados. La consulta debera de agrupar por AB, contar los valores diferentes y mirar si hay ms de uno. Select a,b From R Group a,b Having count(distinct c) > 1; b) Si la relacin R se descompone en R1(C,D,E) y R2(A,B,D,E). Se podra determinar utilizando SQL si es una descomposicin sin prdida?. Si es as, escribir una consulta que lo comprobase. Justificar la respuesta. Si, hay que comprobar que al hacer la reunin natural de R1 y R2, se obtiene la tabla originla. Se puede hacer con una resta: Select * from R EXCEPT Select A,B,B,C,D,E from R1 natural join R2; Si no se devuelven tuplas, es una descomposicin sin prdida.

Problema 2

[20 p]

Sea el esquema de relacin R(A,B,C,D,E,G) con el conjunto de dependencias funcionales F={ABDEG, AB, AD, CBDG, AGEB, GBA}. Se pide: 1) Hallar todas las claves. Justificar la respuesta. Para que sea clave, el conjunto de atributos debe de implicar a todos los atributos. C no aparece en el lado derecho, luego debe pertenecer a las claves. Hallamos el cierre: C+={C} CA+={CADBEDG} CB+={CBDGBAE} CD+={CD} CE+={CE} CG+={CGBADE} Tres claves: CA,CB y CG 2) Hallar el recubrimiento cannico de F. Mostrar los pasos seguidos. Para hallar el recubrimiento cannico, hay que juntar todas las DF con el mismo determinante y comprobar is hay atributos raros: Fc={ABDEG,AB,AD,CBDG,AGEB,GBA} Fc={ABDEG,ABD,CBDG,AGEB,GBA} Analizamos cada DF: ABDEG, es E raro?. ABDE utilizando Fc con ABDG. Se calcula ABD+={ABDE}, como est E es raro. Luego Fc={ABDG,ABD,CBDG,AGEB,GBA} ABDG, es A raro?. BDG utilizando Fc.Se calcula BD+={BD}, como no est G no es raro. ABDG, es B raro?. ADG utilizando Fc.Se calcula AD+={ABDG}, como est G es raro. Luego Fc={ADG, ABD,CBDG, AGEB, GBA} ADG, es D raro? AG, utilizando Fc. Se calcula A+={ABDG}. Como est G es raro. Luego Fc={AGBD,CBDG, AGEB, GBA} AGBD, es G raro? AG, utilizando Fc. Se calcula A+={ABD}. Como no est G, no es raro. AGBD, es B raro? AB, utilizando Fc. Se calcula A+={AGBDA}. Como est B, es raro. Fc={AGD,CBDG, AGEB, GBA} AGD, es G raro? AG, utilizando Fc. Se calcula A+={AD}. Como no est G, no es raro. AGD, es D raro? AD, utilizando Fc. Se calcula A+={AGEB}. Como no est D, no es raro. CBDG, es D raro? CBD, bajo Fc={AGD,CBG, AGEB, GBA} 9 Fc. CB+={CBGEBBAGD}, D es raro.

CBG, es C raro? BG, B+={B}, no es raro. CBG, es B raro? CG, C+={C}, no es raro. AGEB, es E raro? AGE, bajo Fc AG+={AGBGDBA}, no es raro. AGEB, es E raro? AGB, bajo Fc AG+={AGBGDBA}, es raro. Fc={AGD,CBG, AGE, GBA} AGE, es A raro? GE, G+={GBAE}, A es raro. Fc={AGD,CBG, GEBA} GEBA, si B es raro? GB bajo Fc, G+={GEAGD} no es raro GEBA, si A es raro? GA bajo Fc, G+={GEB} no es raro GEBA, si E es raro? GE bajo Fc, G+={GBAGB} no es raro

Recubrimiento cannico: Fc={AGD,CBG, GEBA} 3) Considerar la descomposicin de R en R1(A,B,E,G) y R2(B,C,D,G). Es una descomposicin de reunin sin prdida?. Justificar la respuesta. Los atributos comunes son BG, calculamos BG+={BGEBAGD}, es clave de R1 luego como R1R2 es clave en R1 R2 y pertence su DF a F+ , es una descomposicin sin prdida. 4) Justificar en qu forma normal se encuentra cada una de las relaciones del apartado c) y normalizar esa descomposicin hasta la forma normal ms alta posible. Para R1(A,B,E,G). Del conjunto de DF G+={G,B,A,E,B,D} es clave y A+={A,B,D,E,G} luego son claves. Tambin se tiene que AB, AGEB y GBA o o o o o o Est en 1FN, si suponenemos valores atmicos de los atributos. Est en segunda forma normal ya que no hay dependencias parciales de alguna clave. Est en 3FN ya que no hay DF transitivas que involucren a atributos no primos. Est en FNBC, los determinantes son superclave. Est en 4FN, no hay DMV Est en 5FN, no hay DR

Para R2(B,C,D,G). Del conjunto de DF, las claves son CB+={CBDG} y CG+{CGBD}. Las DF que se cumplen: CBDB, GA, AD, GD, GB y GBD o Est en 1FN, si suponenemos valores atmicos de los atributos. o No est en segunda forma normal, ya que hay dependencias parciales de alguna clave en al atributo no primo D. Se divide: R3(B,C,G), cuya clave es BC. Est en 2FN,3FN,4FN, 5FN R4(D,G), cuya clave es G. Est en 2FN, 3FN, 4FN, 5FN

10

Problema 2

[20 p]

Se conocen las siguientes dependencias funcionales de una realidad F={ABCD, BA, DC, ED, FGH, IA} Alguien dise el siguiente esquema para la realidad anterior R1( A,B,C,D,E) R2(F,G,H,I,C,D,E) Se pide: a) Obtener todas las claves candidatas de cada tabla. Justificar. Se debe de calcular el cierre de los atributos y ver cuales implican a todos los atributos de la relacin Para la tabla R1: A+ ={ABCD} , B+ ={BACD}, C+={C},D+={DC},E+={EDC} Debe de ser compuesto y la pareja que implica a todos los atributos son: AE o BE Para la tabla R2: F+={FGH}, G+={G},H+={H},I+={IABCD}, C+={C},D+={DC},E+={EDC} La nica combinacin que implica a todos los atributos de R2 tiene que incluir a FIE, ya que con I es la nica manera de impliciar a I, E, la nica que implica a E y F la que implicia a F,G,H. Solucin FIE b) Obtener la forma normal del esquema anterior. Justificar. La tabla R1 tiene las claves candidatas AE y BE. Los atributos no primos CD dependen parcialmente de la clave AE a travs de la dependencia A BCD, luego no est en 2FN. Est en 1FN si los atributos no son multivaluados. La tabla R2 tiene la clave candidata FIE y hay dependencia parcial con la clave con el atributo no primo D por ejemplo, luego no est en 2FN. Est en 1FN si los atributos no son multivaluados. c) Normalizar el esquema a FNBC y dar todas las claves candidatas cada una de las tablas del esquema en FNBC. Tabla 1. R1(A,B,C,D,E). Las claves candidatas son AE y BE. Los atributos no primos son C y D. La dependencia funcional A BCD viola la 2FN. Dividimos la tabla en: R11(A,B,C,D) con dependencias funcionales ABCD, BA , DC y se puede deducir BACD, luego las claves candidatas son A y B. Esta tabla no est en 3FN, hay DF transitiva respecto atributo no primo D.Dividimos: R11(A,B,D), donde las claves candidatas AB,ABD,BAD. Est en 3FN y FNBC son A y B y las DF son:

R12(D,C), con clave D y DF DC. Est en 3FN y FNBC. R12(A,E) , no hay DF luego la clave primaria es AE. Est en FNBC. Tabla 2. R2(F,G,H,I,C,D,E) con clave FIE. No est en 2FN debido a que hay DF parcial de la clave a travs de FGH. Se divide: R21(F,G,H), donde se tiene clave F y DF FGH, que se encuentra en FNBC. 11

R22(F,I,C,D,E), viola la 2FN ya que la clave es FIE y existe la DF ICD. Dividimos la tabla: R221(I,C,D) , donde la clave es I y existe DF ICD y DC, que no est en 3FN, DF entre atributo no primo D. Se divide en: R2211(D,C) con clave D y DF DC que cumple 3FN y FNBC R2212(I,D) con clave I y DF ID que cumple 3FN y FNBC R222(F,I,E), donde la clave es FIE y no hay DF por lo que est en FNBC d) Determinar si se perdieron dependencias funcionales indicando cuales han sido. Se pierden las dependencias funcionales ECD e IA (la original que no estaba en las tablas originales).

12

Anda mungkin juga menyukai