Vous êtes sur la page 1sur 30

Universit Sidi Mohammed Ben Abdallah

Facult des Sciences Dhar El Mehrez Fs

Initiation aux bases de


donnes

Pr. MAHRAZ Med Adnane


ANNE UNIVERSITAIRE: 2016 - 2017
1

Dfinition
Bases

de donnes : Ensemble de donnes


structur/organis non redondantes dont l'organisation
est rgie par un modle de donnes.

Modles de donnes :

Comment sont organises les donnes dans la bases.


Mthodes utilise pour la conception de la base

Modles de donnes

Anne 40 : premiers ordinateurs

Modle Hirarchique
Modle Rseau
1970 Boyce-Codd modle relationnel
Modle Objet

Introduction
Les bases de donnes sont partout :

Commerants (gestion des commandes)


Lieu de travail (gestion des employs)
Hpital, mdecin (gestion des dossiers patients)

Applications mtiers ( Architecte)


Applications web
4

Quand utiliser une base de donnes


Application simple (type carnet dadresses):

Donnes ranges dans un tableau

Donnes structures par enregistrement

Un tableur est amplement suffisant (par ex. Excel)

Quand utiliser une base de donnes


Application plus complexe Base de donnes:

Donnes stockes dans plusieurs tables

En fonction des objets quelles dcrivent

Table des clients


Table des fournisseurs

Table des commandes

Il existe des liens entre ces tables


Utilisation concurrente de la base (plusieurs utilisateurs
peuvent accder aux donnes en mme temps)

Base de donnes ?
Une base de donnes est un ensemble structur
d'informations non redondantes dont l'organisation est
rgie par un modle de donnes.

Modle relationnel :

Chaque entit (table) est compose dun nombre fini de donnes


lmentaires composes de champs ou attributs
La redondance est minimale
7

SGBD ?

Systme de Gestion de Bases de Donnes


Logiciels ou ensemble de logiciels permettant lutilisation
efficace de Bases de Donnes :

Dfinition
Construction

Manipulation
Partage
Protection

SGBD: Bref historique

Premire prsentation officielle de lapproche relationnelle: E.F. Codd


(IBM) 1970
Premiers prototypes de SGBD: Systme R dIBM et INGRES de
luniversit de Berkeley
Premier langage de requtes:

SEQUEL (qui deviendra SQL) pour le systme R 1974

Premiers SGBD relationnels commerciaux

ORACLE (1979)
SQL/DS IBM (1981)
INFORMIX, DB2, UNIFY,

SGBD
Relationnel

1974 Ingres
1979 Oracle
1981 Informix
1983 DB2
1985 PostGres
1989 SQL server / 1992 Access
1995 MySQL

Oracle Objet
O2

Objet

10

Microsoft Access

SGBD Relationnel

Pas cher
Facile utiliser

Compatibilit

Windows

Versions

2003, 2007,2010,2013

2016
11

Objectifs du SGBD

Garantir la qualit des donnes enregistres


retrouver les donnes des commandes passes
Garantir la cohrence des donnes
le client de chaque commande est il rpertori?
Permettre plusieurs utilisateurs daccder aux donnes simultanment
Protger les donnes en cas dincident
Contrler laccs aux donnes confidentielles,
Offrir de bonnes performances daccs
Etc.

12

Conception dune base de donnes

Modlisation conceptuelle indispensable avant la conception


dune application de base de donnes
Plusieurs Mthodes

Entit/Association
Merise

Booch
OMT (Object Modeling Technique)
UML
13

Concevoir une Base de Donnes:


Etapes
1.

Analyse du besoin : construction du dictionnaire des


donnes

2. Structuration des donnes : dtermination des entits


et associations

3.

Construction du schma de la base de donnes : mise en


relation des entits

4. Mise en uvre dans un SGBD


14

Analyse du besoin
Analyse des documents reprsentatifs des donnes que
lon souhaite modliser

Documents papier
Fichiers
Compte-rendu dentretien oral

Liste complte des donnes reprsenter dans la base


Liste des besoins fonctionnels connus
15

Exemple

On souhaite grer des tudiants qui suivent diffrents


enseignements dun diplme.
On dispose de :

la liste des tudiants avec leurs donnes personnelles


Les bulletins de notes des tudiants
La liste des enseignants avec pour chacun la matire enseigne

Rgles de gestion :

Un tudiant a 1 note par matire


Un enseignant enseigne 1 seule matire
16

NEtudiant

NMatire

Nom de l'tudiant Date de naissance


1 Saidi Reda
21/04/1996
2 Meknassi souad
16/03/1997
3 Riffi mohamed
26/08/1995

Relev de notes
Etudiant : 1, Saidi Reda
Nom
Coefficient
1 Base de donnes
2 JAVA
3 lectronique
Moyenne Gnrale

Sexe
M
F
M

Note/20
3
5
2

10
9
13
10,1

Liste des enseignants


Nenseignant Nom
Grade
Anciennet Matire enseigne
10 Bennani MohamedPES
2 Base de donnes
11 Tahiri redouane PES
1 JAVA
12 Samar salwa
PH
5 lectronique

17

Dictionnaire des donnes

Extraire les informations lmentaires

attributs ou champs du dictionnaire des donnes

Pour chaque attribut on prcisera :

