11.11
Rétro-ingénierie d’une base de données
285
© Dunod – La photocopie non autorisée est un délit.
d’appliquer les règles inverses de celles que nous avons proposées dans ce chapitre.
Ainsi, la figure 11.12 illustre la reconstruction du schéma de tables à partir du code
SQL. Chaque clause SQL traduit un objet du schéma : table, colonne, domaine de
valeurs, identifiant, clé étrangère. Il est donc aisé de redessiner le schéma qui est à
l’origine de ce code.
Figure 11.12 - Reconstruction du schéma de tables à partir du code SQL DDL
Ce schéma dérive lui-même d’un schéma conceptuel qu’on cherche à retrouver. La
figure 11.13 illustre le processus inverse : chaque élément du schéma de tables est
issu d’un objet conceptuel qu’il s’agit de deviner :
• à toute table correspond un type d’entités,
• à chaque colonne (non clé étrangère) correspond un attribut,
• aux colonnes de chaque clé étrangère correspond un type d’associations un-àplusieurs ou un-à-un,
• à chaque identifiant de table correspond à un identifiant de type d’entités; un identifiant qui inclut une clé étrangère est l’image d’un identifiant hybride.
Figure 11.13 - Dérivation du schéma conceptuel à partir du schéma de tables
Le schéma résultant doit encore être normalisé au sens de la section 10.10. En particulier, un type d’entités/association (voir figure 10.24) doit être converti en type
create table PAYS (
NOMP char(24) not null,
VOLUME numeric(12) not null,
primary key (NOMP));
create table EXPORT (
NOMP char(24) not null,
NOMS char(18) not null,
primary key (NOMP, NOMS),
foreign key (NOMP) references PAYS,
foreign key (NOMS) references SECTEUR);
create table SECTEUR (
NOMS char(18) not null,
CA numeric(14) not null,
primary key (NOMS));
⇒
⇒
SECTEUR
NOMS
CA
id: NOMS
EXPORT
NOMP
NOMS
id: NOMP
NOMS
ref: NOMP
ref: NOMS
PAYS
NOMP
VOLUME
id: NOMP
SECTEUR
NOMS
CA
id: NOMS
EXPORT
NOMP
NOMS
id: NOMP
NOMS
ref: NOMP
ref: NOMS
PAYS
NOMP
VOLUME
id: NOMP
0-N
0-N
exporte
SECTEUR
Nom Secteur
Chiffre d'affaire
id: Nom Secteur
PAYS
Nom Pays
Volume
id: Nom Pays
Rétro-ingénierie d’une base de données
285
© Dunod – La photocopie non autorisée est un délit.
d’appliquer les règles inverses de celles que nous avons proposées dans ce chapitre.
Ainsi, la figure 11.12 illustre la reconstruction du schéma de tables à partir du code
SQL. Chaque clause SQL traduit un objet du schéma : table, colonne, domaine de
valeurs, identifiant, clé étrangère. Il est donc aisé de redessiner le schéma qui est à
l’origine de ce code.
Figure 11.12 - Reconstruction du schéma de tables à partir du code SQL DDL
Ce schéma dérive lui-même d’un schéma conceptuel qu’on cherche à retrouver. La
figure 11.13 illustre le processus inverse : chaque élément du schéma de tables est
issu d’un objet conceptuel qu’il s’agit de deviner :
• à toute table correspond un type d’entités,
• à chaque colonne (non clé étrangère) correspond un attribut,
• aux colonnes de chaque clé étrangère correspond un type d’associations un-àplusieurs ou un-à-un,
• à chaque identifiant de table correspond à un identifiant de type d’entités; un identifiant qui inclut une clé étrangère est l’image d’un identifiant hybride.
Figure 11.13 - Dérivation du schéma conceptuel à partir du schéma de tables
Le schéma résultant doit encore être normalisé au sens de la section 10.10. En particulier, un type d’entités/association (voir figure 10.24) doit être converti en type
create table PAYS (
NOMP char(24) not null,
VOLUME numeric(12) not null,
primary key (NOMP));
create table EXPORT (
NOMP char(24) not null,
NOMS char(18) not null,
primary key (NOMP, NOMS),
foreign key (NOMP) references PAYS,
foreign key (NOMS) references SECTEUR);
create table SECTEUR (
NOMS char(18) not null,
CA numeric(14) not null,
primary key (NOMS));
⇒
⇒
SECTEUR
NOMS
CA
id: NOMS
EXPORT
NOMP
NOMS
id: NOMP
NOMS
ref: NOMP
ref: NOMS
PAYS
NOMP
VOLUME
id: NOMP
SECTEUR
NOMS
CA
id: NOMS
EXPORT
NOMP
NOMS
id: NOMP
NOMS
ref: NOMP
ref: NOMS
PAYS
NOMP
VOLUME
id: NOMP
0-N
0-N
exporte
SECTEUR
Nom Secteur
Chiffre d'affaire
id: Nom Secteur
PAYS
Nom Pays
Volume
id: Nom Pays
