demande de conseil(s) sur une base en sql

demande de conseil(s) sur une base en sql - Programmation

Marsh Posté le 13-09-2001 à 15:06:22    

Pour un ami, je developpe une interface en php gérant une base de données sur les couleurs d'uniformes.
 
But du jeu, pour un soldat déterminé, retrouver quelle sont les couleurs de son uniforme.
 
J'ai pensé à une base comme ceci (simplifiée):
 
Table "regiment" :  

  • reg_id : auto_inc
  • pays :  
  • arme : terre/mer/air
  • discipline : infantrie/cavalerie/sapeur...
  • N° regiment : le numero du regiment.


Table "soldat":

  • soldat_id : auto_inc
  • reg_id
  • grade : lieutenant/caporal....


table "habit":

  • habit_id : auto_inc
  • soldat_id
  • epaulette_t : type d'epaulette (liserai/pas de liserai...)
  • epaulette_c : couleurs

.
.
.
pour le reste de la définition de ses fringues...
 
Bon, tout cela me paraît simple, un peu trop d'ailleurs.
 
Il y a environ 500 regiments à decrire pour chaque pays.
10 grades pour chaque "soldat"
10 habils pour un même soldat (campagne/apparat/...)
Finalement, chaque soldat sera accompagné de sa description issue de la base, et d'une image (jpg)
 
L'entreprise me paraît un peu balaise, mais enfin, apres tout, c'est lui qui remplis la base et les images apres, donc...  :p  
 
M'enfin, pour partir sur de bonne base, sachant que je n'y connait pas grand chose en sql/php (mais j'ai trois neurones, ca ira, merci  :pt1cable: ), quelles améliorations possibles voyez vous ??
 
Merci pour vos conseils :)

 

[edtdd]--Message édité par TetardKing--[/edtdd]

Reply

Marsh Posté le 13-09-2001 à 15:06:22   

Reply

Marsh Posté le 13-09-2001 à 16:07:36    

salut
j'aime pas les militaires, mais bon...
A priori, la description de tes tables suffit, mais ça doit pouvoir s'améliorer : dans ta base, pour connaître l'uniforme d'un soldat, t'as pas besoin de la table des régiments...
tu nn'exprimes pas dans ta base les liens qui existent entre les uniformes & les armes, ni entre les uniformes & les grades. Or, il dot bien y avoir des liens entre ces éléments. Si tu modélises ce genre d'infos, t'auras une base ayant une + grande richesse sémantique, & ça peut toujours servir à l'avenir, pour le cas où tu devras faire évoluer cette base.
Ce que je ferais :
  - créer des tables pour arme, pays, discipline, grade,... ainsi que les différentes caractéristiques des uniformes.
  - exprimer dans la base les liens entre ces éléments (un régiment est rattaché à 1&1 seule arme ; 1 arme a plusieurs régiments. 1 régiment a 1 discipline...)


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 13-09-2001 à 16:28:07    

Donc, si j'ai bien compris, crée une table pour chaque arme, chaque pays, chaque grade...
 
Puis, dans une autre table, mettre pour un soldat particulier tous ses attributs (quel pays, quel grade...), c'est ca ??
 
genre table "grade" :

  • grade_id : 1,2,3,4,5...
  • grade_txt : caporal/sergent/sous chef/ ...


puis metre dans la table du soldat un champ "grade" ou on ne met juste que le grade_id :??:
 
 
Je pensais faire ca uniquement avec les couleurs (qui servent tout le temps), mais effectivement, on peut généraliser au reste.
 
Je me demande aussi si il ne serait pas plus malin de faire une base entière pour chaque pays par exemple... ca limiterait la taille des tables, et donc, l'acces a celles ci.
 
Merci :)

Reply

Marsh Posté le 13-09-2001 à 16:49:52    

Attention, il a parlé d'un table par arme mais d'une table qui contient toutes les armes, comme ce que tu décris avec les grades.
 
Ensuite, les tables de description des soldats ne sont que des "associations" entre ces tables.

Reply

Marsh Posté le 13-09-2001 à 17:05:46    

oui, ok, m'a gauffré qd j'ai écris :)
 
Oui, ok, une table contenant toutes les armes, une contenant tous les grades ...
 
Je voulais mettre une table pour chaque champ en fait ( pays, grade, arme...). Ma gauffré. Mais si je ne me trompais pas, je serai pas un Tetard non plus :p


---------------
Da Breizh WoRlD DoMIna7iOn T3aM * Baptiste Mary blog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed