Cours SGBD 1 - Concepts et langages des Bases de Données Relationnelles

Page 1 sur 224Lecteur de document UniversityLib

Cours SGBD 1 - Concepts et langages des Bases de Données Relationnelles

Database Systems · lab

Voir tous les documents en bases de données

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