Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
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 18/03/2005, 15h56   #1
Invité de passage
 
Inscription : mars 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 2
Points : 2
Points : 2
Par défaut Trigger vs Foreign Key

Je suis en train de réaliser une application qui devra etre compatible avec plusieurs sgbd différents (oracle, slq server...). J'utilise un éditeur de modele physique de données (power AMC, j'ai aussi utilisé Rose) mais je rencontre le même problème ds les 2 cas : pour la gestion des foreign key et des "on update cascade" les 2 proposent d'utiliser des triggers, mais dans ce cas ils ne créent pas la relation (add foreign key...) ...
Est-ce que le fait d'utiliser des triggers au lieu de déclarer des relations pose des problèmes? Est-ce que quelqu'un sait pourquoi ces éditeurs (pourtant renommés) ne permettent pas de créer une relation + un trigger pour le on update cascade?? Ces éditeurs étant très bon, je me dis qu'il doit y avoir une bonne raison...

J'avoue ne pas être un expert un bd et je piétine un peu...

merci à tous ceux qui auront pris le temps de se pencher sur mon cas
boubou11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2005, 16h21   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
parce que le update/delete on cascade n'est pas supporté par les SGBDR du marché cités via intégrité référencielle. Pour palier à ça, il faut donc passer par des triggers (intégrité fonctionnelle)
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2005, 17h39   #3
Membre éclairé
 
Inscription : mars 2004
Messages : 425
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 425
Points : 300
Points : 300
Envoyer un message via MSN à annedjomo Envoyer un message via Yahoo à annedjomo
Par défaut Re: Trigger vs Foreign Key

Citation:
Envoyé par boubou11
Est-ce que le fait d'utiliser des triggers au lieu de déclarer des relations pose des problèmes? Est-ce que quelqu'un sait pourquoi ces éditeurs (pourtant renommés) ne permettent pas de créer une relation + un trigger pour le on update cascade?? Ces éditeurs étant très bon, je me dis qu'il doit y avoir une bonne raison...
Je pense qu'il n'est pas interdit de definir les clés étrangères et de définir un trigger par la suite. En plus les clés étrangères te permettront de garantir l'intégrité reférentielle de ta base de données
__________________
OS:Win 2000 Pro, WIN XP
SGBD: MS Sql Server, Oracle
Environnement: VS.NET 2002, JBuilder
Web: www.ndestudents.com
annedjomo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2005, 18h16   #4
Membre confirmé
 
Inscription : mars 2002
Messages : 323
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 323
Points : 280
Points : 280
Il FAUT choisir l'intégrité référentielle ! La gestion manuelle (par triggers) de l'intégrité ça aboutit à une impossibilité de faire du reverse-engineering, on est tenté de rajouter des petites modifs un peu partout... En bref tu auras un outil non standard, donc : du boulot de documentation en plus pour rien, ou une une usine à gaz impossible à maintenir.

Si en plus tu dois être compatible avec plusieurs SGBD, mieux vaut utiliser le moins possible les triggers car leur langage est spécifique.

tu utilises l'intégrité référentielle standard et au besoin pour des cas précis que tu dois documenter, tu rajoutes (en doublon) des règles par triggers. (mais le moins possible car ça rendra difficile le support multi-sgbd)
__________________
creapage.net
laffreuxthomas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2005, 07h55   #5
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
... mais - je me répète - beaucoup de SGBDR ne supportent pas les cascade en mode déclaratif.
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h59.


 
 
 
 
Partenaires

Hébergement Web