Найти связанные столбцы между двумя таблицами - PullRequest
0 голосов
/ 05 марта 2020

Представь, у тебя две таблицы. И в каждой таблице много столбцов.

Я не создавал базу данных, поэтому я действительно не знаю, какие столбцы связаны между собой. Одна проблема заключается в том, что между двумя таблицами нет одинакового имени столбца, поэтому я не могу разобраться по имени столбца.

Как найти столбец, который связан с двумя разными таблицами?

1 Ответ

1 голос
/ 05 марта 2020

Если между таблицами есть внешние ключи, вы можете найти связь между ними. Для этого вы можете вызвать \d для таблицы и просмотреть внешние ключи, связанные с ее столбцами. Без явных внешних ключей невозможно определить взаимосвязь между таблицами, кроме как поговорить с разработчиками и / или лицами, принимающими технические решения.

Пример отображения отношения внешнего ключа в psql :

postgres=# alter table pgbench_accounts add constraint "pgb_accounts_branches_fk" foreign key (bid) references pgbench_branches (bid);
ALTER TABLE
postgres=# \d pgbench_accounts
              Table "public.pgbench_accounts"
  Column  |     Type      | Collation | Nullable | Default 
----------+---------------+-----------+----------+---------
 aid      | integer       |           | not null | 
 bid      | integer       |           |          | 
 abalance | integer       |           |          | 
 filler   | character(84) |           |          | 
Indexes:
    "pgbench_accounts_pkey" PRIMARY KEY, btree (aid)
Foreign-key constraints:
    "pgb_accounts_branches_fk" FOREIGN KEY (bid) REFERENCES pgbench_branches(bid)

postgres=# \d pgbench_branches
              Table "public.pgbench_branches"
  Column  |     Type      | Collation | Nullable | Default 
----------+---------------+-----------+----------+---------
 bid      | integer       |           | not null | 
 bbalance | integer       |           |          | 
 filler   | character(88) |           |          | 
Indexes:
    "pgbench_branches_pkey" PRIMARY KEY, btree (bid)
Referenced by:
    TABLE "pgbench_accounts" CONSTRAINT "pgb_accounts_branches_fk" FOREIGN KEY (bid) REFERENCES pgbench_branches(bid)

postgres=# 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...