Vous êtes sur la page 1sur 60

Introduction aux bases de

donnes
Dr. Mohammed BOUTABIA
Universit Internationale de
Casablanca
1

Des donnes yen a partout


Au niveau personnel

Des relevs de banques, de cartes de crdit


Des carnets dadresses
La consommation du tlphone
Des papiers utiles
Des horaires et disponibilits de transport
=> Important de les stocker mais pas obligatoire

Au niveau de lentreprise
Fiche de paye des salaris
Liste des fournisseurs
Liste des clients
Produits en stock
=> Donnes trs importantes et mme stratgiques
Il est impratif de stocker ces informations en lieu sr et pouvoir les
consulter nimporte quel moment
2

Systme dinformation (SI)


Un systme d'information (SI) est un ensemble
organis de ressources (matriels, logiciels,
personnel, donnes et procdures) qui permet de
regrouper, de classifier, de traiter et de diffuser
de l'information sur un environnement donn =>
concept plus gnrale qu'une simple base de
donnes
Donnes
Sur des objets (produit, personne, facture, etc.)
Sur des vnements (vente, embauche, etc.)
3

Donne
lment fondamental qui sert de base un
systme dinformation
Elle est considre comme un objet qui entre
dans le systme dinformation o il sera soumis
un ou plusieurs traitements pour rpondre aux
besoins des utilisateurs du systme
Peut correspondre
Un lment de donne
Une structure de donnes
4

lment de donne
La plus petite unit porteuse dune signification
pour les utilisateurs du systme
Exemples :
Numro dassurance sociale
Prix dun article
Description dun produit

Souvent reprsent par un type de donne


lmentaire
Chaine de caractres
Numrique (entier, rel)
5

Structure de donnes
Ensemble dlments de donnes
Peut inclure :
Des lments de donnes
Dautres structures de donnes

Ex: Facture
Numro de facture
Prix total
Client
Numro
Nom
6

Base de donnes
Dfinition : une base de donnes est un ensemble structur de donnes
reprsentant un univers donne (1) enregistres sur des supports
accessibles par lordinateur (2) pour satisfaire simultanment plusieurs
utilisateurs (3) de manire slective (4) en un temps opportun (5).

(1) : Organisation et description de donnes


(2) : Stockage sur disque
(3) : Partage des donnes
(4) : Confidentialit
(5) : Performance

Exemples
Annuaire tlphonique
Dictionnaire
Horaires de trains

Nest pas une base de donnes


Roman -> Non structur

Systme de gestion de bases de donnes


(SGBD)
Ensemble de programmes qui grent un
ensemble de donnes et qui permettent
plusieurs utilisateurs de stocker des donnes,
de les modifier, de les supprimer et dextraire
des informations partir de cette base de
donnes
Protge les utilisateurs de la base de donnes
des dtails du niveau matriel
8

Historique
1950-1960
Des fichiers squentiels, du batch

1960 1970
Le dbut des bases de donnes hirarchiques

1970 1980
La naissance du modle relationnel

Dbut des annes 90


Sql, laide la dcision

Fin des annes 90


Croissance du volume des donnes, Internet, modle multi
tiers
9

SGF / SGBD
utilisateurs

&

programmes dapplication

SGBD

systme de fichiers
systme dexploitation

DONNEES
10

Les limites de lutilisation des fichiers


De telles applications sont
rigides, (difficile modifier)
longues et coteuse mettre en uvre
connaissance technique approfondies
Les donnes associes sont :
mal dfinies et mal dsignes,
redondantes
peu accessibles de manire ponctuelle
Manque de contrle daccs
11

SGBD
Le SGBD permet dinteragir avec une BD est Systme de
Gestion de Base de Donnes (SGBD)

SGBD

BD

12

SGBD
Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physiques

Un SGBD facilite:
- la gestion de donnes, avec une reprsentation intuitive simple sous forme
de table par exemple
- la manipulation de donnes. On peut insrer, modifier les donnes et les
structures sans modifier les programmes qui manipulent la base de donnes

Base de donnes
Fichier 1
Fichier 2
Fichier 3

Programme 1
SGBD

Programme 2
Programme 3

13

SGBD pour quel objectifs?


Indpendance physique
Manipulations des donnes par des non
informaticiens
Efficacit des accs aux donnes
Cohrence des donnes (intgrit)
Non redondance des donnes
Partageabilit des donnes
Scurit des donnes
Rsistance aux pannes
14

