Buscar este blog

jueves, 6 de junio de 2013

Ejercicios, PASO A 1FN, 2FN y 3FN (BASES DE DATOS)

 Ejercicios: Pasar a 3FN los esquemas relacionales:

1.                  A (a0, b0, c1, c2) siendo c2 à c1

.            C (c1, c2)
                A (a0, b0, c1)
                Cajena: {c1} → C

2.                  ALUMNO (num_exp, curso, localidad, provincia) siendo provincia à localidad

             Provincia (localidad, provincia)
                Alumno (num_exp, curso, localidad)
                Cajena: {Localidad} → Provincia

3.                  NOTA (cod_asig, num_exp, nom_asig, nom_alumno, dir_alumno, nota) siendo à nom_alumno, dir_alumno à num_exp y siendo nom_asig à cod_asig

            FN2:
                Nota (cod_asig, num_exp, nota)
                Cajena: {cod_asig} → Asignatura
                Cajena: {num_exp} → Alumno
                Alumno (num_exp, nom_alumno, dir_alumno)
                Asignatura (cod_asig, nom_asig)

4.                  A (a0, a1, a2, {a3}, a4, a5) siendo a2 à a1 y siendo a5àa4


             FN1
                A'(a0, a1,a3)
                Cajena: {a0, a1} → A
                A (a0, a1, a4, a5)

                FN2
                A (a0, a1, a4, a5)
                Cajena: {a1} → A2
                A2 (a1, a2)
               
                FN3
                A' (a4, a5)
                A (a0, a1, a4)
                Cajena: {a4} → A'

5.                  A (a0, {a1}, a2) siendo a2 à a0

             FN1
                A' (a0, a1)
                Cajena: {a0} → A'
                A (a0, a2)
               

                FN2

                A(a0,a2)

Realiza el proceso de normalización de las siguientes relaciones y para cada uno de los enunciados, crea un excel con tablas de datos de ejemplo.

Enunciado 1.
FCT (num_expedientecod_empresa, nom_alumno, nom_empresa, fecha_inicio, fecha_fin)

FCT (num_expediente, cod_empresa, fecha_inicio, fecha_fin)
Cajena: {num_expediente} → ALUMNO
Cajena: {cod_empresa} → EMPRESA
ALUMNO (num_expediente, nom_alumno)
EMPRESA (cod_empresa, nom_empresa)

Enunciado 2.
CAMPAMENTO (cod_niñocod_monitor, {fecha_inicio}, num_dias, nom_niño, nom_monitor, edad_niño, titulo_monitor)

FN1
CAMPAMENTO' (cod_niño, cod_monitor, fecha_inicio)
Cajena: {cod_niño, cod_monitor} → Campamento.
CAMPAMENTO(cod_niño, cod_monitor, num_dias, nom_niño, nom_monitor, edad_niño, titulo_monitor)
 FN2:
CAMPAMENTO(cod_niño, cod_monitor, num_dias)
Cajena: {cod_niño}  → Niño
Cajena: {cod_monitor} → Monitor
NIÑO (cod_niño, nom_niño, edad_niño)
MONITOR (cod_monitor, nom_monitor, titulo_monitor)

Enunciado 3.
ESCRIBIR_LIBRO (isbndni, num_pag, {tipo_edición}, nom_autor, especialidad_autor, editorial)

ESCRIBIR_LIBRO (isbn, dni, num_pag, {tipo_edición}, nom_autor, especialidad_autor, editorial)
FN1
ESCRIBIR_LIBRO' (isbn, dni, tipo, edicion)
Cajena: {isbn, dni} → ESCRIBIR_LIBRO
ESCRIBIR_LIBRO (isbn, dni, num_pag, nom_autor, especialidad_autor, editorial)
 FN2:
ESCRIBIR_LIBRO(isbn, dni)
Cajena: {isbn} → Libro
Cajena: {dni} → Autor
LIBRO (isbn, num_pag, editorial)AUTOR(dni, nom_autor, especialidad_autor)
VUELO (num_vuelo, dni, cod_avion, nom_piloto, num_asientos, {aux_vuelo}, hora_salida) 

Enunciado 4.
VUELO (num_vuelodnicod_avion, nom_piloto, num_asientos, {aux_vuelo}, hora_salida)

FN1
VUELO' (num_vuelo, dni, cod_avion, aux_vuelo)
Cajena: {num_vuelo, dni, cod_avion} → VUELO
VUELO (num_vuelo, dni, cod_avion, nom_piloto, num_asientos, hora_salida)
FN2
VUELO (num_vuelo, dni, cod_avion)
VIAJE(num_vuelo, hora_salida)
AVION(cod_avion, num_asientos)
PILOTO (dni, nom_piloto)

No hay comentarios:

Publicar un comentario