1,n

publicité
Introduction
aux Bases de Données
Licence AES
Cours d ’informatique
1ère Partie
Cours de
Mme Soulé-Dupuy [email protected]
Mr Thévenin [email protected]
Polycopié réalisé par
C. HANACHI, J.M. THEVENIN
© C. HANACHI, J.M. THEVENIN
1
© C. HANACHI, J.M. THEVENIN
2
Objectif du cours
La conception de bases de données est une
tâche de première importance dès lors que l’on
veut exploiter des données informatisées dans le cadre
une activité donnée. Il faut savoir organiser les données
utiles à son activité afin de les gérer de façon efficace (les
stocker, les retrouver, les analyser).
L’objectif de ce cours :
• Présenter les règles essentielles permettant de
concevoir une base de données cohérente dans le
cadre d’une activité précise
• Présenter les langages d’interrogations permettant de
tirer profit de ces données.
Les compétences acquises par les étudiants :
• Être capable de concevoir et d ’exploiter une base de
données relevant de la micro-informatique, dans le
cadre de leur activité professionnelle ;
• Être des interlocuteurs avertis pour la conception du
système d’information de leur entreprise ;
• Maîtriser les concepts essentiels d’ACCESS, un outil
répandu dans le domaine de la micro-informatique.
© C. HANACHI, J.M. THEVENIN
3
Plan *
1ère Partie :
Introduction aux concepts
fondamentaux des Bases de Données
1. Notions de base.
2. Le modèle Entité-Association.
3. Le modèle relationnel.
4. Interroger une base de données.
2ème Partie :
Concevoir une base de données
1. Les finesses de la modélisation Entité-Association
2. Compléments sur le modèle relationnel
3. Présenter un dossier d’analyse
3ème Partie :
Interroger une Base de Données
1. Le langage algébrique
2. Le langage SQL
* seule la première partie du cours fait l’objet de ce poly
© C. HANACHI, J.M. THEVENIN
4
Chapitre 1
Notions de Base
1. Place des SGBD dans le Système
d’Information de l’entreprise
2. Approche intuitive de BD
3. Définitions
4. Les 3 fonctions d’un SGBD.
4.1. La description des données
4.2. La mise à jour et la restitution de
données.
4.3. Le contrôle de la base de données.
4.4. Simplifier l ’accès aux données
5. Quelques SGBD du marché
6. La démarche enseignée
© C. HANACHI, J.M. THEVENIN
5
1.1 Place des SGBD dans le
Système d’Information de
l’entreprise
Système de Pilotage
Système d’Information
Base de
Données
Résultat
Entrées
Système Opérant
Perturbations
Circulation de l’information dans l’entreprise :
Directives
Coordination
Comptes rendus
© C. HANACHI, J.M. THEVENIN
6
Place des SGBD dans le
Système d’Information de
l’entreprise
 Besoin
de gérer l’information :
L’information apparaît à un
• Instant différent
• Endroit différent
• Sous une forme différente
=> 4 étapes :
-
Saisie
Mémorisation
Traitement
Communication
 Difficulté
d’accéder à l’information :
• Où est l’information ?
• Comment est elle codée ?
• Comment y accéder ?
© C. HANACHI, J.M. THEVENIN
7
1.2 Approche intuitive
 Définition Intuitive : Une base de données
est un “pot” commun d’information, partagé par
plusieurs utilisateurs. Ces informations peuvent être
interrogées et mises à jour par l'intermédiaire d’un
logiciel. Le plus souvent ces informations décrivent
la structure et/ou l’activité d’une organisation et
facilite la prise de décision.
 Exemples
une BD:
d’applications basées sur
•
•
•
•
Gestion des contrats d’une SSII
Amadeus(Avions), Socrate(SNCF).
L’annuaire Electronique.
Catalogue électronique de la
Bibliothèque.
• Guichets bancaires.
• Vente par correspondance
© C. HANACHI, J.M. THEVENIN
8
Approche intuitive
Le catalogue électronique de la
Bibliothèque :
• utilisation simultanée par les
étudiants, le personnel de la BU, la
direction de la BU.
• fonction : recherche multi-critères
d’ouvrage(Etudiant),
prêt,relance (personnel de la BU),
statistique sur les prêts (direction de la
BU).
• garantie : limite automatique du
nombre d’ouvrages prêtés, vérification
du droit d'accès, ...
© C. HANACHI, J.M. THEVENIN
9
1.3 Définitions
Définition 1 : “ Une Base de données est
un ensemble structuré de données(1)
enregistrées sur des supports accessibles
par l’ordinateur(2) pour satisfaire
simultanément plusieurs utilisateurs(3) de
manière sélective(4) et en un temps
opportun(5) ” (Adiba & Delobel).
(1) Organisation et Description des objets
et des liens entre ces objets à l’aide
d’un Langage de Description des
Données.
(2) Stockage sur disque.
(3) Partage de l’information, gestion des
accès concurrents , facilité
d’utilisation(à l’aide d’un Langage de
Manipulation des Données).
(4) Confidentialité, Sécurité.
(5) Performance.
© C. HANACHI, J.M. THEVENIN
10
Définitions
Définition 2 : “ Le logiciel qui permet
d’interagir avec une BD est un Système de
Gestion de Bases de Données (SGBD) ”
(Adiba & Delobel, 82).
A
A
B
SGBD
Application B
C
Application
C
BD
© C. HANACHI, J.M. THEVENIN
11
1.4 Les trois fonctions d’un
S.G.B.D
 La
description des données
(codification, structuration
=> schéma conceptuel).
 La
manipulation et la restitution des
données (insertion, mise à jour,
interrogation).
 Le
contrôle (partage, intégrité,
confidentialité, sécurité).
© C. HANACHI, J.M. THEVENIN
12
1.4.1 La description des
données
Documents
Groupe d’utilisateur I (GU 1)
Interview
Groupe d’utilisateur II(GU 2)
...
Modélisation
Schéma
externe 1
pour GU1
Schéma
externe 2
pour GU2
T
Schéma Conceptuel
de Données
T
Schéma
Physique
...
BD
© C. HANACHI, J.M. THEVENIN
13
1.4.2 La mise à jour et la
restitution des données
 Mise
en oeuvre à l’aide d’un Langage
de Manipulation des Données (LMD).
 Fonctions
:
• insérer des valeurs ;
• mise à jour des valeurs ;
• interrogation de la BD.
 S.Q.L (Structured
Query Language) :
Langage standard et déclaratif.
© C. HANACHI, J.M. THEVENIN
14
1.4.3 Le contrôle de la Base
de Données
 Contrôle
•
•
•
•
:
confidentialité
partage, concurrence
respect des Contraintes d’intégrité
sûreté de fonctionnement.
© C. HANACHI, J.M. THEVENIN
15
1.4.4 Simplifier l’accès aux
données
 Où
est l’information ?
• Dans la base de données
 Comment
est codée l’information ?
• Schéma conceptuel des données
 Comment
accéder à l’information ?
• Langage d’interrogation
© C. HANACHI, J.M. THEVENIN
16
1.5 Quelques S.G.B.D
(relationnels) du marché
 Micro
•
•
•
•
ACCESS
PARADOX
DBASE V
FOXPRO, ...
 Gros
•
•
•
•
•
:
Système :
DB2
ORACLE
SQL server
SYBASE
INGRES ...
© C. HANACHI, J.M. THEVENIN
17
1.6 Démarche enseignée
Documents
Modélisation
Entité-Association
Interview
Schéma Conceptuel en
Entité -Association
Transformation en
relationnel
Schéma conceptuel
en relationnel
Passage en machine
sous Access
Base de Données Relationnelle
manipulable en SQL
© C. HANACHI, J.M. THEVENIN
18
Chapitre 2
Le modèle Entité-Association
1. Les concepts de base
2. Les associations
3. Les propriétés
4. Les cardinalités des rôles
5. Identification des occurrences
6. Exemple
7. Expression des contraintes d'intégrité
8. Démarche de conception
© C. HANACHI, J.M. THEVENIN
19
2.1 Les concepts de base



