1. Pratique de Bases de Données
M. Khalid EL HACHEMI
Téléchargement cours + exemples :
I.N.S.E.A 2008 - 2012
Adresse http://ekhalid.magix.net/public
2. Plan du cours
CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
I- Généralités
1- Historique
2- Pourquoi une BD ?
3- Qu’est-ce q’une base de données (BD et SGBD)
II- Fonctions d’un SGBD
III- Les différents niveaux de représentation d’une BD
1- Niveau externe
2- Niveau conceptuel
3- Niveau interne
3. Plan du cours
CHAPITRE II: La conception logique d’une BD
I- Le modèle conceptuel ‘’Liens-Entités’’
II- Le modèle hiérarchique
III- Le modèle relationnel
IV- La méthode Merise
1- Modèle conceptuel de données (MCD)
2- Modèle logique de données (MLD)
3- Modèle physique de données (MPD)
CHAPITRE II: Les langages de manipulation de donnée
I- SQL
Exercices d’application sur MS Access
4. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
I. Généralités
1- Historique:
* Données stockées sur bande magnétique sous forme d’enregistrement séquentiels pour
constituer des Fichiers
* Apparition des disques magnétiques: Accès plus rapide aux données et stockage d’une
masse plus importante d’information notion d’organisation de fichier et du système de
gestion des fichiers
* Avec le temps, les fichiers classiques pose un nombre de défaut et de contraintes.
* De plus, dirigeants des entreprises deviennent de plus en plus exigeant: besoin
d’exploiter d’une façon fine le système d’information par le biais de requête naissance
du concept des bases de données
5. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Bande magnétique
disques magnétiques:
8’’: 1970-1980
5.25": 1976
3.5" : créé par Sony en 1981
6. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
I. Généralités
1- Historique (suite):
* Milieu des années 60: naissance de la 1ère génération des SGBD basés sur des
conception d’hiérarchie et de réseau
* Début des années 70 : 2ème génération basées sur le modèle relationnel
* Début des années 80 : naissance des SGBD répartis puis multimédia (images, voix …)
* Actuellement on parle de base de données orientées objets.
7. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
I. Généralités
2- Pourquoi une BD ?
Exemple: Considérons une compagnie d’assurance vendant trois sortes d’assurances:
Assurance vie, automobile et local)
-La compagnie est organisée en trois département, chacun a ses propres fichiers
(traitement traditionnel). L’information est utilisée pour réaliser certain travaux.
Travail 1: gérer les assurances, Pour cela on a besoin :
-d’un fichier F1 des assurés : Numéro, nom, prénom, date de naissance, sexe, adresse..
-des programmes d’applications: P1 calcul de prime
P2 attestations
P3 mise à jour
8. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
I. Généralités
2- Pourquoi une BD ?
Exemple (suite):
Travail 2: gérer les sinistres, Pour cela on a besoin :
-d’un fichier F2 des sinistres : Numéro, date du sinistre, lieu, détail du sinistre..
-des programmes d’applications: P4 Ajout d’un sinistre
P5 mise à jour
Travail 3: règlement des sinistres, Pour cela on a besoin :
-des fichiers F1 et F2.
-d’un programme d’applications: P6 calcul et production du règlement
Chaque département a son propre système d’information semblable à celui-ci
9. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Récapitulons:
Département vie :
Chaque département a son propre système d’information semblable à celui-ci
F1
P1
P2
P3
Prime
Attestation
M-à-j
F2
P6
P4
P5
Prime
Attestation
M-à-j
10. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Problèmes avec l’utilisation des fichiers
Problème 1: un adhérent X a souscrit
l’assurance vie et auto. Son identifiant
(nom, prénom, age, adresse…) va figurer dans
deux fichiers
Défaut 1:
Redondance d’information espace perdu
F1
P1
P2
P3
Prime
Attestation
M-à-j
F2
P6
P4
P5
Prime
Attestation
M-à-j
11. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Problème 2: L’adhérent X déménage et
envoie l’avis de changement d’adresse qui
aboutit au département auto lequel met
son fichier à jour mais ne transmet pas
l’information au département vie
Défaut 2:
Redondance d’information inconsistance
d’information
ou
coût élevé de
modification
F1
P1
P2
P3
Prime
Attestation
M-à-j
F2
P6
P4
P5
Prime
Attestation
M-à-j
12. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Problèmes avec l’utilisation des fichiers
Problème 3: un changement dans le calcul des
primes exige une nouvelle donnée dans F1 (la
profession par exemple). Les programmes P2 et P3
bien que non concernés par cette nouvelle
information sont à corriger, de plus le fichier F1 est
à refaire
Défaut 3:
les programmes sont dépendant des données
F1
P1
P2
P3
Prime
Attestation
M-à-j
F2
P6
P4
P5
Prime
Attestation
M-à-j
13. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Problème 4: on veut savoir combien de femmes de
25 à 40 ans ont souscrit une assurance vie. Il faut
alors écrire tout un programme pour le savoir
Défaut 4:
les données sont accessibles seulement à travers
les programmes d’application
F1
P1
P2
P3
Prime
Attestation
M-à-j
F2
P6
P4
P5
Prime
Attestation
M-à-j
14. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Problèmes avec l’utilisation des fichiers
Problème 5: on veut savoir combien de personnes de sexe masculin ont souscrit une
assurance vie, une assurance local, mais pas d’assurance auto. Pour cela
il faut interroger les 3 fichiers F1, ce qui peut être complexe en raison de
codage différent ou de contraintes périphériques.
Défaut 5: les données dispersées créent de grandes difficultés pour le traitement
d’ensemble. A la limite, le délai de réponse peut être très grand, ou encore les
données inaccessibles.
15. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
Récapitulatif objectifs des BD
Défauts avec les fichiers Objectifs des BD
Redondance d’information Unicité de l’information
Dépendance des données à l’égard des
programmes
Indépendance des programmes d’applications
Données accessibles à travers les
programmes d’applications
Accès par : programmes et langages des
requêtes
Données dispersées et incohérentes Intégrité des données
Chacun a ses propres fichiers Partage des données par plusieurs utilisateurs
16. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
3- Qu’est ce qu’une base de données ?
Deux concepts sont à définir: une BD et un System de Gestion de BD (SGBD)
Une BD est une collection de données, de différents types, interconnectées et sur
lesquelles on peut développer plusieurs applications.
Une BD est un ensemble de données structurées et inter reliées qui sont fiables,
correctes, cohérentes et partageables par plusieurs utilisateurs ayant des besoins
d’informations différents et cela sous le contrôle d’une autorité unique qui est
l’administrateur de la BD (DBA)
Un SGBD est un logiciel qui permet à un utilisateur d’interagir avec une BD (stocker,
accéder, mettre à jour des données (Access, Oracle, SqlServer…)
17. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
II. Fonctions d’un SGBD
Un SGBD permet principalement d’organiser les données sur les supports, et fournit les
procédures de manipulation de ces mêmes données (recherche, sélection, mise à jour..)
Mais il a d’autres fonctions:
1. Description: le SGBD doit mettre à la disposition de l’utilisateur un outils pour décrire
l’ensemble de données qui sont stockées dans la BD. Il y a différents niveaux de description
de ces données:
-description logique: perception de la BD par l’utilisateur
-description physique: organisation des données sur les supports physiques
La description se fait par un langage de définition de données (LDD) propre à chaque
SGBD
18. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
II. Fonctions d’un SGBD
2. Utilisation: offrir à l’utilisateur une interaction avec la BD (rechercher, sélectionner et
modifier) .
Il existe 2 façon pour interroger la BD:
- par programmes d’application (informaticiens)
- avec langage de requêtes (non informaticien)
Cette utilisation se fait par un langage de manipulation de données (LMD)
3. Intégrité: offrir à l’utilisateur la possibilité de définir des règles qui permettent de
maintenir l’intégrité de la BD (règles ou contraintes d’intégrité: propriétés qui devront être
toujours vérifiées).
Exemple: 0<Note<20 ou note = -1 (absent)
19. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
II. Fonctions d’un SGBD
4. Confidentialité : puisqu’une BD est partagée par plusieurs utilisateurs, certains sous
ensembles ne doivent être accessibles que par des personnes autorisées.
Le SGBD doit offrir des mécanismes permettant de vérifier les droits d’accès des utilisateurs
(mots de passe, rôle..)
Exemple: …….
5. Synchronisation d’accès ou concurrence d’accès : lorsque les programmes
d’application accèdent aux même informations au même temps, le SGBD doit offrir les
mécanismes pour détecter les cas où il y aurait conflit d’accès et de les traiter correctement
(problème de lecture fantôme…)
20. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
II. Fonctions d’un SGBD
6. Sécurité de fonctionnement : en cas d’incident provenant du matériel ou du logiciel, la
BD n’est plus opérationnelle.
Afin d’assurer le redémarrage du système après la pane, le SGBD doit rétablir la base dans
un état cohérent (sur la base des fichiers journal et des sauvegardes à intervalles réguliers)
21. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
III- Les différents niveaux de représentation d’une BD
1- Niveau externe
2- Niveau conceptuel
3- Niveau interne
22. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
III- Les différents niveaux de représentation d’une BD
Schéma
externe 1
Schéma
conceptuel
Schéma
externe 1
Schéma
externe 1
Schéma
physique
BD
physique
Monde
réel
Procéssus de
modélisation
Niveau Externe Niveau Conceptuel Niveau interne
Groupes
d’utilisateurs
23. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
III- Les différents niveaux de représentation d’une BD
1- Le niveau externe est l’ensemble des schémas externes des différents groupes
d’utilisateurs.
Le schéma externe est la vision d’une partie du schéma conceptuel par un groupe
d’utilisateurs
Exemple: Le service vente n’a pas besoin d’avoir une vision globale sur toute la base, il peut
se limiter à la partie qui englobe les commandes, fournisseurs et produits
24. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
III- Les différents niveaux de représentation d’une BD
2- Le niveau conceptuel: Le schéma conceptuel est la partie fondamentale dans
l’architecture d’un système de BD. Il correspond à la sémantique (liens logiques) des
données de l’entreprise
Il représente les objets du monde réel (classe d’objets) et les associations entre eux
Exemple:
X
Y
.
Z
I.A
I.E
.
T
Etudiants Cycles
Inscription
(lien logique)
25. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
III- Les différents niveaux de représentation d’une BD
Le processus de modélisation se fait à l’aide d’un modèle de données.
Un modèle de données est un outil formel (ensemble de concepts et de règle) utilisés pour
représenter l’organisation logique des donnes
On distingue essentiellement entre trois modèles principaux:
- Le modèle hiérarchique
- Le modèle réseau
- Le modèle relationnel
26. CHAPITRE I: CONCEPTS FONDAMENTAUX D’UNE BD
III- Les différents niveaux de représentation d’une BD
3- Le niveau interne: Le schéma physique a pour but de spécifier comment les donnée
seront stockées sur les support (noms de fichiers, organisation, localisation,
enregistrements, chemin d’accès…)
28. CHAPITRE II: LA CONCEPTION LOGIQUE D’UNE BD
La conception logique d’une BD consiste à définir :
1- les types de données élémentaires (attributs) : nom client, adresse…
2- les types de données composées qui permettent de regrouper les attributs afin de décrire
les entités du monde réel: Client, étudiant, voiture, …
3- les types de données composées qui permettent de regrouper les attributs afin de décrire
les association du monde réel : inscription, propriétaire, locataire,…
4- Éventuellement, des règles que devrons suivre les données au cours de leurs existence
dans le système
Représentation
Modèle standard : Liens-Entités
29. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Définitions :
Attribut: c’est la plus petite abstraction au niveau de l’entreprise qui a une signification pour
l’utilisateur (Nom Client, CIN, Prix, …) attribut = propriété
Lien : c’est une association entre des objets. Un lien n’est pas une règle générale mais il
traduit une contrainte de l’entreprise
30. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Les 4 types de liens :
1- Lien hiérarhique de type (1 : N):
Soit A et B deux ensemble d’objets. On a un lien hiérarchique de type (1 : N) de A vers B,
noté : A (1 : N) B , si une occurrence de A permet de déterminer 0, 1 ou plusieurs
occurrences de B et si à une occurrence de B correspond au plus une occurrence de A
Exemple:
S1
S2
.
Sn
E1
E2
.
Ep
A:
Service
B:
Employé
31. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Les 4 types de liens :
2- Lien maillé de type (N : M):
Soit A et B deux ensemble d’objets. On a un lien maillé de type (N : M) de A vers B,
noté : A (N : M) B , si l’on n’a aucune restriction sur le nombre d’occurrences de A et de
B (c.à.d à une occurrence de A correspond 0, 1 ou plusieurs occurrences de B et
inversement)
Exemple:
F1
F2
.
Fn
P1
P2
.
Pi
A:
Fournisseur
B:
Produit
32. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Les 4 types de liens :
3- Lien fonctionnel de type (N : 1):
Soit A et B deux sous ensemble d’objets. On a un lien fonctionnel de type (N : 1) de A vers
B, noté : A (N : 1) B , si toute occurrence de A détermine au plus une occurrence de B
et si à une occurrence de B peut correspondre 0, 1 ou plusieurs occurrences de A
(B est dite déterminée par A)
Exemple: Etudiant (N°Etudiant, Nom, Clase)
A = {N°Etudiant}
B = {Nom, Clase} A (N : 1) B
Quand on connaît N°Etudiant on peut connaître son nom et sa classe, alors que
l’inverse n’est pas vrai.
33. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Les 4 types de liens :
4- Lien particulier de type (1 : 1):
Un lien particulier de type (1 : 1) noté : A (1 : 1) B , correspond à ce qu’une occurrence
de A détermine au plus une occurrence de B et inversement.
Exemple: Pays Capitale
Remarques:
Les liens hiérarchiques (1:N) et les liens maillés (N:M) sont des liens inter-entités
Les liens foncionnels sont des liens intra-entités
34. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Notion d’entité : Entité = Ensemble d’Attributs + Liens fonctionnels
Entité : Ensemble d’attributs liés fonctionnellement, qui représentent une abstraction d’une
partie de l’entreprise, qui a un nom et dont on peut identifier chaque occurrence
Exemple: Entité client, entité étudiant, entité produit
On distingue 2 types d’entités
a- les entités statiques (autonomes)
Entités dont l’existence ne dépend pas des attributs d’une autre entité
Exemple: Fournisseur, Client, ..
35. 1- Le Modèle Conceptuel « LIENS-ENTITES »
b- les entités dynamiques
Entités dont l’existence est liée à des attributs d’une ou plusieurs entités statiques
Elles n’ont un sens que comme résultat de l’association entre certaines entités statiques.
Une entité dynamique peut être porteuse ou non porteuse d’information
Exemple 1 : Client( N°Client, Nom, Adresse)
Article( N°Article, Désignation, Prix)
Article-Cde( N°Article, N°Client , QtéCommandée, DateCde)
Exemple 2 : Personne( N°CIN, Nom, Adresse)
Voiture( N°Voiture, Marque, Couleur, …)
Propriété( N°CIN, N°Voiture)
36. 1- Le Modèle Conceptuel « LIENS-ENTITES »
Remarques:
- Toute entité doit avoir un nom qui la distingue des autres
- Chaque élément d’une entité est appelé une occurrence
- Chaque occurrence d’une entité est distincte des autres
- Chaque entité possède au moins un identifiant constitué d’un ou plusieurs attributs qu’on
appelle clé.
Exemple d’illustration: entité clé attribut
Abonné( N°Abonné, Nom, Adresse)
valeur de l’attribut N°Abonné ( 123, Slimani, Rabat )
occurrence
37. 2- Le Modèle Hiérarchique
1- Définitions :
Un modèle de données hiérarchique : est un ensemble de définitions d’arborescence
Une définition d’arborescence : est un diagramme de données dans lequel chaque
entité, sauf la racine, a un seul arc incident de type (1:N) et 0, 1 ou plusieurs arcs
émergeant de type (1:N).
Exemple d’une définition d’arborescence :
Département
Division
Employé Projet
38. 2- Le Modèle Hiérarchique
Exemple d’un modèle qui n’est pas hiérarchique :
Professeur
Cours
Salle
Étudiant
Cycle
39. 2- Le Modèle Hiérarchique
le modèle hiérarchique correspondant est constitué de 2 définitions d’arborescence :
Professeur
Cours
Salle
Étudiant
Cours Étudiant
Cycle
1ère définition d’arborescence
1éme définition d’arborescence
40. 2- Le Modèle Hiérarchique
1- Définitions (suite) :
Une base de données hiérarchique : est un ensemble d’occurrence de définitions
d’arborescence
Exemple : soit le modèle suivant
Division
Service
N°Service N°Division
S1
S2
S3
S4
S5
S6
D1
D1
D2
D3
D3
D3
Le modèle correspondant est :
41. 2- Le Modèle Hiérarchique
2- Caractéristiques du modèle :
a- La relation Parent-Enfant : une occurrence d’entité d’un niveau i est dite parent, si elle
est associée avec au moins une occurrence d’entité de niveau i+1
Exemple : soit le modèle hiérarchique suivant
Département
Division
Employé Projet
Enfant
Niveau 0
Niveau 1
Niveau 2
Niveau 3
42. 2- Le Modèle Hiérarchique
2- Caractéristiques du modèle :
b- Élimination des occurrences d’entités : une occurrence d’une entité doit être reliée à
une occurrence Parent et ainsi de nœud en nœud jusqu’à l’occurrence racine.
l’élimination d’une occurrence d’entité donnée provoque l’élimination de tous ses
descendants
c- Les liens maillés dans le modèle hiérarchique : Le modèle hiérarchique ne peut
représenter directement un lien (N : M) entre deux entités.
Solution : duplication des occurrences ou création d’une nouvelle entité permettant
l’éclatement d’un lien (N : M) en deux lien (1 : N)
43. 2- Le Modèle Hiérarchique
Exemple : soit la structure suivante
Fournisseur
Produit
Fournisseur Produit
F1
F2
F3
F1
F2
F3
P1
P1
P2
P3
P4
P5
N : M
Solution avec duplication des occurrences :
Fournisseur Produit
Fournisseur Produit
Fournisseur
Produit
44. 2- Le Modèle Hiérarchique
(suite …)
Fournisseur
Produit
Fournisseur Produit
F1
F2
F3
F1
F2
F3
P1
P1
P2
P3
P4
P5
N : M
Solution par intégration d’une entité de lien :
Fournisseur Produit
Four/Prod
Fournisseur Produit
Four/Prod Four/Prod
Pointeurs logiques
Redondance au niveau logique
uniquement
45. 2- Le Modèle Hiérarchique
3- Les avantages du modèle :
- Le modèle hiérarchique est conceptuellement simple à comprendre et à utiliser
- Dans la réalité, plusieurs applications ne nécessitent que des relation de type (1 : N)
4- Les défauts du modèle :
- Démonstration à travers l’exemple:
Nom Dept Chef Dept Nbre employés
Nom Service Chef service
Num Emp Diplôme Date Recrut Salaire
Département
Service
Employé
46. 2- Le Modèle Hiérarchique
a- Problème de suppression :
- Un service devient inutile et on veut le supprimer de la base, sans toutefois supprimer les
informations des employés de ce service (qu’on va réaffecter)
L’élimination de ce service entraîne l’élimination de tous ses descendants
Nom Dept Chef Dept Nbre employés
Nom Service Chef service
Num Emp Diplôme Date Recrut Salaire
Département
Service
Employé
47. 2- Le Modèle Hiérarchique
b- Problème d’insertion :
- Supposons qu’on a recruté un nouvel employé et qu’on ne l’a pas encore affecté.
Où mettrons nous les informations sur cet employé??
Impossible d’insérer une occurrence fils sans insérer les occurrences des différents
parents hiérarchiques
Nom Dept Chef Dept Nbre employés
Nom Service Chef service
Num Emp Diplôme Date Recrut Salaire
Département
Service
Employé
48. 2- Le Modèle Hiérarchique
c- Problème de modification :
- Supposons qu’une augmentation des salaires touches une catégorie particulière
d’employés (licenciés par exemple). Le salaire doit être changé partout où apparaît le
diplôme licence. Pour cela, il faut parcourir tous les département et pour chaque
département passer par tous les services, puis tous les employés pour décider de
l’augmentation
La modification entraîne
un coût élevé, ou risque
d’inconsistance
Nom Dept Chef Dept Nbre employés
Nom Service Chef service
Num Emp Diplôme Date Recrut Salaire
Département
Service
Employé
49. 2- Le Modèle Hiérarchique
d- Problème de recherche / consultation :
- Il est facile de connaître les employés qui travaillent dans un département donné.
Cependant, il est beaucoup plus compliqué de savoir dans quel département se trouve les
employés ayant un salaire donné.
Coût élevé de recherche
Nom Dept Chef Dept Nbre employés
Nom Service Chef service
Num Emp Diplôme Date Recrut Salaire
Département
Service
Employé
50. 2- Le Modèle Hiérarchique
- Autres Problèmes :
- La difficulté d’exprimer les relations (N : M).
- nécessité d’espace de stockage important .
- Impossibilité d’exprimer des parents multiples .
51. 2- Le Modèle Relationnel
Inventé par CODD en 1970. il repose sur des bases mathématiques et principalement sur le
concept de relation …
Département
Division
Employé Projet
Département
Division Employé
Projet