BD + php + requete SQL

Résolu/Fermé
dadou - 13 avril 2014 à 20:16
 dadou - 15 avril 2014 à 18:03
salut à tous, je suis en train de créer un projet en php (gestion d'une bibliotheque).

dans la base de données il y a la table etudiant qui peut emprunter des ouvrages.

Ma question c'est: dans la base de données que je l'ai créé sur localhost/phpmyadmin , est ce qu'il faut ajouter la clé primaire de la table ouvrage dans la table etudiant ou inversement et si oui comment faire ?

merci de me répondre

:)

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 15/04/2014 à 11:09
Bonjour,

Si tu rajoutes la clef primaire de Ouvrage dans Etudiant, cela signifie qu'un étudiant ne pourra avoir qu'un seul ouvrage emprunté à la fois, et t'empêchera d'en garder un historique.

Si tu rajoutes la clef primaire de Etudiant dans Ouvrage, cela signifie qu'un livre ne pourra être emprunté que par un seul étudiant. C'est valable si tu ne souhaites pas garder d'historique.

Ces deux solutions sont donc restrictives.

En général, on crée une table intermédiaire, du genre :
create table etudian_ouvrage (
-- colonnes obligatoires
id_etudiant not null int,
id_ouvrage not null int,
-- colonnes supplémentaires, selon ton besoin
date_emprunt not null timestamp,
date_rendu null timestamp
--etc...

Cela permet de stocker n'importe quelle combinaison d'ouvrages et d'étudiants, avec en plus des données supplémentaires sur l'emprunt réalisé.

Xavier
0
Merci pour cette très claire réponse !
Merci beaucoup !
0