Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 03/06/2013 14:53:25
- Thomas Williamson
- Membre
Contraintes de clés étrangères vs. vérifications PHP
Bonjour,
Je me pose la question suivante : je suis entrain de créer une base de données PostgreSQL. Celle-ci sera alimentée grâce à des formulaires. J'hésite entre poser des contraintes de clés étrangères dans PostgreSQL directement (ex : table1_gid integer REFERENCES table1 dans la table2) et utiliser des vérifications dans le code PHP... Mes profs me conseilleraient plutôt la première piste tandis que des professionnels utilisateurs de PostgreSQL me conseilleraient plutôt les vérifications PHP. Je ne sais pas quoi faire et surtout pas me rendre compte des inconvénients de chaque scénario.
Quels conseils pourriez-vous me donner ?
Merci par avance !
Thomas
Dernière modification par Thomas Williamson (03/06/2013 14:53:44)
Hors ligne
#2 03/06/2013 15:12:06
- kenrio
- Membre
Re : Contraintes de clés étrangères vs. vérifications PHP
les 2 ? mais sérieusement qu'est ce qui vous empêche de faire les 2 vérifs ?
utiliser des fonctions aussi c'est pas mal
Hors ligne
#3 03/06/2013 16:13:11
- rjuju
- Administrateur
Re : Contraintes de clés étrangères vs. vérifications PHP
Il est préférable de gérer les contraintes au moins dans postgresql. Cela vous assurera entre autres une sécurité en cas d'oubli dans l'application, et une gestion uniforme si plusieurs applications doivent se connecter.
Julien.
https://rjuju.github.io/
Hors ligne
#4 03/06/2013 16:21:57
- Thomas Williamson
- Membre
Re : Contraintes de clés étrangères vs. vérifications PHP
Merci pour vos réponses ! Je trouve d'emblée aussi plus logique de paramétrer a minima dans PGSQL... Je vais faire les deux !
Thomas
Hors ligne
#5 03/06/2013 21:58:50
- gleu
- Administrateur
Re : Contraintes de clés étrangères vs. vérifications PHP
Il est clair qu'il faut au minimum le faire au niveau de PostgreSQL. Tout simplement parce que tout le monde ne passera pas forcément par votre application et que la contrainte doit toujours être gérée, même pour un DBA connecté en direct au serveur PostgreSQL.
Guillaume.
Hors ligne
#6 04/06/2013 08:32:40
- SAS
- Membre
Re : Contraintes de clés étrangères vs. vérifications PHP
Bonjour,
C'est une erreur répandue que de penser que l'intelligence ne se trouve que dans l'applicatif.
Une réflexion bien menée du côté du schéma de la base vous permettra d'éviter bien des soucis ultérieurs.
La vérification des contraintes au niveau base ne vous empêche pas de valider en amont côté applicatif, mais évitera qu'une erreur applicative ne corrompe vos données.
Stéphane Schildknecht
Conseil, formations et support PostgreSQL
http://www.loxodata.com
Hors ligne
Pages : 1