0% ont trouvé ce document utile (0 vote)
22 vues51 pages

Modèle Relationnel : Concepts et Structures

Le modèle relationnel, introduit par Codd dans les années 70, est un modèle logique simple qui représente l'information sous forme de relations ou tables. Ses objectifs incluent l'indépendance entre les programmes d'application et les données, ainsi que la gestion de la cohérence et de la redondance des données. Le document aborde également les structures de base, les schémas de relation, les contraintes d'intégrité, et le passage du modèle entité-association au modèle relationnel.

Transféré par

salmamajri7
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues51 pages

Modèle Relationnel : Concepts et Structures

Le modèle relationnel, introduit par Codd dans les années 70, est un modèle logique simple qui représente l'information sous forme de relations ou tables. Ses objectifs incluent l'indépendance entre les programmes d'application et les données, ainsi que la gestion de la cohérence et de la redondance des données. Le document aborde également les structures de base, les schémas de relation, les contraintes d'intégrité, et le passage du modèle entité-association au modèle relationnel.

Transféré par

salmamajri7
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Base de données relationnelles 1

Chapitre 3: Le modèle relationnel


Notions de base et passage du modèle E/A au MR
Plan

 Modèle relationnel: Concepts de base


 Objectifs du MR
 Structures de base
 Schéma de relation
 Contraintes d’intégrité
 Passage du modèle EA au MR
Les concepts de base

 Le modèle relationnel a été introduit par Codd vers les


années 70 aux laboratoires de recherche d’IBM.
 C’est un modèle logique associé aux SGBD relationnels
(ex: oracle, DB2, SQLServer, Access,..)
 Le modèle relationnel est simple, facile à appréhender,
même pour un non spécialiste.
 Le modèle relationnel représente l’information dans une
collection de relations ou tables.
Objectifs

 C’est un modèle basé sur la théorie des ensembles:


notion mathématique fondée et approuvée.
 Parmi les objectifs de ce modèle:
 Permettre un haut degré d’indépendance entre les
programmes d’application et les représentations internes des
données (stockage, type d’indexage,…)
 Fournir une base solide pour traiter les problèmes de
cohérence et de redondance des données.
Objectifs

 Ces deux objectifs sont pleinement satisfaits par le


modèle relationnel grâce à la notion de vues externes et
aux règles d’intégrités.
 D’autres objectifs ont été atteints par la suite:
 Permettre le développement du langage de manipulation
de données non procédural basé sur des théorie solides.
 Etre un modèle extensible permettant de modéliser et de
manipuler simplement des données tabulaires, mais pouvant
être étendu pour modéliser et manipuler d’autres données
plus complexes.
 Devenir un standard pour la description et la manipulation des
bases de données (Le modèle et son langage SQL sont
normalisés en 1986)
Structures de base
 La structure de base est très simple.

 Trois structures:
 Le domaine.
 L’ Attribut.
 La Relation.

 Une analogie très forte avec la théorie des ensembles.


Domaine
 Un domaine est un ensemble de valeurs atomiques.
 Le terme atomique signifie que ces valeurs sont considérées
comme insécables au niveau du modèle.
 Un domaine est caractérisé par un nom.
 Peut être défini
 Soit en intension: en définissant une propriété caractéristique des
valeurs du domaine.
 Soit en extension: en donnant la liste de toutes les valeurs le
composant.
 Exemple:
 Entier.
 Réel.
 Chaine de caractères.
 Salaire = {4 000..100 000}.
 Couleur ={bleu, rouge, blanc}.
Les attributs

 La notion d’attribut en relationnel correspond à la


notion de propriété pour une entité ( ou classe).
 Un attribut est défini par un nom et un domaine.
 Le domaine d’un attribut décrit les valeurs autorisées
pour cet attribut.
 Les valeurs d’un attribut sont atomiques: non
décomposables.
 Contrainte supplémentaire: unicité, non nullité, clé, clé
étrangère, valeur par défaut.
Produit cartésien de domaines

 Le produit cartésien d1xd2x…xdn est l’ensemble des


