Le modèle relationnel
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Objectifs : la connaissance du modèle
relationnel est nécessaire pour comprendre et
interpréter la représentation structurée des
données, conforme aux règles de gestion qui les
organisent.
Rappeler les concepts du modèle relationnel et indiquer le rôle de la normalisation relationnelle.
Rappeler les concepts du modèle relationnel et indiquer le rôle de la normalisation relationnelle.
1. Les concepts du modèle relationnel
a. Domaine de valeur et attribut
Un attribut (colonne du tableau) représente une
caractéristique d'un élément d'une base de
données. Un attribut est repéré par un
nom et un domaine de valeur, c'est-à-dire l'ensemble des
valeurs qu'il peut prendre.
Exemple : l'élément « élève » se caractérise par les attributs suivants :
Id_eleve, Nom_eleve, Pnom_eleve et Code_classe.
Exemple : l'élément « élève » se caractérise par les attributs suivants :
Id_eleve, Nom_eleve, Pnom_eleve et Code_classe.
b. Dépendance fonctionnelle
Soit deux attributs A et B. A est en dépendance
fonctionnelle de B si la connaissance d'une valeur
de A détermine la connaissance d'une
et une seule valeur de B.
La dépendance fonctionnelle est notée de façon schématique :
Pour connaître la quantité commandée, il faut connaître le numéro de commande ET la référence du produit.
• Elément déterminé composé : un même attribut peut déterminer plusieurs autres attributs.
Exemple : Code_matiere → Nom_matiere, Coeff_matiere
Dans l'exemple, le code d'une matière détermine à la fois le nom et le coefficient de la matière.
La dépendance fonctionnelle est notée de façon schématique :
• Elément déterminant composé : plusieurs attributs sont parfois nécessaires pour déterminer un attribut. Exemple : Num_commande, Ref_produit → Quantité_commandée
Pour connaître la quantité commandée, il faut connaître le numéro de commande ET la référence du produit.
• Elément déterminé composé : un même attribut peut déterminer plusieurs autres attributs.
Exemple : Code_matiere → Nom_matiere, Coeff_matiere
Dans l'exemple, le code d'une matière détermine à la fois le nom et le coefficient de la matière.
c. Relation et schéma relationnel
Une relation est une association d'attributs nécessaires
pour décrire un objet. Pour l'objet (= personne)
« élève », les attributs
nécessaires pour le décrire sont son numéro,
son nom, son prénom et sa classe.
Il existe deux représentations des relations :
• une représentation graphique (soulignement expliqué dans 1.d)
• une représentation textuelle (le signe # est expliqué dans 1.d)
ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe#)
Le schéma relationnel est la représentation de l'ensemble des relations du domaine étudié. Si le domaine étudié est les effectifs d'un lycée, le schéma relationnel peut être le suivant :
ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe#)
CLASSE(Code_classe, Designation_classe, Serie_classe, Effectif_classe)
Il existe deux représentations des relations :
• une représentation graphique (soulignement expliqué dans 1.d)
ELEVE |
Id_eleve |
• une représentation textuelle (le signe # est expliqué dans 1.d)
ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe#)
Le schéma relationnel est la représentation de l'ensemble des relations du domaine étudié. Si le domaine étudié est les effectifs d'un lycée, le schéma relationnel peut être le suivant :
ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe#)
CLASSE(Code_classe, Designation_classe, Serie_classe, Effectif_classe)
ou
d. Les contraintes d'intégrité
Les contraintes d'intégrité sont des règles
assurant la cohérence des données
dans la base de données.
• La contrainte de relation
Chaque relation possède un attribut particulier permettant d'identifier sans ambiguïté un tuple d'une relation. Cet attribut particulier se nomme clé primaire. La clé primaire est généralement soulignée. Sa valeur est unique et non nulle.
Dans l'exemple ci-dessus, Id_eleve est la clé primaire de la relation ELEVE. Chaque élève a un numéro (Id_eleve) unique.
• La contrainte de domaine
Une contrainte de domaine limite les valeurs prises par un attribut.
Par exemple, l'attribut Code_classe ne peut pas prendre la valeur TIG puisque le domaine de valeurs de cet attribut Code_classe = {1STGG, 1STGCOM, TCGRH, TCFE, TMERCATIQUE} n'a pas prévu cette valeur.
• La contrainte de référence (ou contrainte d'intégrité référentielle)
Les relations sont reliées entre elles grâce à des clés étrangères. Une clé étrangère (représentée par le signe #) est obligatoirement clé primaire d'une autre relation. La contrainte de référence est que la valeur prise par une clé étrangère doit correspondre à la valeur prise par la clé primaire dans l'autre relation.
• La contrainte de relation
Chaque relation possède un attribut particulier permettant d'identifier sans ambiguïté un tuple d'une relation. Cet attribut particulier se nomme clé primaire. La clé primaire est généralement soulignée. Sa valeur est unique et non nulle.
Dans l'exemple ci-dessus, Id_eleve est la clé primaire de la relation ELEVE. Chaque élève a un numéro (Id_eleve) unique.
• La contrainte de domaine
Une contrainte de domaine limite les valeurs prises par un attribut.
Par exemple, l'attribut Code_classe ne peut pas prendre la valeur TIG puisque le domaine de valeurs de cet attribut Code_classe = {1STGG, 1STGCOM, TCGRH, TCFE, TMERCATIQUE} n'a pas prévu cette valeur.
• La contrainte de référence (ou contrainte d'intégrité référentielle)
Les relations sont reliées entre elles grâce à des clés étrangères. Une clé étrangère (représentée par le signe #) est obligatoirement clé primaire d'une autre relation. La contrainte de référence est que la valeur prise par une clé étrangère doit correspondre à la valeur prise par la clé primaire dans l'autre relation.
2. Le rôle de la normalisation relationnelle
La normalisation relationnelle représente des
règles à respecter pour construire correctement le
modèle relationnel. Il existe trois formes
normales.
a. La première forme normale
Une relation est en première forme normale si :
- la relation possède une clé primaire,
- les attributs sont élémentaires c'est-à-dire que l'information contenue n'est pas divisible.
Exemple : la relation CLIENT(NumClt, NomClt, AdresseClt, TelphClt) ne respecte pas la première forme normale car l'attribut AdresseClt n'est pas élémentaire. Cet attribut doit être décomposé en adressClt, cpClt et VilleClt.
- la relation possède une clé primaire,
- les attributs sont élémentaires c'est-à-dire que l'information contenue n'est pas divisible.
Exemple : la relation CLIENT(NumClt, NomClt, AdresseClt, TelphClt) ne respecte pas la première forme normale car l'attribut AdresseClt n'est pas élémentaire. Cet attribut doit être décomposé en adressClt, cpClt et VilleClt.
b. La deuxième forme normale
Une relation est en deuxième forme normale si :
- la relation est en première forme normale,
- tous les attributs (sauf ceux de la clé primaire) dépendent de la totalité de la clé primaire et non d'une partie de cette clé. Cette deuxième forme ne concerne donc que les relations dont la clé primaire est composée de plusieurs attributs.
Cette deuxième forme normale permet d'éviter des répétitions et des problèmes de mise à jour.
- la relation est en première forme normale,
- tous les attributs (sauf ceux de la clé primaire) dépendent de la totalité de la clé primaire et non d'une partie de cette clé. Cette deuxième forme ne concerne donc que les relations dont la clé primaire est composée de plusieurs attributs.
Cette deuxième forme normale permet d'éviter des répétitions et des problèmes de mise à jour.
c. La troisième forme normale
Une relation est en troisième forme normale si :
- la relation est en deuxième forme normale,
- tous les attributs (sauf ceux de la clé primaire) dépendent de rien d'autre que de cette clé (dépendance fonctionnelle directe). La troisième forme normale permet d'éliminer la transitivité.
Exemple : la relation ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe, Designation_classe) ne respecte pas la troisième forme normale. Le numéro de l'élève permet d'identifier le code de sa classe et donc la désignation de la classe ce qui se traduit par Id_eleve → Code_classe → Designation_classe.
Pour éliminer la transitivité, il faut créer une relation CLASSE ce qui donne :
ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe#)
CLASSE(Code_classe, Designation_classe)
- la relation est en deuxième forme normale,
- tous les attributs (sauf ceux de la clé primaire) dépendent de rien d'autre que de cette clé (dépendance fonctionnelle directe). La troisième forme normale permet d'éliminer la transitivité.
Exemple : la relation ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe, Designation_classe) ne respecte pas la troisième forme normale. Le numéro de l'élève permet d'identifier le code de sa classe et donc la désignation de la classe ce qui se traduit par Id_eleve → Code_classe → Designation_classe.
Pour éliminer la transitivité, il faut créer une relation CLASSE ce qui donne :
ELEVE(Id_eleve, Nom_eleve, Pnom_eleve, Code_classe#)
CLASSE(Code_classe, Designation_classe)
L'essentiel
La conception du modèle relationnel est l'étape préparatoire à l'implantation physique (sur machine) de la base de données.
La dépendance fonctionnelle A → B signifie que la connaissance d'une valeur de A détermine la connaissance d'une et une seule valeur de B.
Pour construire un modèle relationnel, il faut respecter des règles. Ces règles sont les formes normales. Une relation est en 1re forme normale lorsque la relation possède une clé primaire et que les attributs sont élémentaires. Une relation est en 2e forme normale lorsque la relation est en 1re forme normale et que tous les attributs dépendent de la totalité de la clé primaire. Une relation est en 3e forme normale lorsque la relation est en 2e forme normale et que tous les attributs ne dépendent de rien d'autre que de la clé primaire.
La conception du modèle relationnel est l'étape préparatoire à l'implantation physique (sur machine) de la base de données.
La dépendance fonctionnelle A → B signifie que la connaissance d'une valeur de A détermine la connaissance d'une et une seule valeur de B.
Pour construire un modèle relationnel, il faut respecter des règles. Ces règles sont les formes normales. Une relation est en 1re forme normale lorsque la relation possède une clé primaire et que les attributs sont élémentaires. Une relation est en 2e forme normale lorsque la relation est en 1re forme normale et que tous les attributs dépendent de la totalité de la clé primaire. Une relation est en 3e forme normale lorsque la relation est en 2e forme normale et que tous les attributs ne dépendent de rien d'autre que de la clé primaire.
Vous avez obtenu75%de bonnes réponses !