sio:bloc2:conception:logique

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sio:bloc2:conception:logique [2023/04/22 18:09] – [Du MCD au MLDR] jcheronsio:bloc2:conception:logique [2023/05/09 07:42] (Version actuelle) – [2NF] jcheron
Ligne 26: Ligne 26:
  
  
-==== Clé primaire ==== +==== Clé ====
-La clé primaire d'une relation définit le ou les attributs permettant d'identifier de façon unique un tuple unique de cette relation.+
  
-Cette clé doit logiquement disposer de certaines qualités pour jouer son rôle +Soient une relation R(A1,A2,…,An) et K un sous-ensemble de A1,A2,… ,An. 
-  * Ne pas être mutable (pour ne pas provoquer des opérations inutiles pour maintenir son référencement) + 
-  * Ne pas être volumineuse (taille de stockage)+K est une clé de R si et seulement si 
 + 
 +K⇒A1,A2,…,An 
 + 
 +il n'existe pas K’ inclus dans K tel que K’⇒A1,A2,…,An
  
-=== Clé candidate ===+=== Clé candidate et clé primaire ===
 On qualifie de **clé candidate** tout attribut de la relation permettant d'identifier de façon unique un tuple. On qualifie de **clé candidate** tout attribut de la relation permettant d'identifier de façon unique un tuple.
  
-Parmi les clé(s) candidate(s) éventuelles, seule l'une d'entre elles sera choisie comme clé primaire.+Parmi les clé(s) candidate(s) éventuelles, seule l'une d'entre elles sera choisie comme **clé primaire**.
  
 +Cette clé primaire doit logiquement disposer de certaines qualités pour jouer son rôle :
 +  * Ne pas être mutable (pour ne pas provoquer des opérations inutiles pour maintenir son référencement)
 +  * Ne pas être volumineuse (taille de stockage)
 === Clé composite === === Clé composite ===
  
 Une clé primaire composite est composée de plusieurs attributs. Il n'y a jamais plusieurs clés primaires, mais éventuellement une clé primaire composite composée de plusieurs attributs. Une clé primaire composite est composée de plusieurs attributs. Il n'y a jamais plusieurs clés primaires, mais éventuellement une clé primaire composite composée de plusieurs attributs.
 +
 +<wrap info>Les clés primaires issues des CIM sont par exemple composites.</wrap>
  
 ==== Clé étrangère ==== ==== Clé étrangère ====
  
 Une clé étrangère est une référence à une clé primaire d'une autre relation. Une clé étrangère est une référence à une clé primaire d'une autre relation.
- 
- 
  
 ===== Du MCD au MLDR ===== ===== Du MCD au MLDR =====
Ligne 76: Ligne 82:
 ==== Graphique ==== ==== Graphique ====
 <html><div class="imageB"></html>{{:sio:bloc2:conception:pasted:20230422-180657.png}}<html></div></html> <html><div class="imageB"></html>{{:sio:bloc2:conception:pasted:20230422-180657.png}}<html></div></html>
 +
 +=== Avec la notation Crow's-Foot ===
 +<html><div class="imageB"></html>{{:sio:bloc2:conception:pasted:20230422-190906.png}}<html></div></html>
 +
 +===== Mnémotechnique =====
 +
 +<WRAP info>
 +Souvenez-vous, les clés étrangères migrent :
 +  * Vers le 1 des CIFs
 +  * Vers la nouvelle relation de chaque CIM
 +</WRAP>
 +<html><div class="imageB"></html>{{:sio:bloc2:conception:pasted:20230422-185122.png?800|Sens de migration des clés étrangères}}<html></div></html>
 +
 +===== Normalisation =====
 +Pour être valide, un MLDR doit respecter les 4 premières formes normales, afin d'éviter la redondance et les anomalies de mise à jour :
 +
 +==== 1NF ====
 +<WRAP info round>
 +Une relation respecte la __1ère forme normale__ si :
 +  * Elle posséde une clé
 +  * Tous ses attributs sont atomiques (pas d'attributs multi-valués)
 +</WRAP>
 +
 +==== 2NF ====
 +<WRAP info round>
 +Une relation respecte la __2ème forme normale__ si :
 +  * Elle est en **1NF**
 +  * Tout attribut non clé ne dépend pas d'une partie de la clé
 +
 +<wrap important round>Cette forme normale ne concerne donc que les clés composites</wrap>
 +</WRAP>
 +
 +==== 3NF ====
 +<WRAP info round>
 +Une relation respecte la __3ème forme normale__ si :
 +  * Elle est en **2NF**
 +  * Tout attribut non clé ne dépend pas fonctionnellement d'un autre attribut non clé.
 +</WRAP>
 +
 +
 +<button>[[sio:bloc2:conception:physique|>> Le niveau physique]]</button>
 +
 +
  
  
  
  
  • sio/bloc2/conception/logique.1682179779.txt.gz
  • Dernière modification : il y a 3 ans
  • de jcheron