Moi personnellement je développe un site web dynamique, avec peu de besoins en base de données. Au boulot j'utilise Postgres, et je connais et j'apprécie les contraintes. Les procédures stockées sont plutôt nécessaires pour des utilisations plus poussées comme tu le soulignes, et je n'en ai pas besoin, par contre je trouve les contraintes vraiment indispensables pour avoir une base à peu près clean, que le nombre de tables et les traitements soient réduits ou non. Résultat, en apprennant que les contraintes ne sont pas disponibles avec MySQL à moins d'utiliser InnoDB sur la version 3 (donc vraiment pas dispo sur woody), j'ai été "obligé" d'opter pour Postgres.
Je ne sais pas comment les utilisateurs de longue date de mysql font pour créer des tables qui se référencent entre elles sans utiliser de contraintes, ça me semble le minimum vital pour pas faire du grand n'importe quoi... Un petit exemple pour fixer les idées :
CREATE TABLE alerts (
uid SERIAL,
user_uid INTEGER NOT NULL,
item_uid INTEGER NOT NULL,
[^] # Re: Bonne raison de changer de mySql à PostgreSQL
Posté par gc . En réponse à la dépêche Sortie de PostgreSQL 8.0. Évalué à 6.
Je ne sais pas comment les utilisateurs de longue date de mysql font pour créer des tables qui se référencent entre elles sans utiliser de contraintes, ça me semble le minimum vital pour pas faire du grand n'importe quoi... Un petit exemple pour fixer les idées :
CREATE TABLE alerts (
uid SERIAL,
user_uid INTEGER NOT NULL,
item_uid INTEGER NOT NULL,
CONSTRAINT pk_alerts PRIMARY KEY(uid),
CONSTRAINT un_alerts_user_item UNIQUE(user_uid, item_uid),
CONSTRAINT fk_alerts_user FOREIGN KEY(user_uid) REFERENCES users(uid),
CONSTRAINT fk_alerts_item FOREIGN KEY(item_uid) REFERENCES items(uid)
);