powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Связь таблиц в PostgreSql
10 сообщений из 10, страница 1 из 1
Связь таблиц в PostgreSql
    #38521603
Здравствуйте уважаемые друзья, прошу помочь разобраться со следующй ситуацией.
Имеется ли возможность в PostgreSQL реализовать связь между таблицами. Ниже выложу скрин отображающий примерную схему того что нужно сделать





Как видим со скрина колонка первой таблицы meta_data включает в себя значения из второй (таб. 3.2).

Я создал первую таблицу data,
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE TABLE data
(
  meta_data character varying,
  s_ep_mkd character varying,
  id bigserial NOT NULL
)


создал вторую таблицу meta_data

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE meta_data
(
  year integer NOT NULL,
  month integer NOT NULL,
  inn character varying NOT NULL,
  kpp character varying,
  ogrn character varying,
  adr_code character varying NOT NULL,
  doc_type integer NOT NULL,
  vers_form character varying NOT NULL,
  id bigserial NOT NULL



Ребят не совсем понимаю, что дальше нужно делать, мне нужно указывать внешние ключи для полей таблиц?
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38521676
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Краткие ответы: да, да.

Подробные ответы и разъяснения следуют из предметной области - это не сюда.
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38521762
Hawkmoon, всегда поражали люди вроде Вас, если Вам нечего сказать могли бы промолчать, вопрос был задан конкретно по PostgreSql и SQL соответственно, где же го задавать если не тут?
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38521774
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нариман АлимурадовHawkmoon, всегда поражали люди вроде Вас, если Вам нечего сказать могли бы промолчать, вопрос был задан конкретно по PostgreSql и SQL соответственно, где же го задавать если не тут?ТС, "всегда поражали люди" вроде вас (вру, - имя вам - легион)
ответ был сделан корректно. по сути вопросов, в той части, где он относится к пж.

сам вопрос относится к http://www.sql.ru/forum/db-design
т.ч. далее лучше там. как вам и сказали.

т.ч. и адрес и направление вам тоже пока указывают корректно, явпочя
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38521958
qwwq, вы конечно извините, но вопрос не стоит о проектировании структуры БД.
Проблема конкретно в установке связей между таблицами БД.
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38521974
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дорогой, текстовый анализ сообщения возвращает нам 2 вопроса:
Нариман Алимурадов<...>
Имеется ли возможность в PostgreSQL реализовать связь между таблицами.
<>
Ребят не совсем понимаю, что дальше нужно делать, мне нужно указывать внешние ключи для полей таблиц?
на оба вы получили ответы.

вы затрудняетесь с синтаксисом создания связи ?

http://www.postgresql.org/docs/current/static/sql-altertable.html
http://www.postgresql.org/docs/current/static/sql-createtable.html
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38521994
вы затрудняетесь с синтаксисом создания связи ?[
__________________________________________________

Ясно дело) иначе не спрашивал бы.

Пытаюсь повесить внешний ключ запросом.
Код: sql
1.
2.
3.
ALTER TABLE data ADD CONSTRAINT external_key FOREIGN KEY (id) REFERENCES meta_data (id)
   ON UPDATE NO ACTION ON DELETE NO ACTION;
CREATE INDEX fki_external_key ON data(id);



На что получаю ошибку
Код: plaintext
ОШИБКА:  в целевой внешней таблице "meta_data" нет ограничения уникальности, соответствующего данным ключам
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38522001
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нариман Алимурадоввы затрудняетесь с синтаксисом создания связи ?[
__________________________________________________

Ясно дело) иначе не спрашивал бы.

Пытаюсь повесить внешний ключ запросом.
Код: sql
1.
2.
3.
ALTER TABLE data ADD CONSTRAINT external_key FOREIGN KEY (id) REFERENCES meta_data (id)
   ON UPDATE NO ACTION ON DELETE NO ACTION;
CREATE INDEX fki_external_key ON data(id);



На что получаю ошибку
Код: plaintext
ОШИБКА:  в целевой внешней таблице "meta_data" нет ограничения уникальности, соответствующего данным ключам
вам русским языком уже пишут, чего постгресу не хватает -- а именно -- либо пк, либо хотя бы unique в "meta_data" по полю id

для того, чтобы это выяснить нет нужды начинать от печки - привели бы сразу этот ответ пж - получилди бы сразу и его расшифровку
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38522045
qwwq,

да не ругайте вы меня длнного(
Вот что получилось в итоге
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
-- Table: data

-- DROP TABLE data;

CREATE TABLE data
(
  meta_data character varying,
  s_ep_mkd character varying,
  id bigserial NOT NULL,
  CONSTRAINT external_key_one FOREIGN KEY (id)
      REFERENCES meta_data (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
  OIDS=FALSE
);
ALTER TABLE data
  OWNER TO patya;

-- Index: fki_external_key_one

-- DROP INDEX fki_external_key_one;

CREATE INDEX fki_external_key_one
  ON data
  USING btree
  (id );

-- Index: index_test

-- DROP INDEX index_test;

CREATE UNIQUE INDEX index_test
  ON data
  USING btree
  (meta_data COLLATE pg_catalog."default" , s_ep_mkd COLLATE pg_catalog."default" , id );
...
Рейтинг: 0 / 0
Связь таблиц в PostgreSql
    #38522327
qwwq, простите за холивар что тут устроил. Почитал мануалы, все стало более или менее понятно.
Не подскажите, ддля внешнего ключа предпочтительно заводить отдельное поле, или указывать существуюющее в таблице поле, например id.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Связь таблиц в PostgreSql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]