Member 13779854 Ответов: 1

Правильно ли я спроектировал эту базу данных?


Я создаю систему заказов, которая использует базу данных Access для чтения и записи данных. База данных содержит много таблиц. В частности, я застрял на столе продуктов. У меня есть другие таблицы для категории и производителя. Я поместил ManufacturerID в качестве первичного ключа в таблицу manufacturers и в качестве внешнего ключа в таблицу products. Я также поместил категорию в качестве первичного ключа в таблицу категорий и в качестве внешнего ключа в таблицу продуктов. Является ли это правильным способом построения отношений?

Кроме того, я подумываю о добавлении столбца users в таблицу orders, чтобы можно было уточнить поиск заказов по тому, какой сотрудник принял этот заказ. В настоящее время у меня есть таблица пользователей, которую я использую для системы входа в систему. Нужно ли мне создавать связь между именем пользователя в таблице users и именем пользователя в таблице orders, чтобы это работало?

Что я уже пробовал:

Я попытался создать отношение "один ко многим" от категории и производителя к таблице продуктов.

1 Ответов

Рейтинг:
12

Peter Leow

Цитата:
Является ли это правильным способом построения отношений?
Все зависит от требований. Один из способов-попытаться прочитать отношения на естественном языке. Основываясь на вашем дизайне, он говорит:
Цитата:
каждый продукт производится только одним отдельным производителем и относится только к одной отдельной категории.
Правильно ли это описывает требования?
Например:
manufacturer table        product table          category table
manufacturer_id (PK) +--< manufacturer_id (FK)   ...
manufacturer_name         product_id (PK)        category_name (FK)
...                       category_id (FK) >---+ category_id (PK)
                          ...                    ...


CHill60

ОП попытался ответить с помощью решения

Peter Leow

Спасибо, CHiLL60.

Member 13779854

Спасибо, да, пример подходит к тому, что я делаю.