Académique Documents
Professionnel Documents
Culture Documents
1. Introduction
.
.
Ce travail de rflexion sappelle conception ou . de la BD.
Monde rel
Base de donnes
4SI_Base de donnes
1/8
Valeurs
autorises
Type de
donnes
Valeur par
dfaut
Description
Obligatoire
Nom
colonne
Taille
Sujet
4SI_Base de donnes
2/8
Dans la premire colonne, il est recommand dutiliser les mmes rgles de nommage quen programmation
(viter les caractres accentus, rduire la taille des noms des colonnes, etc.).
Type de
donnes
Obligatoire
Code_livre
Caractre
10
Livres
Titre
Titre du livre
Caractre
50
Livres
Auteur
Caractre
50
Livres
Editeur
Caractre
30
Livres
Date_parution
Date
Livres
Num_abonne
Numro de labonn
Numrique
Abonns
Nom_abonne
Caractre
20
Abonns
Prenom_abonne
Prnom de labonn
Caractre
20
Abonns
Adresse
Adresse de labonn
Caractre
50
Abonns
Tel
N de tlphone de labonn
Caractre
20
Abonns
Code_liv_emp
Caractre
10
(1)
Emprunts
Num_ab_emp
Numro de labonn
empruntant un livre
Numrique
(2)
Emprunts
Date_emprunt
Date
Date_retour
Date
Valeurs
autorises
Description
Valeur par
dfaut
Nom colonne
Taille
(3)
Sujet
Emprunts
(4)
Emprunts
..
..
..
..
..
..
..
Description
Sujet
4SI_Base de donnes
Figure 4.3 :
Tableau de
description de
tables
3/8
La colonne sujet correspond aux tables auxquelles les colonnes doivent tre affectes.
Pour sassurer quune colonne est affecte la bonne table, il faut respecter les rgles suivantes :
Rgle N1 :
- .
La seule exception est relative aux cls trangres (car une cl trangre sera reprsente par une mme colonne
dans deux tables)
Rgle N2 :
Si une colonne contient les mmes valeurs pour plusieurs lignes il faut vrifier si cette colonne est une cl
trangre. Si oui alors pas de problme si non alors cette colonne se trouve dans la mauvaise table, il faut donc
laffecter une autre table dans laquelle cette anomalie ne se prsente pas.
Exemple :
Si dans une BD on a deux tables CLIENT et LOCATION et quun mme client peut louer des voitures de la
mme agence. Ce client peut louer beaucoup de voitures (chaque mois une voiture).
Si dans la phase de conception de cette BD on place la colonne relative ladresse dun client ADRSCLI dans la
table LOCATION comme a :
CLIENT
NUMCIN
NOM
PRENOM
NUM_TEL
LOCATION
1
NUM_LOC
NUMCIN#
MATVOIT#
DATLOC
ADRSCLI
Dans ce cas ladresse dun client donn va se rpter dans toutes les locations de ce client. Sil a fait 100
locations, son adresse sera rpte 100 fois.
Par exemple : la table LOCATION
NUM_LOC
NUMCIN
MATVOIT
DATLOC
1003
11223344
170 TN 1234
21/03/2010
MSAKEN
1004
32341256
160 TN 9999
22/03/2010
OUARDANINE
1005
11223344
177 TN 5555
01/01/2011
MSAKEN
1006
11223344
160 TN 9999
05/04/2011
MSAKEN
4SI_Base de donnes
ADRSCLI
4/8
La prsence de cette anomalie (ADRSCLI dans la table LOCATION) dans la BD entrane les inconvnients
suivants :
C'est--dire si on modifie ladresse dun client dans la ligne correspondant sa premire location et ne pas le faire
dans les autres lignes ce ci veut dire que le mme client a plusieurs adresses alors que dans la ralit il na quune
seule.
Ladresse du client doit tre donc affecte la table CLIENT.
Question : Affecter les colonnes aux tables et en donner une description textuelle.
Corrig : Affectation des colonnes aux tables :
Il sagit daffecter les colonnes aux tables correspondantes.
Nous utilisons la reprsentation textuelle pour dcrire la structure des tables.
Livre(Code_livre, Titre, Auteur, Editeur, Date_parution)
..
..
4SI_Base de donnes
5/8
Maintenant que les tables sont compltement dcrites avec leurs colonnes et leurs cls primaires, il reste tablir
les liens ventuels entre ces tables.
La dtermination des liens entre les tables peut tre effectue de deux faons :
Un lien doit tre donc tabli entre les tables A et B pour relier les colonnes cl primaire et cl trangre.
...
Exemple : Supposons que nous avons deux tables Client et Location et que dans la table location nous navons
pas la colonne code_client . Dautre part, dans la description de ces deux tables, nous avons une phrase qui dit
Une location est relative un client . Cette phrase veut dire quil doit y avoir un lien entre les deux tables
location et Client
La table mre = CLIENT
La table fille = LOCATION
Car un client peut avoir plusieurs locations alors quune location est
relative un et un seul client.
Donc il faut ajouter une colonne code_client la table location
Table fille
Cl primaire
Cl trangre
Prcisons que la cl primaire figure dans la table mre et la cl trangre dans la table fille.
En tenant compte de ces liens entre les tables, la description textuelle des tables devient alors :
Livre(Code_livre , Titre , Auteur , Editeur , Date_parution )
Abonne(Num_abonne , Nom_abonne , Prenom_abonne , Adresse , Tel )
Emprunt(Code_liv_emp ,Num_ab_emp ,Date_emprunt , Date_retour )
4SI_Base de donnes
6/8
Remarque :
Lnonc na pas donn de dtail concernant les auteurs et les diteurs. Nous avons suppos quil sagit
uniquement de leurs noms, ce qui a eu comme consquence de les considrer comme des simples colonnes dans la
table Livre.
Si lnonc avait donn plus dinformations sur les auteurs et les diteurs (code, nom, adresse, etc.), la
consquence
Table Livre
Table Emprunt
Table Abonne
4SI_Base de donnes
7/8
APPLICATION :
Objectif : Dtecter les anomalies dans la structure de tables.
Enonc : Pour dcrire les employs dune entreprise et leur rpartition entre les diffrents services, la table
suivante a t cre.
Nemp
Nom
Prnom
Date
naissance
Nservice
Nom
service
Date
cration
Service
TOUNSI
Safa
01/10/1980
20
Financier
01/01/1970
KEFI
Ali
12/09/1981
10
Administratif
01/01/1975
BEJI
Mohamed
15/04/1977
20
Financier
01/01/1970
TOUATI
Lamia
21/06/1980
20
Financier
01/01/1970
SOUSSI
Leila
28/11/1982
10
Administrative
01/01/1975
SFAXI
Nouri
20/08/1990
30
Juridique
01/04/1980
GABSI
Mouna
04/04/1987
10
Administratif
01/01/1957
JERBI
Lotfi
09/06/1988
30
Juridique
01/04/1980
EZZAR
Samia
12/12/1982
20
Financier
01/01/1970
Questions :
1- Identifier les anomalies de cette structure.
2- Proposer une structure permettant de pallier ces anomalies.
4SI_Base de donnes
8/8