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

Décisions SGBD Discussion :

Organisation d'une Base de donnée


Sujet :

Décisions SGBD

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut Organisation d'une Base de donnée
    Bonjour à tous,

    J'aurais besoin de créer une base de donnée pour mon site en php mais je ne sais pas trop comment l'organisé...

    Voila les infos que j'aurais besoin d'y insérer...

    id
    dj
    biographie
    productions
    ------Project
    ------titres
    ------annee
    remixes
    ------Project
    ------titres
    ------année
    compilations
    ------nom
    ------année

    C'est pour afficher sur une page la biographie
    Sur une autre les productions, classés par projet et titre au project correspondant
    Idem sur une autre page pour les remixes
    Idem sur une autre page pour les compils

    Pour ce qui est du php ca ne me pose pas de soucis, mais je vois pas trop comment organisé ma base de donnée, si quelqu'un pouvait me dire ce qu'il en pense...

    Merci !!!

    P.S. : Un DJ peut avoir plusieurs projects qui eux mêmes peuvent avoir plusieurs titres.
    Un DJ peut avoir plusieurs Project de remix également qui peuvent également avoir plusieurs titres.
    et encore idem pour les compils...

    Un petit aperçu de ce que ca donne en html http://kilkikou57.free.fr/artistes/dj_lee/djlee.htm

    Merci pour votre aide.

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Une BDD qui me passe par la tête :

    Table DJ (id_dj, nom,biographie);
    Table Production (id_prod, id_dj, nom_prod, id_projet);
    Table Remixe (id_remix, id_dj, nom_remix, id_projet);
    Table Compil (id_compil, id_dj, nom_compil, annee);
    Table Projet (id_projet, nom_projet, titre, annee);
    C'est vraiment fait à froid, donc s'il y a d'autres propositions

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut
    Avec cette configuration il est possible de faire ce que j'ai besoin ??
    Par contre il faut utiliser des clefs externes alors ??
    une fois que l'on définit des clefs externes les relations se font toutes seules ??

    Merci pour vos réponses.

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu as l'air d'être perdu en BDD donc je te donne quelques liens
    Avant d'aborder le SQL : Définitions,La base de données exemple (gestion d'un hôtel)

    Le simple (?) SELECT, Les jointures, ou comment interroger plusieurs tables

    Réponses :
    1. Oui
    2. il faut joindre sur les différents id pour obtenir ce que tu veux
    3. non tu dois le faire à partir de jointure pour obtenir tes résultats
    Par exemple tu veux obtenir la biographie tu prends directement dans la table dj. de même pour les autres table.

    Pour l'affichage des info en rapport avec un projet et un dj il faut effectuer une jointure

    ps : Comme j'ai dit, il se peut qu'il y ait une meilleure solution, mais bon

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut
    Je vais déja étudier cette solution...si quelqu'un d'autre pense avoir quelque chose d'autre qu'il n'hésite pas à poster la solution...

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    je veux bien t'aider (j'ai donné qques cours de BdD) mais je comprends pas trop les différents éléments.

    un dj, je sais ce que c'est. il possède un nom et une biographie, parfait.

    essaie de m'expliquer un peu plus longuement ce qu'est un "project", un "remixe" et une "compilation".

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par gbetous
    je veux bien t'aider (j'ai donné qques cours de BdD) mais je comprends pas trop les différents éléments.

    un dj, je sais ce que c'est. il possède un nom et une biographie, parfait.

    essaie de m'expliquer un peu plus longuement ce qu'est un "project", un "remixe" et une "compilation".
    Alors un project est le nom que le DJ utilise pour les différents titres qu'il va sortir. Prenons un exemple. DJ Manian, le plus grand producteur de Trance allemande du moment.
    Donc son nom de dj est DJ Manian il compose sous plusieurs projects, tel que Cascada, Tune Up! et sous ses projects il a fait plusieurs titres.

    Donc en résumé on peut avoir :

    DJ manian
    Biographie

    Project1
    titre1;
    titre2;
    titre3;

    Project2
    titre1;
    titre2;
    titre3;

    Idem pour les remix, a part qu'il remixe le titre d'autre dj, mais le principe reste le même.
    Une compilation est par exemple Dream Dance 32 mixed by DJ Manian.
    Juste le titre de la compil, plus le nom du DJ.

    Voila j'espère avoir réussi à me faire comprendre.
    Merci à vous pour votre aide.

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Il serait pas mieux ici http://www.developpez.net/forums/forumdisplay.php?f=36 ce post ? Enfin pour avoir plus de réponses avec des gens qui brassent dans le domaine c'est le mieux
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par JWhite
    Il serait pas mieux ici http://www.developpez.net/forums/forumdisplay.php?f=36 ce post ? Enfin pour avoir plus de réponses avec des gens qui brassent dans le domaine c'est le mieux
    Mettez le sujet là ou vous pensez qu'on pourra m'aider...

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    ok, je comprends mieux...

    en fait, à la base, tu dois avoir les tables simples suivantes :

    Table DJ (id_dj, nom,biographie);
    Table Project(id_project,id_dj,nom);
    Table Titre(id_titre,id_project,nom);

    puis ensuite, une compilation c'est un peu plus compliqué :
    Table Compil(id_compil,id_dj,nom);
    Table ContenuCompil(id_compil,id_titre);

    C'est la 2e table qui te permettre de mettre autant de titres dans la compil que tu veux (un enregistrement par titre dans une compil : si tu as 20 compils de 12 titres chacune en moyenne, tu auras donc 20*12=240 lignes dans la table)

    J'ai mis un 'id_dj' dans une compilation, mais il faut voir si c'est sous le nom d'un DJ que c'est fait, ou dans le cadre d'un project (auquel cas tu mettras plutot un id_project)...

    J'ai rien mis sur les "Productions", parce que ca non plus je comprends pas trop... envoie les détails !

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut
    Merci pour ces infos.

    J'avavais déja fait ce genre de page en html à l'époque sur mon ancien site, les pages sont toujours dispo, tu peux avoir un aperçu de ce que ca peut donner...

    http://kilkikou57.free.fr/artistes/dj_lee/djlee.htm

    Voila en réalité ce que ca devrait donner...
    Une page biographie, une page productions, une page remix, une page compilations...Donc c'est de cette manière que j'ai besoin d'organiser ma base de donnée...

    Désolé mais la feuille de style n'est plus présente sur le serveur pour le site...

    J'espère que ca t'en dit plus...

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    oui mais le but de la base de données c'est d'améliorer l'organisation des données, et de n'avoir l'information qu'à un seul endroit !

    ces pages-là seront ensuite générées automatique, avec surement des hyper-lines (lorsque le dj 'x' fait une remix d'un titre du dj 'y', acces direct à la page du dj 'y' etc...)

    en gros le travail ors de la création d'une BdD est toujours le meme :
    - déterminer les entités (là, tu parles de 'dj', de 'compil', de 'titre', etc... c'est a chaque fois une nouvelle entité)
    - déterminer les relations entre les entités (et la avec ton truc ca devient coton : le titre est ecrit par un 'dj' ou dans le cadre d'un 'project' ? peut-etre les 2 ?)
    - déterminer les cardinalités : pour chaque relation, il faut savoir le nombre de relations possibles : un titre est ecrit par un et un seul 'dj' , ou alors par plusieurs 'dj' eventuellement ?
    - ensuite seulement tu pourras créer tes tables, en fonction des relation et des cardinalités.

    les 3 premiers étapes sont uniquement de la compréhension du domaine de la base : ici la création electro. un spécialiste de BdD ne pourra pas t'aider là dedans. par contre un amateur eclairé (toi) sera le seul à même de compléter ces étapes.

    la dernière étape, ca c'est du vrai travail de BdD, mais c'est de loin le plus simple (qques règles à connaitre, et c'est tout).

    donc je te propose d'y aller très proprement, petit à petit, je te poserai les questions au fur-et-à-mesure, pour bien que tu comprennes quelles sont le spossibilités que tu laisse de coté à chacun de tes choix (parce qu'il s'agit bien de ça : chaque choix limite les possiblités future, mais permet une utilisation plus simple de la BdD)

    crée ta liste d'entités, avec a chaque fois les attributs (par exemple pour le dj, les attributs sont le nom et la biographie).

    Exemple de limitation : Si tu dis qu'un dj a un nom, ca signifie qu'il n'en a qu'un, et que si il change de nom, ce sera en fait un dj différent dans ta base. Seules quelques lignes dans la biographie permettront de faire le lien (et tu devras au passage te recogner toute la biographie). A toi de savoir si il est courant de changer de nom chez les dj, ou si c'est un vrai sacrilège, qui fait que ca ne changera pas !

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Points : 16
    Points
    16
    Par défaut
    Je sais que les pages sont générés automatiquement à partir des données contenus dans la base de données...Je vais essayer de faire ca, dès que possible car j'ai compris les démarches à effectuer pour en arrivée à quelque chose...Merci beaucoup pour toutes ces informations...

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2014, 13h10
  2. Aide sur l'organisation d'une base de données comportant des macros
    Par Oirer dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/11/2012, 16h32
  3. [Débutant] Organiser une base de donnée
    Par moomba dans le forum Modélisation
    Réponses: 9
    Dernier message: 28/02/2010, 17h56
  4. organiser une base de données
    Par scorbeaux dans le forum Modélisation
    Réponses: 3
    Dernier message: 20/12/2008, 23h56
  5. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16

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