Помощь в проектировании базы данных - PullRequest
0 голосов
/ 28 мая 2020

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

На данный момент у меня есть: , серийный номер, ProductType)

ProductType (Id, Name)

Разделы (Id, Name, ProductTypeId *) элементы (Id, Name, SectionId, EmpNumber *)

My проблема в том, что я хотел бы, чтобы раздел мог принадлежать многим ProductTypes, и мне нужен способ включения номеров сотрудников в элементы. Мне понадобится какой-нибудь соединительный стол? Как бы то ни было, сначала будет сделан код asp. net core.

Контрольный список при отображении будет выглядеть примерно так:

Продукт: Product One Дата: 05 / 27/2020 Серийный номер: 5656ASF

Section One
    Item One | EmpNumber
    Item Two | EmpNumber
    Item Three | EmpNumber

Section Two
    Item One  | EmpNumber
    Item Two  | EmpNumber

Section Three
    Item One | EmpNumber

.....

Заранее спасибо!

***** ОБНОВЛЕНИЕ ****

Я поработал над ним и вот что у меня получилось:

Unit (Id, SerialNumber, StartDate, Model_Id) ProductType (Id, Name)

Model (Id, Имя, ProductType_Id)

ModelSection (Model_Id, Section_Id)

Раздел (Id, Name)

SectionItem (Section_Id, Item_Id)

Item (Id, Имя)

BuyOff (Id, Unit_Id, Item_Id, EmployeeNumber)

Есть предложения?

1 Ответ

0 голосов
/ 28 мая 2020

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

Один из способов - использовать ссылку Таблицы, которые, как я подозреваю, именно то, что вы имеете в виду, когда говорите «Соединительные таблицы».

Пример может выглядеть так:

Единица - ID, Имя, Дата начала, ProductTypeID ProductType - ID, Имя Раздел- ID, Name Item - ID, Name


SectionProductTypeLink - (может быть уникальный идентификатор), SectionID, ProductTypeID SectionEmployeeLink - (может быть уникальный идентификатор), SectionID, EmployeeNumber

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

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

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

...