Database Reference
In-Depth Information
Première forme normale et le marqueur NULL
Tout attribut doit être évalué. Cette règle est aussi impérative, contrairement à SQL où
une colonne d'une table peut ne pas avoir de valeurs (dans ce cas, le marqueur NULL y
igure, mais ce n'est généralement pas très bon pour les performances). Se pose alors
la question de savoir comment modéliser lorsque l'information est connue de manière
partielle ?
Prenons par exemple le cas d'une personne modélisée traditionnellement avec les attributs
nom, prénom et date de naissance :
PERSONNE_PHYSIQUE (PRP_ID INT AUTO, PRP_NOM A60, PRP_PRENOM A32,
PRP_NAISSANCE DATE), l'identiiant étant PRP_ID.
Mais si nous ne connaissons pas le nom, ou le prénom ou la date de naissance d'une per-
sonne, alors que faire ? Il sufit tout simplement de décomposer l'entité en trois :
PERSONNE_PHYSIQUE_NOM (PRP_ID INT AUTO, PRP_NOM A60),
l'identiiant étant PRP_ID.
PERSONNE_PHYSIQUE_PRENOM (PRP_ID INT AUTO, PRP_PRENOM A32),
l'identiiant étant PRP_ID.
PERSONNE_PHYSIQUE_NAISSANCE (PRP_ID INT AUTO, PRP_NAISSANCE
DATE), l'identiiant étant PRP_ID.
Pour reconstituer l'information d'une personne, il sufira de faire des jointures externes
bilatérales. A priori ce découpage semble utopique, car il va générer de nombreuses opé-
rations de jointures… Pour autant, certains SGBDR comme Sybase IQ le font sans vous
le dire, car ce modèle (toutes les tables sont dotées d'une clé et au plus d'un seul attribut),
en sus d'être parfait, est extrêmement performant sur de grands volumes et de nombreuses
transactions. En effet :
• il répartit la charge de mise à jour sur différents objets, ce qui est moins bloquant que
d'avoir un seul objet bloqué pour tout un tas de mises à jour différentes ;
• il économise du volume (on ne stocke pas de lignes pour le NULL ) ;
• il permet une indexation systématique de tous les objets (il sufit de poser un seul index
sur le seul attribut pour que tout soit indexé).
Bien entendu, si votre SGBDR ne dispose pas d'un tel mécanisme, vous pouvez le simuler
avec des vues !
Deuxième forme normale
Une.relation.est.en.deuxième.forme.normale.si.la.première.forme.normale.est.assurée.et.si.
tout.attribut.non.clé.est.en.dépendance.fonctionnelle. élémentaire .avec.la.clé.
 
Search WWH ::




Custom Search