Un autre lot de remarques...
J’observe que dans vos diagrammes, les attributs des tables peuvent le plus souvent être marqués Null : tous les losanges blancs doivent devenir bleus...
Il y a vraisemblablement des cardinalités minimales 0 à mettre en place. Par exemple, dans votre dernier diagramme, une instance de PRICE est en relation avec au moins une instance de DRIVER_PRICE : est-ce bien le cas dans la réalité ?
Toujours dans votre dernier diagramme, vous avez établi une bijection entre DRIVER et CLIENT_DRIVER_DETAILS : si c’est bien ce que vous voulez, alors vous ne devriez les fondre une seule table.
Vous avez établi une bijection entre PLACE et CITY : tout lieu (place) est donc une ville (city). Clairement, ça n’est pas le cas, il faut remplacer la bijection par une injection (voyez mes diagrammes).
Votre diagramme comporte un erreur. La table REGION_DEPARTEMENT doit être débarrassée des attributs region_id et departement_id, car chaque valeur prise par l’attribut place_id dans cette table est soit une valeur de region_id (table REGION), soit une valeur de departement_id (table DEPARTEMENT) :
Exemple correct :
TYPE_PLACE
type_place_id type_place_name
------------- ---------------
1 pays
2 région
3 département
4 ville
5 canton
PLACE
place_id place_name type_place_id
-------- --------------------- -------------
1 Nîmes 4
2 Lyon 4
3 Brest 4
4 Finistère 3
5 Crans-sur-Sierre 4
6 Gard 3
7 Languedoc-Roussillon 2
8 Valais 5
9 France 1
10 Rhône 3
11 Suisse 1
12 Bretagne 2
13 Rhône_Alpes 2
... ... ...
COUNTRY
contry_id contry_code
--------- -----------
9 FR
11 CH
... ...
REGION_DEPARTEMENT
place_id
--------
4
6
7
8
10
12
13
...
REGION
region_id region_code country_id
--------- ----------- ----------
7 ? 9
8 ? 11
12 ? 9
13 ? 9
... ... ...
DEPARTEMENT
departement_id dept_code region_id
-------------- --------- ---------
4 29 12
6 30 7
10 59 13
... ... ...
CITY
city_id place_id code_postal latitude longitude
------- -------- ----------- -------- ---------
1 6 30000 43.8333 5.35
2 13 59000 45.7500 4.85
3 4 29000 48.4000 -4.4833
5 8 3963 46.3075 7.468
... ... ... ... ...
Partager