Nom
Descriptif
Type de donne

Contraintes dintgrit
Rgle de calcul
18

Structuration des donnes


Modle Entits Associations
Entit = un objet rel ou conceptuel

Possde des attributs qui le dcrivent


tudiant 1:

N=2,Nom= Meknassi souad,DateNaiss=16/03/1997,Sexe= F

Types dentits composs dentits homognes, dans


lesquels la redondance dinformation est minimale
19

Chaque entit possde une Cl Primaire : Permet


didentifier chaque entit de faon unique. Cest un
attribut ou une combinaison dattributs.

Numro dtudiant, N Scurit sociale,

Etudiant

Matire

Enseignant

Code_etudiant
Nom_etudiant
DDN_etudiant
Sexe_etudiant

Code_matiere
Nom_matiere
Coef_matiere

Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

20

Associations, Relations

Type dassociation dfinit un ensemble dassociations


entre entits (types dentits)

On dira Association
Degr = nombre dEntits qui participent lassociation
Salle

Enseignant
Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

Code_Salle
Nom_Salle
Capacit_Salle

Enseigne

Matire
Code_matiere
Nom_matiere
Coef_matiere
21

Attributs dassociations
Quand lattribut ne dpend totalement daucune des
entits qui participent la relation
Etudiant

Etudie

Matire

Code_etudiant
Nom_etudiant
Adrs_etudiant
Sexe_etudiant

Note

Code_matiere
Nom_matiere
Coef_matiere

22

Cardinalits
Contrainte de participation : nombre minimal
dinstances de relation auxquelles chaque entit peut
participer

Ratio de cardinalit : nombre maximal dinstances de


relation auxquelles chaque entit peut participer

Possibilit : 0:1, 1:1, 0:n,1:n


23

Cardinalits
1 matire doit tre enseigne par un enseignant et un
seul

1 enseignant enseigne au moins une matire et peut


enseigner plusieurs matires
Enseignant
Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

Matire
Enseigne
1:n

1:1

Code_matiere
Nom_matiere
Coef_matiere
24

Cardinalits
1 matire peut tre tudie par aucun tudiant et peut
tre tudie par plusieurs

1 tudiant tudie au moins une matire et peut en tudier


plusieurs.
Etudiant
Code_etudiant
Nom_etudiant
DDN_etudiant
Sexe_etudiant

Matire

Etudie
1:n

Note

0:n

Code_matiere
Nom_matiere
Coef_matiere

25

Passage au modle relationnel


Etudiant
Code_etudiant
Nom_etudiant
ADR_etudiant
Sexe_etudiant

Matire

Etudie
1:n

Note

0:n

Code_matiere
Nom_matiere
Coef_matiere
1:1
Enseigne

Reprsentation de la base de

donnes en Relations (tables)


composes de
proprits(colonnes) et de
tuples(lignes)

1:n
Enseignant
Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

26

Rgles de transformation
Association E1(1:1)-A-(1:N)E2 dite 1 N

la cl primaire de E2 devient cl trangre de E1

Toutes les entits deviennent des relations et on conserve leurs cls


primaires
Enseignant

Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

Enseignant
Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

Matire
Enseigne
1:n

1:1

Code_matiere
Nom_matiere
Coef_matiere
Matire
Code_matiere
Nom_matiere
Coef_matiere27

Rgles de transformation
Association E1(0,N)-A-(0,N)E2 ou E1(0,N)-A-(1,N)E2 ou
E1(1,N)-A-(0,N)E2 ou E1(1,N)-A-(1,N)E2 dites n-n

On cre une nouvelle relation dont la cl primaire est compose


des cls primaires de E1 et E2 et qui contient les proprits de A

Etudiant
Code_etudiant
Nom_etudiant
DDN_etudiant
Sexe_etudiant

Matire

Etudie
1:n

Note

0:n

Code_matiere
Nom_matiere
Coef_matiere

28

Rgles de transformation

Associations n-n

On cre une nouvelle relation dont la cl primaire est compose


des cls primaires de E1 et E2 et qui contient les proprits de A
Etudiant

Code_etudiant
Nom_etudiant
DDN_etudiant
Sexe_etudiant
Etudiant
Code_etudiant
Nom_etudiant
DDN_etudiant
Sexe_etudiant

Matire

Etudie
1:n

Note

Etudie

Note

0:n

Code_matiere
Nom_matiere
Coef_matiere

Matire
Code_matiere
Code_matiere
Nom_matiere
Coef_matiere
Code_Enseignant29

Modle relationnel
Etudiant

Etudie

Matire

Enseignant

Code_etudiant
Nom_etudiant
DDN_etudiant
Sexe_etudiant

Code_Etudiant
Code_Matiere
Note

Code_matiere
Nom_matiere
Coef_matiere

Code_enseignant
Nom_enseignant
Grade_enseignant
Anciennet_enseignant

Code_enseignant

ETUDIANT(Code_etudiant, Nom_etudiant,

DDN_etudiant, Sexe_etudiant)

MATIERE(Code_matiere, Nom_matiere ,Coef_matiere,


,Code_enseignant)
Etudie (Code_Etudiant, Code_Matiere, Note)

ENSEIGNANT(Code_enseignant, Nom_enseignant,
Grade_enseignant, Anciennet_enseignant)

30