Modèle, Langage, Formalisme.
Origine : Travaux de Chen(USA),
Tardieu(France), en 74/75.
Succès dus à :
• langage graphique
• Intégré à des méthodes d’analyse
(MERISE par ex.).
• Concepts simples :
- choses ->entités
- liens entre les choses -> association
- regroupement des choses de même nature :
classes d’entités, classes d’associations.
© C. HANACHI, J.M. THEVENIN
20
Les concepts de base
FILMS
titre : texte
est à l’affiche
durée : 30..300
1..n
version : (VO,VF)
nationalité : texte
Affiche
CINEMA
diffuse
0..m
0..n
ACTEURS
Casting
1..n
joue dans
© C. HANACHI, J.M. THEVENIN
21
Concepts de base
 Une
entité
C’est un objet, un événement, un lieu , une
personne identifiable sans ambiguïté.
Exemple : abc, utopia, Woody Allen,
Emmanuelle Beart, Coups de feu sur Brodway.
 Une
association
C’est un lien entre 2 ou plusieurs entités.
Exemple : Woody Allen a mis en scène “Coups
de feu sur Brodway”
 Classe
d’entités :
C’est un regroupement d’entités de même
nature.
Exemple : Films, cinéma, metteurs en scène.
 Classe
d’Associations :
C’est un lien entre 2 ou plusieurs classes
d’entités.
Exemple : Affiche(entre Cinéma et Films),
Distribution(entre Films et Acteurs).
© C. HANACHI, J.M. THEVENIN
22
Les concepts de base
 Propriété : unité d’information
indécomposable désignée par un nom.
Exemple : nom_acteur, titre, ...
 Propriété d’une classe d’entités :
caractéristique commune à chaque élément de
la classe.
 Domaine de valeur : ensemble de
valeurs possibles d’une propriété.
Exemple : numérique, montant, texte, (M,F),
0..17, ...
 Identifiants : propriété ou groupe de
propriétés dont la valeur identifie sans
ambiguïté une entité ou une liaison d’une
classe.
 Rôle : sens d’une patte (relie une classe
d’entité à une classe d’association).
 Cardinalités d’une patte : constituées
de deux nombres correspondant au maximum
et minimum d'occurrences de l’association
pouvant être associés à chaque occurrence de
l’entité.
23
© C. HANACHI, J.M. THEVENIN
2.2 Les associations
Différents types d’association :
 Statique : interprétation.
 Dynamique : affiche.
• Variable dans le temps
• Gestion d ’historiques
 Binaire,
ternaire, ... selon le nombre
de classes d’entités associées à la
classe d’association.
 Réflexive (suite d’un film).
Remarque : Il peut exister plusieurs
classes d’association entre 2 mêmes
entités.
© C. HANACHI, J.M. THEVENIN
24
2.3 Les propriétés
Déterminent la structure d’une classe
d’entités ou d’une classe
d’associations (ex : tarif d’un film).
 Définie
par un nom et un domaine
de valeurs
 Choix du nom : unique, explicite.
 Domaine de valeurs : détermine
l’ensemble des valeurs possibles pour une
propriété
• énumérés : (M,F), (rouge, blanc, rosé).
• intervalle : 0..120,
• montant, date, texte, numérique.
• ...
• détermine les opérations possibles sur
la propriété ainsi que les autres
propriétés aux quelles elle est
comparable
© C. HANACHI, J.M. THEVENIN
25
2.4 Les cardinalités des rôles
 La
cardinalité des rôles répond à la
question : combien de fois une
occurrence peut-elle jouer un rôle donné
au maximum et au minimum ?
 Facultatif
