4. production du schéma de la base de données

39
Bases de données J-L Hainaut 2018 1 III. Méthodologie des bases de données [court] 1. Construction d'une base de données 2. Modèle Entité-association de base 3. Elaboration d'un schéma conceptuel 4. Production du schéma de la BD 4. Production du schéma de la base de données Support du chapitre 14, Production du schéma de la base de données de l'ouvrage Bases de données, J-L Hainaut, Dunod 2018. Version 2 - Septembre 2018

Upload: others

Post on 18-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 1III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4. Production du schéma de la base de données

Support du chapitre 14, Production du schéma de la base de donnéesde l'ouvrage Bases de données, J-L Hainaut, Dunod 2018.

Version 2 - Septembre 2018

Page 2: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 2III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction

4.2 Représentation des types d'entités

4.3 Représentation des attributs

4.4 Représentation des types d'associations

4.5 Représentation des identifiants

4.6 Conversion des noms

4.7 Les structures physiques

4.8 Traduction des structures en SQL

Contenu

4. Production du schéma de la base de données

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 3: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 3III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 INTRODUCTION

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 4: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 4III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction

Principe

Produire, à partir du schéma conceptuel, un schéma de base de données en SQL DDL exécutable.

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Trois phases :1. traduction du schéma conceptuel sous forme de tables, de colonnes,

d'identifiants et de clés étrangères2. ajout des structures physiques appropriées3. traduction de ces structures en SQL

Page 5: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 5III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Traduction du schéma conceptuel• représentation des types d'entités• représentation des attributs• représentation des types d'associations• représentation des identifiants

Page 6: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 6III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.2 Représentation des types d'entités

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 7: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 7III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.2 Représentation des types d'entités

• Un type d'entités E est représentée par une table de nom TE

• Toute entité de E est représentée par une ligne de la table TE

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

CLIENTNUMCLINOMADRESSECAT[0-1]id: NUMCLI

CLIENTNumCliNomAdresseCat[0-1]id: NumCli

Page 8: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 8III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.3 Représentation des attributs

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 9: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 9III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.3 Représentation des attributs

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

• Un attribut A du type d'entités E est représenté 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.

Page 10: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 10III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.4 Représentation des types d'associations

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 11: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 11III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.4 Représentation des types d'associations

La construction la plus appropriée d'un type d'associations est la clé étrangère. Attention cependant aux nuances supplémentaires !

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

• types d'associations 1:N

• types d'associations 1:1

• types d'associations N:N

• types d'associations cycliques

Page 12: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 12III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

EMPLOYEMATRICULENOMFONCTIONNOMDEPART id: MATRICULEref: NOMDEPART

DEPARTEMENT NOMDEPARTLOCALISATIONid: NOMDEPART

1-1

0-N

occupe

EMPLOYEMatriculeNomFonctionid: Matricule

DEPARTEMENT NomDépartLocalisationid: NomDépart

4.4 Représentation des types d'associations 1:N

Type d'associations un-à-plusieurs

Attention :clé étrangère "du bon côté" !

Page 13: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 13III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

SERVICENOMDEPNOMSERVRESPONSABLEid: NOMDEP

NOMSERV

EMPLOYENUMEMPLOCALISATIONDEP_NOMDEPDEP_NOMSERVAFF_NOMDEP[0-1]AFF_NOMSERV[0-1]id: NUMEMPref: DEP_NOMDEP

DEP_NOMSERVref: AFF_NOMDEP

AFF_NOMSERVcoex

1-1

0-N

dépend

0-1

0-N

affecté

SERVICENomDépNomServResponsableid: NomDép

NomServ

EMPLOYENumEmpLocalisationid: NumEmp

4.4 Représentation des types d'associations 1:N

Type d'associations un-à-plusieurs

clé étrangère multi-composant

Attention : clé étrangère et identifiant cible ont la même structure !

Page 14: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 14III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

1-1

0-N

de

DIRECTION NomDirPrésidentid: NomDir

DEPARTEMENTNomDépartLocalisationid: de.DIRECTION

NomDépart

4.4 Représentation des types d'associations 1:N

Le TA intervient dans un identifiant

Type d'associations un-à-plusieurs

DIRECTIONNOMDIRPRESIDENT id: NOMDIR

DEPARTEMENTNOMDIRNOMDEPARTLOCALISATION id: NOMDIR

NOMDEPARTref: NOMDIR

Page 15: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 15III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

EMPLOYEMATRICULENOMFONCTIONid: MATRICULE

DEPARTEMENT NOMDEPARTLOCALISATIONDIRECTEURid: NOMDEPARTid': DIRECTEUR

ref

0-1

1-1

dirige

EMPLOYEMatriculeNomFonctionid: Matricule

DEPARTEMENT NomDépartLocalisationid: NomDépart

4.4 Représentation des types d'associations 1:1

Type d'associations un-à-un

Attention à l'identifiant

Pourquoi pas une clé étrangère dans EMPLOYE ?

Page 16: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 16III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

USINENUMUSINENOMADRESSEid: NUMUSINE

PRODUITNUMPROLIBELLEid: NUMPRO

FABRICATIONNUMPRONUMUSINEid: NUMUSINE

NUMPROref: NUMUSINEref: NUMPRO

0-N

0-N

fabrique

USINENumUsineNomAdresseid: NumUsine

PRODUITNumProLibelléid: NumPro

4.4 Représentation des types d'associations N:N

Déductibles de règles déjà connues.Lesquelles ?

Type d'associations plusieurs-à-plusieurs

Page 17: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 17III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

PERSONNEMATRICULENOMRESPONSABLE[0-1]id: MATRICULEref: RESPONSABLE0-N

responsable0-1

subordonné

supervise

PERSONNEMatriculeNomid: Matricule

4.4 Représentation des types d'associations 1:N cycliques

Type d'associations cycliques

On ne se laisse pas impressionner !Mêmes règles que pour les autres.

Page 18: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 18III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

PRODUITNPROLIBELLEPRIX_U[0-1]POIDS_U[0-1]id: NPRO

COMPOSITION COMPOSANTCOMPOSEid: COMPOSE

COMPOSANTref: COMPOSEref: COMPOSANT

0-Ncomposé

0-Ncomposant

composition

PRODUITNProLibelléPrix U[0-1]Poids U[0-1]id: NPro

4.4 Représentation des types d'associations N:N cycliques

Mêmes règles que pour les autres.

Type d'associations cycliques

Page 19: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 19III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.5 Représentation des identifiants

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 20: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 20III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.5 Représentation des identifiants

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

Identifiant hybride : chaque rôle est remplacé par les colonnes qui traduisent l'identifiant du TE jouant ce rôle

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 21: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 21III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

Attention à l'ordre de traitement des types d'associations

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

SERVICENomDirectionNomDepartNomServiceResponsableid: NomDirection

NomDepartNomService

ref: NomDirectionNomDepart

DIRECTION NomDirPrésidentid: NomDir

DEPARTEMENT NomDirectionNomDepLocalisationid: NomDirection

NomDepref: NomDirection

0-N

1-1

Serv-de-Dep

0-N

1-1

Dep-de-Dir

SERVICENomServResponsableid: Serv-de-Dep.DEPARTEMENT

NomServ

DIRECTION NomDirPrésidentid: NomDir

DEPARTEMENT NomDépLocalisationid: Dep-de-Dir.DIRECTION

NomDép

Serv-de-Dep puis Dep-de-Dir : échec

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

4.5 Représentation des identifiants

Page 22: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 22III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.6 Conversion des noms

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 23: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 23III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.6 Conversion des noms

Respect des règles de formation des noms SQL• pas d'espaces, de "-", de signes de ponctuation, d'apostrophes ou guillemets, etc.

• pas de lettres accentuées

• pas de termes du langage SQL : table, column, index, type, date, value, etc. interdits

• pas de différences entre majuscules et minuscules

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Suggestions• caractères interdits remplacés par "_" ou supprimés

• accents supprimés

• remplacer les noms identiques à un terme du langage SQL

• majuscules

Page 24: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 24III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

VEHICULENUMVEHMARQUEMODELEANNEECYLINDREESIGNATAIRENUMCTRNUMCLIENTid: NUMVEHid': SIGNATAIRE

NUMCTRref

ref: NUMCLIENT

IMPLICATION NUMACCNUMVEHid: NUMACC

NUMVEHref: NUMVEHref: NUMACC

CONTRATSIGNATAIRENUMCTRTYPEDATESIGNid: SIGNATAIRE

NUMCTRref: SIGNATAIRE

CLIENTNUMCLIENTNOMADRESSEid: NUMCLIENT

ACCIDENTNUMACCDATEACCMONTANT[0-1]id: NUMACC

0-N

1-1

signe

0-N 0-Nimplique

0-11-1 couvre

0-N

1-1

appartient

VEHICULENumVéhMarqueModèleAnnéeCylindréeid: NumVéh

CONTRATNumCtrTypeDateSignid: signe.CLIENT

NumCtr