tuples (n-uplets): <v1,v2,…,vn> tel que vi ϵ di.

Exemple:
 D1={bleu, blanc, rouge}
 D2={vrai, faux}

Bleu Vrai
Bleu Faux
Blanc Vrai
Blanc Faux
Rouge Vrai
Rouge Faux
Les relations (tables)

 Sous ensemble du produit cartésien d’une liste de


domaines.
 Une relation est caractérisée par un nom.
 La forme tabulaire est la forme la plus utilisée pour
représenter une relation.
 Dans cette table:
 Chaque ligne représente un vecteur ou enregistrement de
l’ensemble du produit cartésien des domaines
 Chaque colonne représente un domaine.

Exemple: Couleur Choix
 D1= couleur. Blanc Faux
 D2= booléen. Rouge Vrai
Bleu Vrai
Caractéristiques des relations

 Une relation est un ensemble de n-uplets, il n’y a donc


pas une notion d’ordre sur les n-uplets , l’ordre des
lignes et des colonnes n’est pas significatif.
 Par contre un n-uplet est une séquence ordonnée
d’attributs.
 Une valeur d’attribut est atomique mais peut être
éventuellement nulle( valeur particulière qui indique que
la valeur est manquante)
Exemple de relation (table)

 Représentation graphique d’une table (relation):


 EMPLOYES:
Matricule Nom DateNaiss Salaire #NomService

Nom de la table:
 Schéma: 1ére ligne.
 Tuple: chacune des autres lignes.
 Clé de la relation: Matricule.
 Clé étrangère: #NomService
Schéma de relation

 Un schéma de relation R, dénoté par R(A1,A2,…,An), est un


ensemble d’attributs R={A1,A2,…,An}.

 A chaque attribut Ai est associé un domaine Di, Ai indiquant


le rôle joué par le domaine Di dans la relation R.

 Un schéma de relation décrit une relation et représente


l’intension de celle-ci.

 Le degré de la relation est le nombre d’attributs de celle-ci.

 Exemple:
 ETUDIANT(Nom,No-ss, Adresse, Age, Diplôme)
Schéma de relation en extension

 Une relation r sur le schéma de relation


R(A1,A2,…,An) est un ensemble de n-uplets
r=(t1,t2,…,tn).

 r est souvent appelée extension du schéma R.

 On peut également définir une relation à partir du


produit cartésien des domaines de son schéma R:
 r( R ) inclus-ou-egal dom(A1)Xdom(A2)X….Xdom(An)
 Un schéma de relation est quasi invariant dans le temps,
alors que l’extension représente les données présentes
à un instant donné dans la base.
Schéma de BD
 Un schéma de base de données est un ensemble de
