Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2461 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide pour schéma de base de donnée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour schéma de base de donnée

n°1773916
BMenez
Posté le 17-08-2008 à 15:16:34  profilanswer
 

Bonjour,
 
Je suis en train de bosser sur un projet de site et j'ai besoin d'une base de données. Mais je n'arrive pas à déterminer le meilleur schéma.
Il s'agit de mettre en relation plusieurs entités :
- des conférences (ayant un nom, un lieu, une date)
- des intervenants (nom, domaine)
- des inscrits aux conférences (nom)
 
Typiquement, je souhaiterai pouvoir retrouver toutes les conférences ou X est intervenu ou tous les intervenants qui sont intervenus à une date D ou encore tous les inscrits ayant assisté à une conférence dans le domaine Y...
 
J'avais d'abord penser faire plusieurs tables mais les requêtes risquent d'être compliquées...
Dans une seule table, ça va être un peu le bazar...
 
Quel est votre avis ?
 
Merci d'avance.


Message édité par BMenez le 17-08-2008 à 15:17:50
mood
Publicité
Posté le 17-08-2008 à 15:16:34  profilanswer
 

n°1774064
olivthill
Posté le 18-08-2008 à 11:45:23  profilanswer
 

Bonjour,
 
Définir plusieurs tables est une bonne solution.
Par exemple :

Table conference (nom, lieu, date), clé primaire : nom
Table intervenant (nom, prenom, domaine), clé primaire : nom
Table auditeur (nom, prenom), clé primaire nom
Table conf_intervenant (nom_conference, nom_intervenant), clé primaire : nom_conference + nom_intervenant
Table conf_auditeur (nom_conference, nom_auditeur), clé primaire : nom_conference + nom_auditeur


Les requêtes ne sont pas très compliquées, quand on a un tout petit peu d'habitude.
Par exemple, pour retrouver toutes les conférences ou X est intervenu :

Select c.nom
  From conference c,
       conf_intervenant ci
  Where c.nom = ci.nom_conference
    And ci.nom_intervenant = 'X'


Par exemple, pour retrouver tous les intervenants qui sont intervenus à une date D :

Select i.prenom, i.nom
  From conference c,
       conf_intervenant ci,
       intervenant i
  Where c.nom = ci.nom_conference
    And i.nom = ci.nom_intervenant
    And c.date = D

n°1774074
BMenez
Posté le 18-08-2008 à 12:47:12  profilanswer
 

Merci pour cette réponse très complète :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide pour schéma de base de donnée

 

Sujets relatifs
Dédoublonnage Base Accesprobleme de donnée formulaire
Cours et exercices : Base de données[MySQL]Aide pour recuperer des bbcodes
vbs : besoin d'un aide pour un script d'ajout d'imprimante sous windowSelect base de données
connexion base de donnees oracle via phpBesoin d'aide pour programmation simple
[Excel]Aide sur fonctions de rechercheBesoin d'aide pour un script
Plus de sujets relatifs à : Aide pour schéma de base de donnée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR