Bonjour ,
tout d'abord je vous presente le mld de ma base de données qui gere une agence de voyages
j'utilise postgresql je voudrais gérer certaines contraintes:Code:
1
2
3
4
5 Station(nomStation, capacité, lieu, région, tarif) Activité(nomStation,libellé, prix) Client(id, nom, prénom, ville, région, solde) Sejour(id, station, début, nbPlaces)
- Le prix d'une activité doit être inférieur au tarif de la station et supérieur à 0
- Pour une date de début donnée, le nombre total de places réservées dans une station doit être inférieur à la capacité de la station.
pour l'instant je n'ai testé que la première . jusqu'à maintenant je n'ai géré que des contraintes simples du style que les valeurs d'un champ soient comprises entre les valeurs d'une liste...
pour cette requete j'avais pensé à gérer ca comme:
mais j'ai eu comme erreur comme quoi qu'on ne peut pas avoir de sous requete dans une contrainte.Code:alter table activite add constraint prix check (prix <(select tarif from station) and prix>0);
donc apres j'ai testé
etant donne que nomstation est une clé etrangere mais ca n'a pas fonctionné j'ai eu comme erreurCode:alter table activite add constraint prix check (prix <station.tarif and prix>0);
. pourriez vous m'aider s'il vous plaitCode:
1
2 NOTICE: Ajout d'une entrée manquante dans FROM (table «station») ERREUR: La contrainte de vérification pourrait seulement référencer la relation «activite»
[Modération : Mise en page revue par LeoAnderson]