schémas de relation S={R1,R2,…,Rn} et un ensemble
de contrainte d’intégrité CI.

 Exemple:
 Client(NumCli, Nom, Prénom, DateNaiss, Rue,Ville).
 Produit(NumProd,Dési, PrixUni, #NumFour)
 Fournisseur(NumFou, RaisonSoc)
 COMMANDE(NumCli, NumProd, Date, Quantité)
Les contraintes d’intégrité
 Les contraintes (règles) d’intégrité sont les assertions
qui doivent être vérifiées par les données d’une base.

 C’est une propriété du schéma, invariante dans le temps.

 On peut distinguer plusieurs catégories de contraintes.


 Les contraintes structurelles: définissent plus
précisément la structure des associations entre les
données.
Les contraintes d’intégrité

 Les contraintes sur les valeurs: donnent des relations


entre les données(un chef gagne plus que ses
subordonnes).

 Le modèle relationnel impose une contrainte


minimale qui est l’unicité des clés.

 Les autres contraintes structurelles sont:


 Les contraintes de référence
 Les contraintes de domaine
Les clés

 La clé d’une table est un attribut ou groupe


d’attributs dont les valeurs identifient de façon unique
une ligne de la table.

 Il est possible que plusieurs combinaisons d’attributs


puissent être exploitées comme clé:
 On choisi la combinaison la plus courte comme clé
primaire.
Les clés étrangères

 Employés

 Services

 Dans la table Service NomService est une clé primaire qui


permet de retrouver la ligne décrivant un service donné.

 Dans la table Employés NomService est une clé étrangère


qui permet d’aller chercher dans la table Service la description
du service auquel appartient un employé donné.
Les clés étrangères
 Le terme clé étrangère signifie une clé d’une autre table.

 La notion de clé étrangère est utilisée pour établir le lien


sémantique entre deux tables.
 Soit A une table possédant un attribut b* définit comme clé
étrangère provenant de la table B:
 Chaque ligne de la table A possède une valeur pour la clé étrangère
b*, permettant de retrouver une ligne de la table B.
 Chaque ligne de la table B possède une valeur pour la clé b qui peut
apparaitre dans 0 ou n ligne de la table A comme valeur de b*.

 Les clés étrangères sont les seules redondances autorisées:


plusieurs lignes de la table A peuvent avoir la même valeur
de b*
Les clés étrangères
Règles d’intégrité référentielle:

 Toute valeur saisie pour une clé étrangère doit être


incluse dans l’ensemble des valeurs de la clé référencée.
 Toute valeur saisie dans une colonne b* doit exister dans la
colonne b.
 Le non respect de cette règle entraine que la table A
référence des lignes n’existant pas dans la table B
 Lorsque l’on supprime une ligne dans la table
référencée, la valeur de la clé supprimée doit avoir été
préalablement supprimée des colonnes clé étrangères.
Contrainte de domaine
 Contraintes de domaine: les attributs doivent
respecter une condition logique.

 Exemple:
PrixUni >0 ET PrixUni<10 000
Valeurs nulles
 Une valeur nulles est un abus de langage pour désigner
une absence de valeur d’un attribut

 On dit aussi NULL


Contrainte de référence

 C’est une contrainte exprimée entre deux relations.


 Cela consiste à vérifier que l’information utilisée dans un
uplet pour désigner un autre uplet est valide, notament si
l’uplet désigné existe bien.
 Par exemple, soient les deux relations:
 Employé(no-ss, nom, adresse, role, #nomD).
 Département(nomD, etage).

 Un uplet de Employé référence un uplet de


département via l’attribut nomD.
 Il est important de s’assurer que les n-uplets référencés
existent bien
Contrainte de référence
 Dans une relation S, la valeur d’une clé étrangère (attribut E)
est soit indéfinie (NULL), soit de valeur v, où v est une valeur
de clé primaire (attribut P) d’une relation cible C
 On note

 C n’est pas forcément distincte de S.


Contrainte de référence
 Notation
Contrainte de référence

N.B: Le signe " ? " signifie valeur indéfinie: non applicable ou


inconnue.
On parle de valeur NULL.
Contrainte de référence
 Entraîne une contrainte sur les mises à jours des
données. On ne peut pas toujours
supprimer un département ou changer son nom. Il y a
peut-être des employés qui sont
affectés à ce département.
Contrainte de référence

 Les Règles de Mise à Jour Associées.


Problème : Modification/suppression de valeur de clé
primaire. Que se passe t-il pour les clés étrangères qui y font
référence ?
 Il y a trois type de solutions.
 Refuser(restrict), la mise à jour d’une clé primaire, si une
contrainte référentielle est violée (une clé étrangère de même
valeur existe).
 Rendre NULL(set null), la valeur de clé étrangère ayant été
touchée
 Propager (Cascade) la mise à jour vers la valeur de clé étrangère
ayant été touchée (la modifier ou supprimer la ligne)
Contrainte de référence
 Exemples :
1er cas : La valeur NumInv 323 devient 626
Contrainte de référence
 On peut soit :
✗ Refuser. Le livre 323 figure dans la table Prêt (il est
emprunté)
✗ Mettre à NULL. Impossible car NumInv ne peut être
indéfini (Règle d’entité)
Contrainte de référence
 Propager

Le concepteur doit donc choisir refuser ou propager selon


l’application.
✗ NB. Dans le cas de suppression de livre, on choisira refuser plutôt.
Contrainte de référence
 La valeur ‘Méca’ change ou est supprimée dans la table
Départements

✗ Ici, on rend la valeur de la clé étrangère Null, car c’est


possible dans ce cas.
✗ Sinon, il faut refuser, le temps de changer l’affectation des
employés.
Passage au modèle relationnel

Etudiant Etudie Matière


Code_etudiant Note Code_matiere
1:n 0:n
Nom_etudiant Nom_matiere
DDN_etudiant Coef_matiere
Sexe_etudiant
1:1
 Représentation de la base de Enseigne
données en Relations (tables)
composées de propriétés(colonnes)
1:n
et de tuples(lignes)
Enseignant
Code_enseignant
Nom_enseignant
Grade_enseignant
Ancienneté_enseignant
Règles de transformation
1) Règle1(Les entités): Une entité se transforme en
une relation (table)
 Toute entité du MEA devient une relation du MR, et donc
une table de la Base de Données.
 Chaque propriété de l'entité devient un attribut de cette
relation, et dont une colonne de la table correspondante.

 L'identifiant de l'entité devient la Clé Primaire de la


relation (elle est donc soulignée), et donc la Clé Primaire de
la table correspondante.
Exemple

Etudiant
Code_etudiant Etudiant(Code_etudiant,Nom_etudiant,
Nom_etudiant
DDN_etudiant
DDN_etudiant, Sexe_etudiant)
Sexe_etudiant

2) Règle2:Association binaire aux cardinalités (X,1)


