IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Aide débutant modèle de données


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 112
    Points : 157
    Points
    157
    Par défaut Aide débutant modèle de données
    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 :

    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
    Bien amicalement

    Gaetan

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Les structures d'imbrication des zones géographiques étant différentes d'un pays à l'autre, ce modèle de données n'est valable que pour la France dans laquelle on trouve les notions de commune, canton, département et région.

    Si vous voulez un modèle portable, alors il faut un modèle plus générique. Dans ce cas je préconise un modèle en auto multi jointure.

    Voici un mcd plus réaliste...
    http://www.developpez.net/forums/att...1&d=1218981007

    A +
    Images attachées Images attachées  
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [1.x] Aide modèle de données Symfo 1.4
    Par scalp58 dans le forum Symfony
    Réponses: 1
    Dernier message: 05/11/2013, 20h55
  2. [Débutant] Débutant cherche aide pour traiter ses données
    Par glmeilleur dans le forum MATLAB
    Réponses: 24
    Dernier message: 17/03/2010, 11h51
  3. Réponses: 2
    Dernier message: 05/06/2007, 18h04
  4. [aide débutant servlet]
    Par viny dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/03/2004, 10h18
  5. [Débutant] Triage de données dans un String
    Par Poilou dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/01/2004, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo