web-dev-qa-db-fra.com

Clés primaires et étrangères dans pgAdmin

Je me demandais si certains pouvaient m'expliquer comment attribuer des clés primaires et étrangères dans pgAdmin?

Je ne trouve aucune information en ligne.

Par exemple ... J'ai une table d'étudiant avec tous leurs détails (adresse, adresse électronique, etc.). Je vais ajouter un numéro étudiant à la table et en faire une clé primaire.

Je veux juste savoir comment je fais ça en utilisant pgAdmin? Et si vous voulez bien expliquer, donnez-moi plus d'informations sur l'utilisation de clés primaires dans postgreSQL (et pgAdmin). Le même cas avec les clés étrangères.

48
Mr Teeth

Dans pgAdmin, il n'y a pas d'option pour ajouter une colonne à une table existante et en faire la clé primaire en même temps, car cela est difficilement possible.

Une colonne de clé primaire doit contenir des valeurs uniques non nulles. Lors de l'ajout d'une colonne à une table existante, celle-ci contient des valeurs NULL. Vous devez donc entrer des valeurs uniques avant de pouvoir ajouter une contrainte UNIQUE ou PRIMARY KEY.

Il existe un exception à cette règle, cependant: Si vous ajoutez une colonne serial , des valeurs uniques sont insérées automatiquement. Dans ce cas, vous pouvez également définir immédiatement PRIMARY KEY:

ALTER TABLE student ADD COLUMN student_number serial PRIMARY KEY;

Cela fonctionne dans PostgreSQL 9.1. Je ne suis pas sûr que ce soit le cas dans les anciennes versions.

pgAdmin n'intègre pas actuellement ce cas particulier pour les colonnes serial dans le dialogue "Nouvelle colonne ..." (version 1.14).

21
Erwin Brandstetter

Да, есть способ добавить первичные и внешние ключи в pgAdmin.

À propos de pgAdmin III Ver.1.16.1 (Windows 7)

  1. Выберите стол, который вы хотите
  2. Ctrl+Alt+Enterили щелкните правой кнопкой мыши/Свойства
  3. Выберите вкладку "Ограничения"
  4. В левой нижней части формы вы увидите опцию "Первичный ключ"
  5. Нажмите добавить
  6. Выберите вкладку "Столбцы"
  7. Выберите столбец, который вы хотите в качестве ключа
  8. Нажмите добавить

И все готово.

Вы можете заполнить больше вещей, если хотите, но теперь вы знаете, как туда добраться.

105
Victor Barrantes

Dans Pgadmin3,

  1. Accédez au tableau auquel vous souhaitez ajouter le PK ou le FK, cliquez avec le bouton droit et choisissez Propriétés.
  2. Aller sur l'onglet contraintes.
  3. Choisissez Clé primaire ou Clé étrangère dans la liste déroulante à côté du bouton Ajouter.
  4. Et que cliquez sur le bouton Ajouter.
  5. Aller à l'onglet des colonnes.
  6. Choisissez le nom de la colonne dans la liste déroulante que vous souhaitez ajouter.
  7. Cliquez sur le bouton Ajouter.
  8. Cliquez sur le bouton Ok.

    J'espère que cela vous aidera!

0
Yadana Chaw

Le SQL ci-dessous fonctionnera

SELECT
    tc.constraint_name, tc.table_name, kcu.column_name, 
    ccu.table_name AS foreign_table_name,
    ccu.column_name AS foreign_column_name 
FROM 
    information_schema.table_constraints AS tc 
    JOIN information_schema.key_column_usage AS kcu
      ON tc.constraint_name = kcu.constraint_name
    JOIN information_schema.constraint_column_usage AS ccu
      ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'PRIMARY KEY' AND tc.table_name='table_name';
0
Thirumal