Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2005, 01h18   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2003
Messages : 44
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 44
Points : 11
Points : 11
Envoyer un message via AIM à kitana Envoyer un message via MSN à kitana
Par défaut Contrainte de domaine

Bonjour ,

tout d'abord je vous presente le mld de ma base de données qui gere une agence de voyages
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)
j'utilise postgresql je voudrais gérer certaines contraintes:
  • 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:


Code :
ALTER TABLE activite ADD constraint prix CHECK (prix <(SELECT tarif FROM station) AND prix>0);
mais j'ai eu comme erreur comme quoi qu'on ne peut pas avoir de sous requete dans une contrainte.
donc apres j'ai testé
Code :
ALTER TABLE activite ADD constraint prix CHECK (prix <station.tarif AND prix>0);
etant donne que nomstation est une clé etrangere mais ca n'a pas fonctionné j'ai eu comme erreur

Code :
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»
. pourriez vous m'aider s'il vous plait

[Modération : Mise en page revue par LeoAnderson]
kitana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2005, 11h54   #2
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Pour quoi ne pas envisagé de le faire avec les triggers ?
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2005, 13h24   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2003
Messages : 44
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 44
Points : 11
Points : 11
Envoyer un message via AIM à kitana Envoyer un message via MSN à kitana
hummm ca non plus j'ai jamais utilisé je vais me documenter dessus et tester mais sinon ce n'est pas possible avec des contraintes?
kitana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2005, 13h29   #4
Inactif
 
Avatar de Médiat
 
Inscription : décembre 2003
Messages : 1 946
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 1 946
Points : 1 932
Points : 1 932
Pourquoi ne postes-tu pas cette question spécifique PostGresSQL dans le forum PostGresSQL ?
Médiat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2005, 20h20   #5
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Citation:
Envoyé par kitana
hummm ca non plus j'ai jamais utilisé je vais me documenter dessus et tester mais sinon ce n'est pas possible avec des contraintes?
Le rôle des triggers est de modéliser les contraintes les plus complexes.
Vous n'allez pas parvenir à les gerer sans cette fonctionalité.
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2005, 12h07   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
[Modération, Orafrance : Sujet déplacé, merci de poster dans le bon forum à l'avenir]
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h47.


 
 
 
 
Partenaires

Hébergement Web