Федеральное государственное образовательное учреждение высшего профессионального образования «Чувашский государственный университет им. И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра «Информационно-вычислительных систем»
Дисциплина «Базы данных»
Пояснительная записка
к курсовой работе
на тему:
«Ремонт часов»
Выполнил: студент ИВТ 13-06
Димитриев А. А
Проверил: Буланкина Е.Ю
Чебоксары – 2009 г.
Анализ. Предметная область
Дано описание предметной области:
Ремонт часов.
Автоматизировать систему заказа часовой мастерской. О заказе известно: марка часов, клиент (ФИО, адрес, телефон), мастера, которые выполняют заказ, описание услуг и запасных частей заказа. Необходимо иметь информацию о расценках мастерской. Если клиент приносит сразу несколько часов в ремонт, то они оформляются разными заказами.
Описание функций базы данных:
- Система должна хранить данные о мастерах: код мастера, ФИО мастера.
- Система должна хранить данные об услугах, предоставляемые мастерской: код услуги, вид услуги, стоимость услуги;
- Система должна хранить данные о запасных частях: код детали, вид детали, стоимость.
Перечень сущностей БД:
1) Мастера;
2) Клиенты;
3) Услуги;
4) Запасные части;
5) Заказ;
Описание сущностей БД:
1) Мастера. Это сущность. О нам известно код мастера, ФИО мастера.
2) Клиенты. Это сущность. О клиенте нам известно код клиента, ФИО клиента, адрес и телефон клиента.
3) Услуги. Это сущность. Об услуге нам известно код услуги, наименование услуги, стоимость.
4) Запасные Части. Это сущность. О запасных частях нам известно код, наименование и стоимость детали.
5) Заказ. Это сущность. О заказе нам известно марка часов, клиент (ФИО, адрес, телефон), мастера, которые выполняют заказ, описание услуг и запасных частей заказа.
Перечень и описание атрибутов БД
№ | Имя атрибута | Описание атрибута |
1 | Код Мастера | Уникальный код мастера |
2 | ФИО Мастера | Фамилия, Имя, Отчество мастера |
3 | Код Клиента | Уникальный код клиента |
4 | ФИО Клиента | Фамилия, Имя, Отчество клиента |
5 | Тел Клиента | Телефон клиента |
6 | Адрес Клиента | Адрес клиента |
7 | Код Услуги | Уникальный код услуги |
8 | Наимен Услуги | Наименование услуги |
9 | Стоимость Услуги | Стоимость услуги |
10 | Код Зап Части | Уникальный код запасной части |
11 | Наимен Зап Части | Наименование запасной части |
12 | Стоимость Зап Части | Стоимость |
13 | Код Заказа | Уникальный код заказа |
14 | Код Клиента | Уникальный код клиента |
15 | Марка Часов | Марка часов |
Проектирование. Нормализация базы данных. Схема данных
Нормализация базы данных с использованием модели ER-диаграмм
Построение ER-диаграммы
1) Мастера;
2) Клиенты;
3) Услуги;
4) Запасные части;
5) Заказ;
//--------------------------Шаг 1:-----------------------------------------------------------------------------------------------------------------------------
Определим модальность связи.
«Мастер не обязательно выполняет Заказ» (модальность связи со стороны сущности Мастер «не обязательно»).
«Заказ обязательно выполняется Мастером» (модальность связи со стороны сущности Заказ «обязательно»).
Определим кардинальность связи.
«Один Мастер может выполнять несколько Заказов”»(кардинальность со стороны сущности Заказ «Много»).
«Над одним Заказом могут работать несколько Мастеров» (кардинальность со стороны сущности Мастер «Много»).
//-------------------------------------------------------------------------------------------
---------------------------------------------------------------------
//--------------------------Шаг 2:--------------------------------------------------------
---------------------------------------------------------------------
Если клиент приносит сразу несколько часов в ремонт, то они оформляются разными заказами.
Определим модальность связи.
Клиент обязательно оформляет Заказ (модальность связи со стороны сущности Клиент обязательно).
«У Заказа обязательно имеется Клиент» (модальность связи со стороны сущности Заказ «обязательно»).
Определим кардинальность связи.
«Клиент может принести сразу несколько часов, то они оформляются разными Заказами» (кардинальность со стороны сущности Заказ «Много»).
«Один Заказ оформляется только на одного Клиента» (кардинальность со стороны сущности Клиент «Один»).
//-------------------------------------------------------------------------------------------
---------------------------------------------------------------------
//--------------------------Шаг 3:--------------------------------------------------------
---------------------------------------------------------------------
О заказе известно: марка часов, клиент(ФИО, адрес, телефон), мастера, которые выполняют заказ, описание услуг и запасных частей заказа.
Определим модальность связи.
«В Заказе обязательно присутствуют Услуги» (модальность связи со стороны сущности Заказ «обязательно»).
«Услуга не обязательно присутствует в Заказе» (модальность связи со стороны сущности Услуги «не обязательно»).
Определим кардинальность связи.
«В один Заказ может входить несколько видов Услуг» (кардинальность со стороны сущности Услуги «Много»).
«Одни и те же Услуги могут входить в разные Заказы» (кардинальность со стороны сущности Заказ «Много»).
//-------------------------------------------------------------------------------------------
---------------------------------------------------------------------
//--------------------------Шаг 4:--------------------------------------------------------
---------------------------------------------------------------------
О заказе известно: марка часов, клиент(ФИО, адрес, телефон), мастера, которые выполняют заказ, описание услуг и запасных частей заказа.
Определим модальность связи.
"В Заказе не обязательно имеются Запасные части" (модальность связи со стороны сущности Заказ "не обязательно").
"Запасные части не обязательно имеются в Заказе" (модальность связи со стороны сущности Запасные части "не обязательно").
Определим кардинальность связи.
«В один Заказ могут входить несколько Запасных частей» (кардинальность со стороны сущности Запасные части «Много»).
«Одни те же виды Деталей(запасные части) могут входить в разные Заказы» (кардинальность со стороны сущности Заказ "Много").
//-------------------------------------------------------------------------------------------
------------------------------------------
Окончательная диаграмма имеет вид:
Отношения после нормализации
Клиент (Код Клиента, ФИО Клиента, Адрес Клиента, Тел Клиента);
Мастер (Код Мастера, ФИО Мастера);
Услуги (Код Услуги, Вид Услуги, Стоимость);
Зап Части (Код Зап Части, Наимен Зап Части, Стоимость);
Заказ (Код Заказа, Код Клиента, Марка Часов);
Заказ Мастер (Код Заказа, Код Мастера);
Заказ Услуги (Код Заказа, Код Услуги);
Заказ Зап Части (Код Заказа, Код Зап Части);
Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице
Таблица 2. Сводная таблица имен отношений, атрибутов, таблиц, полей и типов данных базы данных «Ремонт Часов» после нормализации методом ER-диаграмм
Имя отношения (таблицы) | |||
Имя атрибута | Имя поля | Тип данных | Описание |
Клиент | |||
КодКлиента | KodKlienta | bigint(3)+ * | Уникальный код клиента |
ФИОКлиента | FIOKlienta | varchar(45) | ФИО клиента |
АдресКлиента | AdresKlienta | varchar(45) | Адрес клиента |
ТелКлиента | bigint(9) | Телефон клиента | |
Мастера | |||
КодМастера | KodMastera | bigint(3)+ * | Уникальный код мастера |
ФИОМастера | FIOMastera | varchar(45) | ФИО мастера |
Услуги | |||
КодУслуги | KodService | bigint(3)+* | Уникальный код услуги |
ВидУслуги | NameService | varchar(45) | Вид услуги |
Стоимость | CenaService | int(9) | Стоимость услуги |
Запасные части | |||
КодЗапЧасти | KodZapChasti | bigint(3)+ * | Уникальный код детали |
ВидЗапЧасти | NameZapChasti | varchar(45) | Вид детали |
Стоимость | CenaZapChasti | int(9) | Стоимость детали |
Заказ | |||
КодЗаказа | KodZakaza | bigint(3)+ * | Уникальный кодзаказа |
КодКлиента | KodKlienta | bigint(3) | Код клиента |
МаркаЧасов | MarkaChasov | varchar(45) | Марка часов клиента |
ЗаказМастер | |||
КодЗаказа | KodZakaza | bigint(3) | Уникальный код заказа |
КодМастера | KodMastera | bigint(3) | Уникальный код мастера |
ЗаказУслуги | |||
КодЗаказа | KodZakaza | bigint(3) | Уникальный код заказа |
КодУслуги | KodService | bigint(3) | Уникальный код суслуги |
ЗаказЗапЧасти | |||
КодЗаказа | KodZakaza | bigint(3) | Уникальный код заказа |
КодЗапЧасти | KodZapChasti | bigint(3) | Уникальный код детали |
Программная часть. Руководство программиста