CLIENTNumClientNomAdresseid: NumClient

ACCIDENTNumAccDateAccMontant[0-1]id: NumAcc

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Un exemple complet

4.6 Conversion des noms

Page 25: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 25III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.7 Les structures physiques

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 26: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 26III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.7 Les structures physiques

Pour rendre la base de données opérationnelle et efficace, on définit :

• les espaces de stockage

• les index

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Problème complexe pour les grandes bases de données (travail de spécialiste)

→ approche minimaliste mais réaliste

Page 27: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 27III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.7 Les structures physiques - Les index

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Comment choisir les index ?

1. un index pour chaque identifiant

2. un index pour chaque clé étrangère

Pourquoi ?

• Les identifiants : accélère les insertions (vérification de l'unicité et de l'intégrité référentielle), accélère l'accès par l'identifiant, accélère certaines jointures

• Les clés étrangères : accélère les suppressions (vérification de l'intégrité référentielle), accélère l'accès par la clé étrangère, accélère certaines jointures

Page 28: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 28III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

VEHICULENUMVEHMARQUEMODELEANNEECYLINDREESIGNATAIRENUMCTRNUMCLIENTid: NUMVEH

acc id': SIGNATAIRE

NUMCTRref acc

ref: NUMCLIENTacc

IMPLICATION NUMACCNUMVEHid: NUMACC

NUMVEHacc

ref: NUMVEHacc

ref: NUMACC

CONTRATSIGNATAIRENUMCTRTYPEDATESIGNid: SIGNATAIRE

NUMCTRacc

ref: SIGNATAIRE

CLIENTNUMCLIENTNOMADRESSEid: NUMCLIENT

acc

ACCIDENTNUMACCDATEACCMONTANT[0-1]id: NUMACC

acc

SP_VEHICULE

VEHICULEIMPLICATION ACCIDENT

SP_CLIENT

CONTRATCLIENT

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Un exemple

4.7 Les structures physiques - Exemple

Page 29: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 29III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.8 Traduction des structures en SQL

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

Page 30: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 30III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.8 Traduction des structures en SQL

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

En plus : choix des modes de suppression et de modification des clés étrangères.

Traduction en SQL de toutes les constructions du schéma physique

Page 31: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 31III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

VEHICULENUMVEHMARQUEMODELEANNEECYLINDREESIGNATAIRENUMCTRNUMCLIENTid: NUMVEH

acc id': SIGNATAIRE

NUMCTRref acc

ref: NUMCLIENTacc

IMPLICATION NUMACCNUMVEHid: NUMACC

NUMVEHacc

ref: NUMVEHacc

ref: NUMACC

CONTRATSIGNATAIRENUMCTRTYPEDATESIGNid: SIGNATAIRE

NUMCTRacc

ref: SIGNATAIRE

CLIENTNUMCLIENTNOMADRESSEid: NUMCLIENT

acc

ACCIDENTNUMACCDATEACCMONTANT[0-1]id: NUMACC

acc

SP_VEHICULE

VEHICULEIMPLICATION ACCIDENT

SP_CLIENT

CONTRATCLIENT

cascade cascade

no actionno action

no action

Schéma physique et modes de suppression des clés étrangères

Page 32: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 32III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

create schema ASSURANCE;

create dbspace SP_VEHICULE;

create dbspace SP_CLIENT;

Schéma et espaces de stockage

Page 33: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 33III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

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;

Les tables CLIENT et CONTRAT

Page 34: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 34III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

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;

La table VEHICULE

Page 35: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 35III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

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;

Les tables ACCIDENT et IMPLICATION

Page 36: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 36III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

create unique index XCLI_NUMCLI on CLIENT(NUMCLI);...

create index XIMPL_NUMVEH on IMPLICATION(NUMVEH);

Les index

Page 37: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 37III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

4.1 Introduction 4.5 Représentation des identifiants4.2 Représentation des TE 4.6 Conversion des noms4.3 Représentation des attributs 4.7 Les structures physiques4.4 Représentation des TA 4.8 Traduction des structures en SQL

4.8 Traduction des structures en SQL

En pratique, tâche effectuée automatiquement par un AGL :

on ne rédige pas à la main 100.000 lignes d' SQL DDL !

Page 38: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 38III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD

Fin du module 4

Fin du parcours introductif

Page 39: 4. Production du schéma de la base de données

Bases de données • J-L Hainaut 2018 39III. Méthodologie des bases de données [court]

1. Construction d'une base de données2. Modèle Entité-association de base3. Elaboration d'un schéma conceptuel4. Production du schéma de la BD