Vous êtes sur la page 1sur 51

I.N.S.E.

A 2008 - 2012

Pratique de Bases de Donnes

Tlchargement cours + exemples :

Adresse http://ekhalid.magix.net/public

M. Khalid EL HACHEMI

Plan du cours
CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD I- Gnralits
1- Historique
2- Pourquoi une BD ? 3- Quest-ce qune base de donnes (BD et SGBD)

II- Fonctions dun SGBD


III- Les diffrents niveaux de reprsentation dune BD
1- Niveau externe 2- Niveau conceptuel 3- Niveau interne

Plan du cours
CHAPITRE II: La conception logique dune BD I- Le modle conceptuel Liens-Entits

II- Le modle hirarchique


III- Le modle relationnel IV- La mthode Merise
1- Modle conceptuel de donnes (MCD) 2- Modle logique de donnes (MLD) 3- Modle physique de donnes (MPD)

CHAPITRE II: Les langages de manipulation de donne

I- SQL
Exercices dapplication sur MS Access

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

I. Gnralits
1- Historique: * Donnes stockes sur bande magntique sous forme denregistrement squentiels pour

constituer des Fichiers


* Apparition des disques magntiques: Accs plus rapide aux donnes et stockage dune masse plus importante dinformation notion dorganisation de fichier et du systme de gestion des fichiers

* Avec le temps, les fichiers classiques pose un nombre de dfaut et de contraintes.


* De plus, dirigeants des entreprises deviennent de plus en plus exigeant: besoin dexploiter dune faon fine le systme dinformation par le biais de requte naissance du concept des bases de donnes

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Bande magntique

disques magntiques:
8: 1970-1980 5.25": 1976 3.5" : cr par Sony en 1981

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

I. Gnralits
1- Historique (suite): * Milieu des annes 60: naissance de la 1re gnration des SGBD bass sur des

conception dhirarchie et de rseau


* Dbut des annes 70 : 2me gnration bases sur le modle relationnel * Dbut des annes 80 : naissance des SGBD rpartis puis multimdia (images, voix ) * Actuellement on parle de base de donnes orientes objets.

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

I. Gnralits
2- Pourquoi une BD ? Exemple: Considrons une compagnie dassurance vendant trois sortes dassurances: Assurance vie, automobile et local) -La compagnie est organise en trois dpartement, chacun a ses propres fichiers (traitement traditionnel). Linformation est utilise pour raliser certain travaux.

Travail 1: grer les assurances, Pour cela on a besoin :


-dun fichier F1 des assurs : Numro, nom, prnom, date de naissance, sexe, adresse.. -des programmes dapplications: P1 calcul de prime P2 attestations

P3 mise jour

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

I. Gnralits
2- Pourquoi une BD ? Exemple (suite): Travail 2: grer les sinistres, Pour cela on a besoin : -dun fichier F2 des sinistres : Numro, date du sinistre, lieu, dtail du sinistre.. -des programmes dapplications: P4 Ajout dun sinistre P5 mise jour

Travail 3: rglement des sinistres, Pour cela on a besoin :


-des fichiers F1 et F2. -dun programme dapplications: P6 calcul et production du rglement

Chaque dpartement a son propre systme dinformation semblable celui-ci

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Rcapitulons:
P1 Prime

F1

P2

Attestation

P3

M--j

Dpartement vie :
P6 F2 P4 Prime Attestation

P5

M--j

Chaque dpartement a son propre systme dinformation semblable celui-ci

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Problmes avec lutilisation des fichiers


P1 Prime

Problme 1: un adhrent X a souscrit lassurance vie et auto. Son identifiant


F1 P2 Attestation

(nom, prnom, age, adresse) va figurer dans


deux fichiers Dfaut 1: Redondance dinformation espace perdu
F2

P3

M--j

P6 P4

Prime Attestation

P5

M--j

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Problme 2: Ladhrent X dmnage et


envoie lavis de changement dadresse qui aboutit au dpartement auto lequel met son fichier jour mais ne transmet pas
F1 P2 Attestation
P1 Prime

linformation au dpartement vie


Dfaut 2: Redondance dinformation inconsistance

P3

M--j

P6

Prime Attestation

dinformation
ou cot lev de modification