0,1
0,n
Obligatoire
1,1
1,n
Unique
Multiple
 typologie
des cardinalités des liens
ne tenant compte que des maximums
• de type un à un (bijectif) 1,1
• un à plusieurs (hiérarchique) 1,n
• plusieurs à plusieurs (Affiche entre
Film et Cinéma) m,n
© C. HANACHI, J.M. THEVENIN
26
2.5 Identification des
occurrences

Objectifs : chaque occurrence doit pouvoir
être repérée de manière unique et sans
ambiguïté, pour être distinguée de toutes les
autres.

Pour une classe d’entités :
• Propriété ou groupe de propriétés qui
permet de repérer une occurrence de
manière unique. On souligne
l’identifiant.
• Un seul identifiant.
• On privilégie l’identifiant le plus court,
le plus naturel (n° bon de commande, n°
étudiant, ...).
• On peut créer un identifiant artificiel par
commodité
• Identifiant non variable dans le temps.

Identifiant d’une association : implicite,
obtenu en juxtaposant les identifiants des
entités qui participent à la liaison.
27
© C. HANACHI, J.M. THEVENIN
2.6 Exemple

On souhaite créer une base de données
géographique destinée à la gestion des pays, des
fleuves et des espaces maritimes (mers et océans).
Chaque pays est connu par un nom, une superficie,
un nombre d'habitants, la liste des pays qui ont une
frontière commune avec lui et la liste des fleuves
qui le traversent.
Un fleuve est connu par son nom, sa longueur,
l'espace maritime dans lequel il se jette, le nom du
pays dans lequel il prend sa source, la liste des pays
qu'il traverse et la distance parcourue dans chacun
de ces pays.
Un espace maritime est connu par un nom, un type
(mer ou océan), la liste des pays qu'il côtoie et la
liste des fleuves qui s'y jettent.

Donnez le schéma E/A permettant de gérer les
informations décrites ci-dessus. Commentez les
choix des cardinalités.
© C. HANACHI, J.M. THEVENIN
28
Chapitre 3
Le modèle Relationnel
1. Les concepts de base
2. Les tables
3. Les attributs
4. Les clés
5. Les clés étrangères
6. Traduction d ’une association 1,1
7. Traduction d ’une association m,n
8. Démarche de traduction
© C. HANACHI, J.M. THEVENIN
29
3.1Les concepts de base



Modèle, Langage, Théorie.
Origine : Travaux de Codd (USA), en 70.
Succès dus à :
• Concepts simples :
- entités, associations -> tables
- identifiants d’entité ou d’association ->
clés
- liens entre entités et associations ->
clés étrangères
• Un modèle et un langage standard
(SQL)
• Une base théorique
- théorie des ensembles
- algèbre relationnelle
© C. HANACHI, J.M. THEVENIN
30
3.2 Les tables (relations)
Représentation graphique d'une table :
EMPLOYES
Matricule
Nom
DateNaissance
DateEmbauche
Salaire
#NomService
118
57
98
3
10
7
1
Martin
Brown
Milesi
Rive
Oates
Slow
Brun
2/05/1964
20/06/1950
18/04/1970
12/12/1970
01/01/1972
10/04/1975
11/11/1968
19/02/84
10/01/92
10/05/91
12/08/91
17/10/93
20/01/94
30/04/96
13500
20000
10000
10000
18000
6500
8600
Comptabilité
Informatique
Comptabilité
Informatique
Finance
Comptabilité
Finance
•
•
•
•
•
•
Nom de la table : EMPLOYES.
Schéma : 1ère ligne.
Tuple : chacune des autres lignes.
Attribut : une colonne
Clé de la relation : Matricule.
Clé étrangère : #NomService
© C. HANACHI, J.M. THEVENIN
31
Les tables (relations)
Correspondance entité -> table :
Nom entité -> Nom table
Propriété -> Attribut
Domaine -> Domaine
Identifiant -> Clé
Instance -> Tuple
Correspondance association -> table :
Nom association -> Nom table
Propriété -> Attribut
Domaine -> Domaine
Identifiant -> Clé
Lien entre 2 instance d’entité ->
Tuple
© C. HANACHI, J.M. THEVENIN
32
Les tables (relations)
Propriétés :
1. Une valeur de la clé désigne une
ligne unique
Ainsi, la valeur en question permet
de retrouver cette ligne
2. Un nom d’attribut désigne une
colonne
1 et 2 => l’ordre des ligne et des
colonnes n’est pas significatif
Remarque : si la clé d’une table est
définie par un couple d’attributs, ses
valeurs sont des couples.
© C. HANACHI, J.M. THEVENIN
33
3.3 Les attributs
 La
