Sie sind auf Seite 1von 39

1.

Construction d'une base de donnes


2. Modle Entit-association de base
3. Elaboration d'un schma conceptuel
4. Production du schma de la BD

4. Production du schma de la base de donnes

Version 2 - Janvier 2012

Support du chapitre 13, Production du schma de la base de donnes


de l'ouvrage Bases de donnes, J-L Hainaut, Dunod 2012.

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 1
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4. Production du schma de la base de donnes


Contenu

4.1 Introduction

4.2 Reprsentation des types d'entits

4.3 Reprsentation des attributs

4.4 Reprsentation des types d'associations

4.5 Reprsentation des identifiants

4.6 Conversion des noms

4.7 Les structures physiques

4.8 Traduction des structures en SQL

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 2
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.1 INTRODUCTION

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 3
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.1 Introduction

Principe

Produire, partir du schma conceptuel, un schma de base de donnes en


SQL DDL excutable.

Trois phases :
1. traduction du schma conceptuel sous forme de tables, de colonnes,
d'identifiants et de cls trangres
2. ajout des structures physiques appropries
3. traduction de ces structures en SQL

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 4
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.1 Introduction

Traduction du schma conceptuel


reprsentation des types d'entits
reprsentation des attributs
reprsentation des types d'associations
reprsentation des identifiants

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 5
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.2 Reprsentation des types d'entits

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 6
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.2 Reprsentation des types d'entits

Un type d'entits E est reprsente par une table de nom TE


Toute entit de E est reprsente par une ligne de la table TE

CLIENT CLIENT
NumCli NUMCLI


Nom NOM
Adresse ADRESSE
Cat[0-1] CAT[0-1]
id: NumCli id: NUMCLI

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 7
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.3 Reprsentation des attributs

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 8
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.3 Reprsentation des attributs

Un attribut A du type d'entits E est reprsent par la colonne CA de la table TE


Le type de valeurs de CA est le plus approchant du domaine de valeurs de A
Si l'attribut A est obligatoire (facultatif), la colonne CA l'est galement.

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 9
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 10
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations

La construction la plus approprie d'un type d'associations est la cl


trangre. Attention cependant aux nuances supplmentaires !

types d'associations 1:N


types d'associations 1:1
types d'associations N:N
types d'associations cycliques

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 11
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations 1:N

Type d'associations un--plusieurs

DEPARTEMENT
DEPARTEMENT
NomDpart
Localisation NOMDEPART
LOCALISATION
id: NomDpart
id: NOMDEPART
0-N


occupe
EMPLOYE
1-1 MATRICULE
NOM
EMPLOYE
FONCTION
Matricule NOMDEPART
Nom
id: MATRICULE
Fonction
ref: NOMDEPART
id: Matricule

Attention :
cl trangre "du bon ct" !

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 12
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations 1:N

Type d'associations un--plusieurs

SERVICE
NomDp SERVICE EMPLOYE
NomServ
NOMDEP NUMEMP
Responsable
NOMSERV LOCALISATION
id: NomDp RESPONSABLE DEP_NOMDEP
NomServ
id: NOMDEP DEP_NOMSERV
0-N 0-N NOMSERV AFF_NOMDEP[0-1]

dpend affect
AFF_NOMSERV[0-1]
id: NUMEMP
ref: DEP_NOMDEP
1-1 0-1 DEP_NOMSERV
EMPLOYE ref: AFF_NOMDEP
NumEmp AFF_NOMSERV
Localisation coex
id: NumEmp

cl trangre multi-composant

Attention : cl trangre et identifiant cible ont la mme structure !

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 13
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations 1:N

Type d'associations un--plusieurs

DIRECTION
DIRECTION
NomDir
Prsident NOMDIR
PRESIDENT
id: NomDir
id: NOMDIR
0-N


de
DEPARTEMENT
1-1
NOMDIR
NOMDEPART
DEPARTEMENT
LOCALISATION
NomDpart
id: NOMDIR
Localisation
NOMDEPART
id: de.DIRECTION
ref: NOMDIR
NomDpart

Le TA intervient dans un identifiant

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 14
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations 1:1

Type d'associations un--un

EMPLOYE
EMPLOYE
Matricule
MATRICULE
Nom
NOM
Fonction
FONCTION
id: Matricule
id: MATRICULE
0-1

dirige DEPARTEMENT
NOMDEPART
1-1
LOCALISATION
DIRECTEUR
DEPARTEMENT
id: NOMDEPART
NomDpart
id': DIRECTEUR
Localisation Attention l'identifiant
ref
id: NomDpart

Pourquoi pas une cl trangre


dans EMPLOYE ?

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 15
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations N:N

Type d'associations plusieurs--plusieurs

USINE
NumUsine
Nom
USINE PRODUIT
Adresse
NUMUSINE NUMPRO
id: NumUsine
NOM LIBELLE
ADRESSE id: NUMPRO
0-N FABRICATION
id: NUMUSINE
fabrique NUMPRO
NUMUSINE
id: NUMUSINE
0-N NUMPRO
ref: NUMUSINE
PRODUIT ref: NUMPRO
NumPro
Libell
id: NumPro

