Дизайн базы данных, как справочная таблица - PullRequest
0 голосов
/ 30 марта 2012

Так что я не знаю, является ли это приемлемым.

У меня есть следующие таблицы: Document и Content Reviewers

У Content_Reviewers есть поля: cr_id, fk_ProductID.fk_DocumentID, Name, ContactInfo

1, 1, 3, 'Derek', '555-555-5555 Lives in Washington'
2  3, 35, 'James', 'California'

В документе есть поля: doc_id, fk_productID, sectionName, parentID, text

1, 1, 'Title', 0, ''
2, 1, 'Contributors', 0 'People who helped in some fashion'
3, 1, 'Editors', 2, 'People who helped edit the document'
...
35, 4, 'Editors', 33, 'People who helped edit the document'

Итак, что я пытаюсь сделать, так это то, что у меня может быть много продуктов, некоторые или все продукты могут иметь раздел «Редакторы» или «Участники».Если они это сделают, я хочу иметь возможность связать таблицу «Content_Reviewers» с этим разделом.

Так что мои первые склонности:

  1. Настройка новой таблицы разделов, чтобы избежать дублирования'SectionName' и 'Text'
  2. Добавить новый столбец, такой как TableData в Document, который будет содержать имя таблицы, связанной с ним?Content_Reviewers?(это то, что я не уверен в том, как преуспеть)

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

Спасибо.

1 Ответ

0 голосов
/ 30 марта 2012

Это много-много кардинальности. Следует создать таблицу ссылок

Пример: Таблица документов, имеет идентификатор Таблица продуктов, имеет идентификатор

создать таблицу document_product fk_Document.id fk_Product.id и создайте уникальный ключ комбинации с помощью fk_Document.id и fk_Product.id, чтобы убедиться, что они не повторяются.

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