Normalización - script
From Ibbddunq
Line 32: | Line 32: | ||
==Dependencias funcionales== | ==Dependencias funcionales== | ||
Definición: | Definición: | ||
- | X | + | X -> Y si t1(X) = t2(X) => t1(Y) = t2(Y) |
Revision as of 18:58, 12 May 2008
Intro
Partir de la intuición, deformar la base del circo, y que digan si les gusta cómo queda, y si no, cómo podrían expresar lo que le ven de feo.
Deformaciones posibles -
Lo que vamos a ver son criterios para evaluar un diseño de esquema de BD, para ver si el que me quedó, o el que me pasan, está OK o puede tener problemas.
Si armamos primero el MER y después lo traducimos a MR con las reglas que vimos, la BD que resulta cumple con los parámetros de calidad que vamos a ver; o sea, una buena manera de armar un esquema de MR, es armarlo en MER y después pasarlo; o hacerlo directamente en MR, pero pensar en "cómo sería el MER de esta parte" ante dudas.
Criterios
Se pueden ver de dos formas
1. evitar anomalías de actualización (pág 401-402). Ejemplo: meter ARTISTA y TRAILER en una misma tabla.
- de inserción: no sabés qué insertar (trailer no asignado) y/o tenés que meter algunos valores iguales que otra fila, (2do artista d un trailer).
- de eliminación: se va el que vivía en un trailer.
- de modificación: si cambio un dato de un trailer (ponele que tenía el modelo mal), lo tengo que cambiar en todos los artistas que vivan en el mismo trailer.
2. pautas, que vienen a atacar los mismos problemas
- no mezclar atributos de distintas entidades en la misma tabla.
- que no quede info repetida excepto FKs.
Otro menos importante: no abusar de los null
(acá ver si hablamos de tuplas espurias al joinear)
Dependencias funcionales
Definición:
X -> Y si t1(X) = t2(X) => t1(Y) = t2(Y)