Cours SGBD 1
Concepts et langages des
Bases de Donn es Relationnelles
SUPPORT DE COURS
IUT de Nice D partement INFORMATIQUE
IUT de Nice - Cours SGBD1
1
Plan
Chapitre 1
Introduction g n rale
Chapitre 2
Le mod le relationnel
Chapitre 3
Pr sentation des donn es
Chapitre 4
Lalg bre relationnelle
Chapitre 5
Le langage QBE
Chapitre 6
Le langage SQL
Chapitre 7
Gestion des transactions
Chapitre 8
Programmation avec VBA
Chapitre 9
Les objets dans Access
Chapitre 10
Linterface DAO
Chapitre 11
Le mode client serveur et ODBC
Chapitre 12
Automation et le mod le DCOM
IUT de Nice - Cours SGBD1
2
Chapitre 1
Introduction g n rale
I.
Notions intuitives
II.
Objectifs et avantages des SGBD
III.
Larchitecture ANSI/SPARC
IV.
Notion de mod lisation des donn es
V.
Survol des diff rents mod les de donn es
VI.
Bref historique,
principaux SGBD commercialis s
IUT de Nice - Cours SGBD1
3
I Notions intuitives
" Base de donn es
ensemble structur de donn es apparent es qui
mod lisent un univers r el
Une BD est faite pour enregistrer des faits, des op rations au
sein d'un organisme
(administration, banque, universit , h pital, ...)
Les BD ont une place essentielle dans l'informatique
" Syst me de Gestion de Base de Donn es (SGBD)
DATA BASE MANAGEMENT SYSTEM (DBMS)
syst me qui permet de g rer une BD partag e par
plusieurs utilisateurs simultan ment
IUT de Nice - Cours SGBD1
4
" Des fichiers aux Base de Donn es
S paration des donn es et des programmes
FICHIER
BASE DE DONNEES
Les donn es des fichiers sont
d crites dans les programmes
Les donn es de la BD sont
d crites hors des programmes
dans la base elle-m me
Description
fichier
Description
fichier
Programmes
Description
unique
Programmes
La multiplication des fichiers entra nait la redondance des
donn es, ce qui rendait difficile les mises jour.
D'o l'id e d'int gration et de partage des donn es
IUT de Nice - Cours SGBD1
5
II Objectifs et avantages des SGBD
Que doit permettre un SGBD ?
(cid:137) D crire les donn es
ind pendamment des applications (de mani re
intrins que)
langage de d finition des donn es
DATA DEFINITION LANGUAGE (DDL)
(cid:137) Manipuler les donn es
interroger et mettre jour les donn es
sans pr ciser d'algorithme d'acc s
dire QUOI sans dire COMMENT
langage de requ tes d claratif
ex.:
quels sont les noms des produits de prix < 100F ?
langage de manipulation des donn es
DATA MANIPULATION LANGUAGE (DML)
IUT de Nice - Cours SGBD1
6
(cid:137) Contr ler les donn es
int grit
v rification de contraintes d'int grit
ex.: le salaire doit tre compris entre 400F et
20000F
confidentialit
contr le des droits d'acc s, autorisation
langage de contr le des donn es
DATA CONTROL LANGUAGE (DCL)
IUT de Nice - Cours SGBD1
7
(cid:137) Partage
une BD est partag e entre plusieurs utilisateurs en
m me temps
contr le des acc s concurrents
notion de transaction
L'ex cution d'une transaction doit pr server la
coh rence de la BD
(cid:137) S curit
reprise apr s panne, journalisation
(cid:137) Performances d'acc s
index (hashage, arbres balanc s ...)
IUT de Nice - Cours SGBD1
8
(cid:137) Ind pendance physique
Pouvoir modifier les structures de stockage ou les
index sans que cela ait de r percussion au niveau des
applications
Les disques, les m thodes dacc s, les modes de
placement, le codage des donn es ne sont pas
apparents
(cid:137) Ind pendance logique
Permettre aux diff rentes applications davoir des
vues diff rentes des m mes donn es
Permettre au DBA de modifier le sch ma logique sans
que cela ait de r percussion au niveau des
applications
IUT de Nice - Cours SGBD1
9
III Larchitecture ANSI/SPARC
" proposition en 75 de l ANSI/SPARC
(Standard Planning And Requirement Comitte)
" 3 niveaux de repr sentation des donn es
EXTERNE
Vue 1
Vue 2
CONCEPTUEL
Sch ma logique
DICTIONNAIRE DE DONNEES
INTERNE
Sch ma physique
STRUCTURE DE DONNEES
SGBD
Niveaux de repr sentation des donn es
IUT de Nice - Cours SGBD1
10
(cid:137) Le niveau externe
Le concept de vue permet d'obtenir l'ind pendance
logique
La modification du sch ma logique nentra ne pas la
modification des applications
(une modification des vues est cependant n cessaire)
Chaque vue correspond la perception dune partie des
donn es, mais aussi des donn es qui peuvent tre
synth tis es partir des informations repr sent es dans
la BD (par ex. statistiques)
(cid:137) Le niveau conceptuel
il contient la description des donn es et des
contraintes dint grit (Dictionnaire de Donn es)
le sch ma logique d coule dune activit de
mod lisation
(cid:137) Le niveau interne
il correspond aux structures de stockage et aux
moyens dacc s (index)
IUT de Nice - Cours SGBD1
11
Pour r sumer :
Les fonctions des SGBD
" DEFINITION DES DONNEES
Langage de d finition des donn es (DDL)
(conforme un mod le de donn es)
" MANIPULATION DES DONNEES
Interrogation
Mise jour
insertion, suppression, modification
Langage de manipulation des donn es (DML)
(langage de requ te d claratif)
" CONTR LE DES DONNEES
Contraintes d'int grit
Contr le des droits d'acc s
Gestion de transactions
Langage de contr le des donn es (DCL)
IUT de Nice - Cours SGBD1
12
IV Notion de mod lisation des donn es
UNIVERS REEL
MODELE
CONCEPTUEL
MCD
SCHEMA
LOGIQUE
Mod les s mantiques
Orient s conception
Entit -Association, Merise &
Mod les de BD
Hi rarchique, R seau
Relationnel &
" Les mod les de BD sont souvent trop limit s pour
pouvoir repr senter directement le monde r el
" M thodologies de conception pr sent es en ACSI,
SGBD2
IUT de Nice - Cours SGBD1
13
Le mod le Entit -Association
EA en fran ais, ER en anglais (pour Entity Relationship)
Formalisme retenu par l'ISO pour d crire l'aspect
conceptuel des donn es laide dentit s et
dassociations
(cid:137) Le concept dentit
Repr sentation dun objet mat riel ou immat riel
Par exemple un employ , un projet, un bulletin de paie
Nom de lentit
Liste des propri t s
" Les entit s peuvent tre regroup es en types
dentit s
Par exemple, on peut consid rer que tous les employ s
particuliers sont des instances du type dentit g n rique
EMPLOYE
Par exemple lemploy nomm DUPONT est une instance ou
occurrence de lentit EMPLOYE
IUT de Nice - Cours SGBD1
14
(cid:137) Les propri t s
donn es l mentaires relatives une entit
Par exemple, un num ro demploy , une date de d but
de projet
" on ne consid re que les propri t s qui int ressent un
contexte particulier
" Les propri t s dune entit sont galement appel es
des attributs, ou des caract ristiques de cette entit
(cid:137) Lidentifiant
propri t ou groupe de propri t s qui sert identifier
une entit
Lideintifiant dune entit est choisi par lanalyste de
fa on ce que deux occurrences de cette entit ne
puissent pas avoir le m me identifiant
Par exemple, le num ro demploy sera lidentifiant de
lentit EMPLOYE
IUT de Nice - Cours SGBD1
15
(cid:137) Les associations
Repr sentation dun lien entre deux entit s ou plus
" une association peut avoir des propri t s particuli res
Par exemple, la date demprunt dun livre
adh rent
exemplaire
emprunter
date demprunt
Publicité
IUT de Nice - Cours SGBD1
16
(cid:137) Les cardinalit s
La cardinalit dune association pour une entit
constituante est constitu e dune borne minimale et
dune borne maximale :
" Minimale : nombre minimum de fois quune
occurrence de lentit participe aux occurrences de
lassociation, g n ralement 0 ou 1
" Maximale : nombre maximum de fois quune
occurrence de lentit participe aux occurrences de
lassociation, g n ralement 1 ou n
Par exemple :
adh rent
exemplaire
emprunter
0,3
date demprunt
0,1
" La cardinalit 0,3 indique quun adh rent peut tre
associ 0, 1, 2 ou 3 livres, cest dire quil peut
emprunter au maximun 3 livres.
" A linverse un livre peut tre emprunt par un seul
adh rent, ou peut ne pas tre emprunt .
IUT de Nice - Cours SGBD1
17
" Les cardinalit s maximum sont n cessaires pour
concevoir le sch ma de la base de donn es
" Les cardinalit s minimums sont n cessaires pour
exprimer les contraintes dint grit
En notant uniquement les cardinalit s maximum,
on distingue 3 type de liens :
" Lien fonctionnel 1:n
" Lien hi rarchique n:1
" Lien maill n:m
IUT de Nice - Cours SGBD1
18
Lien fonctionnel
1:n
A
1
B
n
Une instance de A ne peut tre associ e qu' une seule
instance de B
Par exemple :
employ
d partement
travaille
n
1
Un employ ne peut travailler que dans un seul
d partement
IUT de Nice - Cours SGBD1
19
Lien hi rarchique n:1
A
B
n
1
Une instance de A peut tre associ e plusieurs
instances de B
Inverse d'un lien 1:n
d partement
employ
n
emploie
1
Un d partement emploie g n ralement plusieurs
employ s
IUT de Nice - Cours SGBD1
20
Lien maill n:m
A
B
n
m
Une instance de A peut tre associ e plusieurs
instances de B et inversement
Par exemple :
employ
projet
n
participe
m
De ce sch ma, on d duit quun employ peut participer
plusieurs projets.
IUT de Nice - Cours SGBD1
21
Exemple de diagramme Entit Association
d partement
travaille
n
1
est chef de
dirige
a pour chef
1
n
employ
n
participe
m
projet
IUT de Nice - Cours SGBD1
22
V Les diff rents mod les de donn es
" L'organisation des donn es au sein d'une BD a une
importance essentielle pour faciliter l'acc s et la mise
jour des donn es
Hi rarchique
Liens 1:N
R seau
Liens N:M
Relationnel
Liens N:1
SGBDR
IUT de Nice - Cours SGBD1
23
" Les mod les hi rarchique et r seau sont issus du
mod le GRAPHE
" donn es organis es sous forme de graphe
"
langages d'acc s navigationnels
(adressage par liens de cha nage)
" on les appelle "mod les d'acc s"
" Le mod le relationnel est fond sur la notion
math matique de RELATION
"
introduit par Codd (recherche IBM)
" donn es organis es en tables (adressage relatif)
" strat gie d'acc s d termin e par le SGBD
IUT de Nice - Cours SGBD1
24
LE MOD LE R SEAU
" Sch ma logique repr sent par un GRAPHE
noeud
arc
: article (repr sente une entit )
: lien hi rarchique 1:N
" Exemple de sh ma r seau
CLIENT
PRODUIT
VENTE
Diagramme de Bachman
" Langage navigationnel pour manipuler les donn es
"
Impl mentation d'un lien par une liste circulaire :
r
R
S
L
s1
s2
.....
sn
IUT de Nice - Cours SGBD1
25
" Exemple de sch ma r seau :
CLIENTS
PRODUITS
x
y
p
q
r
x, p
x, q
y, p
y, r
x
y
p
q
r
Repr sentation dune association N:M par 2 liens
CODASYL
IUT de Nice - Cours SGBD1
26
LE MOD LE HI RARCHIQUE
" Sch ma logique repr sent par un ARBRE
noeud
arc
: segment (regroupement de donn es)
: lien hi rarchique 1:N
" Exemple de sh ma hi rarchique
CLIENT
PRODUIT
VENTE
CLIENT
PRODUIT
VENTE
" Choix possible entre plusieurs arborescences
(le segment racine est choisi en fonction de l'acc s souhait )
" Dissym trie de traitement pour des requ tes sym triques
En prenant l'ex. pr c dent, consid rer les 2 requ tes :
Trouver les no de produits achet s par le client x
a)
b)
Trouver les no de clients qui ont achet le produit p
Elles sont trait es diff remment suivant le choix du segment racine
(Client ou Produit)
" Ad quation du mod le pour d crire des organisations
structure arborescente (ce qui est fr quent en gestion)
IUT de Nice - Cours SGBD1
27
LE MOD LE RELATIONNEL
" En 1970, CODD pr sente le mod le relationnel
" Sch ma logique repr sent par des RELATIONS
LE SCH MA RELATIONNEL
Le sch ma relationnel est l'ensemble des RELATIONS
qui mod lisent le monde r el
" Les relations repr sentent les entit s du monde r el
(comme des personnes, des objets, etc.) ou les
associations entre ces entit s
" Passage d'un sch ma conceptuel E-A un sch ma
relationnel
- une entit est repr sent e par la relation :
nom_de_l'entit (liste des attributs de l'entit )
- une association M:N est repr sent e par la relation :
nom_de_l'association (
liste des identifiants des entit s participantes,
liste des attributs de l'association)
IUT de Nice - Cours SGBD1
28
" Ex . :
CLIENT (IdCli, nom, ville)
PRODUIT (IdPro, nom, prix, qstock)
VENTE (IdCli, IdPro, date, qte)
Repr sentation des donn es sous forme de tables :
CLIENT
PRODUIT
VENTE
IdCli
X
Y
Z
IdPro
P
Q
R
S
IdCli
X
X
X
Y
Y
Z
Nom
Smith
Jones
Blake
Nom
Auto
Moto
Velo
Pedalo
IdPro
P
Q
R
P
Publicité
Q
Q
Ville
Paris
Paris
Nice
Prix
Qstock
100
100
100
100
Date
Qte
10
10
10
10
1
2
3
4
5
6
LES AVANTAGES DU MOD LE RELATIONNEL
IUT de Nice - Cours SGBD1
29
" SIMPLICITE DE PR SENTATION
- repr sentation sous forme de tables
" OP RATIONS RELATIONNELLES
- alg bre relationnelle
- langages assertionnels
"
INDEPENDANCE PHYSIQUE
- optimisation des acc s
- strat gie d'acc s d termin e par le syst me
"
INDEPENDANCE LOGIQUE
- concept de VUES
" MAINTIEN DE LINTEGRIT
- contraintes d'int grit d finies au niveau du
sch ma
IUT de Nice - Cours SGBD1
30
VI Bref historique, principaux syst mes
Ann es 60 Premiers d veloppements des BD
fichiers reli s par des pointeurs
"
" syst mes IDS 1 et IMS 1 pr curseurs des SGBD
modernes
Ann es 70 Premi re g n ration de SGBD
" apparition des premiers SGBD
" s paration de la description des donn es de la
manipulation de celles-ci par les applications
" mod les hi rarchique et r seau CODASYL
"
" SGBD IDMS, IDS 2 et IMS 2
langages d'acc s navigationnels
Ann es 80 Deuxi me g n ration
" mod le relationnel
"
les SGBDR repr sentent l'essentiel du march BD
(aujourd'hui)
" architecture r partie client-serveur
Ann es 90 Troisi me g n ration
" mod les de donn es plus riches
" syst mes objets
OBJECTSTORE, O2
IUT de Nice - Cours SGBD1
31
Principaux syst mes
" Oracle
" DB2 (IBM)
" Ingres
" Informix
" Sybase
" SQL Server (Microsoft)
" O2
" Gemstone
Sur micro :
" Access
" Paradox
" FoxPro
" 4D
" Windev
Sharewares :
" MySQL
" MSQL
" Postgres
" InstantDB
IUT de Nice - Cours SGBD1
32
Chapitre 2
Le mod le relationnel
I. LES CONCEPTS
II. LES D PENDANCES
FONCTIONNELLES
III. LES R GLES D'INT GRIT
IV. LES FORMES NORMALES
IUT de Nice - Cours SGBD1
33
I LES CONCEPTS
" LE DOMAINE
" LA RELATION
" LES N-UPLETS
" LES ATTRIBUTS
" LE SCH MA DUNE RELATION
" LE SCH MA DUNE BDR
" LA REPR SENTATION
IUT de Nice - Cours SGBD1
34
(cid:137) LE DOMAINE
ensemble de valeurs atomiques d'un certain type
s mantique
Ex. :
NOM_VILLE = { Nice, Paris, Rome }
" les domaines sont les ensembles de valeurs possibles
dans lesquels sont puis es les donn es
" deux ensembles peuvent avoir les m mes valeurs
bien que s mantiquement distincts
Ex. :
NUM_ELV = { 1, 2, & , 2000 }
NUM_ANNEE = { 1, 2, & , 2000 }
IUT de Nice - Cours SGBD1
35
(cid:137) LA RELATION
sous ensemble du produit cart sien de plusieurs
domaines
R D1 D2 ... Dn
D1, D2, ... , Dn sont les domaines de R
n est le degr ou larit de R
Ex.:
Les domaines :
NOM_ELV = { dupont, durant }
PREN_ELV = { pierre, paul, jacques }
DATE_NAISS = {Date entre 1/1/1990 et 31/12/2020}
NOM_SPORT = { judo, tennis, foot }
La relation ELEVE
ELEVE NOM_ELV PREN_ELV DATE_NAISS
ELEVE = { (dupont, pierre, 1/1/1992),
(durant, jacques, 2/2/1994)
}
La relation INSCRIPT
INSCRIPT NOM_ELV NOM_SPORT
INSCRIPT = { (dupont, judo), (dupont, foot),
(durant, judo)
}
IUT de Nice - Cours SGBD1
36
(cid:137) LES N-UPLETS
un l ment d'une relation est un n-uplet de valeurs
(tuple en anglais)
" un n-uplet repr sente un fait
Ex.:
Dupont pierre est un l ve n le 1 janvier1992
dupont est inscrit au judo
" DEFINITION PR DICATIVE DUNE RELATION
Une relation peut tre consid r e comme un PR DICAT
n variables
(x, y, z) vrai (x, y, z) R
Ex. :
est_inscrit (dupont, judo) (dupont, judo) INSCRIPT
IUT de Nice - Cours SGBD1
37
(cid:137) LES ATTRIBUTS
Chaque composante d'une relation est un attribut
" Le nom donn un attribut est porteur de sens
" Il est en g n ral diff rent du nom de domaine
" Plusieurs attributs peuvent avoir le m me domaine
Ex. :
La relation TRAJET :
TRAJET NOM_VILLE NOM_VILLE
Dans laquelle la premi re composante repr sente la ville de
d part VD, la deuxi me composante la ville darriv e VA dun
trajet.
IUT de Nice - Cours SGBD1
38
(cid:137) LE SCH MA DUNE RELATION
Le sch ma d'une relation est d fini par :
- le nom de la relation
- la liste de ses attributs
on note :
R (A1, A2, ... , An)
Ex.:
ELEVE (NOM, PRENOM, NAISS)
INSCRIPT (NOM_ELV, SPORT)
TRAJET (VD, VA)
" Extension et Intension
- L'extension d'une relation correspond l'ensemble
de ses l ments (n-uplets)
le terme RELATION d signe une extension
- L'intention d'une relation correspond sa
signification
le terme SCH MA DE RELATION d signe
l'intention d'une relation
IUT de Nice - Cours SGBD1
39
(cid:137) LE SCH MA DUNE BDR
Le sch ma d'une base de donn es est d fini par :
- l'ensemble des sch mas des relations qui la
composent
Notez la diff rence entre :
"
"
le sch ma de la BDR qui dit comment les donn es
sont organis es dans la base
l'ensemble des n-uplets de chaque relation, qui
repr sentent les donn es stock es dans la base
" Conception de Sch ma Relationnel
- Probl me :
Comment choisir un sch ma appropri ?
- M thodologies de conception
cours ACSI
cours SGBD 2
IUT de Nice - Cours SGBD1
40
(cid:137) LA REPR SENTATION
1 RELATION = 1 TABLE
U1
U2
U3
V1
V2
V3
W1
W2
W3
X1
X2
X3
Y1
Y2
Y3
1 L MENT ou n-uplet = 1 LIGNE
LIGNE
1 l ment
U1
V1
W1
X1
Y1
une relation est un ensemble on ne peut pas avoir 2 lignes
identiques
1 ATTRIBUT = 1 COLONNE
U1
U2
U3
COLONNE
1 attribut ou propri t
IUT de Nice - Cours SGBD1
41
Exemples :
- La relation ELEVE
ELEVE :
l ment
NOM
dupont
durant
duval
PRENOM
NAISS
Pierre
Jacques
Publicité
Paul
1/1/1992
2/2/1994
3/03/81
- La relation INSCRIPT
INSCRIPT :
NOM_ELV
SPORT
l ment
Dupont
Dupont
Durant
- La relation TRAJET
TRAJET :
l ment
VD
Nice
Paris
Rome
judo
foot
judo
VA
paris
rome
nice
IUT de Nice - Cours SGBD1
42
Fen tre Cr ation de Table dAccess
Affichage dune table dans Access
S lecteur denregistrement
Boutons de d placement
IUT de Nice - Cours SGBD1
43
II LES D PENDANCES
FONCTIONNELLES
(cid:137) D pendance fonctionnelle
Soit R(A1, A2, ...., An) un sch ma de relation
Soit X et Y des sous ensembles de {A1,A2,...An)
On dit que Y d pend fonctionnellement de X (X->Y) si
chaque valeur de X correspond une valeur unique de Y
on crit :
X Y
on dit que : X d termine Y
Ex.:
PRODUIT (no_prod, nom, prixUHT)
no_prod (nom, prixUHT)
NOTE (no_contr le, no_ l ve, note)
(no_contr le, no_ l ve) note
" une d pendance fonctionnelle est une propri t
s mantique, elle correspond une contrainte
suppos e toujours vrai du monde r el
D.F. l mentaire
D.F. X -> A mais A est un attribut unique non inclus dans X et il
nexiste pas de X inclus dans X tel que X -> A
IUT de Nice - Cours SGBD1
44
(cid:137) La cl dune relation
attribut (ou groupe minimum d'attributs) qui d termine
tous les autres
Ex.:
PRODUIT (no_prod, nom, prixUHT)
no_prod (nom, prixUHT)
no_prod est une cl
" Une cl d termine un n-uplet de fa on unique
" Pour trouver la cl d'une relation, il faut examiner
attentivement les hypoth ses sur le monde r el
" Une relation peut poss der plusieurs cl s, on les
appelle cl s candidates
Ex.:
dans la relation PRODUIT, nom est une cl candidate (
condition qu'il n'y ait jamais 2 produits de m me nom)
IUT de Nice - Cours SGBD1
45
(cid:137) Cl primaire
choix d'une cl parmi les cl s candidates
(cid:137) Cl trang re ou cl secondaire
attribut (ou groupe d'attributs) qui fait r f rence la cl
primaire d'une autre relation
Ex.:
CATEG (no_cat, design, tva)
PRODUIT(no_prod, nom, marque, no_cat, prixUHT)
no_cat dans PRODUIT est une cl trang re
CL TRANG RE = CL PRIMAIRE dans une autre
relation
IUT de Nice - Cours SGBD1
46
III LES R GLES D'INT GRIT
Les r gles d'int grit sont les assertions qui
doivent tre v rifi es par les donn es contenues
dans une base
Le mod le relationnel impose les contraintes
structurelles suivantes :
(cid:137) INT GRIT DE DOMAINE
(cid:137) INT GRIT DE CL
(cid:137) INT GRIT R F RENCIELLE
" La gestion automatique des contraintes dint grit
est lun des outils les plus importants dune base
de donn es.
" Elle justifie elle seule lusage dun SGBD.
IUT de Nice - Cours SGBD1
47
(cid:137) INT GRIT DE DOMAINE
Les valeurs d'une colonne de relation doivent appartenir
au domaine correspondant
" contr le des valeurs des attributs
" contr le entre valeurs des attributs
IUT de Nice - Cours SGBD1
48
(cid:137) INT GRIT DE CL
Les valeurs de cl s primaires doivent tre :
- uniques
- non NULL
" Unicit de cl
" Unicit des n-uplets
" Valeur NULL
valeur conventionnelle pour repr senter une
information inconnue
" dans toute extension possible d'une relation, il ne peut
exister 2 n-uplets ayant m me valeur pour les attributs
cl s
sinon 2 cl s identiques d termineraient 2 lignes identiques
(d'apr s la d finition dune cl ), ce qui est absurde
IUT de Nice - Cours SGBD1
49
(cid:137) INT GRIT R F RENCIELLE
Les valeurs de cl s trang res sont 'NULL' ou sont des
valeurs de la cl primaire auxquelles elles font r f rence
" Relations d pendantes
" LES D PENDANCES :
Liaisons de un plusieurs exprim es par des attributs
particuliers: cl s trang res ou cl s secondaires
IUT de Nice - Cours SGBD1
50
Les contraintes de r f rence ont un impact important
pour les op rations de mises jour, elles permettent
d viter les anomalies de mises jour
Exemple :
CLIENT (no_client, nom, adresse)
ACHAT (no_produit, no_client, date, qte)
Cl trang re no_client dans ACHAT
" insertion tuple no_client = X dans ACHAT
(cid:214) v rification si X existe dans CLIENT
" suppression tuple no_client = X dans CLIENT
(cid:214) soit interdire si X existe dans ACHAT
(cid:214) soit supprimer en cascade tuple X dans ACHAT
(cid:214) soit modifier en cascade X = NULL dans ACHAT
" modification tuple no_client = X en X dans CLIENT
(cid:214) soit interdire si X existe dans ACHAT
(cid:214) soit modifier en cascade X en X dans ACHAT
IUT de Nice - Cours SGBD1
51
Param trage des Relations dans Access
" IdPro de Vente est une cl trang re qui fait r f rence
la cl primaire de Produit
" Appliquer lint grit r f rentielle signifie que lon ne
pourra pas avoir, aucun moment, une ligne de Vente
avec un code produit IdPro inexistant dans la table
Produit.
" Une valeur de cl trang re peut tre Null
IUT de Nice - Cours SGBD1
52
IV LES FORMES NORMALES
(cid:137) La th orie de la normalisation
" elle met en vidence les relations "ind sirables"
" elle d finit les crit res des relations "d sirables"
appel es formes normales
" Propri t s ind sirables des relations
- Redondances
- Valeurs NULL
" elle d finit le processus de normalisation permettant
de d composer une relation non normalis e en un
ensemble quivalent de relations normalis es
IUT de Nice - Cours SGBD1
53
(cid:137) La d composition
Objectif:
- d composer les relations du sch ma relationnel
sans perte dinformations
- obtenir des relations canoniques ou de base du
monde r el
- aboutir au sch ma relationnel normalis
" Le sch ma de d part est le sch ma universel de la
base
" Par raffinement successifs ont obtient des sous
relations sans perte dinformations et qui ne seront
pas affect es lors des mises jour (non redondance)
(cid:137) Les formes normales
5 FN, les crit res sont de plus en plus restrictifs
FNj FNi ( j > i )
" Notion intuitive de FN
une bonne relation peut tre consid r e comme
une fonction de la cl primaire vers les attributs
restants
IUT de Nice - Cours SGBD1
54
(cid:137) 1 re Forme Normale 1FN
Une relation est en 1FN si tout attribut est atomique (non
d composable)
Contre-exemple
ELEVE (no_elv, nom, prenom, liste_notes)
Un attribut ne peut pas tre un ensemble de valeurs
D composition
ELEVE (no_elv, nom, prenom)
NOTE (no_elv, no_matiere, note)
IUT de Nice - Cours SGBD1
55
(cid:137) 2 me Forme Normale 2FN
Une relation est en 2FN si
- elle est en 1FN
- si tout attribut nappartenant pas la cl ne d pend
pas dune partie de la cl
" Cest la phase didentification des cl s
" Cette tape vite certaines redondances
" Tout attribut doit d pendre fonctionnellement de la
totalit de la cl
Contre-exemple
une relation en 1FN qui n'est pas en 2FN
COMMANDE (date, no_cli, no_pro, qte, prixUHT)
elle n'est pas en 2FN car la cl = (date, no_cli,
no_pro), et le prixUHT ne d pend que de no_pro
D composition
COMMANDE (date, no_cli, no_pro, qte)
PRODUIT (no_pro, prixUHT)
IUT de Nice - Cours SGBD1
56
(cid:137) 3 me Forme Normale 3FN
Une relation est en 3FN si
- elle est en 2FN
- si tout attribut nappartenant pas la cl ne d pend
pas dun attribut non cl
Ceci correspond la non transitivit des D.F. ce qui
vite les redondances.
En 3FN une relation pr serve les D.F. et est sans perte.
Contre-exemple
une relation en 2FN qui n'est pas en 3FN
VOITURE (matricule, marque, mod le, puissance)
on v rifie qu'elle est en 2FN ; elle n'est pas en 3FN car la cl =
matricule, et la puissance d pend de (marque, mod le)
D composition
VOITURE (matricule, marque, mod le)
MODELE (marque, mod le, puissance)
IUT de Nice - Cours SGBD1
57
(cid:137) 3 me Forme Normale de BOYCE-CODD BCNF
Une relation est en BCFN :
- elle est en 1FN et
- ssi les seules D.F. l mentaires sont celles dans
lesquelles une cl d termine un attribut
" BCNF signifie que l'on ne peut pas avoir un attribut
(ou groupe d'attributs) d terminant un autre attribut et
distinct de la cl
" Ceci vite les redondances dans lextension de la
relation: m mes valeurs pour certains attributs de n-
uplets diff rents
" BCNF est plus fin que FN3 : BCNF FN3
Contre-exemple
une relation en 3FN qui n'est pas BCNF
CODEPOSTAL (ville, rue, code)
on v rifie qu'elle est FN3, elle n'est pas BCNF car la cl = (ville,
rue) (ou (code, ville) ou (code, rue)), et code ville
IUT de Nice - Cours SGBD1
58
Chapitre 3
Pr sentation des donn es
Une fois la base et les tables cr es, il faut pouvoir
les exploiter.
Publicité
Lutilisateur final aura besoin de visualiser et saisir
des donn es,deffectuer des calculs et dimprimer
des r sultats.
La r ponse ces probl mes de pr sentation des
donn es est fournie par :
" les formulaires
destin s tre affich s l cran
" les tats
destin s tre imprim s.
IUT de Nice - Cours SGBD1
59
I Les formulaires
2 types de formulaires :
" de pr sentation des donn es
Ils permettent de saisir, ou modifier les donn es
dune ou plusieurs tables sous une forme
visuellement agr able
" de distribution
ils ne sont attach s aucune table, et servent
uniquement de page de menu pour orienter
lutilisateur vers dautres formulaires ou tats
IUT de Nice - Cours SGBD1
60
Formulaire rudimentaire
Fen tre Conception de Formulaire dAccess
IUT de Nice - Cours SGBD1
61
Formulaire avec sous-formulaire
Permet dafficher les donn es de deux tables qui
sont en relation lune avec lautre.
" Le formulaire principal affiche les donn es de la
table principale
" Le sous formulaire affiche les donn es de la
table li e
Si lutilisateur change denregistrement principal, le
sous formulaire est automatiquement mis jour.
IUT de Nice - Cours SGBD1
62
Cr ation dun formulaire de pr sentation
1) D finir la propri t Source de donn es (table ou
requ te)
Cliquer ici avec le bouton droit, puis s lectionner Propri t s
Bo te des propri t s du formulaire
" S lectionner longlet Donn es
" D finir la propri t Source (table ou requ te)
IUT de Nice - Cours SGBD1
63
2) Ins rer dans le formulaire les Zones
de texte li es aux champs de la
Source de donn es
a) S lectionner loutil Zone de texte
b) Ins rer la Zone de texte avec son Etiquette associ e
c) D finir la propri t Source contr le de la Zone de texte
Pour afficher la fen tre des propri t s dun contr le,
cliquer dessus avec le bouton droit de la souris
IUT de Nice - Cours SGBD1
64
II Les tats
Un tat permet dimprimer des enregistrements, en
les groupant et en effectuant des totaux et des
sous totaux.
En-t te d tat
Etat du Stock
En-t te de page EEEnnntttrrreeeppprrriiissseee MMMIIICCCRRROOO
En-t te de groupe Cat gorie :
O
D tail
IdPro D signation
Ps
Imac
Aptiva
10
20
30
Marque
Ibm
Apple
Ibm
Pied de groupe Sous totaux :
&
Pied de page
Jeudi 12 f vrier 1998
Pied d tat
Total g n ral :
Qstock
10
20
10
40
Page 1 sur 1
200
IUT de Nice - Cours SGBD1
65
Cr ation dun tat
1) D finir la propri t Source de donn es (table ou
requ te)
Cliquer ici avec le bouton droit, puis s lectionner Propri t s
IUT de Nice - Cours SGBD1
66
2) D finir Trier et grouper
IUT de Nice - Cours SGBD1
67
3) Placer les champs dans les diff rentes section
de l tat
IUT de Nice - Cours SGBD1
68
Chapitre 4
Lalg bre relationnelle
I. Les op rations
II. Le langage alg brique
IUT de Nice - Cours SGBD1
69
I Les op rations
LAlg bre relationnelle est une collection dop rations
(cid:137) OP RATIONS
- op randes : 1 ou 2 relations
- r sultat : une relation
(cid:137) DEUX TYPES DOP RATIONS
(cid:206) OP RATIONS ENSEMBLISTES
UNION
INTERSECTION
DIFF RENCE
(cid:206) OP RATIONS SP CIFIQUES
PROJECTION
RESTRICTION
JOINTURE
DIVISION
IUT de Nice - Cours SGBD1
70
(cid:137) UNION
L'union de deux relations R1 et R2 de m me sch ma est
une relation R3 de sch ma identique qui a pour n-uplets
les n-uplets de R1 et/ou R2
On notera :
R3 = R1 * R2
R1
A
B
*
R2
A
0
2
1
3
B
1
5
0
4
R3 = R1 * R2
R3
A
B
1
3
5
0
2
4
IUT de Nice - Cours SGBD1
71
(cid:137) INTERSECTION
Lintersection entre deux relations R1 et R2 de m me
sch ma est une relation R3 de sch ma identique ayant
pour n-uplets les n-uplets communs R1 et R2
On notera :
R3 = R1 ) R2
R1
A
B
)
R2
A
0
2
1
3
B
1
5
0
4
R3 = R1 ) R2
R3
A
B
0
1
IUT de Nice - Cours SGBD1
72
(cid:137) DIFF RENCE
La diff rence entre deux relations R1 et R2 de m me
sch ma est une relation R3 de sch ma identique ayant
pour n-uplets les n-uplets de R1 n'appartenant pas R2
On notera :
R3 = R1 R2
R1
A
B
0
2
1
3
R2
A
B
1
5
0
4
R3 = R1 R2
R3
A
B
2
3
IUT de Nice - Cours SGBD1
73
(cid:137) PROJECTION
La projection d'une relation R1 est la relation R2
obtenue en supprimant les attributs de R1 non
mentionn s puis en liminant ventuellement les n-
uplets identiques
On notera :
R2 = R1 (Ai, Aj, ... , Am)
la projection d'une relation R1 sur les attributs
Ai, Aj, & , Am
(cid:206) La projection permet d liminer des attributs dune
relation
" Elle correspond un d coupage vertical :
A1
A2
A3
A4
IUT de Nice - Cours SGBD1
74
Requ te 1 :
Quels sont les r f rences et les prix des produits ?
PRODUIT (IdPro, Nom, Marque, Prix)
IdPro
P
Q
R
S
Nom
PS1
Mac
PS2
Word
Marque
IBM
Apple
IBM
Microsoft
Prix
1000
2000
3000
4000