Está en la página 1de 10

Carrera: Base de datos II

Ciclo:
Dependencias funcionales y normalizació n en bases de
Nombre del mó dulo:
datos relacionales
2.1 Dependencia funcional
Tema: 2.2 Reglas de normalizació n

Tarea3: Reglas de normalizació n hasta la


Nombre: Miguel Angel Alejandro Aguirre
4FN y Forma Normal
de Boyce Codd (FNBC)
Instrucción: Aplica las reglas de normalizació n al siguiente ejemplo hasta la 4FN y la forma
normal de Boyce Codd (FNBC). Guarda tu archivo
tarea3TuprimernombreTuprimerapellido.doc y sú belo como tarea.

I. Lee la problemá tica que se te presenta a continuació n.


II. La realizació n de dicha tarea la llevaras acabo en un archivo de Word.
III. Con base en los conocimientos obtenidos en el modulo:
 Aplica la normalizació n al siguiente ejemplo hasta la 3FN
 Aplica las reglas de normalizació n hasta la 4FN
 Aplica la forma normal de Boyce Codd (FNBC).

Aplicación de las reglas de normalización hasta la 3FN

Tabla que recoge informació n sobre los artículos que ofrecen diversos vendedores.

Id_vendedor Calle Ciudad Estado Id _ artículo Cantidad_prod


1 Luisa Xalapa Veracruz 123 6
3 Alejandro Boca del Rio Veracruz 567 8
7 Ricardo Poza Rica Veracruz 980 9
9 Olivia Cardel Veracruz 123 4

Primera Forma Normal (1FN): No hay columnas repetidas ni grupos de columnas repetidas.
La tabla ya está en 1FN.

Segunda Forma Normal (2FN): La tabla está en 1FN y no hay dependencias parciales de
ninguna clave candidata. Sin embargo, podemos notar que existe una dependencia funcional
entre el ID_vendedor y la direcció n y el estado del vendedor. Para solucionar esto, podemos
crear una nueva tabla para los vendedores y establecer una relació n entre las tablas. La
estructura de la nueva tabla sería la siguiente:

Tabla: Vendedores

Id_vendedor (clave primaria)


Calle
Ciudad
Estado
La tabla original quedaría de la siguiente manera:

Tabla: Ventas

Id_vendedor (clave forá nea de la tabla Vendedores)


Id_artículo
Cantidad_prod
Tercera Forma Normal (3FN): La tabla está en 2FN y no hay dependencias transitivas de
ninguna clave candidata. Sin embargo, podemos notar que existe una dependencia transitiva
entre el ID_artículo y la cantidad de productos vendidos. Para solucionar esto, podemos crear
una nueva tabla para los artículos y establecer una relació n entre las tablas. La estructura de
la nueva tabla sería la siguiente:
Tabla: Artículos

Id_artículo (clave primaria)


Cantidad_prod
La tabla de ventas quedaría de la siguiente manera:

Tabla: Ventas

Id_vendedor (clave forá nea de la tabla Vendedores)


Id_artículo (clave forá nea de la tabla Artículos)
Entonces, las tres tablas normalizadas quedan de la siguiente manera:

Tabla: Vendedores

Id_vendedor Calle Ciudad Estado

1 Luisa Xalapa Veracruz

3 Alejandro Boca del Rio Veracruz

7 Ricardo Poza Rica Veracruz


Id_vendedor Calle Ciudad Estado

9 Olivia Cardel Veracruz

Tabla: Artículos

Id_artículo Cantidad_prod

123 6

567 8

980 9

Tabla: Ventas

Id_vendedor Id_artículo

1 123

3 567

7 980

9 123
Aplicación de las reglas de normalización hasta la 4FN

Nombre Empresa Dir_empresa url1 url2


Juan ABB Av. Orizaba www.abb.com www.abb.com/inicio
Carlos PEMEX Col. 2 de abril www.pemex.com www.xyz.com
Erica TELMEX Col. Revolució n www.telmex.com
Matilde FAMSA Col. Centro www.famsa.com www.famsa.com/
login.aspx

Para aplicar la normalizació n hasta la cuarta forma normal (4FN), debemos seguir los
siguientes pasos:

Primera Forma Normal (1FN): No hay columnas repetidas ni grupos de columnas repetidas.
La tabla ya está en 1FN.

Segunda Forma Normal (2FN): La tabla está en 1FN y no hay dependencias parciales de
ninguna clave candidata. Sin embargo, podemos notar que existe una dependencia funcional
entre el nombre y la direcció n de la empresa. Para solucionar esto, podemos crear una nueva
tabla para las empresas y establecer una relació n entre las tablas. La estructura de la nueva
tabla sería la siguiente:

Tabla: Empresas

Nombre_empresa (clave primaria)


Dir_empresa
La tabla original quedaría de la siguiente manera:

Tabla: Personas

