Klucze podstawowe i obce w pgAdmin

Zastanawiałem się, czy ktoś może mi wyjaśnić, jak przypisać klucze podstawowe i obce w pgAdmin?

Nie mogę znaleźć żadnych informacji w Internecie.

Na przykład...Mam stolik Studencki ze wszystkimi ich danymi (adres, data ur. itd.). Dodam numer student_number do tabeli i zrobię z niego klucz podstawowy.

Chcę tylko wiedzieć jak to zrobić używając pgAdmin? A jeśli możesz być uprzejmy, aby wyjaśnić, daj mi więcej informacji na temat używania kluczy podstawowych w postgreSQL (i pgAdmin). Ta sama sprawa z zagranicznymi kluczami.

Author: Mr Teeth, 2012-03-15

4 answers

W pgAdmin nie ma opcji dodania kolumny do istniejącej tabeli i uczynienia jej kluczem głównym w tym samym czasie, ponieważ jest to prawie niemożliwe.

Kolumna klucza podstawowego musi zawierać unikalne wartości inne niż null. Po dodaniu kolumny do istniejącej tabeli, przechowuje ona wartości NULL. Musisz więc wprowadzić unikalne wartości, zanim będziesz mógł dodać ograniczenie UNIQUE lub PRIMARY KEY.

Istnieje wyjątek do tej reguły: jeśli dodasz serial kolumna, Unikat wartości są wstawiane automatycznie. W tym przypadku można również od razu zdefiniować klucz podstawowy:

ALTER TABLE student ADD COLUMN student_number serial PRIMARY KEY;

To działa w PostgreSQL 9.1. Nie jestem pewien, czy ma to również w starszych wersjach.

PgAdmin nie zawiera tego specjalnego przypadku dla serial kolumn w "nowej kolumnie..."dialog w tym czasie (Wersja 1.14).

 20
Author: Erwin Brandstetter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-15 21:24:12

Tak, istnieje sposób na dodanie podstawowych i obcych kluczy w pgAdmin.

Testowane w pgAdmin III Ver.1.16.1 (Windows 7)

  1. Wybierz tabelę, którą chcesz
  2. Ctrl+Alt+wpisz lub kliknij prawym przyciskiem myszy / Właściwości
  3. Wybierz zakładkę "ograniczenia"
  4. po lewej stronie formularza zobaczysz opcję "klucz podstawowy"
  5. Kliknij Dodaj
  6. Wybierz zakładkę "kolumny"
  7. wybierz kolumnę jako klucz
  8. Kliknij dodaj

I wszystko gotowe.

Możesz wypełnić więcej rzeczy, jeśli chcesz, ale teraz wiesz, jak się tam dostać.

 99
Author: Victor Barrantes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-11 11:24:30

Poniższy SQL będzie działał

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
Author: Thirumal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-19 04:45:26

In Pgadmin3,

  1. Przejdź do tabeli, do której chcesz dodać PK lub FK i kliknij prawym przyciskiem myszy i wybierz Właściwości.
  2. Przejdź do zakładki ograniczenia.
  3. Wybierz klucz główny lub klucz obcy z rozwijanej listy obok przycisku Dodaj.
  4. a następnie kliknij przycisk Dodaj.
  5. Przejdź do zakładki kolumny.
  6. Wybierz nazwę kolumny z listy rozwijanej, którą chcesz dodać .
  7. Kliknij przycisk Dodaj.
  8. Kliknij przycisk Ok.

    Mam nadzieję, że będzie to pomocne dla Ciebie !

 0
Author: Yadana Chaw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-21 04:25:02