Gestion de base de données

Résolu
stu76 Messages postés 186 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 17 février 2008 - 19 oct. 2005 à 09:06
stu76 Messages postés 186 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 17 février 2008 - 19 oct. 2005 à 15:54
Bonjour, tout le monde. J'aissaye de dévelloper une application pour une organisation sportive type aventure et j'ai du mal avec mes bases de données. Pour les créées pas de prob par contre j'ai du mal à les gérées. J'explique,
J'ai crée deux bases de données une nomée Arbitre et l'autre Concurrent.

Table arbitre Table Concurrent

<HR>
Nom Arbitre Nom Concurrent
Nom épreuve Nom épreuve
Groupe arbitré Groupe (Nom ou N°)
Sygle Parcourt1
Parcourt 2
Parcourt 3
Parcourt 4

Mon problème réside dans le faite, qu'un arbitre peu avoir plusieurs groupe à arbitré, mais également plusieurs épreuve d'un même groupe.

Ex : L'arbitre Paul, arbitre le groupe 5 sur les épreuves d'orientation et le parcour aérien. Les équipes font quatre fois le parcourtsur l'année il font donc pouvoir encoder le résultat de ceux-ci tout en gardant les résultats précédent.

J'usque là, j'ai tout réalisé le problème réside dans l'encodage des points des équipes. Quand un arbitre rapporte sa fiche elle doit être encodé. Je pensais utilisé un dbgrid lié à la table concurrent. Mais comment faire pour afficher dans ce dbgrid uniquement les groupes, les concurrents et les épreuves d'un arbitre exemple de paul ?

A partir de là j'avoue que je que je suis dans le broulliard depuis plusieurs jours . Si quelqu'un pouvait m'aider se serait vraiment sympa. J'ai cherché dans les tutos et dans les sources mais j'ai pas trouvé mon bonheur.

A L'AIDE !!!!!!!!!

Stu76

6 réponses

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
19 oct. 2005 à 12:26
Bonjour,



Pour le tutorial va voir à l'adresse :
http://sgbd.developpez.com/cours/ et choisi le cours : SQL de A à Z,
les autres tuto sont pas mal non plus, deplus certains sont dédiés à
certains serveurs SQL (oracle, interbase, ...)



Ensuite, il serait bon que tu revoies l'architecture de ta base de
données. Je pense que ton problème ne réside pas une méconnaissance des
outils delphi pour gérer ta base de données, mais dans le fait qu'elle
est mal conçue (désolé )

Dans l'acronyme SGDBR, le R signifie relationnel. Donc on peut
facilement mettre en relation une quantité de petites données pour en
faire une grande.

Bref voici ce que je te propose :


table ARBITRE : elle reprend les noms et prénoms des arbitres

id_arbitre : integer primary key

nom_arbitre : varchar(50)

prenom_arbitre : varchar(50)

lnk_groupe : integer



table MEMBRE: elle reprend le nom des participants et le numéro du groupe dont il font partie

id_membre : integer primary key

nom_membre : varchar(50)

prenom_membre : varchar(50)

lnk_groupe : integer



table GROUPE : elle reprend le nom du groupe et des infos diverses sur le groupe : devis, sigle, ...

id_groupe : integer primary key

nom_groupe : varchar(50)

....



table EPREUVE : elle reprend le nom et les
caractéristiques de l'épreuve : cotation maximum, type, niveau de
difficulté ,...

id_epreuve : integer primary key

nom_epreuve : varchar(50)

...



table RESULTAT : elle reprend toutes les résultats
des épreuves éffectuées par tous les membres du club, leurs points, ...

id_resulat : integer primary key

lnk_epreuve : integer >> te
permet de faire un lien vers la description de l'épreuve à laquelle
correspond les résultats

occurrence_epreuve : integer
>> = 1,2,3 ou 4 pour donner le numéro de l'occurence de l'épreuve
dans l'année, ce que tu appelles les parcours

date_resultat : date
>> te permet de trier les résultats selon la date à
laquelle ont eut lieu les épreuves, comme cela tu peux cataloguer

lnk_arbitre : integer >> te permet de faire le lien vers l'arbitre qui a jugé

point_epreuve : integer



Pour t'aider à créer ta base de données, ses tables, les clefs
primaires, les clefs étarngères (foreign key) qui vont créer les liens
entre tes tables, ... tu peux utiliser des logiciels tels que Case
Studio ou EMS pour créer visuellement tes tables et en suite générer
tout le code SQL selon le type de bases de données que tu utilises.



En séparant correctement tes données et en créant les bonnes relations
entr-elles, tu pourras plus aisément les éditer, imprimer des listes,
... ajouter des champs supplémentaires tel que l'appréciation d'un
arbrite, le succès de telle ou telle épreuve, ...



Voilà, j'espère que je n'ai pas été trop long et maintenant je retourne à mon serveur SQL à moi.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
3
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
19 oct. 2005 à 10:59
Il te faut faire un filtre dans ton DbGrid (Requête SQL):

Créer un module de donnée,
Créer un TQuery et un TDataSource,

Et dans ton TQuery dans la propriété SQL faire une requête du genre :Select TConccuren.* From TArbitre,TConcurren Where TArbitre.Groupe TConcurren.Groupe And Nom_Arbitre 'Paul'

Et tu aura tout les concurrent du groupe arbitré par paul

vaughan
0
stu76 Messages postés 186 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 17 février 2008 1
19 oct. 2005 à 11:40
Salut vaughan,

Merci pour l'info, mais je comprend pas trop ton explication ca à l'air super interessant mais là c'est encore flou surtout au niveau SQL. Connais-tu un tuto qui peu m'aider ?

Merci,Stu76
0
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
19 oct. 2005 à 13:20
Voici un document pdf : http://enseignement.insset.u-picardie.fr/deug/ti/cours/access/sql.pdf

Je suis d'accord avec Vincent ... il faut mieux structurer ta base ... afin d'avoir des accés facile et cohérent ... mais je sais que c'est pas évident car j'étais un jour débutant ...

Les tables énoncés par vincent sont un trés bon point de départ, cela sera plus dure pour toi de rentrer dans ton projet mais par contre dans un mois ta maintenance sera allègée. Si ton programme n'est pas éphémère suis ses conseils.

vaughan
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
19 oct. 2005 à 15:06
Mon cher Vaughan, je puis que rougir devant une telle éloge

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
stu76 Messages postés 186 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 17 février 2008 1
19 oct. 2005 à 15:54
Salut Vincentstryckmans,

Merci pour l'info, je suis entièremment d'accord avec sur la réorganisation des bases de données, et j'accepte tout à fais les critiques constructives comme la tienne. C'est ce qui nous permet d'aller plus loin et surtout d'évoluer.

Encore merci,

@+

stu76

Ps : Merci également à vaughan pour les infos.
0
Rejoignez-nous