Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
851 connectés 

  FORUM HardWare.fr
  Programmation

  SQL Server : Foreign Key ... {pour les bons}

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL Server : Foreign Key ... {pour les bons}

n°121734
fabd
Posté le 05-04-2002 à 11:15:19  profilanswer
 

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 ?

mood
Publicité
Posté le 05-04-2002 à 11:15:19  profilanswer
 

n°121736
jupiler
Un cousin...
Posté le 05-04-2002 à 11:18:09  profilanswer
 

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]


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°121738
petoulachi
A fortiori, brigadier chef
Posté le 05-04-2002 à 11:18:58  profilanswer
 

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 ?

n°121741
jupiler
Un cousin...
Posté le 05-04-2002 à 11:21:12  profilanswer
 

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


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°121743
Mara's dad
Yes I can !
Posté le 05-04-2002 à 11:22:41  profilanswer
 

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)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°121749
petoulachi
A fortiori, brigadier chef
Posté le 05-04-2002 à 11:28:35  profilanswer
 

jupiler a écrit a écrit :

 
 
éventuellement, mais ce n'est plus une contrainte alors  




 
ouais. Et ça existe les triggers avec SQL server ?

n°121751
Mara's dad
Yes I can !
Posté le 05-04-2002 à 11:29:06  profilanswer
 

Oui y'a des triggers en SQL server !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°121790
fabd
Posté le 05-04-2002 à 12:04:24  profilanswer
 

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 :sweat:

n°122016
Mara's dad
Yes I can !
Posté le 05-04-2002 à 15:44:40  profilanswer
 

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 ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  SQL Server : Foreign Key ... {pour les bons}

 

Sujets relatifs
[MS SQL SERVER] taille en octets des tables[phpMyAdmin 2.2.1] Comment rapatrier structure et données SQL ?
SQL :Server Est ce possible ?SQL Server : Comment désactiver l'affichage des tables systemes ?
[SQL] appel de DLL possible?[SQL]
SQL Serveur et requete 
Plus de sujets relatifs à : SQL Server : Foreign Key ... {pour les bons}


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR