Académique Documents
Professionnel Documents
Culture Documents
Gabriella SALZANO
Florence PETIT
Université de Marne-la-Vallée
Mars 2007
Bibliographie
• Contenu
– Motivation et Exemples
– Définitions
– Historique
– Architecture
• Supports en ligne
– Référence principale
J. Ullman, CS 145 Slides Automn 2004
http://www-db.stanford.edu/~ullman/dscb/pslides/pslides.html
Le site de la SNCF
http://www.sncf.fr/
1er site français d'e-commerce
Transactions sécurisées
Stations de travail
Interface
Langages de programmation /
manipulation de données
Traitements
SGBD
Données Bases de Données
Depuis quand ?
Contexte
Exemples (2)
Exemples (3)
– Les données
• les appareils
• les vols
• les aéroports
• les réservations
• les achats
Exemples (4)
Exemple :
Vols n°vol compagnie type_avion
123 Air France Boeing 747
234 Alitalia Airbus A340
… …. …
SELECT type_avion
FROM Vols
WHERE n°vol = 123 ;
Administrateur Utilisateurs
Utilisateurs
Utilisateur Utilisateurs
Utilisateurs
Application
DDL Processeur de
(langage de description requêtes
Gestionnaire de
de données)
transactions
Moteur d'exécution
Journalisation
Gestionnaire
de stockage
Métadonnées
Données
Mars 2007 Gabriella Salzano - UMLV 15
1 – Introduction aux BD et aux SGBD
Application A1 Programmes
pour A1
SGBD
BD
Application An Programmes
pour An
Schéma conceptuel
vue globale de la base :
les données stockées
et les relations parmi les données
Schéma logique
R1(A number(10), B string, …, primary key (A), ...)
Représente un modèle de données
…. conforme au modèle ciblé de SGBD
Rn (X number(15), Y string, …, primary key (X), …) (par ex. SGBDR)
Schéma physique
décrit comment les données
sont stockées dans la bd +
les index
Caractéristiques de l’Architecture
Schéma externe
Indépendance logique :
Un changement du schéma conceptuel
Schéma conceptuel (nouvel attribut, nouvelle relation, …),
n'entraîne pas de changement dans les vues
existantes
Indépendance physique :
Les changements du schéma interne
Schéma physique ne sont pas visibles aux niveaux des
schémas conceptuels et logiques;
conséquences sur les performances
Cfr. ANSI / SPARC 1975
Mars 2007 Gabriella Salzano - UMLV 18
1 – Introduction aux BD et aux SGBD
• Conception de BD
À partir de l'analyse du contexte, recueillir les besoins :
• Quelles informations stocker ? Comment les organiser ?
• Quelles contraintes prendre en compte ? Comment les représenter ?
• Quels types d'usages de ces données ?
• Programmation
Développement et optimisation de requêtes et programmes
Interfaces avec d'autres applications
• Implémentation de SGBD
support de nouveaux types de données, optimiseurs, intégration de données
et d'applications, interfaces utilisateurs, langages
Conception (design) de la BD
Hiérarchiques Oracle
Entités - Relations Réseaux
UML
Sybase
Analyse Relationnels ….
Orientés-objets
du contexte XML
PostgreSQL
...
temps
Interface
Interface
Application
Application Réseau
SGBD
SGBD
BD
BD
Client
Interface
Exemple
Application les applications GPS:
• Météo
SGBD • Voirie
• Ressources administratives,
BD touristiques, ….
Mars 2007 Gabriella Salzano - UMLV 21
1 – Introduction aux BD et aux SGBD
Informatique Humain
Rôles
• Contenu
– Concepts de base
• Entités, attributs
• Relations
• Clés
• Multiplicités, cardinalités
– Concepts avancés
• Héritage
• Agrégation, Composition
• Entités faibles
• Supports en ligne
– Référence principale
J. Ullman, CS 145 Slides Automn 2004
http://www-db.stanford.edu/~ullman/dscb/pslides/pslides.html
Modèle Systèmes
RÉALITÉ
Entité-Relation Relationnels
modeling mapping
• Entité
– "une chose" qui existe et qui peut être distinguée de façon unique.
Ex.: un étudiant, une voiture, une banque
– abstraite ou concrète
• Ensemble d'entités
– Une collection d'entités similaires, ayant les mêmes propriétés,
identifiées par l’ "organisation" ("entreprise" en sens large) comme
ayant une vie propre
Ex.: les étudiants d'une université, les comptes d'une banque, les
entreprises d'un pays, les voitures d'une société de location …
Attributs
• Attribut
– propriété d’une entité
– prend des valeurs simples, par exemple entiers ou chaînes
de caractères (domaine d'attribut)
type Représentation
n°série marque sous forme de
voitures diagramme
Relations
université diplôme
délivr
e
inscriptio
n°e n nom_e
étudiant prénom_e
Ensemble de relations
Relations n-aires
n°p nom_p
Exercices
A r B
r A A r B
C
(1) (2)
(3)
E1 r E2
(n-m)
employés projets
(1-1)
personnes passeports
A B A B A B
Exercice
A r B
Attributs de relation
quantité
Exercice
A r B
C
(4)
Cardinalités
Min Max
0 1
1 n
Exemples
(1-n)
(n-m)
Exemples
(1-1)
est composée de
n°pièce
0,n
quantité
nom_p pièce
0,n
compose
Exemple
n°p nom_p
projet
1,n n°r descr_r
0,n rôle
particip
n°e e 0,n
employé prénom_e
nom_e
Exercice
n°p nom_p
nom_p
n°p projet projet
1,n n°r descr_r 1,n descr_r
n°r
0,n rôle rôle
particip particip 0,n
a
n°e e 0,n n°e e 0,n
1,n
employé prénom_e employé prénom_e
nom_e A nom_e B
projet
n°p 1,n
Comparer les modèles nom_p
A, B et C nécessit
particip e 0,n rôle
e descr_r
n°e 0,n
0,n
employé prénom_e n°r
Mars 2007 Gabriella Salzano - UMLV
nom_e 45 C
2 - Modèle Entités - Relations
Question
Héritage
employés
véhicules motos avions
pilotes
voitures
camions
Relations is-a
A Multiplicité ? A
Cardinalités ?
is a is a
is a is a
B C B C
Exemple
domaine d'activité
industriel raison_sociale
n°c client
particulier nom
adresse
prénom
profession
Participation
• Totale ou Partielle
détermine si toutes ou seulement quelques occurrences d’un
ensemble d'entités participent à une relation
• A partir des cardinalités:
– min = 0 participation partielle
– min > 0 participation totale
Participation (2)
est
Homme 0,1 0,1
marié Femme
à
Exercice
0,n 0,n
A r B
(5)
Exercice
1,1 département
Modifier le modèle ci-contre
pour générer des dirige 1,n
participations totales nom
0,1 appartient
grâce à des relations n°e
1,1
d’héritage employé
0,1
0,1
travaille
1,n
est
responsabl n°p
1,n projet
e libellé
budget
Relation "Est-de-type"
code_type
n°c 1,1 1,n Type_contrat
contrat Est de type
libellé_type
date_signature
contrats Type_contrats
code_type
n°c 1,1 1,n Type_contrat
contrat Est de type
libellé_type
date_signature
Exercice:
Esquisser un modèle E-R pour l'exemple ci-dessous
clients industriel
s type_clients
particuliers
Exemple
activité
code_type_client
n°c industriel raison_sociale
type_client Est de type client
nom
remise_type_client adresse particulier
prénom
profession
Agrégation / Composition
• Agrégation
une relation « a-un » ou « fait-part-de » entre deux
ensembles d’entités, dont un représente le « tout »
et l’autre une « partie »
• Composition
une forme particulière d’agrégation entre deux entités,
avec un lien très fort entre le tout et la partie
(en terme de propriété et de durée de vie)
Exemple d'agrégation
compren
n°modèle_ph d 1,n
phares
descr_modèle_ph
Entités faibles
1,1 1,n
CHAMBRE Situer HOTEL
Synthèse
Exercice
quantité
nom
n°e prénom n°m adresse
0,n 1,1
employé appartient magasin
1,0
n°m is a
1,1 Analyser ce modèle et
type-salarié le corriger, si
nécessaire
nom-c n°p
nom-v nom_p
Compagnie Pilote
Ville
• Contenu
– Concepts de base relatifs aux schémas relationnels
– Passage du modèle entité-relation au modèle
relationnel
• Supports en ligne
– Référence principale
J. Ullman, CS 145 Slides Automn 2004
http://www-db.stanford.edu/~ullman/dscb/pslides/pslides.html
Modèle Systèmes
RÉALITÉ
Entité-Relation Relationnels
modeling mapping
R1(A, B, ...)
….
Rn (X , Y , …)
Concepts de base
relation tuple
une table, avec des lignes et des une ligne d’une relation
colonnes les tuples sont tous différents
degré d’une relation
attribut le nombre de ses colonnes
une colonne d’une relation.
un attribut a un nom
cardinalité d’une relation
le nombre de ses lignes
dans une relation, les noms d'attributs
sont tous différents domaine
ensemble des valeurs possibles
pour un ou plusieurs attributs
• Schéma relationnel
– nom de la relation
– noms et types des attributs, dans leur ordre
– les contraintes sur la relation (clés primaires, …)
Example: Employés (n°e number(5), nom_e varchar2 (20))
• Base de données
– Ensemble de relations "normalisées"
– Les relations ont des noms différents
• Schéma de la base de données
– Ensemble de tous les schémas relationnels de la base
Clés
• Superclé
– un attribut, ou un ensemble d’attributs, qui identifie de
façon unique les tuples dans la relation
• Clé candidate
– une superclé telle que aucun de ses sous-ensembles n'est
une superclé de la relation
• Clé primaire
– la clé candidate sélectionnée pour identifier de façon unique
les tuples d’une relation
Exemple
Table Centres
CENTRE_NB NOM CA PRODUIT BENEFICE DATEOUV SIEGE
1 PARIS1 500 1 2.0 01-JAN-80 1
2 PARIS2 100 2 0.5 01-FEB-85 1
3 LYON1 250 1 1.0 05-MAY-86 1
4 LYON2 120 3 0.1 01-DEC-88 2
5 LILLE1 200 2 0.3 01-OCT-91 1
6 MARSEILLE1 430 4 0.1 20-DEC-87 1
7 BORDEAUX1 300 2 0.6 01-JAN-86 1
8 BORDEAUX2 01-JAN-94 7
Table Produits
PRODUIT LIBELLE
1 QUINCAILLERIE
2 BOIS
3 PEINTURE Identifier dans ces deux relations
4 JARDINAGE les clés, les attributs et leurs domaines
PK de la relation = PK de l’entité E
Exemple
Exemple
Exemple
0,n 1,1
a2 A r B b2
a1 b1
r (A 1, B1)
Mars 2007 PK = {B }
1 r (A- UMLV
Gabriella Salzano
1,B) 1 PK = {B1} 79
3 - Modèle Relationnel
Clé étrangère
(n°e, n°d)
Mars 2007 Gabriella Salzano - UMLV 80
3 - Modèle Relationnel
Exercice
n°pr
produit
n°cl libellé
0,n
n om _cl
client 1,n quantité
concerne
adresse
commande date
Exercice
n°p
n°véh marque
possède
personne véhicule
date
Exemple
0,n
Nom pièce Nom Pièce Quantité Nom Pièce Nom pièce Quantité
Composée Composante Composante Composée
voiture châssis 1 châssis voiture 1
voiture moteur 1 moteur voiture 1
voiture essieu 2 essieu voiture 2
voiture roue 5 roue voiture 5
moteur culasse 1 culasse moteur 1
moteur piston 4 piston moteur 4
moteur bielle 4 bielle moteur 4
roue pneu 1 pneu roue 1
roue jante 1 jante roue 1
Est_composée ou Compose PK ?
Mars 2007 Gabriella Salzano - UMLV 83
3 - Modèle Relationnel
Exercice
(7) (8)
Avec :
- A (A1, A2, A3) PK = {A1}
- B (B1, B2, B3) PK = {B1}
• Déterminer le schéma relationnel brut
• Déterminer le schéma relationnel optimisé
• Remplacer A, B, r par des entités et relations plus explicites
• Classe "mère" :
règle habituelle pour chaque entité E du modèle E/R: créer une
relation qui comprend tous les attributs de l’entité
+ un attribut indiquant le "type" (par rapport à la spécialisation)
PK de la relation = PK de l’entité "mère"
• Classe "fille" :
créer une relation qui comprend tous les attributs de cette classe
+ les attributs qui forment la PK de la classe "mère"
PK de la relation = PK de l’entité "mère"
a2 A a1
Exemple
activité
industriel raison_sociale
n°c client
particulier nom_c
adresse
prénom_c
code_type_client
n°c
type_client Est de type client
Relation de type 1-n
remise_type_client adresse
• Elles comprennent:
tous leurs attributs (clés et non clés)
+
les attributs qui forment la PK des ensembles
d'entités qui les supportent
• Les relations du modèle E/R qui supportent
l'ensemble d'entités faible ne donnent pas lieu à des
relations dans le modèle relationnel, car elles sont de
type (1-n).
Exemple
1,1 1,n
Elèves Inscrit Écoles
Exemple
1,1 1,n
CHAMBRE Situer HOTEL
Exercice (examen)
Grâce à cette base, on doit pouvoir indiquer sur quelles chaînes, quels jours et à
quelles heures, vont être diffusées les différentes émissions. Le guide indique
aussi la catégorie de programmes (théâtre, film, documentaire, sport,…) à
laquelle appartient chaque émission.
Exercice (examen)
Un logement peut être vide ou habité par un foyer. Un foyer n’occupe qu’un et
un seul logement. On connaît le nombre de personne composant le foyer ainsi
que le nombre d’enfants et d’étudiants, le nom du représentant du foyer et sa
profession.