Objectifs des SGBD


Indpendance physique : ne plus se soucier de la manire
dont les fichiers sont stockes sur le disque => image
logique de la base de donnes, (ou aussi description
logique ou conceptuelle). On peut insrer, supprimer,
modifier des donnes directement sur limage logique. Le
SGBD va soccuper de faire le travail sur les fichiers
physiques.
Image logique

Image physique
Fichiers
physiques
15

Objectifs des SGBD


Manipulations des donnes par des non informaticiens. Il
faut pouvoir accder aux donnes sans savoir programmer
ce qui signifie des langages quasi naturels .
Efficacit des accs aux donnes : Ces langages doivent
permettre dobtenir des rponses aux interrogations en un
temps raisonnable. Il doivent donc tre optimiss
(minimiser le nombre daccs disques).

16

Objectifs des SGBD


Cohrence des donnes. Les donnes sont soumises un certain nombre
de contrainte dintgrit qui dfinissent un tat cohrent de la base. Elles
doivent pouvoir tre exprimes simplement et vrifies automatiquement
chaque insertion, modification ou suppression de donnes, par exemple:
lge dune personne suprieur zro
Le solde dun compte est toujours positive

Ds que lon essaie de saisir une valeur qui ne respecte pas cette
contrainte, le SGBD le refuse.

17

Objectifs des SGBD


Non redondance des donnes : Afin dviter les problmes lors des mises
jour, chaque donne ne doit tre prsente quune seule fois dans la base.
Partageabilit des donnes : Il sagit de permettre plusieurs utilisateurs
daccder aux mmes donnes au mme moment. Si ce problme est
simple rsoudre quand il sagit uniquement dinterrogations et quand on
est dans un contexte mono-utilisateur, ce nest pas le cas quand il sagit de
modifications dans un contexte multi-utilisateurs:
Permettre deux (ou plus) utilisateurs de modifier la mme donne en
mme temps ;
Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant
une table pendant quun autre la modifie.
Gestion des accs concurrents

18

Objectifs des SGBD


Scurit des donnes. Les donnes doivent pouvoir tre
protges contre les accs non autoriss. Pour cela, il faut
pouvoir associer chaque utilisateur des droits daccs aux
donnes.
Rsistance aux pannes Les pannes se produisent de temps en
temps. Il faut pouvoir, lorsque lune delles arrive, rcuprer
une base dans un tat sain => fichiers de journalisation

19

Accs concurrents
Les donnes peuvent tre manipules simultanment
par plusieurs utilisateurs.
Lobjectif est de mettre la disposition du plus grand
nombre dutilisateur un ensemble intgre (cohrent)
de donnes
Ex: transactions bancaires simultanes
La solution pour les accs concurrents consiste
verrouiller les donnes momentanment (pendant la
dure de la transaction). Les autres transactions sont
alors en attente.
20/15

Trois Fonctions dun SGBD


Description des donnes : codification structuration,
grce un Langage de Description de Donnes (LDD)
Manipulation et restitution des donnes (insertion,
mise jour, interrogation)
Mise en uvre laide dun Langage de Manipulation de
Donnes (LMD)
S.Q.L. (Structures Query Langage) : Langage standard

Contrle et administration (partage, intgrit,


confidentialit, scurit)
21

Types de SGBD

Hirarchique
Rseau
Relationnel
Objet

22

SGBD hirarchique
Structure arborescente
Compte bancaire

Amine Drissi

23150

8 450 000

Khadija Alami

24140

175

Ahmed Alaoui

23150

8 450 000

24140

175

23

SGBD hirarchique
Caractristiques
Accs vertical (haut vers bas et bas vers haut)
Les chemins hirarchiques sont implments par des
pointeurs

Problmes
Redondance des donnes : une modification du solde
dun seul compte ncessite plusieurs mises jour
Coteux en espace mmoire
Accs aux informations parfois difficiles et/ou
coteus : clients possdant un compte donn
24

SGBD rseau
Compos denregistrements et de liens
Amine

Drissi

Ahmed

Alaoui

Khadija

Alami

23150

8 450 000

24140

175

25

SGBD rseau
Implmentation avec des pointeurs
Avantages
Redondance limine, moins despace mmoire
Manipulations plus faciles

Inconvnients
Accs squentiel, donc lent
Difficile programmer et maintenir

Les SGBD hirarchiques et rseaux sont


aujourdhui considrs comme obsoltes
26

SGBD relationnel (SGBDR)


Constitue de tables reprsentant des objets
ou des associations entre objets
TABLE CLIENT
NOCLIENT NOM

PRENOM

KOI01

Drissi

Amine

DEL01

Alami

Khadija

KOI02

Alaoui

Ahmed

TABLE COMPTE
NOCOMPTE SOLDE
23150

8 450 000

24140

175

TABLE COMPTE-CLIENT
NOCOMPTE NOCLIENT
23150

KOI01

23150

KOI02

24140

DEL01

24140

KOI02

27

SGBD relationnel (SGBDR)


Pas de pointeurs
Une table est compose de
Colonnes
Portent un nom unique lintrieur dune table
Peuvent faire partie de plusieurs tables (pour les lier)

Ranges ou lignes
Identifies par une cl unique (cl primaire) compose
dune ou plusieurs colonnes

28

Cl primaire
La valeur de la cl primaire doit tre

Unique dans chaque table


De longueur fixe
De longueur raisonnable
Non modifiable

Comment choisir une cl primaire


Numro dassurance sociale ?
Nom + Prnom ?
Numro de tlphone ?
=> Identifient dans le monde rel ou attribu par
ladministrateur de la BD
29

SGBD relationnel (SGBDR)


Lien logique de chaque valeur dune range la cl
primaire => relation de dpendance
Exemple
TABLE CLIENT
NOCLIENT NOM

PRENOM

VILLE

DEL01

Khadija

Marrakech 40000

Alami

CODE POSTAL

Le Prnom Khadija dpend de la cl DEL01 => correct


Le code postal dpend de la ville, donc dun autre attribut
que la cl primaire => faux
Ville et code postale doit figurer dans une autre table
30

SGBD relationnel (SGBDR)


Lien logique entre les tables
Une range dune table peut avoir un lien logique
nomm relation avec une ou plusieurs ranges dune
ou de plusieurs autres tables
Relation reprsente par une cl trangre

Cl trangre

Constitue dune ou de plusieurs colonnes


Reprsente la relation entre deux ranges
Correspond toujours une cl primaire
Ex : NOCLIENT est la cl primaire de la TABLE CLIENT
et une cl trangre de la table COMPTE-CLIENT
31

SGBD relationnel (SGBDR)


Avantages
Redondance minimise : seules les cls primaires
sont dupliques
Facilit de programmation et dexploitation
Structure base sur la logique mathmatique
Possde son propre langage normalis : SQL
Portabilit
Quelques SGBD (relationnels du march)
Micro : ACCESS, SQL Server, Dbase, PostSQL, MySQL,
Gros systme : DB2, ORACLE, SYBASE,
32

SQL (Structured Query Language)


Ensemble de commandes permettant de crer
et dexploiter une base de donnes
relationnelle
Assume toutes les principales fonctions dun
SGBD => cration de table, insertion, mise
jour, suppression, requtes
Peut tre intgr dans des applications crites
en diffrents langages (C, C++, ASP, PHP, etc.)
33

Les intervenants dans un SGBD


Utilisateurs
Utilisent les applications conues par les concepteurs
Entrent, modifient, suppriment et consultent les
donnes

Concepteurs
De bases de donnes : conoivent les modles de
donnes et crent la structure de la base de donnes
Dapplications : dveloppent des programmes qui
grent les bases de donnes

Administrateurs (DBA)
Grent le systme, les utilisateurs (oprateurs et
concepteurs), les objets et les privilges
34

Etapes de construction dune BD


La mise en place dune Base de donnes passe
par plusieurs tapes :
Analyse du domaine dactivit: dfinition des
besoins en informations et recensement des
donnes utiles pour le domaine dactivit.
Modlisation ( Reprsentation) des Donnes du
domaine.
Construction du schma de la Base de Donnes.

35

tapes de construction dune BD


Situation
initiale
informatiser

Analyse de
la situation et
des donnes

Implantation
de la base
de donnes

Modlisation
de la base
de donnes

Base de donnes = image organisationnel de lentreprise

36

Analyse du domaine
Il sagit dune tape fondamentale quon trouve
dans tout projet dinformatisation et en
particulier celui de la construction dune Base de
Donnes.
Cette tape consiste :
Comprendre le domaine dactivit.
Prciser les primtres fonctionnels et
organisationnels.
Fixer les acteurs utilisateurs de la BD.
Recenser les donnes, les traitements et les rgles qui
les rgissent.
37

Analyse du domaine
Exemple dune bibliothque:
Des objets: exemple OUVRAGES, ETUDIANTS
Des proprits des objets (attributs) : exemple Titre de OUVRAGES
Des liens entre les objets : un OUVRAGE peut tre emprunt par un
ETUDIANT
Des contraintes : le nombre dexemplaires dun OUVRAGE est
suprieur zro

Cette tape aboutit ltablissement de deux


catalogues ( listes):
Un dictionnaire des donnes.
Un catalogue des rgles de gestion.
38

Modlisation des donnes


Cette tape consiste :
Lobtention du schma de la base de donnes.
Selon un formalisme spcifique ( UML, Merise)

le schma conceptuel est la base pour la


structure de la base de donne

39

Implmentation de la BD
Il sagit dimplmenter sur ordinateur, le
schma de la base de donnes, obtenu dans
ltape prcdente.
La construction de la base de donnes se fait
laide dun SGBD.
Une fois construite la base pourra tre
exploite par les utilisateurs.

40

Oprations sur les BD


Deux catgories doprations sur les BD
Les oprations de dfinition de la structure de la
BD (squelette de la BD) => ralises une fois pour
toute partir du schma conceptuel
Oprations de manipulation de donnes =>
exploitation de la base de donnes

Dfinition de la structure
Les informations relatives un domaine
donn concernent plusieurs sujets (produit,
client, commande)
Chaque sujet est caractris par un certain
nombre dattributs
Exemple: produit
Code produit
Dsignation
prix

Dfinition de la structure
Chaque sujet sera reprsent dans la base par
une table
La table regroupe les informations sur le sujet
sous forme de champs
Dfinir la table consiste
Attribuer un nom la table
Dfinir les champs (colonne)

Dfinir le champs dune tabel consiste


Attribuer un nom au champs
Dfinir les proprits du chapms

Dfinition de la structure
Parmi les proprits dun champs
Le type: domaine des valeurs du champs
Taille: nombre de caractre du champs
Format: montaire, pourcentage
Valeur par dfaut

Modification de la structure
La maintenance de la BD peut mener des
modification de la structure de la BD
On peut modifier la structure de la BD par
Lajout, suppression ou modification de la
structure de la table

La structure de la table est modifie par


Lajout, suppression ou la modification des
proprits dun champs

Manipulation du contenu
La manipulation du contenu consiste
Ajouter un enregistrement (une ligne) qui correspond
une instance du sujet, exemple: ajout du produit
caf au catalogue des produit, ajout dun nouveau
client
Modifier les champs dun enregistrement, exemple:
modifier le prix dun produit
Supprimer un enregistrement
Rechercher des informations, quels sont les produits
commands par les clients de casablanca?

Les contraintes dintgrit

dfinition
La contrainte dintgrit est une condition qui
porte sur le contenu dune table de la base de
donnes
La contrainte dintgrit est implment
partir des rgles de gestion du domaine
dactivit
Le SGBD veille au respect en permanence de
ces contraintes dintgrit

exemples
Un article doit tre identifi de manire
unique (une rfrence par article)
Lge minimal des employs est 18 ans
Le prix de vente des articles est suprieur un
centime
Une commande est pass par un seul client

Types de contraintes dintgrit


Unicit de la cl primaire
Une cl primaire est un ensemble minimal de champs dont
la valeur est unique dans toute la table
Deux lignes diffrentes de la mme table ont des cls
primaires diffrentes
Code article, CIN, CNE

Contrainte de domaine
Cest une condition qui porte sur les valeurs dun champ
Restreindre les valeurs dun champ un sous ensemble
donn
Exemple: le nombre des tudiants dans une classe est
compris entre 20 et 30 tudiants

Types de contraintes dintgrit


Relation dintgrit rfrentielle:
Cest une condition qui porte sur la relation entre
les lignes dune table avec les lignes dune autre
table
cet effet la cl primaire dune table va migrer
vers lautre table pour mettre en uvre cette
relation

Relation un un
La rgle de gestion est
Un lment de la table 1 est en relation avec un et un seul lment de la table 2
Un lment de la table 2 est en relation avec un et un seul lment de la table 1

Implmentation dans la BD => cl primaire dune des deux tables migre vers
lautre table, la table qui voit sa cl migrer est appele table rfrenante et
la table qui reoit la cl trangre est appele table rfrence
Condition sur la cl trangre:

mme type de donnes


mme longueur
les appellations peuvent tre diffrentes
La Cl trangre doit tre index sans doublons
Table 2

Table 1
Cl primaire
Attribut 1
Attribut 2
Attribut 3

1,1

associer

1,1

Cl primaire
Attribut 1
Attribut 2
Attribut 3

exemple
La rgle de gestion est :
Un homme est mari une et une femme
Une femme est marie un et un homme

Implmentation dans la BD => CIN de homme migre vers la


table femme
Exemple:
femme

homme
CIN
Nom
Prnom
Date de naissance

1,1

Est
mari

1,1

CIN
Nom
Prnom
Date de naissance

Relation un plusieurs
La rgle de gestion:
Un lment de la table 1 est en relation avec un et un lment de la table 2
Un lment de la table 2 est en relation avec un ou plusieurs lments de la
table 1

Implmentation dans la BD => la cl primaire de la table 2 migre vers la


table 1
Condition sur la cl trangre

mme type de donnes


mme longueur
les appellations peuvent tre diffrentes)
La cl trangre doit tre indexe avec doublons
Table 2

Table 1
Cl primaire
Attribut1
Attribut 2

1,1

associer

1,n

Cl primaire
Attribut1
Attribut 2

exemple
La rgle de gestion:
Un tudiant choisi une et une filire
Une filire est choisi par un ou plusieurs tudiant

Implmentation dans la BD => la cl primaire de la table filire


migre vers la table tudiant
Exemple:
filires

Etudiant
Numro tudiant
Nom
Prnom
Date de naissance

Code filire
Intitul

1,1

choisir

1,n

Relations plusieurs plusieurs


La rgle de gestion:
Un lment de la table 1 est li un ou plusieurs lments de la table 2
Un lment de la table 2 est li un ou plusieurs lments de la table 1

Implmentation dans la BD => cration dune nouvelle table qui


a comme identifiant les deux cls primaires des deux tables, les
attribut de lassociation deviennent les champs de la table
cre
Table 2

Table 1

Cl primaire
Attribut 1
Attribut 2

Cl primaire
Attribut 1
Attribut 2

1,n

associer
attribut

1,n

exemple
La rgle de gestion:
Un tudiant suit plusieurs modules
Un modules est suivi par plusieurs tudiants

Implmentation dans la BD => cration dune nouvelle table


qui a comme cl primaire les deux cls primaires des tables
tudiant et modules, la note est un champ de la table
modules

Etudiant
Numro tudiant
Nom
Prnom
Date de naissance

Code module
Intitul

1,n

suivre
note

1,n

Les requtes
Une requtes est un ordre envoy la base de
donnes dons le but dextraire, mettre jour ou
supprimer certaines donnes selon quelques
critres
Une requte peut tre base sur une ou plusieurs
tables
Les bases de donnes relationnelle utilise le
langage SQL pour excuter les requtes
Il y a aussi un mode graphique pour les dbutants

Types de requtes
Requte slection : Affiche les enregistrements qui rpondent aux
critres demands. C'est le type que vous allez utiliser le plus
souvent. Il affiche seulement les enregistrements qui rpondent aux
critres slectionns.
Requte analyse croise : Affiche un tableau de synthse crois
selon les champs demands.
Requte nouvelle table: Cration dune nouvelle table avec les
champs demands selon les critres demands.
Requte mise jour: Mise jour des enregistrements selon les
critres demands.
Requte ajout: Ajoute des enregistrements dune autre table selon
les critres demands.
Requte suppression: limine des enregistrements selon les
critres demands. Il est possible d'effacer en mme temps un
groupe d'enregistrements qui rpondent aux critres demands.

Les tapes pour la cration dune


requte
1. Choisir la ou les tables et les requtes
ncessaires
2. Choisir le type de requte
3. Choisir le ou les champs ncessaires
4. Dterminer si les champs ont besoin dtre tris
5. Cacher les champs au besoin
6. Dterminer les critres de slection
7. Excuter la requte