- (X,n), X= {0 ou 1}
 La Clé Primaire de la table à la cardinalité (X,n) devient
une Clé Etrangère dans la table à la cardinalité (X,1) :
Règles de transformation

 Association E1(1:1)-A- (1:N)E2 dite 1 à N la


clé primaire de E2 devient clé étrangère de E1

Enseignant Matière
Code_enseignant Code_matiere
1:n Enseigne 1:1 Nom_matiere
Nom_enseignant
Grade_enseignant Coef_matiere
Ancienneté_enseignant

Enseignant Matière
Code_enseignant Code_matiere
Nom_enseignant Nom_matiere
Grade_enseignant Coef_matiere
37
Ancienneté_enseignant
Règles de transformation
Règle 3:Association binaire(0,1)-(1,1)
 La clé primaire côté (0,1) devient clé étrangère à côté
(1,1)

Entité1 Entité2
Clé primaire1 0:1 Association 1:1 Clé primaire 2
Attr 1/1 Attribut_asso Attr 2/1
Attr 1/2 Attr 2/2

Clé étrangère=Clé primaire 1


Règles de transformation

Règle 3: Association binaire(0,1)-(1,1)


Entité 1(Clé primaire1, Attr 1/1, Attr 1/2)
Entité 2(Clé primaire2, Attr 2/1, Attr 2/2, #Clé étrangère)

Client Carte_fidélité
ID_Client 0:1 Possède 1:1 Num_Carte
Nom Attribut_asso Solde_Carte
Prénom
Adresse
Tél

Client(ID_Client,Nom,Prénom,Adresse,Tél)
Carte_fidélité(Num_Carte, Solde_Carte, #ID_Client)
Règles de transformation

Règle 4: Association binaire(0,1)-(0,1)


La clé primaire issue de la table de l’une des entités est
dupliquée dans la table issue de l’autre entité ou elle devient
clé étrangère

Entité1 Entité2
Clé primaire1 0:1 Association 0:1 Clé primaire 2
Attr 1/1 Attribut_asso Attr 2/1
Attr 1/2 Attr 2/2

Clé étrangère2=Clé primaire 2


Entité 1(Clé primaire1, Attr 1/1, Attr ½, #Clé étrangère2)
Entité 2(Clé primaire2, Attr 2/1, Attr 2/2)
Règles de transformation
Règle 4: Association binaire(0,1)-(0,1)

OU

Clé étrangère1=Clé primaire 1

Entité 1(Clé primaire1, Attr 1/1, Attr 1/2)


Entité 2(Clé primaire2, Attr 2/1, Attr 2/2, #Clé étrangère1)
Règles de transformation

Règle 4: Association binaire(0,1)-(0,1)


Directeur Entreprise
Exemple Matricule 0:1 Dirige 0:1 RSEntreprise
Nom Siège
Prénom Spécialité

Directeur(Matricule, Nom,Prénom, #RSEntreprise)


Entreprise(RSEntreprise, Siège, Spécialité)

OU
Directeur(Matricule, Nom,Prénom)
Entreprise(RSEntreprise, Siège, Spécialité, # Matricule)
Règles de transformation

Règle 5: Association binaire(1,1)-(1,1)


Fusion des tables issues des entités de l’association

Homme Femme
H_cin 1:1 Épouse 1:1 F_cin
H_nom F_nom
H_prénom F_prénom
H_adresse F_adresse

Homme( H_cin, H_nom,H_prénom, H_adresse,F_cin,


F_nom,F_prénom, F_adresse)
OU
Femme(F_cin, F_nom,F_prénom, F_adresse, H_cin,
H_nom,H_prénom, H_adresse)
Règles de transformation

3) Règle 6 :Relation binaire aux cardinalités (X,n) -


(X,n), X= {0 ou 1}
Il y a création d'une table supplémentaire ayant comme
Clé Primaire une clé composée des identifiants des 2
entités.
On dit que la Clé Primaire de la nouvelle table est la
concaténation des Clés Primaires des deux autres
tables.
Règles de transformation
 Association E1(0,N)-A-(0,N)E2 ou E1(0,N)-A-
(1,N)E2 ou E1(1,N)-A-(0,N)E2 ou E1(1,N)-A-
(1,N)E2 dites Assocation n-n

 On crée une nouvelle relation dont la clé primaire


est composée des clés primaires de E1 et E2 et
qui contient les propriétés de A

Etudiant 1:n Etudie 0:n Matière


Code_etudiant Note Code_matiere
Nom_etudiant Nom_matiere
DDN_etudiant Coef_matiere
Sexe_etudiant

45
Règles de transformation

Etudiant Etudie Matière


Code_etudiant
1:n Note 0:n Code_matiere
Nom_etudiant Nom_matiere
DDN_etudiant Coef_matiere
Sexe_etudiant

Etudiant Etudie Matière


Code_etudiant Code_matiere
Nom_etudiant Nom_matiere
DDN_etudiant Coef_matiere
Sexe_etudiant Note Code_Enseignant
46
Modèle relationnel
Etudiant Etudie Matière Enseignant
Code_Etudiant Code_matiere
Code_etudiant Code_enseignant
Nom_matiere
Nom_etudiant Code_Matiere Nom_enseignant
Coef_matiere
DDN_etudiant Note #Code_enseignant Grade_enseignant
Sexe_etudiant Ancienneté_enseignant

 ETUDIANT(Code_etudiant, Nom_etudiant, DDN_etudiant,


Sexe_etudiant)
 MATIERE(Code_matiere, Nom_matiere
,Coef_matiere,#Code_enseignant)
 ETUDIE(#Code_Etudiant, #Code_Matiere, Note)

 ENSEIGNANT(Code_enseignant, Nom_enseignant,
Grade_enseignant, Ancienneté_enseignant)
47
CONCEPTION BD
7) Relation n-aire (quelles que soient les cardinalités)
 Il y a création d'une table supplémentaire ayant comme Clé
Primaire la concaténation des identifiants des entités
participant à la relation.
 Si l’association est porteuse de donnée, celles ci deviennent
des attributs pour la nouvelle table.
Exemple

Etudiant (NEtudiant, NomEtudiant)


Niveau (NumNiv, NomNiv)
Langue (Nlangue, NomLangue)
Parle ( #Netudiant, #NumNiv, #Nlangue)
Règles de transformation
Associations réflexives
 Les règles définies ci-dessus s’appliquent aux associations
réflexives
Exemple

Pays
0:n
NomPays
Voisin de Pays (NomPays,Capitale)
Capitale Voisin (#NomPays, #NomVoisin)

0:n
Exercice

 Donnez le modèle relationnel correspondant?

Vous aimerez peut-être aussi