Nombre
Empresa (clave forá nea de la tabla Empresas)
url1
url2
Tercera Forma Normal (3FN): La tabla está en 2FN y no hay dependencias transitivas de
ninguna clave candidata. Sin embargo, podemos notar que existe una dependencia transitiva
entre la url1 y la url2 para las personas que trabajan en una misma empresa. Para solucionar
esto, podemos crear una nueva tabla para las URLs y establecer una relació n entre las tablas.
La estructura de la nueva tabla sería la siguiente:
Tabla: URLs

Id_url (clave primaria)


url
La tabla de personas quedaría de la siguiente manera:

Tabla: Personas

Nombre
Empresa (clave forá nea de la tabla Empresas)
Id_url1 (clave forá nea de la tabla URLs)
Id_url2 (clave forá nea de la tabla URLs)
Cuarta Forma Normal (4FN): La tabla está en 3FN y no hay dependencias multivaluadas. Sin
embargo, podemos notar que existe una dependencia multivaluada entre las URLs y las
empresas. Para solucionar esto, podemos crear una nueva tabla para las URLs de cada
empresa y establecer una relació n entre las tablas. La estructura de la nueva tabla sería la
siguiente:
Tabla: URLs_Empresa

Nombre_empresa (clave primaria y clave forá nea de la tabla Empresas)


Id_url (clave primaria y clave forá nea de la tabla URLs)
Las tablas normalizadas quedarían de la siguiente manera:

Tabla: Empresas

Nombre_empresa Dir_empresa

ABB Av. Orizaba

PEMEX Col. 2 de abril

TELMEX Col. Revolución

FAMSA Col. Centro


Tabla: URLs

Id_url url

1 www.abb.com

2 www.abb.com/inicio

3 www.pemex.com

4 www.xyz.com

5 www.telmex.com

6 www.famsa.com

7 www.famsa.com/login.aspx
Tabla: URLs_Empresa

Nombre_empresa Id_url

ABB 1

ABB 2

PEMEX 3

PEMEX 4

TELMEX 5

FAMSA

Aplicación de la forma normal de Óbice Codd ( FNBC)

Se considera la relació n:
R (estudiante,cod_matricula,curso,centro,profesor,texto)
Se pide aplicar hasta la FNBC.

Para aplicar la normalizació n hasta la FNBC, debemos seguir los siguientes pasos:

Identificar las dependencias funcionales de la relació n.


Verificar si la relació n cumple con la primera forma normal (1FN).
Verificar si la relació n cumple con la segunda forma normal (2FN).
Verificar si la relació n cumple con la tercera forma normal (3FN).
Verificar si la relació n cumple con la forma normal de Boyce-Codd (FNBC).
Para este ejemplo, las dependencias funcionales son:
estudiante, cod_matricula -> curso, centro, profesor, texto
curso -> texto
Primera forma normal (1FN)
La relació n ya está en 1FN, ya que no hay atributos multivaluados o atributos que contengan
listas.

Segunda forma normal (2FN)


La relació n no cumple con 2FN, ya que hay una dependencia funcional parcial de curso a texto.
Para solucionar esto, debemos separar la relació n en dos tablas:

Tabla 1: matricula (estudiante, cod_matricula, curso, centro, profesor)


Tabla 2: curso_texto (curso, texto)

La tabla 1 cumple con 2FN, ya que todos los atributos dependen completamente de la clave
primaria (estudiante, cod_matricula). La tabla 2 también cumple con 2FN, ya que el atributo
texto depende completamente de la clave primaria (curso).

Tercera forma normal (3FN)


La relació n no cumple con 3FN, ya que hay una dependencia transitiva de curso a profesor y
centro. Para solucionar esto, debemos separar la relació n en tres tablas:

Tabla 1: matricula (estudiante, cod_matricula, curso)


Tabla 2: curso_centro (curso, centro)
Tabla 3: curso_profesor (curso, profesor)

La tabla 1 cumple con 3FN, ya que todos los atributos dependen directamente de la clave
primaria (estudiante, cod_matricula, curso). La tabla 2 también cumple con 3FN, ya que el
atributo centro depende directamente de la clave primaria (curso). La tabla 3 también cumple
con 3FN, ya que el atributo profesor depende directamente de la clave primaria (curso).

Forma normal de Boyce-Codd (FNBC)


La relació n cumple con la FNBC, ya que no hay dependencias funcionales no triviales de un
subconjunto de la clave primaria a ningú n otro atributo.

Las tablas resultantes quedarían de la siguiente manera:

Tabla 1: matricula (estudiante, cod_matricula, curso)

estudiante cod_matricula curso

……………. …………………. ………….


estudiante cod_matricula curso

………………….. ……………………… …………..

…………….. …………………. ……………..

Tabla 2: curso_centro (curso, centro)

curso centro

... ...

... ...

... ...
Tabla 3: curso_profesor (curso, profesor)

curso profesor

... ...

... ...

... ...

Tabla 4: curso_texto (curso, texto)

curso texto

... ...

... ...

... ...

También podría gustarte