F2

P4

P5

M--j

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Problmes avec lutilisation des fichiers


P1 Prime Attestation

Problme 3: un changement dans le calcul des primes exige une nouvelle donne dans F1 (la
F1 P2

profession par exemple). Les programmes P2 et P3


bien que non concerns par cette nouvelle information sont corriger, de plus le fichier F1 est refaire Dfaut 3: les programmes sont dpendant des donnes
F2 P6 P4 Prime Attestation P3 M--j

P5

M--j

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Problme 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
F1 P2 Attestation P1 Prime

Dfaut 4: les donnes sont accessibles seulement travers les programmes dapplication
P6 F2 P4 Prime Attestation P3 M--j

P5

M--j

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Problmes avec lutilisation des fichiers


Problme 5: on veut savoir combien de personnes de sexe masculin ont souscrit une assurance vie, une assurance local, mais pas dassurance auto. Pour cela

il faut interroger les 3 fichiers F1, ce qui peut tre complexe en raison de
codage diffrent ou de contraintes priphriques. Dfaut 5: les donnes disperses crent de grandes difficults pour le traitement densemble. A la limite, le dlai de rponse peut tre trs grand, ou encore les donnes inaccessibles.

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

Rcapitulatif objectifs des BD


Dfauts avec les fichiers
Redondance dinformation Dpendance des donnes lgard des programmes Donnes accessibles travers les programmes dapplications Donnes disperses et incohrentes Chacun a ses propres fichiers

Objectifs des BD
Unicit de linformation Indpendance des programmes dapplications

Accs par : programmes et langages des requtes Intgrit des donnes Partage des donnes par plusieurs utilisateurs

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

3- Quest ce quune base de donnes ?


Deux concepts sont dfinir: une BD et un System de Gestion de BD (SGBD) Une BD est une collection de donnes, de diffrents types, interconnectes et sur

lesquelles on peut dvelopper plusieurs applications.


Une BD est un ensemble de donnes structures et inter relies qui sont fiables, correctes, cohrentes et partageables par plusieurs utilisateurs ayant des besoins dinformations diffrents et cela sous le contrle dune autorit unique qui est

