2016-07-26 2 views
-1

Я хочу, чтобы генерировать 4 таблицы:Создание тестовых данных PostgreSQL с отношениями?

  • клиентов
  • подписки (ссылки customersid и plans.id)
  • планы
  • счета (каждый счет-фактура ссылается на подписку и клиента)

Как я могу написать запрос INSERT, где я могу вставить счет-фактуру, и произвольно сгенерировать подписку_ид, вытащив все идентификаторы из подсетей и выбрав один, а затем потяните i n соответствующая customer_id этой подписки для этой строки счета?

+0

Счета-фактуры не должны ссылаться на клиента, если он уже ссылается на подписку. Это будет денормализованная схема, которая увеличивает ваши шансы на создание противоречивых данных. Вы должны «ПРИСОЕДИНЯЙТЕ» счет на подписку, чтобы получить связанный идентификатор клиента. – jpmc26

+0

OK спасибо, но мой вопрос в том, чтобы выбрать данные из других таблиц в запросе INSERT. Все мои запросы работают нормально, мне просто нужно сгенерировать данные теста счетов с SQL, что очень сложно. – eveo

ответ

0

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

Клиенты, Сотрудники (планы), Заказы (подписки), Детали_Заказов (счетов-фактур)

Счета-фактуры должны ссылаться только подписок (и это уже ссылки на клиентов) ,