Dductibles de rgles dj connues.


Lesquelles ?

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 16
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations 1:N cycliques

Type d'associations cycliques

PERSONNE
Matricule PERSONNE
Nom MATRICULE
id: Matricule NOM

responsable subordonn
RESPONSABLE[0-1]
id: MATRICULE
0-N 0-1
ref: RESPONSABLE
supervise

On ne se laisse pas impressionner !


Mmes rgles que pour les autres.

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 17
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.4 Reprsentation des types d'associations N:N cycliques

Type d'associations cycliques

PRODUIT
NPRO
LIBELLE
PRODUIT
PRIX_U[0-1]
NPro POIDS_U[0-1]
Libell
id: NPRO
Prix U[0-1]
Poids U[0-1]
id: NPro
COMPOSITION
compos composant COMPOSANT
0-N 0-N COMPOSE
composition id: COMPOSE
COMPOSANT
ref: COMPOSE
ref: COMPOSANT

Mmes rgles que pour les autres.

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 18
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.5 Reprsentation des identifiants

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 19
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.5 Reprsentation des identifiants

Identifiant "tout-attribut" : chaque attribut est remplac par la colonne qui le


reprsente
Identifiant hybride : chaque rle est remplac par les colonnes qui
traduisent l'identifiant du TE jouant ce rle

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 20
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.5 Reprsentation des identifiants

Attention l'ordre de traitement des types d'associations

DIRECTION
NomDir DIRECTION
Prsident NomDir
id: NomDir Prsident
0-N id: NomDir

Dep-de-Dir Dep-de-Dir puis Serv-de-Dep : OK DEPARTEMENT


1-1 NomDirection
NomDep
DEPARTEMENT Localisation
NomDp id: NomDirection
Localisation
id: Dep-de-Dir.DIRECTION
NomDep
ref: NomDirection
NomDp
SERVICE
0-N
NomDirection
Serv-de-Dep NomDepart
Serv-de-Dep puis Dep-de-Dir : chec
NomService
1-1 Responsable
id: NomDirection
SERVICE NomDepart
NomServ NomService
Responsable ref: NomDirection
id: Serv-de-Dep.DEPARTEMENT NomDepart
NomServ

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 21
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.6 Conversion des noms

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 22
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.6 Conversion des noms

Respect des rgles de formation des noms SQL


pas d'espaces, de "-", de signes de ponctuation, d'apostrophes ou guillemets, etc.
pas de lettres accentues
pas de termes du langage SQL : table, column, index, type, date, value, etc. interdits
pas de diffrences entre majuscules et minuscules

Suggestions
caractres interdits remplacs par "_" ou supprims
accents supprims
remplacer les noms identiques un terme du langage SQL
majuscules

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 23
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.6 Conversion des noms

Un exemple complet

CLIENT
NumClient
Nom VEHICULE CLIENT CONTRAT
0-N Adresse 0-N NUMVEH NUMCLIENT SIGNATAIRE
appartient id: NumClient signe MARQUE NOM NUMCTR
MODELE ADRESSE TYPE
1-1 1-1 ANNEE id: NUMCLIENT DATESIGN
CYLINDREE id: SIGNATAIRE
VEHICULE SIGNATAIRE NUMCTR
CONTRAT
NumVh NUMCTR ref: SIGNATAIRE
NumCtr
Marque
Modle 1-1 couvre 0-1
Type NUMCLIENT
id: NUMVEH
DateSign id': SIGNATAIRE
Anne IMPLICATION
Cylindre id: signe.CLIENT NUMCTR ACCIDENT
NumCtr NUMACC
id: NumVh ref NUMACC
NUMVEH
ref: NUMCLIENT DATEACC
id: NUMACC MONTANT[0-1]
ACCIDENT
NUMVEH
NumAcc id: NUMACC
ref: NUMVEH
0-N implique 0-N DateAcc ref: NUMACC
Montant[0-1]
id: NumAcc

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 24
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.7 Les structures physiques

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 25
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.7 Les structures physiques

Pour rendre la base de donnes oprationnelle et efficace, on dfinit :


les espaces de stockage
les index

Problme complexe pour les grandes bases de donnes (travail de spcialiste)


approche minimaliste mais raliste

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 26
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.7 Les structures physiques - Les index

Comment choisir les index ?


1. un index pour chaque identifiant
2. un index pour chaque cl trangre

Pourquoi ?
Les identifiants : acclre les insertions (vrification de l'unicit et de l'intgrit
rfrentielle), acclre l'accs par l'identifiant, acclre certaines jointures
Les cls trangres : acclre les suppressions (vrification de l'intgrit
rfrentielle), acclre l'accs par la cl trangre, acclre certaines jointures

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 27
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.7 Les structures physiques - Exemple

Un exemple

VEHICULE CLIENT CONTRAT


NUMVEH NUMCLIENT SIGNATAIRE
MARQUE NOM NUMCTR
MODELE ADRESSE TYPE SP_VEHICULE
ANNEE id: NUMCLIENT DATESIGN
CYLINDREE acc id: SIGNATAIRE VEHICULE
SIGNATAIRE NUMCTR IMPLICATION
NUMCTR acc ACCIDENT
NUMCLIENT ref: SIGNATAIRE
id: NUMVEH
acc
id': SIGNATAIRE IMPLICATION
NUMCTR ACCIDENT
NUMACC SP_CLIENT
ref acc NUMACC
NUMVEH
ref: NUMCLIENT DATEACC
id: NUMACC CONTRAT
acc MONTANT[0-1]
NUMVEH CLIENT
id: NUMACC
acc
acc
ref: NUMVEH
acc
ref: NUMACC

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 28
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 29
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

Traduction en SQL de toutes les constructions du schma physique

En plus : choix des modes de suppression et de modification des cls


trangres.

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 30
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

Schma physique et modes de suppression des cls trangres

VEHICULE CLIENT CONTRAT


NUMVEH NUMCLIENT SIGNATAIRE
MARQUE NOM NUMCTR
MODELE ADRESSE TYPE SP_VEHICULE
ANNEE id: NUMCLIENT DATESIGN
CYLINDREE acc id: SIGNATAIRE VEHICULE
SIGNATAIRE NUMCTR IMPLICATION
NUMCTR acc ACCIDENT
NUMCLIENT ref: SIGNATAIRE
id: NUMVEH
acc no action
no action id': SIGNATAIRE IMPLICATION
NUMCTR ACCIDENT
NUMACC SP_CLIENT
ref acc NUMACC
NUMVEH
ref: NUMCLIENT DATEACC
id: NUMACC CONTRAT
acc MONTANT[0-1]
NUMVEH CLIENT
no action id: NUMACC
acc
acc
ref: NUMVEH
acc
ref: NUMACC

cascade cascade

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 31
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

Schma et espaces de stockage

create schema ASSURANCE;

create dbspace SP_VEHICULE;

create dbspace SP_CLIENT;

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 32
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

Les tables CLIENT et CONTRAT

create table CLIENT ( NUMCLIENT char (12) not null,


NOM char (38) not null,
ADRESSE char (60) not null,
primary key (NUMCLIENT) )
in SP_CLIENT;

create table CONTRAT ( SIGNATAIRE char (12) not null,


NUMCTR char (8) not null,
TYPE char (12) not null,
DATESIGN date not null,
primary key (SIGNATAIRE,NUMCTR),
foreign key (SIGNATAIRE) references CLIENT
on delete no action on update cascade)
in SP_CLIENT;

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 33
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

La table VEHICULE

create table VEHICULE (NUMVEH char (16) not null,


MARQUE char (30) not null,
MODELE char (30) not null,
ANNEE decimal (4) not null,
CYLINDREE decimal (6) not null,
SIGNATAIRE char (12) not null,
NUMCTR decimal (8) not null,
NUMCLIENT char (12) not null,
primary key (NUMVEH),
unique (SIGNATAIRE,NUMCTR),
foreign key (NUMCLIENT) references CLIENT
on delete no action on update cascade,
foreign key (SIGNATAIRE,NUMCTR) references CONTRAT
on delete no action on update cascade)
in SP_VEHICULE;

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 34
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

Les tables ACCIDENT et IMPLICATION

create table ACCIDENT (NUMACC char (10) not null,


DATEACC date not null,
MONTANT decimal (6),
primary key (NUMACC))
in SP_VEHICULE;

create table IMPLICATION (NUMVEH char (16) not null,


NUMACC char (10) not null,
primary key (NUMVEH,NUMACC),
foreign key (NUMVEH) references VEHICULE
on delete cascade on update cascade,
foreign key (NUMACC) references ACCIDENT
on delete cascade on update cascade)
in SP_VEHICULE;

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 35
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

Les index

create unique index XCLI_NUMCLI on CLIENT(NUMCLI);


...
create index XIMPL_NUMVEH on IMPLICATION(NUMVEH);

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 36
1. Construction d'une base de donnes 4.1 Introduction 4.5 Reprsentation des identifiants
2. Modle Entit-association de base 4.2 Reprsentation des TE 4.6 Conversion des noms
3. Elaboration d'un schma conceptuel 4.3 Reprsentation des attributs 4.7 Les structures physiques
4. Production du schma de la BD 4.4 Reprsentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

En pratique, tche effectue automatiquement par un AGL :


on ne rdige pas la main 100.000 lignes d' SQL DDL !

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 37
1. Construction d'une base de donnes
2. Modle Entit-association de base
3. Elaboration d'un schma conceptuel
4. Production du schma de la BD

Fin du module 4

Fin du parcours introductif

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 38
1. Construction d'une base de donnes
2. Modle Entit-association de base
3. Elaboration d'un schma conceptuel
4. Production du schma de la BD

III. Mthodologie des bases de donnes [court] Bases de donnes J-L Hainaut 2012 39

Das könnte Ihnen auch gefallen