ladministrateur de la BD (DBA)
Un SGBD est un logiciel qui permet un utilisateur dinteragir avec une BD (stocker, accder, mettre jour des donnes (Access, Oracle, SqlServer)

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

II. Fonctions dun SGBD


Un SGBD permet principalement dorganiser les donnes sur les supports, et fournit les procdures de manipulation de ces mmes donnes (recherche, slection, mise jour..) Mais il a dautres fonctions: 1. Description: le SGBD doit mettre la disposition de lutilisateur un outils pour dcrire lensemble de donnes qui sont stockes dans la BD. Il y a diffrents niveaux de description de ces donnes: -description logique: perception de la BD par lutilisateur -description physique: organisation des donnes sur les supports physiques La description se fait par un langage de dfinition de donnes (LDD) propre chaque SGBD

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

II. Fonctions dun SGBD


2. Utilisation: offrir lutilisateur une interaction avec la BD (rechercher, slectionner et modifier) .

Il existe 2 faon pour interroger la BD:


- par programmes dapplication (informaticiens) - avec langage de requtes (non informaticien) Cette utilisation se fait par un langage de manipulation de donnes (LMD) 3. Intgrit: offrir lutilisateur la possibilit de dfinir des rgles qui permettent de maintenir lintgrit de la BD (rgles ou contraintes dintgrit: proprits qui devront tre toujours vrifies). Exemple: 0<Note<20 ou note = -1 (absent)

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

II. Fonctions dun SGBD


4. Confidentialit : puisquune BD est partage par plusieurs utilisateurs, certains sous ensembles ne doivent tre accessibles que par des personnes autorises. Le SGBD doit offrir des mcanismes permettant de vrifier les droits daccs des utilisateurs

(mots de passe, rle..)


Exemple: . 5. Synchronisation daccs ou concurrence daccs : lorsque les programmes dapplication accdent aux mme informations au mme temps, le SGBD doit offrir les mcanismes pour dtecter les cas o il y aurait conflit daccs et de les traiter correctement (problme de lecture fantme)

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

II. Fonctions dun SGBD


6. Scurit de fonctionnement : en cas dincident provenant du matriel ou du logiciel, la BD nest plus oprationnelle.

Afin dassurer le redmarrage du systme aprs la pane, le SGBD doit rtablir la base dans
un tat cohrent (sur la base des fichiers journal et des sauvegardes intervalles rguliers)

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

III- Les diffrents niveaux de reprsentation dune BD


1- Niveau externe 2- Niveau conceptuel

3- Niveau interne

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD


III- Les diffrents niveaux de reprsentation dune BD
Monde rel
Procssus de modlisation

Groupes dutilisateurs Schma externe 1 Schma externe 1 Schma externe 1

Schma conceptuel

Schma physique

BD physique Niveau Conceptuel Niveau interne

Niveau Externe

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

III- Les diffrents niveaux de reprsentation dune BD


1- Le niveau externe est lensemble des schmas externes des diffrents groupes dutilisateurs.

Le schma externe est la vision dune partie du schma conceptuel par un groupe
dutilisateurs

Exemple: Le service vente na pas besoin davoir une vision globale sur toute la base, il peut se limiter la partie qui englobe les commandes, fournisseurs et produits

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

III- Les diffrents niveaux de reprsentation dune BD


2- Le niveau conceptuel: Le schma conceptuel est la partie fondamentale dans larchitecture dun systme de BD. Il correspond la smantique (liens logiques) des

donnes de lentreprise
Il reprsente les objets du monde rel (classe dobjets) et les associations entre eux Exemple:
Etudiants Cycles

X Y . Z

Inscription (lien logique)

I.A I.E . T

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

III- Les diffrents niveaux de reprsentation dune BD


Le processus de modlisation se fait laide dun modle de donnes. Un modle de donnes est un outil formel (ensemble de concepts et de rgle) utiliss pour reprsenter lorganisation logique des donnes On distingue essentiellement entre trois modles principaux: - Le modle hirarchique - Le modle rseau - Le modle relationnel

CHAPITRE I: CONCEPTS FONDAMENTAUX DUNE BD

III- Les diffrents niveaux de reprsentation dune BD


3- Le niveau interne: Le schma physique a pour but de spcifier comment les donne seront stockes sur les support (noms de fichiers, organisation, localisation,

enregistrements, chemin daccs)

Groupes dutilisateurs Schma externe 1 Schma externe 1 Schma externe 1

Monde rel
Procssus de modlisation

Schma conceptuel

Schma physique

BD physique Niveau Conceptuel Niveau interne

Niveau Externe

CHAPITRE II: LA CONCEPTION LOGIQUE DUNE BD

La conception logique dune BD consiste dfinir :


1- les types de donnes lmentaires (attributs) : nom client, adresse 2- les types de donnes composes qui permettent de regrouper les attributs afin de dcrire

les entits du monde rel: Client, tudiant, voiture,


3- les types de donnes composes qui permettent de regrouper les attributs afin de dcrire les association du monde rel : inscription, propritaire, locataire, 4- ventuellement, des rgles que devrons suivre les donnes au cours de leurs existence dans le systme Reprsentation

Modle standard : Liens-Entits

1- Le Modle Conceptuel LIENS-ENTITES

Dfinitions :

Attribut: cest la plus petite abstraction au niveau de lentreprise qui a une signification pour lutilisateur (Nom Client, CIN, Prix, ) attribut = proprit

Lien : cest une association entre des objets. Un lien nest pas une rgle gnrale mais il traduit une contrainte de lentreprise

1- Le Modle Conceptuel LIENS-ENTITES

Les 4 types de liens :

1- Lien hirarhique de type (1 : N): Soit A et B deux ensemble dobjets. On a un lien hirarchique de type (1 : N) de A vers B, not : A
(1 : N )

B , si une occurrence de A permet de dterminer 0, 1 ou plusieurs

occurrences de B et si une occurrence de B correspond au plus une occurrence de A Exemple:


A: Service B: Employ

S1 S2 . Sn

E1 E2 . Ep

1- Le Modle Conceptuel LIENS-ENTITES

Les 4 types de liens :


2- Lien maill de type (N : M): Soit A et B deux ensemble dobjets. On a un lien maill de type (N : M) de A vers B,

not : A

(N : M)

B , si lon na aucune restriction sur le nombre doccurrences de A et de

B (c..d une occurrence de A correspond 0, 1 ou plusieurs occurrences de B et inversement) Exemple:


A: Fournisseur B: Produit

F1 F2 . Fn

P1 P2 . Pi

1- Le Modle Conceptuel LIENS-ENTITES


Les 4 types de liens :

3- Lien fonctionnel de type (N : 1):


Soit A et B deux sous ensemble dobjets. On a un lien fonctionnel de type (N : 1) de A vers B, not : A (N : 1) B , si toute occurrence de A dtermine au plus une occurrence de B

et si une occurrence de B peut correspondre 0, 1 ou plusieurs occurrences de A (B est dite dtermine par A) Exemple: Etudiant (NEtudiant, Nom, Clase) A = {NEtudiant}

B = {Nom, Clase}

(N : 1)

Quand on connat NEtudiant on peut connatre son nom et sa classe, alors que linverse nest pas vrai.

1- Le Modle 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 quune occurrence

de A dtermine au plus une occurrence de B et inversement. Exemple: Pays Capitale

Remarques: Les liens hirarchiques (1:N) et les liens maills (N:M) sont des liens inter-entits

Les liens foncionnels sont des liens intra-entits

1- Le Modle Conceptuel LIENS-ENTITES


Notion dentit : Entit = Ensemble dAttributs + Liens fonctionnels

Entit : Ensemble dattributs lis fonctionnellement, qui reprsentent une abstraction dune partie de lentreprise, qui a un nom et dont on peut identifier chaque occurrence Exemple: Entit client, entit tudiant, entit produit

On distingue 2 types dentits a- les entits statiques (autonomes) Entits dont lexistence ne dpend pas des attributs dune autre entit

Exemple:

Fournisseur, Client, ..

1- Le Modle Conceptuel LIENS-ENTITES


b- les entits dynamiques Entits dont lexistence est lie des attributs dune ou plusieurs entits statiques Elles nont un sens que comme rsultat de lassociation entre certaines entits statiques. Une entit dynamique peut tre porteuse ou non porteuse dinformation Exemple 1 : Client( NClient, Nom, Adresse) Article( NArticle, Dsignation, Prix) Article-Cde( NArticle, NClient , QtCommande, DateCde) Exemple 2 : Personne( NCIN, Nom, Adresse) Voiture( NVoiture, Marque, Couleur, ) Proprit( NCIN, NVoiture)

1- Le Modle Conceptuel LIENS-ENTITES


Remarques: - Toute entit doit avoir un nom qui la distingue des autres - Chaque lment dune entit est appel une occurrence - Chaque occurrence dune entit est distincte des autres - Chaque entit possde au moins un identifiant constitu dun ou plusieurs attributs quon appelle cl. Exemple dillustration: entit cl attribut

Abonn( NAbonn, Nom, Adresse) valeur de lattribut NAbonn ( 123, Slimani, Rabat ) occurrence

2- Le Modle Hirarchique
1- Dfinitions : Un modle de donnes hirarchique : est un ensemble de dfinitions darborescence Une dfinition darborescence : est un diagramme de donnes 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 dune dfinition darborescence :
Dpartement

Division

Employ

Projet

2- Le Modle Hirarchique

Exemple dun modle qui nest pas hirarchique :

Professeur

Cycle

Cours

tudiant

Salle

2- Le Modle Hirarchique

le modle hirarchique correspondant est constitu de 2 dfinitions darborescence :

Professeur

Cycle

Cours

Cours

tudiant

Salle

1me dfinition darborescence

tudiant
1re dfinition darborescence

2- Le Modle Hirarchique
1- Dfinitions (suite) : Une base de donnes hirarchique : est un ensemble doccurrence de dfinitions darborescence Exemple : soit le modle suivant Le modle correspondant est :
Division

NService
S1

NDivision
D1

S2
S3 S4 S5 S6

D1
D2 D3 D3 D3

Service

2- Le Modle Hirarchique
2- Caractristiques du modle : a- La relation Parent-Enfant : une occurrence dentit dun niveau i est dite parent, si elle est associe avec au moins une occurrence dentit de niveau i+1 Exemple : soit le modle hirarchique suivant
Dpartement Niveau 0

Division

Niveau 1

Employ

Projet

Niveau 2

Enfant

Niveau 3

2- Le Modle Hirarchique
2- Caractristiques du modle : b- limination des occurrences dentits : une occurrence dune entit doit tre relie une occurrence Parent et ainsi de nud en nud jusqu loccurrence racine. llimination dune occurrence dentit donne provoque llimination de tous ses descendants

c- Les liens maills dans le modle hirarchique : Le modle hirarchique ne peut reprsenter directement un lien (N : M) entre deux entits. Solution : duplication des occurrences ou cration dune nouvelle entit permettant lclatement dun lien (N : M) en deux lien (1 : N)

2- Le Modle Hirarchique
Exemple : soit la structure suivante
Fournisseur F1 F2 F3 F1 F2 F3 Produit P1 P1 P2 P3 P4 P5 N:M Produit Fournisseur

Solution avec duplication des occurrences :


Fournisseur Fournisseur Produit Produit Fournisseur Produit

2- Le Modle Hirarchique
(suite )

Fournisseur F1 F2
F3 F1 F2 F3

Produit P1 P1
P2 P3 P4 P5

Fournisseur
N:M Produit

Solution par intgration dune entit de lien :

Fournisseur

Produit

Fournisseur

Produit

Pointeurs logiques

Four/Prod

Four/Prod

Four/Prod

Redondance au niveau logique uniquement

2- Le Modle Hirarchique
3- Les avantages du modle : - Le modle hirarchique est conceptuellement simple comprendre et utiliser - Dans la ralit, plusieurs applications ne ncessitent que des relation de type (1 : N)

4- Les dfauts du modle :

- Dmonstration travers lexemple:


Dpartement Nom Dept Service Nom Service Employ Num Emp Diplme Date Recrut Salaire Chef service Chef Dept Nbre employs

2- Le Modle Hirarchique
a- Problme de suppression : - Un service devient inutile et on veut le supprimer de la base, sans toutefois supprimer les informations des employs de ce service (quon va raffecter) Llimination de ce service entrane llimination de tous ses descendants

Dpartement Nom Dept Service Nom Service Employ Num Emp Diplme Date Recrut Salaire Chef service Chef Dept Nbre employs

2- Le Modle Hirarchique
b- Problme dinsertion : - Supposons quon a recrut un nouvel employ et quon ne la pas encore affect. O mettrons nous les informations sur cet employ??

Impossible dinsrer une occurrence fils sans insrer les occurrences des diffrents

parents hirarchiques
Dpartement Nom Dept Service Nom Service Employ Num Emp Diplme Date Recrut Salaire Chef service Chef Dept Nbre employs

2- Le Modle Hirarchique
c- Problme de modification : - Supposons quune augmentation des salaires touches une catgorie particulire demploys (licencis par exemple). Le salaire doit tre chang partout o apparat le diplme licence. Pour cela, il faut parcourir tous les dpartement et pour chaque dpartement passer par tous les services, puis tous les employs pour dcider de

laugmentation
Dpartement

La modification entrane un cot lev, ou risque

Nom Dept Service Nom Service Employ Num Emp

Chef Dept

Nbre employs

dinconsistance

Chef service

Diplme

Date Recrut

Salaire

2- Le Modle Hirarchique
d- Problme de recherche / consultation : - Il est facile de connatre les employs qui travaillent dans un dpartement donn. Cependant, il est beaucoup plus compliqu de savoir dans quel dpartement se trouve les employs ayant un salaire donn. Cot lev de recherche
Dpartement Nom Dept Service Nom Service Employ Num Emp Diplme Date Recrut Salaire Chef service Chef Dept Nbre employs

2- Le Modle Hirarchique
- Autres Problmes : - La difficult dexprimer les relations (N : M). - ncessit despace de stockage important . - Impossibilit dexprimer des parents multiples .

2- Le Modle Relationnel
Invent par CODD en 1970. il repose sur des bases mathmatiques et principalement sur le concept de relation

Dpartement

Dpartement

Projet

Division

Division

Employ

Employ

Projet