SQL Server : Foreign Key ... {pour les bons} - Programmation
Marsh Posté le 05-04-2002 à 11:18:09
a part mettre 3 colonnes dans EXEMPLAIRE (avec une valeur null ou une valeur d'une autre table), je ne vois pas comment
on sort de la définition classique du SGBD là!
[jfdsdjhfuetppo]--Message édité par jupiler--[/jfdsdjhfuetppo]
Marsh Posté le 05-04-2002 à 11:18:58
comprend pas trop ?
Mais heu je dirai avec un trigger (mais je sais pas si ça existe sous SQL server) lors d'une insertion : tu cherches dans chacune des tables si le titre existe non ?
Marsh Posté le 05-04-2002 à 11:21:12
petoulachi a écrit a écrit : comprend pas trop ? Mais heu je dirai avec un trigger (mais je sais pas si ça existe sous SQL server) lors d'une insertion : tu cherches dans chacune des tables si le titre existe non ? |
éventuellement, mais ce n'est plus une contrainte alors
Marsh Posté le 05-04-2002 à 11:22:41
Je vois pas trop ce que tu veux faire, je vais essayer de devinner :
Un EXEMPLAIRE.reftitre DOIT pointer sur un titre de CD ou de Film ou de Livre.
Donc :
On a une table EXEMPLAIRE(num, IDtitre)
Une table CD(num, IDtitre ...)
Une table Film(num, IDtitre ...)
Une table Livre(num, IDtitre ...)
et une table Titre(ID, titre)
Marsh Posté le 05-04-2002 à 11:28:35
jupiler a écrit a écrit : éventuellement, mais ce n'est plus une contrainte alors |
ouais. Et ça existe les triggers avec SQL server ?
Marsh Posté le 05-04-2002 à 11:29:06
Oui y'a des triggers en SQL server !
Marsh Posté le 05-04-2002 à 12:04:24
Mara's dad a écrit a écrit : Donc : On a une table EXEMPLAIRE(num, IDtitre) Une table CD(num, IDtitre ...) Une table Film(num, IDtitre ...) Une table Livre(num, IDtitre ...) |
C tt ce ki y a, pas plus !
Par exemple, tu ajoute un exemplaire du film "terminator". T daccord ke il doit y avoir le film "terminator dans la table film? mé pas dans livre ni CD
Donc, fo trouver un moyen pour allé verifié si l'exemplaire existe soit dans l'un soit dans l'autre soit dans le 3eme
Le trigger, oui, g pas etudié la question, fo ke je vois comment ca marche
Help
Marsh Posté le 05-04-2002 à 15:44:40
Je vois toujours pas bien ce que tu veux faire ! ! !
Ton truc me parait super compliqué pour rien et en plus çà t'empèche d'avoir un film ayant le même titre qu'un CD ou qu'un livre.
Que penses-tu d'une structure due genre :
EXEMPLAIRE( ID, IDMedia )
MEDIA( ID, Titre, IDType, ...)
TYPEMEDIA( ID, Libelle ) avec par exemple :
1, Film
2, CD
3, Livre
...
Ou bien j'ai rien compris !
Au fait, elle sert à quoi la table EXEMPLAIRE ?
Marsh Posté le 05-04-2002 à 11:15:19
Comment faire une clef etrangere qui pointe sur 3 clefs primaires de 3 tables differentes ?
Je m'explique :
On a une table EXEMPLAIRE(num, reftitre)
Une table CD(num, titre ...)
Une table Film(num, titre ...)
Une table Livre(num, titre ...)
Les 3 dernieres tables sont differentes.
Je veux une contrainte qui me permette d'allé verifié si le reftitre existe soit dans la table CD, soit dans film, soit dans livre.
Moi il verifie les 3 en meme temps.
J'ai essayé avec l'analyseur de requete et avec Entreprise manager, mais le resultat est le meme.
Vous savez comment faire ?