Это не домашнее задание, а новая задача назначается начальником. Чтобы создать систему для внутренних конечных пользователей, которые автоматически указывают на другую конвейерную линию, основанную на пропускной способности каждой линии. Пользователям необходимо поддерживать каждую линейную пропускную способность каждый месяц, и каждая линия имеет свою собственную группу продуктов, работающую на ней с уникальной способностью на каждой конвейерной линии. Когда придет заказ на продажу, эта система будет основываться на обслуживании линейного планирования ниже, чтобы сделать автоматическое распределение для каждой сборочной линии на основе настройки prority.Вопрос о советах по проектированию базы данных
Например, продукт A, который находится под товарной группой XYZ, будет работать на L1 и L2.
Данные образца
Период: Line_Number | Product_Subgp | Line_Capacity | Prority
201009 | L1 | XYZ | 2000 | 1
201009 | L1 | ABC | 2000 | 2
201009 | L2 | XYZ | 2000 | 2
201009 | L2 | ZZZ | 2000 | 1
Структура таблицы для строки заголовка: LinHdr
Line_Hdr_ID | Int (AutoIncrement)
Line_Number | VarChar (10) [Основной ключ]
Период | VarChar (6) [Основной ключ]
Емкость | Числовые (16)
Special_Capacity | Числовые (16)
Line_Description | VarChar (20)
Структура таблицы для строки заголовка: LinDtl
Line_Dtl_ID | Int (AutoIncrement)
Line_Hdr_ID | Int [Основной ключ]
Product_Group | VarChar (10) [Основной ключ]
Prority | Числовой (2)
Вопросы:
Таблица LinHdr: line_number + Период является первичным ключом. Поскольку эти 2 поля будут действовать как уникальность и как ключ поиска данных. Правильно ли я устанавливаю как первичный ключ?
Таблица LinHdr: Необходимо включить Lin_Hdr_ID в качестве первичного ключа? (LinHID, который является автоинкрементным по SQL, будет невидимым для пользователей).
- Цель LinHID это сделать ссылку на LinDtl, так что нет необходимости включать в себя избыточные данные (т.е. период + line_number) в LinDtl, используя Lin_Hdr_ID связать betw 2 таблицы.
Таблица LinDtl: Line_Hdr_ID + Product_Group будет установлена как первичный ключ, чтобы обеспечить уникальность. Правильно ли это: Line_Dtl_ID? Нужно ли это поле? Если Line_Hdr_ID + Product_Group уже предоставляет уникальность, может исключить Line_Dtl_ID?
Или, лучше объединить 2 таблицы выше в 1 таблицы, которые не создали реляционную базу данных?
Надеюсь, у нас есть совет от экспертизы.
Заранее спасибо.
Совет по дизайну 1. Не сокращайте таблицы или столбцы. Используйте целые слова. Полные слова. В деталях. Пожалуйста, используйте очень длинные, очень четкие, очень точные, очень полные имена. Мы даже не можем догадаться, о чем вы говорите. Пожалуйста, ** уточните ** вопрос, чтобы включить подробную информацию. Если это домашнее задание, также, пожалуйста, отметьте его как домашнюю работу. –