2. 52
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple d ’étude de cas : Société d’intérim
Une société d’intérim met à disposition de ses clients des personnels
intérimaires.
Cette mise à disposition se fait par un contrat signé avec le client qui
précise le nombre de journées*hommes par qualification demandée, la
date de début et de fin du contrat et son objet.
Les personnels de la société ainsi mis à disposition sont individuellement
connus (N° matricule, nom, prénom, adresse) et affectés dans les
contrats signés.
Bien que les personnels aient une qualification standard, il peut
arriver que celle-ci soit redéfinie dans le cadre de leur affectation à un
contrat particulier.
La facturation est faite au client sur la base d’un tarif journalier propre
à chaque qualification, conformément aux clauses du contrat.
3. 53
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim -Enoncé (suite)
Travail demandé :
A partir des données et règles du cahier des charges, établir :
1. Modèle conceptuel de données - Entité-Association.
2. Modèle Logique de données.
4. 54
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
1. Modèle de données Entité-Association
1.1. En première analyse
Entités candidates à l'existence propre : le contrat, le client, la personne
1.2. Le problème des qualifications :
La qualification est un attribut de l'intérimaire. Cependant, il existe une
nomenclature des qualifications. Problème de la redondance.
5. 55
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
Il faut faire de la qualification une entité, ceci constitue la façon de
pouvoir relier les contrats aux qualifications. La nouvelle version :
Reste à voir comment les intérimaires et les qualifications se rapportent
aux contrats.
6. 56
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
1.3. Les intérimaires dans les contrats :
Un contrat est associé aux personnes, aux clients et aux qualifications.
7. 57
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
Il y a une simplification qui résulte de la Contrainte d ’Intégrité
fonctionnelle entre contrats et clients. Si on sait dans quel contrat
intervient une personne, le client est immédiatement déductible :
Donc la patte intervenir-client est à supprimer.
De même, si on supprime la patte intervenir- qualification, tout
intérimaire intervenant dans un contrat devra y travailler au titre de
sa qualification standard.
Ceci rendra impossible la redéfinition de la qualification lors d'une
affectation à un contrat particulier.
Donc, cette patte doit être conservée
8. 58
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
Il ne reste plus que l'histoire du nombre de journées*hommes.
9. 59
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
1.4. Le nombre de journées*hommes
En première approximation, le nombre de journées*hommes est une
propriété des contrats. Cependant, on caractérise un contrat par la
liste des volumes d'activité pour chaque qualification (Champ
multivalué).
10. 60
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
11. 61
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
L'association intervenir précise pour chaque contrat les
qualifications qu'il utilise.
Une deuxième solution consiste à faire du nombre de
journées*hommes une propriété de l’association intervenir
12. 62
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
Cette solution indique que le nb j.*h. dépende de la personne ce
qui est faux. Il faut donc créer une association spécifique et
indépendante entre contrats et qualifications.
13. 63
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
14. 64
BD - II. Fondement du modèle relationnel
II.1 Modèle EA -Exemple : société d’intérim « Solutions »
1.5. Les factures
Une facture peut être modélisée comme une entité (identifiant : n°
Facture) associée à Contrat avec une cardinalité 1,1 des 2 côtés.
Cependant, il s'agit d'un objet calculable à partir des autres
propriétés du modèle. On dira qu'il s'agit d'une entité "dérivée".
15. 65
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Définition du modèle :
Le modèle relationnel a été formalisé par CODD en 1970. Utilisé par
beaucoup de SGBD commerciaux (Oracle, Informix, DB2, Ingres,
Sybase, dBase, Access …)
C ’est un modèle proche du modèle entité-association
présentation schématique. Il est basé sur les concepts :
Intérêt
- SGBD relationnels = tendance actuelle des réalisations
informatiques
Langages d'interaction avec la BD tel que SQL
- modèle accompagné d’une algèbre relationnelle
interrogation de la base de données
relation, attribut et domaine
16. 66
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel – Définitions :
Domaine :
un domaine est un ensemble dénombrable de valeurs atomiques
caractérisé par un nom.
Produit cartésien :
Le produit cartésien d’une liste de domaines D1 ,..., Dn noté
D1 x ... x Dn est l’ensemble des n-uplets ou tuples <v1 ,v2 ,...,vn >
où v1 est une valeur de D1 , v2 est une valeur de D2 , ..., et vn une
valeur de Dn .
Exemple :
- couleurs = {blanc, rouge}
- sortes-de-raisin = {chardonnay, sémillon, pinot,cabernet}
- noms = l’ensemble des noms de personnes
17. 67
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Définitions
Exemple
le produit cartésien sortes-de-raisin x couleurs
est composé des 8 tuples suivants
Chardonny Blanc
Chardonny Rouge
Sémillon Blanc
Sémillon Rouge
Pinot Blanc
Pinot Rouge
Cabernet Blanc
cabernet Rouge
Relation (Table) :
une relation est un sous-ensemble du produit
cartésien d’une liste de domaines. Une relation
est caractérisée par :
• la définition de sa sémantique
• son nom,
• sa liste de couples <nom d'attribut : domaine>
• son identifiant
18. 68
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel – Définitions :
Exemple :
Etudiant (N°Etud : Dnum, Nom : Dnom, Prénom : Dnom, Age : Dâge)
Identifiant : N°Etud
Définition : tout étudiant actuellement immatriculé à l ’école
Attribut
Etudiant
N° Etud Nom Prénom Age
136 Dupont Jean 19
253 Aubry Annie
101 Duval 22
147 Dupont Marc 21
Tuple
Attribut :
colonne d’une relation ayant un nom. Rôle joué par un domaine
dans la relation.
19. 69
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Définitions
Exemple : Schéma relationnel du suivi des enseignements
Schéma d’une base de données relationnelle :
Une base de données contient généralement plusieurs relations.
le schéma d’une base de données relationnelle est constitué :
• d’un ensemble de schémas de relation SR={R 1 ,R 2 ,...,R n }
• d’un ensemble de règles d’intégrité.
ELEVE (Num_elv, Num_uv, Nom_elv, Prenom_elv, Adresse_elv,
DatNais_elv)
UNITE_VALEUR (Num_uv, Intitule_val, Niveau_val, NB_val)
ENSEIGNANT (Num_ens, Num_uv)
20. 70
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Règles d'intégrité
Définition :
les règles d’intégrité (R.I.) sont des conditions qui doivent être vérifiées
à tout moment par les données contenues dans la base de données :
• Intégrité de domaine
• Intégrité de relation
• Intégrité de référence
• Intégrité d’entité
Intégrité De Domaine :
contrôle des valeurs des attributs
contrôle entre valeurs des attributs
• Age [0 .. 130]
• Date_Début < Date_Fin
• x,y Personne, (x,y) mariage x.état_civil = marié &
y.état_civil = marié & x.sexe <> y.sexe
• Montant > 0
21. 71
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Règles d'intégrité :
Intégrité de relation (Contrainte De Clé)
Chaque relation doit posséder une clé Unicité des tuplets
il peut exister plusieurs clés (Clés candidates) on en choisit une
arbitrairement
Impose que tout tuple d’une relation r qui se réfère à une relation
s doit se référer à un tuple existant dans la relation s.
Intégrité de référence (Clé étrangère)
Une telle contrainte s’applique sur des relations qui décrivent des
associations.
22. 72
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Règles d'intégrité :
Intégrité d’entité :
la contrainte d’entité impose que tout attribut faisant partie de
la clé d’une relation soit non nul
Exemple :
la relation Travail a deux C.R
TRAVAIL
Nom NumMatrLocalité
MEDECIN S
NumMatr Nom
POLICLINIQUE
Nom TéléphoneLocalité
23. 73
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Transformation du modèle E/A :
• transformation des associations n-aires en associations binaires
• entité relation (Table)
• Identifiant clé
• association dépend de sa cardinalité
Règle 1 : Table et clé primaire
Toute entité est transformée en table (relation). Les propriétés de l’entité
deviennent celles de la table. L ’identifiant devient la clé primaire
Entité Entreprise Table Entreprise
24. 74
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Règle 2 : Relation binaire (…,n) - (…,1)
La clé primaire de l ’entité reliée par (…,n) devient clé étrangère de
l’entité reliée par (…,1)
Livre
N° livre
Titre
Ecrire
1,n 1,1
Auteur
N° auteur
Nom
LIVRE
N° LIVRE
N° AUTEUR
TITRE
AUTEUR
N° AUTEUR
NOM
Ecrire
25. 75
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Règle 3 : Relation binaire (0,1) - (1,1)
La clé primaire de l’entité reliée par (0,1) devient clé étrangère de l’entité
reliée par (1,1)
Facture
N° facture
Date facture
Payé ?
Impliquer
0,1 1,1
Commande
N° commande
Date commande
Montant
Impliquer
FACTURE
N° FACTURE
N° COMMANDE
DATE FACTURE
PAYÉ ?
COMMANDE
N° COMMANDE
DATE COMMANDE
MONTANT
26. 76
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Règle 4 : Relation binaire et ternaire (…,n) - (…,n)
On crée une table supplémentaire ayant comme clé primaire une clé
composée des clés primaires des 2 entités. Lorsque la relation la relation
contient des propriétés celles-ci deviennent attributs de la table.
Commande
N° commande
Date
Article
N° article
Libellé
Prix unitaire
Se composer
quantité
1,n 0,n
COMMANDE
N° COMMANDE
DATE
SE COMPOSER
N° COMMANDE
N° ARTICLE
QUANTITE
ARTICLE
N° ARTICLE
LIBELLÉ
PRIX UNITAIRE
27. 77
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Règle 4 :Relation binaire et ternaire (…,n) - (…,n) (suite)
Enseigner
1,n
Enseignant
N° enseignant
Nom
Prénom
Classe
N° Classe
Libellé
Cycle
Matière
N° Matière
Libellé
0,n 0,n
ENSEIGNANT
N° ENSEIGNANT
NOM
PRÉNOM
ENSEIGNER
N° ENSEIGNANT
N° MATIÈRE
N° CLASSE
MATIÈRE
N° MATIÈRE
LIBELLÉ
CLASSE
N° CLASSE
LIBELLÉ
CYCLE
28. 78
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Règle 5 : Plusieurs relations entre 2 entités
Les règles générales s ’appliquent
0,n
1,n
1,n
1,1
Personne
N° personne
Nom
Prénom
Maison
N° maison
Adresse
Localité
Posséder
Habiter
MAISON
N° MAISON
ADRESSE
LOCALITÉ
PERSONNE
N° PERSONNE
N° MAISON
NOM
PRÉNOM
POSSÉDER
N° PERSONNE
N° MAISON
29. 79
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Règles 6 : Relations réflexives
Les règles générales s ’appliquent avec la seule différence que la
relation est 2 fois reliée à la même entité
Société
N° société
Nom
Capital
Détenir
% du capital
Filiale 0,n
0,n
Mère
SOCIÉTÉ
N° SOCIÉTÉ
NOM
CAPITAL
Filiale
Mère
DETENIR
N° SOCIÉTÉ
N° SOCIÉTÉ FILIALE
% DU CAPITAL
30. 80
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Méthode d ’implantation :
Relations réflexives (suite)
Module
N° module
désignation
prix inscription
Hièrarchie
Cours suivants 0,1
0,n
Cours précédents
MODULE
N° MODULE
N° MODULE COURS PRECEDENT
DESIGNATION
PRIX INSCRIPTION
Hiérarchie
31. 81
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Exemple Société d intérim :
2. Le modèle logique de données relationnel
CLIENTS(Codclient, Nom, Prenom, AdRue, AdVille, CodePostal)
CONTRATS(NumeroContrat, Objet, DateSign, Datedeb, Datefin, #CodeCli)
PERSONNES(Matricule, Nom, Prenom, AdRue, Advil, CodePostal,
#CodeQualif)
QUALIFICATIONS(CodeQualif, Libelle, Tarif)
INTERVENIR(#NumContrat, #Matricule, #CodeQualif)
EXIGER(#NumContrat, #CodeQualif, Nbjh)
32. 82
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Exemple Société d intérim :
3. Implantation :
Dans un SGBD relationnel on procède à :
- la création de toutes les tables constituant la base,
- la création des relations entre les tables,
- la remplissage des tables par des données,
- l’exploitation des données de la base.
33. 83
BD - II. Fondement du modèle relationnel
II.2 Modèle relationnel - Exemple Société d intérim :
Implantation