notion d’attribut en relationnel
correspond à la notion de propriété
en entité/association
 Un attribut est défini par un nom et
un domaine
 Le domaine d’un attribut décrit les
valeurs autorisées dans la colonne
de cet attribut
 Les valeurs d’un attribut sont
atomiques : non décomposables
 Contraintes supplémentaires :
unicité, non nullité, clé, clé étrangère,
valeur par défaut
© C. HANACHI, J.M. THEVENIN
34
3.4 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 choisit la combinaison la plus courte
comme clé primaire
• Les autres combinaisons sont des clés
candidates
 Il
est parfois utile de créer une clé
artificielle lorsque les clés
candidates sont compliquées
© C. HANACHI, J.M. THEVENIN
35
3.5 Les clés étrangères
EMPLOYES
Matricule
Nom
DateNaissance
DateEmbauche
Salaire
NomService*
118
57
98
3
10
7
1
Martin
Brown
Milesi
Rive
Oates
Slow
Brun
2/05/1964
20/06/1950
18/04/1970
12/12/1970
01/01/1972
10/04/1975
11/11/1968
19/02/84
10/01/92
10/05/91
12/08/91
17/10/93
20/01/94
30/04/96
13500
20000
10000
10000
18000
6500
8600
Comptabilité
Informatique
Comptabilité
Informatique
Finance
Comptabilité
Finance
SERVICES
NomService
Budget
Etage
Comptabilité
Finance
Informatique
1MF
1.5 MF
3 MF
1
2
2
Dans la table SERVICES NomService est une clé
qui permet retrouver la ligne décrivant un
service donné
Dans la table EMPLOYES NomService* est une
clé étrangère qui permet d’aller chercher dans
la table SERVICE la description du service
auquel appartient un employé donné
© C. HANACHI, J.M. THEVENIN
36
Les clés étrangères
 Le
terme clé étrangère signifie clé
d’une autre table
 La notion de clé étrangère est
utilisée pour établir un lien entre
deux tables
 Soit une table A 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 apparaître dans 0 ou n
lignes de la table A comme valeur de b*
• b* établit un lien n-1 entre A et B
 Les
clés étrangères sont les seules
redondances autorisées
© C. HANACHI, J.M. THEVENIN
37
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 entraîne
que la table A référence des lignes
n’existant pas dans la table B
 Lorsque
l’on supprime une ligne
dans une table référencée, la valeur
de clé supprimée doit avoir été
préalablement supprimée des
colonnes clé étrangères
© C. HANACHI, J.M. THEVENIN
38
3.6 Traduction d’une
association 1-n
FILMS
REALISATEUR
titre : texte
est réalise
durée : 30..300
1..1
version : (VO,VF)
nationalité : texte
Réaliser
Année : num
réalise
0..n
NR : numérique
nomR : texte
PrénomR : texte
Exemple de lien 1-n :
• Chaque ligne de FILMS doit être reliée à 1
lignes de CINEMA
• une ligne de CINEMA peut être reliée à n
lignes de FILMS
Traduction
Films (titre, durée, version, nationalité, NR*, année)
Réalisateur (NR, nomR, prénomR)
© C. HANACHI, J.M. THEVENIN
39
Traduction d’une association
1-n
Toute association possédant une arrête
de cardinalité 1,1 fusionne avec
l’entité reliée à cette arrête
 Pour fusionner une association avec
une entité :
• ajouter toutes les propriétés de
l’association dans la table de l’entité
• importer les clé des autres entités
auxquelles l’association est reliée
• déclarer les clés importées comme clés
étrangères
 Une
fois
© C. HANACHI, J.M. THEVENIN
association ne fusionne qu’une
40
3.7 Traduction d’une
association m-n
FILMS
titre : texte
est à l’affiche
durée : 30..300
1..n
version : (VO,VF)
nationalité : texte
CINEMA
Affiche
diffuse
DD : date
DF : date
0..m
NC : numérique
nomC : texte
AdresseC : texte
Exemple de lien m-n :
• Chaque ligne de FILMS doit être reliée
à n lignes de CINEMA
• Chaque ligne de CINEMA doit être
reliée à n lignes de FILMS
Traduction
Films (titre, durée, version, nationalité)
Cinéma (NC, nomC, adresseC)
Affiche (titre*, NC*, DD, DF)
© C. HANACHI, J.M. THEVENIN
41
Traduction d’une association
m-n
Pour traduire un lien m-n il faut créer
une table intermédiaire
• Du nom de l’association
• Comportant toutes les propriétés de
l’association
• Comportant comme clés étrangères les
clés des entités reliées
• Dont la clé est l’union des clés
étrangères et des attributs soulignés de
l ’association
© C. HANACHI, J.M. THEVENIN
42
3.8 Démarche de traduction d’un
schéma entité/ association
 Etape
1:
Toute classe d’entités du diagramme
entité/association est représentée par
une table dans le schéma relationnel
équivalent. La clé de cette table est
l’identifiant de la classe d’entités
correspondante.
 Etape
2:
Toute classe d’associations 1,n
(possédant une arrête de cardinalité 1,1
vers une entité Ei) fusionne avec la
table de l’entité Ei.
 Etape
3 :
Toute classe d’associations m,n est
transformée en table. La clé de cette
table inclut tous les identifiants des
entités participantes qui sont déclarés
comme clé étrangère.
© C. HANACHI, J.M. THEVENIN
43
3.9 Exemple :
 Traduire
le schéma E/A de la base
de données géographique en schéma
relationnel.
© C. HANACHI, J.M. THEVENIN
44
Chapitre 4
Interroger une base de données
PLAN
1. Les différents types de langages
2. Bases théoriques
3. Opérations utilisées
4. Projection
5. Restriction
6. Jointure
7. Démarche d’interrogation
8. Exemples
© C. HANACHI, J.M. THEVENIN
45
4.1 Les différents types de
langages
Langage Algébrique
R
S
Langage Graphique
R
S
= Cte
a
x
Afficher
a, b, c
Critères
b
x
c
x
=Cte
Res
Langage SQL
SELECT a,b,c
FROM R,S
WHERE R S
and =Cte
a
b
SGBD
BD
c
© C. HANACHI, J.M. THEVENIN
46
Les différents types de
langages
 SQL :
• Langage puissant et complet
• Interface standard des SGBD
 Langages
graphiques
• Plus faciles d’accès
• Permettent d’exprimer des requêtes
SQL simples
• Un langage graphique est spécifique à
un SGBD (certains SGBD n’en ont pas)
• Attention ! Si mal maitrisé -> risque de
répondre « à côté »
 Langage Algébrique
• Comprendre la sémantique des requêtes
• Langage intermédiaire de travail
© C. HANACHI, J.M. THEVENIN
47
4.2 Bases théoriques
 Théorie
des ensembles
Relation S
s1 s2
Relation R
r1 r2 r3
OP1
Table T1
r1 r2 r3
OP2
r1
Table T2
r2 r3 s1 s2
Table Résultat
r3 s2
OP3
© C. HANACHI, J.M. THEVENIN
48
4.3 Opérateurs utilisés
 Opérateurs
