• [^] # Re: Mes deux centimes

    Posté par . En réponse au message Base de données facile ?. Évalué à 2. Dernière modification le 16 mai 2015 à 18:18.

    Je te remercie de partager! Je me penche sur le sujet. :)

    Un truc aussi avec les bases de données, c'est qu'il faut non seulement apprendre la syntaxe (ou bien l'interface graphique) mais aussi les méthodes de conceptions. En effet, on répartis toujours nos objets et nos personnes dans des tables ou tableaux séparés, et il y a toute une méthode pour obtenir une répartition qui marche. Voilà un petit résumé du problème, en deux cas:

    Premier cas

    Prenons l'exemple d'objets livres et de personnes à qui ils appartiennent.
    -On fait une table "livre", avec son titre, l'auteur et peut-être un numéro d'identifiant
    -On fait une table personne, avec un nom, un prénom et une adresse mail et peut-être un numéro identifiant.

    C'est peut-être déjà suffisant pour ton utilisation. Mais si tu veux aller plus loin et dire qu'un livre appartient à une Personne alors tu dois ajouter une colonne dans le tableau "livre" avec le numéro identifiant de la personne à laquelle il appartient (ou l'email).

    Ca marche! quand on prend la ligne qui correspond à un livre je peux retrouver son propriétaire grâce au numéro. Et si je veux tout les livres qui appartiennent à une même personne, il suffit de trier les livres qui correspondent à l'identifiant de cette personne.

    Si tu avais voulu mettre le numéro d'identifiant du "Livre" dans la table Personne, tu aurai été bloqué car tu ne pourrais mettre qu'un seul livre par personne.

    Deuxième cas

    Mais si le livre (ou l'objet en général) change de propriétaire au cours du temps? On peut écraser la valeur dans la colonne du propriétaire mais on perd l'historique des propriétaires...

    Alors là on est dans un nouveau cas de figure. Un livre peut avoir plusieurs propriétaires! C'est un peu plus compliqué.

    Il faut créer une nouvelle table qui contient deux identifiants. Celui du livre, et celui du propriétaire. Problème résolus. Avec des petites opérations de tri tu pourras lister tous les propriétaires de ce livre. Tu pourra aussi lister tous les livres d'un propriétaire.

    Remarque: Si tu veux mettre deux dates qui disent de quand à quand le livre à appartenu à une personne, dans quelle table est-ce que ça doit aller ? Ca va dans la nouvelle petite table. Tu lui ajoutes deux colonnes date_debut et date_fin.