1,n

publicité
Introduction
aux Bases de Données
DESS
Droit et Systèmes d ’Information
J.M. THEVENIN
Bureau AR367
Polycopié réalisé par :
J.M. THEVENIN, [email protected]
C. HANACHI, [email protected]
1
Plan
1. Notions de base.
2. Le modèle Entité-Association.
3. Le modèle relationnel.
4. Mise en Oeuvre d’une base de données
avec ACCESS.
2
Chapitre I
Notions de Base
PLAN
1. Approche intuitive
2. Définitions
3. Les 3 fonctions d’un SGBD.
4. La description des données
5. La mise à jour et la restitution de
données.
6. Le contrôle de la base de données.
7. Quelques SGBD du marché
3
Notions de base
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
• promotion, paye, arbre de Noël...
basées sur la BD du personnel.
• Amadeus(Avions), Socrate(SNCF).
• L’annuaire Electronique.
• Catalogue électronique de la
Bibliothèque.
• Guichets bancaires.
4
Notions de base
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, ...
5
Notions de base
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.
6
Notions de base
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
7
Notions de base
Les trois fonctions d’un
S.G.B.D
 La
description des données
(codification, structuration).
 La
manipulation et la restitution des
données (insertion, mise à jour,
interrogation).
 Le
contrôle (partage, intégrité,
confidentialité, sécurité).
8
Notions de base
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
9
Notions de base
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.
10
Notions de base
Le contrôle de la Base
de Données
 Contrôle
•
•
•
•
:
confidentialité
partage, concurrence
respect des Contraintes d’intégrité
sûreté de fonctionnement.
11
Notions de base
Quelques S.G.B.D
(relationnels) du marché
 Micro
•
•
•
•
ACCESS
PARADOX
DBASE V
FOXPRO, ...
 Gros
•
•
•
•
•
:
Système :
DB2
ORACLE
SQL server
SYBASE
INGRES ...
12
Notions de base
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
13
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 occurences
6. Exemple
7. Expression des contraintes d'intégrité
8. Démarche de conception
14
Le modèle entité-association
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.
15
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..n
0..n
ACTEURS
Casting
1..n
joue dans
16
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).
17
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é.
18
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.
19
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
20
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) n,n
21
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.
22
Exemple
23
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,n
7. Traduction d ’une association n,n
8. Démarche de traduction
24
Le modèle relationnel
Les 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
25
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
26
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
27
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.
28
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
29
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
30
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é
31
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
32
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
33
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)
34
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
association ne fusionne qu’une
35
Traduction d’une
association n-n
FILMS
titre : texte
est à l’affiche
durée : 30..300
1..n
version : (VO,VF)
nationalité : texte
Affiche
DD : date
DF : date
CINEMA
diffuse
0..n
NC : numérique
nomC : texte
AdresseC : texte
Exemple de lien n-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)
36
Traduction d’une
association n-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
37
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 n,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.
38
Téléchargement