Normalizacion Flashcards

1
Q

Cual es el objetivo de la normalizacion?

A
  • Decidir si la relacion R esta en “buena forma”
  • Si no lo esta, descomponerla en un conjunto de relacions {R1, R2,…,Rn} tal que cada relacion este en buena forma, ya la descomposicion sea sin perdida (lossless-join decomposition)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Definir descomposicion de una relacion

A

Sea R un esquema de relacion. Un conjunto de esquemas de relacion {R1, R2,…,Rn} es una descomposicion de R si R = R1 U R2 U … U Rn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Definir relacion legal

A

Una relacion se dice legal si satisface todas las ligaduras impuestas a nuestra base de datos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definir descomposicion sin perdida

A

Sea C un conjunto de ligaduras en la base de datos. Una descomposicion R1,…,Rn de un esquema de relacion R es una descomposicion sin perdida para R si para todas las instancias r legales bajo C, se cumple que:

r = \Pi_R1(r) natjoin \Pi_R2(r) natjoin … natjoin \Pi_Rn(r)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que propiedades son deseables en una descomposicion?

A

(1) Descomposicion sin perdida (lossless-join decomposition)

(2) Conservacion de dependencia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definir descomposicion sin perdida en terminos de dependencia funcionales

A

Sea R un esquema de relacion y F un conjunto de dependencias funcionales sobre R. Sean R1 y R2 descomposiciones de R.
Esta descomposicion es sin perdida, si al menos una de las siguientes dependencias esta en F+:
R1 \cap R2 -> R1
R1 \cap R2 -> R2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Definir conservacion de dependencias

A

Sea R un esquema de relacion, F un conjunto de dependencias sobre R, y una descomposicion {R1, R2, …, Rn}, considerando a F_i el subconjunto de dependencias de F+ que solo incluyen atributos de R_i, dicha descomposicion preserva dependencias si:

(F1 U F2 U … U Fn)+ = F+

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definir atributo primo

A

Un atributo se dice primo si es miembro de cualquier clave candidata del esquema al cual pertencece

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Definir dependencia total

A

A -> B es una dependencia total si la eliminacion de cualquier atributo en A hace que la dependencia deje de ser valida (i.e., no tiene atributos redundantes a la izq)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Definir dependencia total

A

A -> B es una dependencia total si la eliminacion de cualquier atributo en A hace que la dependencia deje de ser valida (i.e., no tiene atributos redundantes a la izq)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Definir dependencia parcial

A

A -> B es una dependencia parcial si es posible eliminar un atributo X de A y la dependencia funcional sigue siendo valida

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Definir forma normal de boyce-codd (BCNF)

A

Un esquema de relacion R esta en BCNF respecto a sus dependencias funcionales si para toda dependencia A -> B en F+:
(1) A -> B es trivial
(2) o A es superclave de R

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Definir 3NF

A

Un esquema R esta en 3NF respecto a sus dependencias funcionales si para cada dependencia A -> B en F+, se da alguna de las siguientes condiciones:

(1) A -> B es trivial
(2) A es superclave de R
(3) Cada atributo X en B - A es primo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Definir 2NF

A

Ningun atributo no primo de R depende parcialmente de alguna clave candidata de R

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definir 1NF

A

Un esquema de relacion esta en 1NF si todos sus atributos son atomicos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Algoritmo de descomposicion a BCNF

A
  • Computar F+
  • Para toda dependencia A -> B en F+, ver si cumple con las reglas BCNF
  • Si no la cumple:
  • Crear dos relaciones: R1 = {A, B} y R2 = R - B
  • Repetir para R1 y R2, definiendo F1+ y F2+ en base a las dependencias de F que contienen solo atributos de R1 y R2 respectivamente.

Se termina cuando las 2 particiones que se hacen estan en BCNF. En ese caso, se toman todas las particiones en BCNF como particiones de R

15
Q

Que garantiza BCNF?

A

Garantiza descomposicion sin perdida, pero no garantiza conservacion de dependencias

16
Q

Que garantiza 3NF?

A

Descomposicion sin perdida y conservacion de dependencias

17
Q

Algoritmo a 3NF

A

Dado un esquema R un conjunto de dependencias funcionales F sobre R:

(1) Computo F_c, el recubrimiento canonico de F
(2) Creo una relacion R_i = {A,B} por cada dependencia en F_c
(3) Si ninguna R_i contiene alguna clave candidata de R, creo otra relacion mas R_k = K, con K una clave de R