Voilà, donc je vous expose mon problème, je me considère (à mon avis à juste titre) comme moyen en SQL (je sais sortir les resultats dont j'ai besoin et seulement eux en une seule requete), maintenant, je ne suis ni expert en conception de modèle de bases de données, ni optimisations de requetes (format de sorties, ...).
J'ai eu une demande pour laquelle les données me sont fournies et assez manipulable, donc je pense qu'à insérer dans la base de données, ça me prendrait uniquement une journée.
(désolé si le vocabulaire est mal approprié ou correspond à autre chose, mais je le répète, mon niveau en SQL n'est que très moyen, et mon français qui n'est pas ma langue natale est très perfectible)
Le problème est le suivant : je dois créer une base de données qui permettra ensuite de sortir des villes classées suivant leur canton, arrondissement, département, région et pays, le tout avec quelques données sur les villes en question. Bien que ce ne soit pas au gout du jour actuellement, le client souhaite également ajouter deux contraintes : possibilités d'étendre ce modèle pour n'importe quel pays, possibilité de gérer les langues (certaines villes n'ont pas le même nom dans toutes les langues comme BARCELONA/BARCELONE).
Ma demande n'est simplement qu'une aide envers ceux qui ont de l'expérience, afin que vous puissiez me dire si selon vous, c'est optimisable, et si oui, comment (bien que je ne trouve pas comment l'éviter, je pense que la séparations pays/région est mauvaise par exemple).
En espérant que mon modèle soit assez clair à comprendre (pour ce qui est des données qui y seront insérées). Merci beaucoup à vous :
Bien amicalement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Table language_list id_language TINYINT PRIMARY AUTO_INCREMENT name_language VARCHAR(50) Table words_list id_word_list BIGINT PRIMARY AUTO_INCREMENT id_word BIGINT id_language TINYINT word VARCHAR(250) Table country id_country TINYINT PRIMARY AUTO_INCREMENT code_country VARCHAR(3) id_word_country BIGINT Table regions_name id_region_name INT PRIMARY AUTO_INCREMENT id_country TINYINT level_region TINYINT id_word_region_name BIGINT Table regions id_region INT PRIMARY AUTO_INCREMENT id_word_region BIGINT level_region TINYINT id_parent INT Table Cities id_city BIGINT PRIMARY AUTO_INCREMENT id_parent INT city_zip VARCHAR(10) id_word_city BIGINT lattitude DOUBLE longitude DOUBLE id_word_hab_fem BIGINT id_word_hab_mal BIGINT id_word_habs_fem BIGINT id_word_habs_mal BIGINT superficie DOUBLE
Gaetan
Partager