relationnels
• Projection
• Restriction
• Jointure
 Opérateurs
ensemblistes
• Union
• Intersection
• Différence
 Fonction
•
•
•
•
•
statistiques
Somme
Min
Max
Moyenne
ComptageDeLignes (NbVal)
© C. HANACHI, J.M. THEVENIN
49
4.4 Projection
 Opération
permettant d’éliminer les
colonnes qui ne nous intéressent pas
dans une table
Langage algébrique
Relation R
a
b c
Langage graphique
R
a
b
c
Attribut
Afficher
b
Langage SQL
SELECT b
FROM R
b
x
b
 Ex
: Afficher les noms de pays source
d’un fleuve
© C. HANACHI, J.M. THEVENIN
50
4.5 Restriction
 Opération
permettant d’éliminer les
lignes qui ne nous intéressent pas
dans une table
Langage algébrique
Relation R
a
b c
1
10
2
10
b
10
10
 Ex
R
a
b
c
Langage SQL
WHERE b=10
Attribut
b
Afficher
Critère =10
b=10
a
Langage graphique
c
: Liste des pays dont la superficie est
supérieure à 1 000 000 Km2
© C. HANACHI, J.M. THEVENIN
51
4.5 Jointure
 Opération
permettant de relier des
lignes provenant de deux tables
différentes selon un critère pour
fabriquer une nouvelle table
Langage algébrique
Relation R
a
b c
riri
3
fifi
3
loulou
3
nafnaf
1
Relation S
c
d
1 cochon
2 loup
3 canard
4 poule
Langage graphique
R
a
b
c
S
c
d
Langage SQL
WHERE R.c=S.c
R.c=S.c
Relation R
a
b c
riri
3
fifi
3
loulou
3
nafnaf
1
 Ex
Relation S
c
d
3 canard
3 canard
3 canard
1 cochon
: Nom et superficie des pays dans
lesquels les fleuves prennent leur source
© C. HANACHI, J.M. THEVENIN
52
Jointure naturelle
 Cas
particulier
• jointure entre deux tables avec un
prédicat d’égalité entre une clé
étrangère et la clé référencée
-> Premet de parcourir les arcs reliant des
Entités représentés sur un schéma E/A
Exemple :
Fleuves.NomPSource=Pays.NomP
© C. HANACHI, J.M. THEVENIN
53
4.7 Démarche
 Soit
une question Q que l’on souhaite
poser au SGBD
a) identifier sur le schéma E/A les propriétés
que l’on doit afficher et celle dont on a
besoin pour les restrictions exprimées
dans Q
b) choisir sur le schéma E/A les associations
par lesquelles on va passer pour relier les
entités impliquées en a), en fonction de la
sémantique de Q
c) repérer dans le schéma relationnel les
attributs et les tables correspondant à ce
qui a été repéré en a) et b)
d) effectuer pour chaque table les restriction
nécessaires
e) relier les tables 2 à 2 avec les jointures
adéquates
f) appliquer à la dernière table obtenue une
projection sur les attributs que l ’on
souhaite afficher
© C. HANACHI, J.M. THEVENIN
54
4.8 Exemples
© C. HANACHI, J.M. THEVENIN
55
Exemples
Q1 Nom et superficie des pays ou le
Danube prend sa source
Q2 Liste des pays traversés par le
Danube. Donner leur nom, leur
superficie et la distance parcourue
© C. HANACHI, J.M. THEVENIN
56
Exemples
Q3 Liste des fleuves de plus de 500 Km
se jetant dans une mer
Q4 Liste des pays qui côtoient l’espace
maritime dans le quel se jette le Rhône
© C. HANACHI, J.M. THEVENIN
57
Exemples
Q5 Liste des pays qui côtoient les espaces
maritimes dans lesquels se jette un
fleuve prenant sa source en France
© C. HANACHI, J.M. THEVENIN
58
Téléchargement