Bonjour,
j'ai réalisé une petite BD de test (voir MLD ci joint) dont j'ai rempli les tables principales et associatives j'ai fait quelques requêtes d'affichage basique qui semblent fonctionner mais je me heurte a un petit pb débutant et ignorant si mon pb est de lié à une requête ou lié à la création de table je poste donc ici dans la section débutant.
Dans la table associative employe_livre ou sont stockés les emprunts de livres par les employés si je fait les requêtes suivante :
donc pb je peux avoir des entrés dupliqués un même jour pour le même livre pour 2 personnes différentes ... alors qu'il n'y a qu'un exemplaire ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 --on insere une ligne dans la table la tables -- l'employe 6 | thomas | volo à emprunté le livre 28 | 9782266154116 | Le Seigneur des Anneaux, Tome 1 : La communauté de l'Anneau le 03 juin 2012 insert into employe_livre (IDemploye,IDlivre, date_emprunt) VALUES (6,28,20120503); -- l'employe 7 nicolas | lepetit à emprunté le livre 28 | 9782266154116 | insert into employe_livre (IDemploye,IDlivre, date_emprunt) VALUES (7,28,20120503); SELECT * from employe_livre; /*mysql> SELECT * from employe_livre; +-----------+---------+--------------+------------------+ | IDemploye | IDlivre | date_emprunt | date_restitution | +-----------+---------+--------------+------------------+ | 6 | 28 | 2012-05-03 | NULL | | 7 | 28 | 2012-05-03 | NULL | +-----------+---------+--------------+------------------+ 2 rows in set (0.00 sec)*/
Donc ce genre de règles / contraintes doit il se régler dans la requête ou est il fixé dans la table ? Quel est le nom de cette "contrainte" ?
Cd sudtek
Partager