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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Cle etrangere prenant uniquement certaine valeur de la cle primaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cle etrangere prenant uniquement certaine valeur de la cle primaire

n°1043758
deathsharp
Posté le 12-04-2005 à 09:57:08  profilanswer
 

Je suis en train de cree une base de donnee sous SQL Server.
J'ai plusieurs table lie par une cle etrangere a une meme table commune Journal.
Seulement, chacune de ces tables ne doit prendre que certaine valeur de la cle primaire (ceci etant defini par un champ  
 
type dans la table Journal).
 
En simplifaint j'ai;
 
Journal ( id, type, date... )
InfoType1( id, .. )
InfoType2( id, .. )
 
Chacun de ces tables contient des info supplementaire concernant un evenement du journal (les champs sont differents  
 
dans toutes ces tables.
 
Je voie 2 solutions:
- soit scinder la table journal pour chaque type pour eviter un mauvais lien entre cle etrangere/primaire, et faire un  
 
UNION lorsque je veux afficher tous les evenements du journal, ce qui me ferait modifier la requete le jour ou un  
 
nouveau type vient s'ajouter
 
- soit cree un trigger pour eviter de pouvoir inserer un entree dans une table du type pointant vers une entree de  
 
journal ne correspondant pas.


---------------
What butter and whiskey won't cure, there is no cure for.
mood
Publicité
Posté le 12-04-2005 à 09:57:08  profilanswer
 

n°1044078
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-04-2005 à 12:55:25  profilanswer
 

Regarde du côté des contraintes "check" (en plus de la FK biensûr)
Par contre, je ne les ai jamais utilisé, je ne peux donc pas entrer dans le détail. En tout cas, elles permettent vraissemblablement de faire ça (j'ai un doute quand à la lecture dans le champ)
 
Si ça marche pas, fait bêtement un trigger, là ça marchera à coup sûr par contre ;)

n°1044341
deathsharp
Posté le 12-04-2005 à 15:16:01  profilanswer
 

le truc c'est que les contraintes "check" verifie uniquement les cles dans la table ou tu fais la contrainte, donc je ne peux pas verifie la valeur d'un champ d'une autre table avec lequel un enregistrement est lie.
sinon je vais effectivement faire un trigger pour verifie, c'est le mieu a faire.
 
j'aimais pas trop le fait que une FK ne puisse prendre que certaine valeur de la PK, mais je voie pas mieux a faire.


---------------
What butter and whiskey won't cure, there is no cure for.

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

  Cle etrangere prenant uniquement certaine valeur de la cle primaire

 

Sujets relatifs
Atteindre la valeur dans MATLABcomt definir valeur entre formulaire et sous formulaire
$_POST['fichier'] valeur differente entre IE et Firefoxfixer une valeur sur une feuille
Recupération de la valeur du formulaire html "select"Conserver une valeur
valeur de <input text> en fonction d'un <select>Mettre valeur ds IWGrid1
script pour supprimer une cléChanger la valeur height d'une <Div>
Plus de sujets relatifs à : Cle etrangere prenant uniquement certaine valeur de la cle primaire


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