nursultanya
@nursultanya
Увлекаюсь программированием

Как в PostgreSQL правильно заносить данные?

Привет. Не работал с реляционными БД, потому прошу помощи.

Имеется 2 таблицы, книги и авторы. У книги может может быть несколько авторов, а у авторов несколько книг.
books:
ID | Title
22 | GOT
34 | Hello

author:
ID | Name
11 | Martin
23 | John

books_author:
ID | aID | bID
10 | 11  | 22
11 | 23  | 34

Следовательно нужна третья соединяющая таблица?
Или сейчас уже есть какой-то другой подход?

Если с помощью 3-й таблица, то существует ли какой-то современный способ за один запрос занести данные?
Т.е. не за 4 запроса:
  • Проверить существование книги, если нет - идем дальше;
  • Проверить в цикле существование всех авторов, если нет - занести;
  • Заносим данные о книге;
  • Заносим ID авторов и ID книги в соединяющую таблицу.

а с помощью одного запроса это можно сделать?

Буду благодарен, если покажете современный подход к занесению таких данных.

Спасибо.
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
с помощью одного запроса это можно сделать?
Всё можно сделать одним запросом, если поместить операции в хранимую процедуру. В вашем случае она будет принимать название книги и список (или таблицу) имён авторов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы