5. Определение потенциальных ключей и выбор среди них первичных
Тип сущности | Первичный ключ | Альтернативные ключи |
древесина | порода | |
лесобилет | номер | |
делянка | номер | квадрат, площадь |
работник бригадир зав. делянками нач. базы зав. складом нач. сбыта | таб. номер | ФИО, адрес |
бригада | номер | |
продукция | наименование, цена | |
фирма-клиент | название, адрес | |
накладная на возврат делянки лесничеству, накладная на заказ и на продажу, план работы | номер | |
телефон | номер |
6. Построение ER-модели
III Логическое проектирование
1. Приведение концептуальной модели в соответствие с требованиями реляционной модели данных
1.1 Удаление связей типа M:N и связей с атрибутами
Связи «Древесина имеется у Бригадир» и «Древесина хранится у Нач. базы» заменяем на тип сущности «Наличие» с наследуемыми атрибутами «Таб. номер» и «Порода» и с собственным атрибутом «Количество» и типы связей «Древесина имеется в Наличие», «Нач. базы имеет в Наличие», «Бригадир имеет в Наличие».
Связь «Древесина указана для Делянка» заменяем на тип сущности «Наличие древесины» с наследуемыми атрибутами «Порода» и «Номер» и собственным атрибутом «Количество» и типы связей «Древесина характеризует Наличие древесины» и «Наличие древесины указано для Делянка»
Связь «Продукция хранится у Зав. складом» заменяем на тип сущности «Хранение» с наследуемыми атрибутами «Наименование» и «Цена» и собственным атрибутом «Количество» и типы связей «Продукция имеется на Хранение» и «Зав. складом имеет на хранение»
Связи «Входит в», связывающие сущности «Продукция» и «Накладная на заказ», «Накладная на продажу» и «План работы» заменяем на типы сущности «Строка накладной на заказ», «Строка накладной на продажу» и «Строка плана работы», типы связей «Продукция входит в Строка накладной на заказ», «Продукция входит в Строка накладной на продажу», «Продукция входит в План работы»; «Накладная на заказ содержит Строка накладной на заказ», «Накладная на продажу содержит Строка накладной на продажу» и «План работы содержит Строка плана работы» соответственно. При этом типы сущности «Строка накладной на заказ», «Строка накладной на продажу» и «Строка плана работы» наследуют атрибуты «Номер», «Наименование», «Цена» и имеют собственный атрибут «Количество».
Связи «Лесобилет содержит Делянка» и «Накладная на возврат делянки лесничеству содержит Делянка» заменяем на два типа сущности «Строка лесобилета» и «Строка накладной на возврат делянки лесничеству» с наследуемыми атрибутами «Номер лесобилета», «Номер накладной» и «Номер делянки» и типы связей «Лесобилет содержит Строка лесобилета» и «Накладная на возврат делянки лесничеству содержит Строка накладной на возврат делянки лесничеству»; «Делянка входит в Строка лесобилета» и «Делянка входит в Строка накладной на возврат делянки лесничеству» соответственно.
Связь «Бригадир сдаёт Продукция» заменяем на тип сущности «Объём товара» с наследуемыми атрибутами «Таб. номер», «Наименование» и «Цена» и типы связей «Продукция входит в Объём товара» и «Бригадир выпускает Объём товара»
Скорректированная таблица «Типы сущностей»
Наименование | Краткое описание | Синонимы | Особенности | ||
древесина | сырьё для продукции | лес, сырьё | |||
лесобилет | документ, который выдаётся лесничеством | нумерация лесобилетов ведётся в рамках текущего года | |||
делянка | место в лесополосе, где предприятию разрешено выпиливание леса | участок | делянки могут возвращаться лесничеству по одной по мере выпиливания в них леса | ||
работник | общее наименование для всех работающих на предприятии | каждый работник входит в состав какой-либо бригады, кроме нач. базы, зав. складом, зав. делянками и нач. сбыта | |||
бригада | основное рабочее звено предприятия | каждая бригада выполняет только определённые виды работ | |||
бригадир | работник, возглавляющий бригаду | начальник | в каждой бригаде обязательно есть бригадир | ||
зав. делянками | работник, занимающийся выпиской лесобилетов у лесничества и возвратом участков, а также следящий за использованием делянок бригадами | эту должность занимает только один работник | |||
нач. базы | работник, который принимает лес и выдаёт лес цеховым бригадам | --//-- | |||
зав. складом | работник, который принимает готовую продукцию у цеховых бригад и выдаёт её фирмам- клиентам | кладовщик | --//-- | ||
нач. сбыта | работник, который непосредственно сотрудничает с фирмами-клиентами и определяет план работы цеховым бригадам | --//-- | |||
продукция | совокупность изделий, которые выпускает предприятие | товар | вся продукция хранится на одном складе, может иметь одинаковое наименование, но разную цену | ||
фирма-клиент | фирмы, которые осуществляют заказ и покупку продукции | фирма-покупатель, фирма-заказчик | делает заказ на продукцию, однако если таковая имеется на складе, может приобрести её сразу | ||
телефон | средство сообщения между лесничеством, фирмами-клиентами и руководящими работниками, а также работников между собой | фирмы-клиенты и работники могут иметь несколько номеров телефонов | |||
накладная на возврат делянки лесничеству | документ, который свидетельствует, что лесничество приняло делянку у предприятия (зав. делянками) | нумерация накладных ведётся в рамках года | |||
накладная на заказ товара | документ, в котором фирма-клиент указывает какую продукцию она хочет приобрести и в какой срок | бланк заказа | --//-- | ||
накладная на продажу товара | документ, который выписывает у зав. складом фирма-клиент, где указывается, какую продукцию она хочет приобретает и когда срок | нумерация накладных ведётся в рамках года | |||
план работы цеховой бригады | график работы бригады на неделю | график работы | выдаётся цеховым бригадам | ||
наличие древесины | порода древесины и её количество на делянке | - | - | ||
наличие | количество древесины, имеющееся у бригадира и нач. базы | - | - | ||
объём товара | количество и вид продукции, которое имеет в наличии бригадир | ||||
хранение | количество продукции на хранении у зав. складом | ||||
строка лесобилета | |||||
строка накладной на возврат делянки лесничеству | |||||
строка плана работы | |||||
строка накладной на заказ | |||||
строка накладной на продажу | |||||
Скорректированная таблица «Типы связей»
Тип сущности | Тип связи | Тип сущности | Кардинальность | Степень участия |
наличие древесины | указано для | делянка | M:1 | Т:Т |
древесина | характеризует | наличие древесины | 1:M | T:T |
зав. делянками | выписывает | лесобилет | 1:М | Т:Т |
лесобилет | содержит | строка лесобилета | 1:М | Т:Т |
делянка | входит в | строка лесобилета | 1:1 | Т:Т |
зав. делянками | оформляет | накладная на возврат делянки лесничеству | 1:М | Т:Т |
накладная на возврат делянки лесничеству | содержит | строка накладной на возврат делянки лесничеству | 1:М | Т:Т |
делянка | входит в | строка накладной на возврат делянки лесничеству | 1:1 | Т:Т |
делянка | закреплена за | бригадир | 1:1 | Т:Р |
работник | приписан к | бригада | М:1 | T:Т |
бригадир | возглавляет | бригада | 1:1 | Т:Т |
бригадир | имеет в | наличие | 1:М | Р:Т |
нач. базы | имеет в | наличие | 1:М | Т:Т |
древесина | имеется в | наличие | 1:М | Р:Т |
бригадир | выпускает | объём товара | 1:М | Р:Т |
продукция | входит в | объём товара | 1:М | Т:Т |
продукция | имеется на | хранение | М:1 | Р:Т |
зав. складом | имеет на | хранение | 1:1 | Т:Т |
фирма-клиент | выписывает | накладная на заказ | 1:М | Т:Т |
нач. сбыта | оформляет | накладная на заказ | 1:М | Т:Т |
накладная на заказ | содержит | строка накладной на заказ | 1:М | Т:Т |
продукция | входит в | строка накладной на заказ | 1:М | Т:Т |
фирма-клиент | выписывает | накладная на продажу | 1:М | Т:Т |
зав. складом | оформляет | накладная на продажу | 1:М | Т:Т |
накладная на продажу | содержит | строка накладной на продажу | 1:М | Т:Т |
продукция | входит в | строка накладной на продажу | 1:М | Т:Т |
нач. сбыта | выдаёт | план работы | 1:М | Т:Т |
план работы | содержит | строка плана работы | 1:М | Т:Т |
продукция | входит в | строка плана работы | 1:М | Т:Т |
бригада | получает | план работы | 1:М | Р:Т |
работник | имеет | телефон | М:1 | P:Т |
фирма-клиент | имеет | телефон | М:1 | T:Т |
Ключи
Тип сущности | Первичный ключ | Альтернативные ключи |
древесина | порода | |
лесобилет | номер | |
делянка | номер | квадрат, площадь |
работник бригадир зав. делянками нач. базы зав. складом нач. сбыта | таб. номер | ФИО, адрес |
бригада | таб. номер | |
продукция | наименование, цена | |
фирма-клиент | название, адрес | |
накладная на возврат делянки лесничеству, накладная на заказ и на продажу, план работы | номер | |
телефон | номер | |
наличие | слабая сущность | |
хранение | слабая сущность | |
строка лесобилета | слабая сущность | |
строка накладной на возврат делянки лесничеству | слабая сущность | |
объём товара | слабая сущность | |
строка накладной на заказ | слабая сущность | |
строка накладной на продажу | слабая сущность | |
строка плана работы | слабая сущность | |
наличие древесины | слабая сущность |
2. Построение скорректированной ER – модели
3. Определение наборов отношений
1. Фирма-клиент (название, адрес, номер телефона)
ПК: название, адрес
ВК: нет
1. Древесина (порода)
ПК: порода
ВК: нет
2. Делянка (номер, квадрат, площадь)
ПК: номер
ВК: нет
3. Работник (таб. номер, ФИО, адрес, телефон, дата поступления, дата назначения, должность, номер бригады)
ПК: таб. номер
ВК: номер бригады ссылается на бригада (номер)
4. Бригадир (таб. номер, ФИО, адрес, телефон, дата поступления, дата назначения, номер бригады)
ПК: таб. номер
ВК: номер бригады ссылается на бригада (номер)
5. Бригада (номер, специализация, номер цеха)
ПК: номер
ВК: нет
6. Продукция (наименование, цена, единицы измерения)
ПК: наименование, цена
ВК: нет
7. Телефон (номер, название фирмы-клиента, адрес фирмы-клиента, таб. номер работника)
ПК: номер
ВК: название фирмы-клиента, адрес фирмы-клиента ссылается на фирма-клиент (название, адрес)
ВК: таб. номер работника ссылается на работник (таб. номер)
8. Накладная на заказ (номер, дата, срок, таб. номер нач. сбыта, название фирмы-клиента, адрес фирмы-клиента, номер телефона фирмы-клиента)
ПК: номер
ВК: название фирмы-клиента, адрес фирмы-клиента ссылается на фирма-клиент (название, адрес)
ВК: таб. номер начальника сбыта ссылается на работник(таб. номер)
9. Строка накладной на заказ (кол-во, наименование продукции, цена продукции, номер накладной)
ПК: номер накладной, наименование продукции, цена продукции
ВК: номер накладной ссылается на накладная на заказ (номер)
ВК: наименование продукции, цена продукции ссылается на продукция (наименование, цена)
10. Накладная на продажу (номер, дата, таб. номер зав. складом, название фирмы-клиента, адрес фирмы-клиента, номер телефона фирмы-клиента)
ПК: номер
ВК: название фирмы-клиента, адрес фирмы-клиента ссылается на фирма-клиент(название, адрес)
ВК: таб. номер зав. складом ссылается на работник(таб. номер)
11. Строка накладной на продажу(кол-во, наименование продукции, цена продукции, номер накладной)
ПК: номер накладной, наименование продукции, цена продукции
ВК: номер накладной ссылается на накладная на продажу(номер)
ВК: наименование продукции, цена продукции ссылается на продукция(наименование, цена)
12. План работы(номер, дата, срок, объём древесины, таб. номер нач. сбыта, номер бригады)
ПК: номер
ВК: таб. номер начальника сбыта ссылается на работник(таб. номер)
ВК: номер бригады ссылается на бригада(номер)
13. Строка плана работы(кол-во, наименование продукции, цена продукции, номер плана)
ПК: номер плана, наименование продукции, цена продукции
ВК: номер плана ссылается на план работы(номер)
ВК: наименование продукции, цена продукции ссылается на продукция(наименование, цена)
14. Объём товара(кол-во, таб. номер бригадира, наименование продукции, цена продукции)
ПК: таб. номер бригадира, наименование продукции, цена продукции
ВК: таб. номер бригадира ссылается на работник(таб. номер)
ВК: наименование продукции, цена продукции ссылается на продукция(наименование, цена)
15. Наличие древесины(кол-во, порода, номер делянки)
ПК: номер делянки, порода
ВК: номер делянки ссылается на делянка(номер)
ВК: порода ссылается на древесина(порода)
16. Лесобилет(номер, таб. номер зав. делянками, дата)
ПК: номер
ВК: таб. номер зав. делянками ссылается на работник(таб. номер)
17. Строка лесобилета(номер лесобилета, номер делянки)
ПК: номер лесобилета, номер делянки
ВК: номер лесобилета ссылается на лесобилет(номер)
ВК: номер делянки ссылается на делянка(номер)
18. Накладная на возврат делянки лесничеству(номер, таб. номер зав. делянками, дата)
ПК: номер
ВК: таб. номер зав. делянками ссылается на работник(таб. номер)
19. Строка накладной на возврат делянки лесничеству(номер накладной, номер делянки)
ПК: номер накладной, номер делянки
ВК: номер накладной ссылается на накладная на возврат делянки лесничеству(номер)
ВК: номер делянки ссылается на делянка(номер)
20. Наличие(таб. номер бригадира, таб.номер нач. базы, порода, кол-во)
ПК: таб. бригадира, таб.номер нач. базы, порода
ВК: таб. номер бригадира ссылается на бригадир(таб. номер)
ВК: таб. номер нач. базы ссылается на работник(таб. номер)
ВК: порода ссылается на древесина(порода)
21. Хранение(таб. номер зав. складом, наименование продукции, цена продукции, кол-во)
ПК: наименование продукции, цена продукции
ВК: таб. номер зав. складом ссылается на работник(таб. номер)
ВК: наименование продукции, цена продукции ссылается на продукция(наименование, цена)
4. Проверка набора отношений на соответствие требованиям нормализации
Для каждого из отношений выпишем функциональные зависимости.
1. Фирма-клиент
название, адрес – номер телефона
2. Древесина
порода –
3. Делянка
номер – квадрат
номер – площадь
4. Работник
таб. номер – ФИО
таб. номер – адрес
таб. номер – телефон
таб. номер – дата поступления
таб. номер – дата назначения
таб. номер – должность
таб. номер – номер бригады
5. Бригадир
таб. номер – ФИО
таб. номер – адрес
таб. номер – телефон
таб. номер – дата поступления
таб. номер – дата назначения
таб. номер – номер бригады
6. Бригада
номер – специализация
номер – номер цеха
7. Продукция
наименование, цена – единицы измерения
8. Телефон
номер – название фирмы-клиента
номер – адрес фирмы-клиента
номер – таб. номер работника
9. Накладная на заказ
номер – дата
номер – срок
номер – таб. номер начальника сбыта
номер – название фирмы-клиента
номер – адрес фирмы-клиента
номер – телефон фирмы-клиента
10. Строка накладной на заказ
номер накладной, наименование продукции, цена продукции – количество
11. Накладная на продажу
номер – дата
номер – таб. номер зав. складом
номер – название фирмы-клиента
номер – адрес фирмы-клиента
номер – телефон фирмы-клиента
12. Строка накладной на продажу
номер накладной, наименование продукции, цена продукции – количество
13. План работы
номер – дата
номер – срок
номер – таб. номер нач. сбыта
номер – номер бригады
14. Строка плана работы
номер плана, наименование продукции, цена продукции – количество
номер плана, наименование продукции, цена продукции – объём древесины
15. Объём товара
таб. номер бригадира, наименование продукции, цена продукции – количество
16. Наличие древесины
номер делянки, порода – количество
17. Лесобилет
номер – таб. номер зав. делянками
номер – дата
18. Строка лесобилета
номер лесобилета, номер делянки –
19. Накладная на возврат делянки лесничеству
номер – таб. номер зав. делянками
номер – дата
20. Строка накладной на возврат делянки лесничеству
номер накладной, номер делянки
21. Наличие
таб. номер бригадира, таб. номер нач. базы, порода – количество
22. Хранение
таб. номер зав. складом, наименование продукции, цена продукции – количество
5. Проверка модели на возможность выполнения всех транзакций
Для каждой транзакции на ER-модели обозначим путь её выполнения.
6. Построение окончательного варианта ER – модели
ER–модель, изображённую в пункте 2 логического проектирования будет окончательным вариантом, т.к. пунктах 3 -5 ER – модель не претерпела никаких изменений.
7. Определение набора ограничений целостности
1 Обязательные данные. К ним относятся все атрибуты, составляющие первичные ключи + ещё некоторые атрибуты, которые по постановке задачи или из смысловых соображений не могут быть пустыми (см. таблицу «Атрибуты» и таблицу ниже).
Тип сущности/ связи | Атрибут | Описание | Тип данных |
строка накладной на заказ | количество | количество товара | плавающий |
строка накладной на продажу | количество | количество товара | плавающий |
строка плана работы | количество | количество товара | плавающий |
хранение | кол-во | кол-во продукции у зав. складом | плавающий |
наличие | кол-во | кол-во древесины у бригадира или нач. базы | плавающий |
объём товара | кол-во | кол-во продукции, которое имеется у бригадира | плавающий |
наличие древесины | кол-во | кол-во древесины на делянке | плавающий |
... к первой фазе и является наиболее трудным и длительным во времени этапом процесса проектирования. Однако он является наиболее важным, т.к. на его базе строится большинство проектных решений. Основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных пользователями всех уровней. Анализ требований обеспечивает согласованность целей пользователей, а также ...
... , служащее для определения экземпляров сущности. В первую очередь необходимо начать с описания объектов базы данных (сущностей), определения их атрибутов и установки связей между сущностями. 1.1.1 Описание предметной области Консалтинговое агентство предоставляет маркетинговые услуги – консультации в области аудита, экспресс- анализа и бизнес-планирования для промышленных предприятий. ...
... на модели данных, реализованные в различных СУБД. Наибольшую популярность получили CASE-системы для реляционных СУБД с SQL-моделями данных, а DD/D переименовался в CASE-репозиторий проектируемой ИС. На этом пути возникло два основных направления развития CASE-систем и технологий проектирования: CASE-системы для проектирования собственно БД (или т. н. Upper-CASE) и интегрированные инструменты, ...
... компиляция концептуальной модели предметной области в схему БД). Второй вариант - прямая реализация СУБД, основанная на какой либо семантической модели данных. 2. Создание базы данных «Деканат: дистанционного обучения КТИ» 2.1 Краткая характеристика предметной области Предполагаемый деканат дистанционного образования Калмыцкого Технологического Института, именуемый в дальнейшем "ДДО КТИ ...
0 комментариев