Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 11/04/2011, 18h29   #1
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 146
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 146
Points : 32
Points : 32
Par défaut Comment créer mes clés ?

Bonjour je n'arrive pas a crée mes cles primaires et etrangères, le programme pgadmin refuse (il marque drop) , j'ai du faire des erreurs j'ai du me mélanger des pinceaux .

d'après ce que j'ai compris si on met met une clef etrangères cela sert a indiquer a la base qu'elle doit se référer a une clef primaires

Code :
1
2
3
 
id_nom_personne serai une clef primaire
id_prenom serai une clef etrangère
donc ici id_prenom ne peut pas exister s'il n'y a pas de id_personne

voici 3 tables
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
TABLE NOM
------------------
(serial) id_nom PK
(string) nom
 
 
TABLE PRENOM
----------------
(serial) id_prenomPK
(string) prenom
 
 
TABLE IDENTITE
-------------------
(serial) id_identite PK
(int) id_nom_iden         FK
(int) id_prenom_iden    FK
pouvez vous déjà me dire si j'ai bien placer les clés ?
pouvez vous me dire si ce que je fait est correcte ?
- je souhaites mettre une clef etrangère dans la table identite sur id_nom_iden

-sur "la fenêtre une clé étrangère..." je choisi sur le champs références TABLE NOM
"

-puis sur l'onglet colonne dans le champs "Colonne Local" je choisis "id_nom_ident"
et dans le champ "Reference vers" je choisis "id_nom"

Celui qu a la cles étrangère c'est la Colonne Local ?.

merci pour les réponses.
neufrdb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 19h49   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Le langage SQL est plus simple que n'importe quelle IHM à la con...
La syntaxe, on ne peut plus claire, est la suivante :
Code :
1
2
3
4
5
6
CREATE TABLE MonNomDeTable
(Macolonne1 MonTypeSQL [NOT NULL] [PRIMARY KEY],
 Macolonne2 MonTypeSQL [NOT NULL],
 Macolonne3 MonTypeSQL [NOT NULL],
...
);
Entre crochet c'est facultatif.
Si la clef primaire doit porter sur plusieurs colonnes, il faut la créer à la suite de la liste de colonnes :

Code :
1
2
3
4
5
6
7
CREATE TABLE MonNomDeTable
(Macolonne1 MonTypeSQL [NOT NULL],
 Macolonne2 MonTypeSQL [NOT NULL],
 Macolonne3 MonTypeSQL [NOT NULL],
...
 CONSTRAINT MonNomDeContraintePK PRIMARY KEY (Macolonne1, Macolonne2, ...)
);
Pour une clef étrangère :
Code :
1
2
 
 CONSTRAINT MonNomDeContrainteFK FOREIGN KEY (liste des colonnes dans la TABLE) REFERENCES NomTableDeRéférecne (Liste des colonnes dans la TABLE mère)
Bref, apprenez le SQL, c'est mille fois plus simple et portable que de singer la clicougnette !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 20h07   #3
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 146
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 146
Points : 32
Points : 32
merci de votre réponse, je vais reprendre en langage sql
neufrdb 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 00h56.


 
 
 
 
Partenaires

Hébergement Web