|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 154 ![]() |
comment dois je faire sur phppgadmin pour que mes clés étrangéres ne soient pas saisies sur la table car ma cardinalité est 0,1
|
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 147 ![]() |
Pourrais-tu être un peu plus précis? Je ne vois pas de quelle cardinalité tu parles.
@+ champijulie |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2004 Messages : 13 ![]() |
Evidemment moi aussi je ne vois pas de quoi tu veux parler.
|
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2004 Messages : 13 ![]() |
Tu peux créer une table auxiliaire pour enregistrer tes clés.
Supposons les tables Pere(NP) et Enfants(NE) la table Estenfant associant les deux auront pour clés NP et NE. Si la cardinalite est de o,1 comme ici latable Estenfant aura seulement pour clé NE car un enfant as un seul père. create table Pere ( NP serial primary key, nom varchar[20]); create table Enfant ( NE serial primary key, prenom varchar); create table Estenfant ( NE integer references Enfants(NE) primary key, NP integer references Pere(NP)); |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : juin 2005 Messages : 154 ![]() |
dans mon schéma entité association mes cardinalités entre deux table sont 0,n et 0,1.
donc dans mon schéma relationnel la clé primaire de lune de mes tables devient clé étrangère de lautre. mais comme la cardinalité est 0,1 et non pas 1,1 sa valeur n'est donc pas obligatoire. comment puis je faire merci jespere que vous comprenez |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2004 Messages : 13 ![]() |
Supposons que c'est la table2 qui a le cardinal 0,1 et que le nom de la clé de la table1 est id. Que la colonne qui doit normalement etre clé étrangère dans table2 porte le même nom id mais ne réfference pas la table1. Crée une fonction trigger avec les contraintes suivantes: check(id='' or id= (select id from table1)) Crée ensuite un trigger qui va maintenant s'appliquer sur la table2 create trigger verification after insert or update on table2 for each row execute fonctiontigger; |
|
|
00
|
|
|
#7 | ||
|
Membre à l'essai
![]() |
Sur cet exemple la cardinalité de la relation categorie /produit
est 0,1 Code :
- si cat_id existe dans la table categorie ou - si cat_id est NULL Si tu veux faire une relation 1,1 entre les 2 tables il faudrait spécifier pour la table produit Dans ce cas tu peux faire un INSERT dans la table produit uniquement si cat_id existe dans la table categorie. J'espere avoir répondu a ta question Moog |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com