БАЗА ДАННЫХ
ДЛЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ
«Таксопарк»
Пояснительная записка к курсовому проекту
по общепрофессиональной дисциплине
«Организация баз данных»
Специальность 552800 – Информатика и вычислительная
техника
Факультет
Кафедра
Курс 3
Семестр 6
2003
СОДЕРЖАНИЕ
Введение | 3 | |
1 | Выбор автоматизируемых функций и информационного обеспечения | 4 |
1.1 | Описание предметной области | 4 |
1.2 | Описание автоматизируемых функций | 5 |
1.3 | Первичное описание информационного обеспечения | 7 |
Вывод | 11 | |
2 | Выявление ограничений и правил поддержания целостности | 11 |
2.1 | Целостное ограничение на уровне атрибутов | 11 |
2.2 | Целостное ограничение на уровне строк | 20 |
2.3 | Целостное ограничение на уровне базы данных | 26 |
Вывод | 29 | |
3 | Разработка локальных концептуальных моделей | |
3.1 | Разработка исходных локальных ER-моделей | 29 |
3.2 | Нормализация локальных моделей | 35 |
3.3 | Перевод целостных и операционных ограничений на уровне локальных моделей | 39 |
Вывод | 39 | |
4 | Разработка глобальной концептуальной модели базы данных | |
4.1 | Выявление и синтез эквивалентных сущностей | 39 |
4.2 | Выявление и синтез обобщающих сущностей | 41 |
4.3 | Выявление и устранение дублирования атрибутов и связей | 41 |
4.4 | Графическое представление глобальной ER-модели | 42 |
4.5 | Перевод целогстных и операционных ограничений на уровне глобальной модели | 43 |
4.6 | Вывод | 42 |
5 | Проектирование реляционной SQL -модели | |
5.1 | SQL-код для создания реляционной модели | 42 |
6 | Проектирование представлений для автоматизируемых функций | |
6.1 | Определение способа и формы представления автоматизируемых функций | 46 |
6.2 | Создание запросов для выборок | 46 |
Заключение | 47 |
ВВЕДЕНИЕ
Целью данного проекта является выработка умений и навыков проектирования структуры базы данных, предназначенной для функционирования автоматизированной информационной системы. Для достижения этой цели в данном проекте выполняется разработка структуры реляционной базы данных для гипотетической информационной системы "Таксопарк".
Информационная система «Таксопарк» предназначена для упрощения регулированием системы и для автоматизации её функций.
Разрабатываемая база данных предназначена для учёта действий системы, с целью в будущем легко, если это потребуется, вернуться к прежним изменениям в системе.
Раздел 1 посвящен выбору автоматизированных функций и информационного обеспечения. Здесь дается краткое описание предметной области; производится выбор и описание автоматизируемых функций; выполняется первичное описание информационного обеспечения.
Раздел 2 посвящен выявлению ограничений и правил поддержания целостности данных, которые будут размещаться в базе данных. Рассматриваются ограничения и правила для отдельных атрибутов, кортежей, множеств кортежей и базы данных в целом.
Раздел 3 посвящен проектированию локальных ER-моделей, соответствующих отдельным автоматизируемым функциям. Здесь выполняется составление локальных исходных ER-моделей, производится нормализация локальных ER-моделей, разрабатываются спецификации ограничений и правил поддержания целостности для локальных ER-моделей.
Раздел 4 посвящен проектированию глобальной ER-модели. Здесь производится выявление и устранение эквивалентных сущностей, выявление категорий и синтез обобщающих сущностей, выявление и устранение дублирования атрибутов и связей. Строится графическое представление глобальной модели, специфицируются ограничения и правила поддержания целостности на уровне глобальной модели.
Раздел 5 посвящен проектированию реляционной SQL-модели. Здесь выполняется перевод глобальной ER-модели в реляционную форму, специфицируются ограничения и правила поддержания целостности на реляционном уровне, записывается SQL-код для создания реляционной модели.
Раздел 6 посвящен проектированию представлений для автоматизируемых функций. Здесь выполняется определение путей доступа к данным для автоматизируемых функций, записывается SQL- код локальных просмотров для автоматизируемых функций.
1 ВЫБОР АВТОМАТИЗИРУЕМЫХ ФУНКЦИЙ И ИНФОРИАЦИОННОГО ОБЕСПЕЧЕНИЯ
Данный раздел посвящен выбору автоматизируемых функций и информационного обеспечения, служащих основой для дальнейшего проектирования структуры базы данных. Здесь дается краткое описание предметной области; производится выбор и описание автоматизируемых функций; выполняется первичное описание информационного обеспечения.
Результаты получены путем мысленного воспроизведения и анализа предположительного функционирования гипотетической автоматизированной системы «Таксопарк» на основе здравого смысла и опыта исполнителя. Обследование реальных или типовых объектов данного класса не производилось ввиду ограниченного времени, отводимого на курсовое проектирование.
Вывод
В результате анализа предположительного функционирования гипотетической автоматизированной системы «Таксопарк» выбраны пять автоматизируемых функций, охватывающих основные виды деятельности данного автотранспортного предприятия, информационное обеспечение которых соответствует 7 объектам предметной области и включает 101 атрибут, охватывающих сведения о всей деятельности автотранспортного предприятия и предназначенных для облегчения и упрощения работы всей системы.
ВЫЯВЛЕНИЕ ОГРАНИЧЕНИЙ
Уровень атрибутов
В данном подразделе для функций, определенных в разд. 1.2, выявляются ограничения и правила на уровне атрибутов, выбранных в разд. 1.3. В первую очередь путем анализа отдельных атрибутов определяются характеристики доменов, из которых атрибуты объектов, участвующих в выполнении автоматизируемых функций, берут свои значения. Далее анализируются возможные изменения значений атрибутов с целью выявления динамических ограничений и операционных правил, относящихся к отдельным атрибутам.
2.1.1 Функция 1 «Учет сотрудников»
2.1.1.1 Домены, из которых атрибуты, относящиеся к данной функции, берут свои значения, приведены в табл. 2.1.
Таблица 2.1 Домены атрибутов для функции 1 «Учет сотрудников»
Атрибут | Тип (размер) | Границы | Структура | Условие | Обязательность | Повторяемость | Значение по умолчанию |
1.1 Код Сотрудника | Числовая строка (4) | + | + | ||||
1.2 Фамилия Сотрудника | Строка русских букв | А…Яя | 1) | + | + | ||
1.3 Имя Сотрудника | Строка русских букв | А…Яя | 1) | + | + | ||
1.4 Отчество Сотрудника | Строка русских букв | А…Яя | 1) | + | + | ||
1.5 Дата Рождения | Числовая строка (6) | <= тек.дата | 2) | + | |||
1.6 Адрес (фактический) | Строка букв и цифр | + | |||||
1.7 Должность | Строка русских букв | ||||||
1.8 Водительские Права | Строка букв и цифр | 7) | + | ||||
1.9 Дата Выдачи Прав | Числовая строка (6) | <= тек.дата | 2) | 8) | + | ||
1.10 Личный Автомобиль | Строка букв и цифр | ||||||
1.11 Семейное Положение | Строка русских букв | + | |||||
1.12 Образование | Строка русских букв | ||||||
1.13 Серия Паспорта | Строка букв и цифр | + | |||||
1.14 Номер Паспорта | Числовая строка | + | |||||
1.15 Кем Выдан | Строка русских букв | + | |||||
1.16 Дата Выдачи | Числовая строка (6) | <= тек.дата | 2) | 9) | + | ||
1.17 Код Подразделения | Числовая строка | + | |||||
1.18 Адрес Регистрации | Строка русских букв | 10) | + | ||||
2.1 Номер ТС | Строка букв и цифр | 3) | |||||
2.2 Марка Модель ТС | Строка букв и цифр | ||||||
2.3 Идентификационный Номер | Строка букв и цифр | ||||||
2.4 Тип ТС | Строка букв и цифр | 4) | |||||
2.5 Категория ТС | Буква | 7) | |||||
2.6 Год Выпуска ТС | Числовая строка (6) | 5) | |||||
2.7 Модель Двигателя | Строка букв и цифр | ||||||
2.8 Номер Двигателя | Числовая строка | ||||||
2.9 Шасси (рама) № | Строка букв и цифр | ||||||
2.10 Кузов (коляска) № | Строка букв и цифр | ||||||
2.11 Цвет | Строка русских букв | ||||||
2.12 Мощность Двигателя л.с. | Числовая строка | ||||||
2.13 Серия Паспорта ТС | Строка букв и цифр | ||||||
2.14 РММ кг | Числовая строка | 6) | |||||
2.15 Масса Без Нагрузки кг | Числовая строка | 6) | |||||
3.1 Дата Записи | Числовая строка (6) | <= тек.дата | 2) | + | + | ||
3.2 Автор Записи | Строка русских букв | А…Яя | + | + | |||
3.3 Дата Последнего изменения | Числовая строка (6) | <= тек.дата | 2) | + | + | ||
3.4 Автор Последнего Изменения | Строка русских букв | А…Яя | + | + |
Примечание:
1) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные — строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами).
2) ддммгг, где дд – день, мм – месяц, гг – год
3) номер автомобиля должен быть: xЦ1xxЦ2, где x(англ. буквы), Ц1-число от 000 до 999, Ц2-число от 00 до 99.
4) Внедорожник, седан, хэтч-бэк, кабриолет, универсал.
5) Гг – год.
6) Вес в килограммах.
7) Категория водительских прав должна быть одинаковой с категорией ТС.
8) Дата выдачи прав - Дата рождения >=18
9) Дата выдачи паспорта - Дата рождения >=16
10) Город – улица – дом - квартира.
2.1.1.2 Динамические ограничения атрибутов объектов, участвующих в реализации данной функции, приведены в табл. 2.2.
Таблица 2.2 – Динамические ограничения на уровне атрибутов для функции 1«Учет сотрудников»
Атрибут | Динамическое ограничение |
1.1 Код Сотрудника | Числовая строка (4). Новый код получается прибавлением 1 к числу |
2.1.1.3 Операционные правила для атрибутов объектов, участвующих в реализации данной функции, не выявлены.
2.1.2 Функция 2 «Учет принятых вызовов»
2.1.2.1 Домены, из которых атрибуты, относящиеся к данной функции, берут свои значения, приведены в табл. 2.3.
Таблица 2.3 Домены атрибутов для функции 2 «Учет принятых вызовов»
Атрибут | Тип (размер) | Границы | Структура | Условие | Обязательность | Повторяемость | Значение по умолчанию |
1.1 Код Вызова | Числовая строка (4) | + | + | ||||
1.2 Когда Приехать За Клиентом | Числовая строка (4) | > тек.дата | 1) | + | |||
1.3 Флаг Почасовой Оплаты | Boolean | 8) | |||||
1.4 Время Движения | Числовая строка (4) | 1) | 8) | + | |||
1.5 Расстояние Маршрута | Числовая строка (6) | 2) | + | ||||
1.6 Телефон | Числовая строка (6) | + | |||||
1.7 Общая Стоимость Услуги | Числовая строка | 3) | + | ||||
1.8 Дополнительная информация | Строка букв и цифр | ||||||
1.9 Флаг Состояния | Boolean | + | |||||
1.10 Улица (начало маршрута) | Строка букв | ||||||
1.11 Дом | Числовая строка | ||||||
1.12 Подъезд | Числовая строка | 0…9 | |||||
1.13 Улица (промежуточный пункт) | Строка букв | ||||||
1.14 Дом | Числовая строка | ||||||
1.15 Подъезд | Числовая строка | 0…9 | |||||
1.16 Улица (конец маршрута) | Строка букв | ||||||
1.17 Дом | Числовая строка | ||||||
1.18 Подъезд | Числовая строка | 0…9 | |||||
2.1 Код Сотрудника | Числовая строка (4) | + | |||||
2.2 ФИО Сотрудника | Строка букв и цифр | А…Яя | 5) | + | + | ||
3.1 Цвет Машины | Строка букв | + | + | ||||
3.2 Номер Машины | Строка букв и цифр | 4) | + | + | |||
4.1Флаг VIP клиента | Boolean | 7) | |||||
4.2 Номер VIP карты | Числовая строка (4) | 7) | |||||
5.1 Дата Записи | Числовая строка (6) | <= тек.дата | 6) | + | + | ||
5.2 Автор Записи | Строка русских букв | А…Яя | + | + | |||
5.3 Дата Последнего изменения | Числовая строка (6) | <= тек.дата | 6) | + | + | ||
5.4 Автор Последнего Изменения | Строка русских букв | А…Яя | + | + |
Примечания:
1) ддмм, где дд – день, мм – месяц.
2) Расстояние Маршрута в км.
3) Общая Стоимость Услуги в рублях.
4) номер автомобиля должен быть: xЦ1xxЦ2, где x(англ. буквы), Ц1-число от 000 до 999, Ц2-число от 00 до 99.
5) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами).
6) ддммгг, где дд – день, мм – месяц, гг – год
7) Если флаг VIP клиента = истина, то поле номера VIP карты не пусто.
8) Если флаг почасовой оплаты = истина, то поле время движения не пусто
2.1.2.2 Динамические ограничения атрибутов объектов, участвующих в реализации данной функции, приведены в табл. 2.4
Таблица 2.4 – Динамические ограничения на уровне атрибутов для функции 2 «Учет принятых вызовов»
Атрибут | Динамическое ограничение |
1.1 Код Вызова | Числовая строка (4). Новый код получается прибавлением 1 к числу |
2.1.2.3 Операционные правила для атрибутов объектов, участвующих в реализации данной функции, не выявлены
2.1.3 Функция 3 «Учет VIP клиентов»
2.1.3.1 Домены, из которых атрибуты, относящиеся к данной функции, берут свои значения, приведены в табл. 2.5.
Таблица 2.5 Домены атрибутов для функции 3 «Учет VIP клиентов»
Атрибут | Тип (размер) | Границы | Структура | Условие | Обязательность | Повторяемость | Значение по умолчанию |
1.1 Код Клиента | Числовая строка (4) | + | + | ||||
1.2 Фамилия | Строка русских букв | А…Яя | 1) | + | |||
1.3 Имя | Строка русских букв | А…Яя | 1) | + | |||
1.4 Отчество | Строка русских букв | А…Яя | 1) | + | + | ||
1.5 Номер VIP карты | Числовая строка (4) | + | |||||
1.6 Номер Договора | Строка цифр | + | |||||
1.7 Дата Договора | Числовая строка (6) | <= тек.дата | 2) | + | |||
1.8 Скидка | Строка букв и цифр | + | |||||
1.9 Баланс | Числовая строка | 3) | + | ||||
1.10 Адрес (фактический) | Строка букв и цифр | 4) | + | ||||
1.11 Телефон | Числовая строка (6) | + | |||||
1.12 Серия Паспорта | Строка букв и цифр | + | |||||
1.13 Номер Паспорта | Числовая строка | + | |||||
1.14 Кем Выдан | Строка русских букв | + | |||||
1.15 Дата Выдачи | Строка русских букв | + | |||||
1.16 Код Подразделения | Числовая строка | + | |||||
1.17 Адрес Регистрации | Строка букв и цифр | 4) | + | ||||
2.1 Дата Записи | Числовая строка (6) | <= тек.дата | 2) | + | + | ||
2.2 Автор Записи | Строка русских букв | А…Яя | + | + | |||
2.3 Дата Последнего Изменения | Числовая строка (6) | <= тек.дата | 2) | + | + | ||
2.4 Автор Последнего Изменения | Строка русских букв | А…Яя | + | + |
Примечание:
1) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами).
2) ддммгг, где дд – день, мм – месяц, гг – год
3) Текущий Баланс в рублях.
4) Город – улица – дом - квартира.
2.3.1.2Динамические ограничения атрибутов объектов, участвующих в реализации данной функции, приведены в табл. 2.6
Таблица 2.6 – Динамические ограничения на уровне атрибутов для функции 3 «Учет VIP клиентов»
Атрибут | Динамическое ограничение |
1.1 Код Клиента | Числовая строка (4). Новый код получается прибавлением 1 к числу |
2.3.1.3 Операционные правила для атрибутов объектов, участвующих в реализации данной функции, не выявлены
2.1.4 Функция 4 «Учет материальных средств»
2.1.4.1 Домены, из которых атрибуты, относящиеся к данной функции, берут свои значения, приведены в табл. 2.7.
Таблица 2.7 Домены атрибутов для функции 4 «Учет материальных средств»
Атрибут | Тип (размер) | Границы | Структура | Условие | Обязательность | Повторяемость | Значение по умолчанию |
1.1 Код Ответственного Сотрудника | Числовая строка (4) | 4) | + | + | |||
1.2 Фамилия Ответственного Сотрудника | Строка русских букв | А…Яя | 1) | 4) | + | + | |
1.3 Код Сотрудника, который use это мат. средство | Строка русских букв | А…Яя | 1) | 4) | + | + | |
1.4 Фамилия Сотрудника (который use это мат. средство) | Строка русских букв | А…Яя | 1) | 4) | + | + | |
2.1 Код Мат Средства | Числовая строка (4) | + | |||||
2.2 Номинальная Стоимость | Строка цифр | 2) | + | ||||
2.3 Описание | Строка русских букв | ||||||
2.4 Прилагаемые Части | Строка букв и цифр | + | |||||
2.5 Месторасположение | Строка букв и цифр | ||||||
2.6 Назначение | Строка букв и цифр | ||||||
2.7 Периодичность Обслуживания | Строка русских букв | ||||||
2.8 Информация о сервисных и ремонтных работах | Строка русских букв | ||||||
2.9 Затраты на эксплуатацию | Строка цифр | 2) | |||||
2.10 Дополнительная информация | Строка букв и цифр | ||||||
3.1 Дата Записи | Числовая строка (6) | <= тек.дата | 3) | + | |||
3.2 Автор Записи | Строка русских букв | А…Яя | + | ||||
3.3 Дата Последнего Изменения | Числовая строка (6) | <= тек.дата | 3) | + | |||
3.4 Автор Последнего Изменения | Строка русских букв | А…Яя | + |
Примечание:
1) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами).
2) Стоимость в рублях.
3) ддммгг, где дд – день, мм – месяц, гг – год
4) Если код сотрудника ответственного за мат. средство и использующего мат. средство совпадают, то должны и совпадать соответствующие фамилии.
2.3.1.2Динамические ограничения атрибутов объектов, участвующих в реализации данной функции, приведены в табл. 2.8
Таблица 2.8 – Динамические ограничения на уровне атрибутов для функции 4 «Учет материальных средств»
Атрибут | Динамическое ограничение |
1.1 Код Ответственного Сотрудника 1.3 Код Сотрудника, который использует это мат. средство | Числовая строка (4). Новый код получается прибавлением 1 к числу |
2.3.1.4 Операционные правила для атрибутов объектов, участвующих в реализации данной функции, не выявлены
2.1.5 Функция 5 «Учет сведений о контрагентах (поставщиках)»
2.1.5.1 Домены, из которых атрибуты, относящиеся к данной функции, берут свои значения, приведены в табл. 2.9.
Таблица 2.9 Домены атрибутов для функции 5 «Учет сведений о контрагентах (поставщиках)»
Атрибут | Тип (размер) | Границы | Структура | Условие | Обязательность | Повторяемость | Значение по умолчанию |
1.1 Код Контрагента | Числовая строка (4) | + | |||||
1.2 Наименование Контрагента | Строка русских букв | А…Яя | + | ||||
1.3 Вид Контрагента | Строка русских букв | А…Яя | |||||
1.4 ИНН | Числовая строка | А…Яя | + | ||||
1.5 ОКОНХ | Строка букв и цифр | <= тек.дата | |||||
1.6 ОКПО | Строка букв и цифр | ||||||
1.7 Юридический адрес | Строка букв и цифр | + | |||||
1.8 Телефон | Числовая строка (6) | ||||||
1.9 Факс | Числовая строка (6) | ||||||
1.10 Электронная почта | Строка букв и цифр | ..…@.….… | |||||
1.11 Расчетные Счета | Числовая строка | + | |||||
1.12 Комментарий | Строка букв и цифр | ||||||
1.13 Договора | Строка букв и цифр | + | |||||
1.14 Дата Договора | Числовая строка (6) | <= тек.дата | 1) | + | |||
1.15 Валюта Взаиморасчетов | Строка русских букв | + | |||||
1.17 Сумма | Числовая строка | ||||||
1.18 Глубина (дней) | Числовая строка | ||||||
1.19 Тип Расчета | Строка русских букв | + | |||||
2.1 Дата Записи | Числовая строка (6) | <= тек.дата | 1) | + | |||
2.2 Автор Записи | Строка русских букв | А…Яя | + | ||||
2.3 Дата Последнего Изменения | Числовая строка (6) | <= тек.дата | 1) | + | |||
2.4 Автор Последнего Изменения | Строка русских букв | А…Яя | + |
Примечание:
1) ддммгг, где дд – день, мм – месяц, гг – год
2.3.1.2Динамические ограничения атрибутов объектов, участвующих в реализации данной функции, приведены в табл. 2.10.
Таблица 2.10 – Динамические ограничения на уровне атрибутов для функции 5 «Учет материальных средств»
Атрибут | Динамическое ограничение |
1.2 Код Контрагента | Числовая строка (4). Новый код получается прибавлением 1 к числу |
2.3.1.5 Операционные правила для атрибутов объектов, участвующих в реализации данной функции, не выявлены
2.2 Уровень кортежей
В данном подразделе для функций, определенных в разд. 1.2, выявляются ограничения и правила на уровне групп атрибутов, составляющих кортежи. В первую очередь анализируется обязательность присутствия значений определенных атрибутов в составе кортежей, а также значения, присваиваемые атрибуту по умолчанию в случае отсутствия значения. Далее анализируются ограничения на совокупность значений нескольких атрибутов в пределах кортежа. Наконец, рассматриваются возможные изменения значений кортежей с целью выявления динамических ограничений и операционных правил, относящихся к отдельным кортежам.
2.2.1 Функция 1 «Учет сведений о сотрудниках»
2.2.1.1 Статические ограничения для данной функции на уровне кортежей для отдельных атрибутов (повторяемость, обязательность и здесь же для компактности записи — значения по умолчанию, относящиеся, строго говоря, к операционным правилам) не выявлены, а для групп атрибутов — в табл. 2.11
Таблица 2.11 – Статические ограничения для групп атрибутов на уровне кортежей функции 1 «Учет сведений о сотрудниках»
№ п/п | Группа атрибутов | Ограничение |
1 | 1.1 Код Сотрудника |
Уникальность
2.2.1.2 Динамические ограничения для кортежей атрибутов, соответствующих данной функции не выявлены.
2.2.1.3 Операционные правила для кортежей атрибутов соответствующих данной функции не выявлены.
2.2.2 Функция 2 «Учет принятых вызовов»
2.2.2.1 Статические ограничения для данной функции на уровне кортежей для отдельных атрибутов не выявлены, а для групп атрибутов — в табл. 2.12.
Таблица 2.12 – Статические ограничения для групп атрибутов на уровне кортежей функции 2 «Учет принятых вызовов»
№ п/п | Группа атрибутов | Ограничение |
1 | 1.1 Код Вызова 2.1 Код Сотрудника 3.2 Номер Машины 4.2 Номер VIP карты | Уникальность |
2 | 1.7 Общая Стоимость Услуги | Если атрибут 1.3 Флаг Почасовой Оплаты = истина, то 1.4Время Движения*1.19 Стоимость часа, иначе 1.5 Расстояние Маршрута*1.20 Стоимость Км пути |
3 | 1.2 Когда Приехать За Клиентом | Значение по умолчанию: Текущее время + 15минут |
2.2.2.2 Динамические ограничения для кортежей атрибутов, соответствующих данной функции не выявлены.
2.2.2.3 Операционные правила для кортежей атрибутов соответствующих данной функции не выявлены.
2.2.3 Функция 3 «Учет VIP клиентов»
2.2.3.1 Статические ограничения для данной функции на уровне кортежей для отдельных атрибутов не выявлены, а для групп атрибутов — в табл. 2.13.
Таблица 2.13 – Статические ограничения для групп атрибутов на уровне кортежей функции 3 «Учет VIP клиентов»
№ п/п | Группа атрибутов | Ограничение |
1 | 1.1 Код Клиента 1.2 Фамилия 1.3 Имя 1.4 Отчество 1.5 Номер VIP карты 1.6 Номер Договора 1.13 Номер Паспорта | Уникальность |
2 | 1.8 Фамилия покупателя 1.9 Имя покупателя 1.10 Отчество покупателя | Уникальность |
2.2.3.2 Динамические ограничения для кортежей атрибутов, соответствующих данной функции не выявлены.
2.2.3.3 Операционные правила для кортежей атрибутов соответствующих данной функции не выявлены.
2.2.4 Функция 4 «Учет материальных средств»
2.2.4.1 Статические ограничения для данной функции на уровне кортежей для отдельных атрибутов не выявлены, а для групп атрибутов — в табл. 2.14.
Таблица 2.14 – Статические ограничения для групп атрибутов на уровне кортежей функции 4 «Учет материальных средств»
№ п/п | Группа атрибутов | Ограничение |
1 | 1.1 Код Ответственного Сотрудника |
Уникальность |
1.2 Фамилия Ответственного Сотрудника | ||
1.3 Код Сотрудника, который использует это материальное средство | ||
1.4 Фамилия Сотрудника (который использует это материальное средство) | ||
2.1 Код Мат Средства |
2.2.4.2 Динамические ограничения для кортежей атрибутов, соответствующих данной функции не выявлены.
2.2.4.3 Операционные правила для кортежей атрибутов соответствующих данной функции не выявлены.
2.2.5 Функция 5 «Учет сведений о контрагентах (поставщиках)»
2.2.5.1 Статические ограничения для данной функции на уровне кортежей для отдельных атрибутов не выявлены, а для групп атрибутов — в табл. 2.15.
Таблица 2.15 – Статические ограничения для групп атрибутов на уровне кортежей функции 5 «Учет сведений о контрагентах (поставщиках)»
№ п/п | Группа атрибутов | Ограничение |
1 | 1.1 Код Контрагента |
Уникальность |
1.4 ИНН | ||
1.5 ОКОНХ | ||
1.6 ОКПО | ||
1.10 Электронная почта |
2.2.4.2 Динамические ограничения для кортежей атрибутов, соответствующих данной функции не выявлены.
2.2.4.3 Операционные правила для кортежей атрибутов соответствующих данной функции не выявлены.
Уровень множеств кортежей
В данном подразделе для функций, определенных в разд. 1.2, выявляются ограничения и правила на уровне множеств кортежей. В первую очередь анализируется и выявляется уникальность атрибутов или групп атрибутов для определенных множеств кортежей. Далее анализируются возможные изменения нескольких кортежей с целью выявления динамических ограничений и операционных правил, относящихся к множеству кортежей.
2.3.1 Функция 1 «Учет сведений о сотрудниках»
2.3.1.1. Статические ограничения для множеств кортежей, соответствующих данной функции, приведены в табл. 2.16 (ограничения уникальности) и в табл. 2.17 (другие ограничения).
Таблица 2.16 – Ограничения уникальности на уровне множеств кортежей для функции 1 «Учет сведений о сотрудниках»
№ п/п | Группа атрибутов | Уникальность |
1 | 1.5 Код Сотрудника | Для всех сотрудников |
1.13-1.18 Паспортные данные | ||
2 | 3.1 Дата Записи | Для всех записей |
3.2 Автор Записи | ||
3.3 Дата Последнего изменения | ||
3.4 Автор Последнего Изменения |
Таблица 2.17 – Другие ограничения на уровне множеств кортежей для функции 1 «Учет сведений о сотрудниках»
Группа атрибутов | Ограничение |
1.6 Адрес (фактический) | Адрес города Уфы |
2.3.1.2 Динамические ограничения для множества кортежей, соответствующих данной функции не выявлены.
2.3.1.3 Операционные правила для множеств кортежей, соответствующих данной функции не выявлены.
2.3.2 Функция 2 «Учет принятых вызовов»
2.3.2.1. Статические ограничения для множеств кортежей, соответствующих данной функции, приведены в табл. 2.18 (ограничения уникальности).
Таблица 2.18 – Ограничения уникальности на уровне множеств кортежей для функции 2 «Учет принятых вызовов»
№ п/п | Группа атрибутов | Уникальность |
1 | 1.1 Код Вызова | Для всех вызовов |
2 | 2.1 Код Сотрудника | Для всех сотрудников |
3 | 3.2 Номер Машины | Для всех машин |
4 | 4.2 Номер VIP карты | Для всех VIP карт |
2.3.2.2 Динамические ограничения для множества кортежей, соответствующих данной функции не выявлены.
2.3.2.3 Операционные правила для множеств кортежей, соответствующих данной функции не выявлены.
2.3.3 Функция 3 «Учет VIP клиентов»
2.3.3.1. Статические ограничения для множеств кортежей, соответствующих данной функции, приведены в табл. 2.19 (ограничения уникальности).
Таблица 2.19 – Ограничения уникальности на уровне множеств кортежей для функции 3 «Учет VIP клиентов»
№ п/п | Группа атрибутов | Уникальность |
1 | 1.1 Код Клиента | Для всех VIP клиентов |
1.5 Номер VIP карты | ||
| ||
1.6 Номер Договора | ||
1.13 Номер Паспорта |
2.3.3.2 Динамические ограничения для множества кортежей, соответствующих данной функции не выявлены.
2.3.3.3 Операционные правила для множеств кортежей, соответствующих данной функции не выявлены.
2.3.4 Функция 4 «Учет материальных средств»
2.3.4.1. Статические ограничения для множеств кортежей, соответствующих данной функции, приведены в табл. 2.20 (ограничения уникальности)
Таблица 2.20 – Ограничения уникальности на уровне множеств кортежей для функции 4 «Учет материальных средств»
№ п/п | Группа атрибутов | Уникальность |
1 | 1.1 Код Ответственного Сотрудника | Для всех сотрудников |
1.3 Код Сотрудника, который использует это материальное средство | ||
2 | 2.1 Код Мат Средства | Для всех Мат. Средств |
2.3.4.2 Динамические ограничения для множества кортежей, соответствующих данной функции не выявлены.
2.3.4.3 Операционные правила для множеств кортежей, соответствующих данной функции не выявлены.
2.3.5 Функция 5 «Учет сведений о контрагентах (поставщиках)»
2.3.5.1. Статические ограничения для множеств кортежей, соответствующих данной функции, приведены в табл. 2.21 (ограничения уникальности).
Таблица 2.21 – Ограничения уникальности на уровне множеств кортежей для функции 5 «Учет сведений о контрагентах (поставщиках)»
Группа атрибутов | Уникальность |
1.1 Код Контрагента | Для всех поставщиков |
1.4 ИНН | |
1.5 ОКОНХ | |
1.6 ОКПО | |
1.10 Электронная почта |
2.3.1.2 Динамические ограничения для множества кортежей, соответствующих данной функции не выявлены.
2.3.1.3 Операционные правила для множеств кортежей, соответствующих данной функции не выявлены.
2.4 Уровень базы данных
В данном подразделе для функций, определенных в разд. 1.2, выявляются ограничения и правила на уровне базы данных в целом.
2.4.1 Функция 1 «Учет сведений о сотрудниках»
2.4.1.1 Статические ограничения на уровне базы данных для данной функции приведены в табл. 2.22
Таблица 2.22 – Статические ограничения на уровне базы данных для функции 1 «Учет сведений о сотрудниках»
Группа атрибутов | Ограничение |
Код Сотрудника | Во всех строках таблицы №2 атрибут №2.1 (код сотрудника) должен быть идентичен атрибуту №1.1 (код сотрудника) в одной и только одной строке таблицы №1; |
2.4.1.2 Динамические ограничения на уровне базы данных для данной функции приведены в табл. 2.23.
Таблица 2.23 – Динамические ограничения на уровне базы данных для функции 1 «Учет сведений о сотрудниках»
Группа атрибутов | Ограничение |
Код Сотрудника | Строка символов. Новый код получается прибавлением 1 к числу или выбором следующей буквы алфавита Код участвует в функциях 1, 2, 4. |
2.4.1.3 Операционные правила на уровне базы данных для данной функции не выявлены.
2.4.2 Функция 2 «Учет принятых вызовов»
2.4.2.1 Статические ограничения на уровне базы данных для данной функции приведены в табл. 2.24.
Таблица 2.24 – Статические ограничения на уровне базы данных для функции 2 «Учет принятых вызовов»
Группа атрибутов | Ограничение |
Номер VIP карты | В тех строках таблицы №2, где атрибут №4.2 (номер карты) заполнен, он должен быть идентичен атрибуту №1.5 (номер карты) в одной и только одной строке таблицы №3; |
2.4.2.2 Динамические ограничения на уровне базы данных для данной функции не выявлены.
2.4.2.3 Операционные правила на уровне базы данных для данной функции не выявлены.
2.4.3 Функция 3 «Учет VIP клиентов»
2.4.3.1 Статические ограничения на уровне базы данных для данной функции не выявлены.
Группа атрибутов | Ограничение |
1.1 Код Клиента | Строка символов. Новый код получается прибавлением 1 к числу или выбором следующей буквы алфавита Код участвует в функциях 2, 3. |
2.4.3.2 Динамические ограничения на уровне базы данных для данной функции приведены в табл. 2.25.
Таблица 2.25 – Динамические ограничения на уровне базы данных для функции 3 «Учет VIP клиентов»
Группа атрибутов | Ограничение |
Номер VIP карты | В тех строках таблицы №2, где атрибут №4.2 (номер карты) заполнен, он должен быть идентичен атрибуту №1.5 (номер карты) в одной и только одной строке таблицы №3; |
2.4.3.2 Динамические ограничения на уровне базы данных для данной функции не выявлены.
2.4.3.3 Операционные правила на уровне базы данных для данной функции не выявлены.
2.4.4 Функция 4 «Учет материальных средств»
2.4.4.1 Статические ограничения на уровне базы данных для данной функции приведены в табл. 2.26.
Таблица 2.26 – Динамические ограничения на уровне базы данных для функции 4 «Учет материальных средств»
Группа атрибутов | Ограничение |
2.1 Код Мат Средства | Строка символов. Новый код получается прибавлением 1 к числу или выбором следующей буквы алфавита Код участвует в функциях 4. |
2.4.4.2 Динамические ограничения на уровне базы данных для данной функции не выявлены.
2.4.4.3 Операционные правила на уровне базы данных для данной функции не выявлены.
2.4.5 Функция 5 «Учет кадров»
2.4.5.1 Статические ограничения на уровне базы данных для данной функции приведены в табл. 2.27.
Таблица 2.27 – Динамические ограничения на уровне базы данных для функции 5 «Учет кадров»
Группа атрибутов | Ограничение |
1.1 Код Контрагента | Строка символов. Новый код получается прибавлением 1 к числу или выбором следующей буквы алфавита Код участвует в функциях 4. |
2.4.5.2 Динамические ограничения на уровне базы данных для данной функции не выявлены.
2.4.5.3 Операционные правила на уровне базы данных для данной функции не выявлены.
Вывод
В результате анализа информационного обеспечения функций выявлены и сформулированы ограничения и правила поддержания целостности данных, которые должны быть учтены при дальнейшем проектировании.
Общее число ограничений на уровне атрибутов составляет 127 (в том числе динамических 6), на уровне кортежей — 11 , на уровне множеств кортежей — 11 и на уровне базы данных — 7(2).
Данный раздел посвящен проектированию локальных ER-моделей, соответствующих отдельным автоматизируемым функциям. Здесь выполняется составление локальных исходных ER-моделей, производится нормализация локальных ER-моделей, разрабатываются спецификации ограничений и правил поддержания целостности для локальных ER-моделей.
На диаграммах ER-моделей, приведенных ниже, прямоугольники обозначают сущности, ромбы — связи, выносные линии — атрибуты. Повторяющиеся атрибуты или агрегаты помечены стрелками, обязательные — затемненными кружками. Ключевые атрибуты подчеркнуты.
Вывод
В результате проектирования локальных ER-моделей, соответствующих отдельным автоматизируемым функциям, получены нормализованные локальные ER-модели, включающие от 2 до 4 сущностей в третьей нормальной форме. Разработанные спецификации ограничений и правил поддержания целостности включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для локальных ER-моделей.
Вывод
В результате проектирования глобальной ER-модели, соответствующей автоматизируемым функциям, получена модель, включающая 7 сущностей, 2 связи типа «многие ко многим» и 8 связей типа «один ко многим».
Данный раздел посвящен проектированию представлений для автоматизируемых функций. Здесь выполняется определение путей доступа к данным для автоматизируемых функций, записывается SQL-код локальных просмотров для автоматизируемых функций.
6.1 Определение способа и формы представления
Для 5 функций был выбран способ реализации представления в виде запроса (Select), форма представления была выбрана в виде иерархии таблиц.
6.2 SQL – код для реализации выборки.
VIP_Клиент
SELECT [VIP КЛИЕНТ].№VIP_Карты,
[VIP КЛИЕНТ].Фамилия,
[VIP КАРТА].№Договора,
ПАСПОРТ.Адрес_регистр
FROM ПАСПОРТ INNER JOIN ([VIP КАРТА] RIGHT JOIN [VIP КЛИЕНТ] ON [VIP КАРТА].№VIP_Карты = [VIP КЛИЕНТ].№VIP_Карты) ON (ПАСПОРТ.№Паспорта = [VIP КЛИЕНТ].№Паспорта) AND (ПАСПОРТ.Серия_Паспорта = [VIP КЛИЕНТ].Серия_Паспорта);
Вызов
SELECT ВЫЗОВ.Время_заказа,
[ТРАНСПОРТНОЕ СРЕДСТВО].Цвет,
СОТРУДНИК.Фамилия, [VIP КЛИЕНТ].№VIP_Карты
FROM [VIP КЛИЕНТ] INNER JOIN (СОТРУДНИК RIGHT JOIN ([ТРАНСПОРТНОЕ СРЕДСТВО] INNER JOIN ВЫЗОВ ON [ТРАНСПОРТНОЕ СРЕДСТВО].№ТС = ВЫЗОВ.№ТС) ON СОТРУДНИК.Код_сотрудника = ВЫЗОВ.Код_сотрудника) ON [VIP КЛИЕНТ].№VIP_Карты = ВЫЗОВ.№VIP_Карты;
Поставщик
SELECT [МАТЕРИАЛЬОЕ СРЕДСТВО].Код_мат_ср, ПОСТАВЩИК.Наименование,
ПОСТАВЩИК.Факс,
ПОСТАВЩИК.ИНН,
СОТРУДНИК.Фамилия,
СОТРУДНИК.Должность
FROM СОТРУДНИК INNER JOIN ([МАТЕРИАЛЬОЕ СРЕДСТВО] INNER JOIN ПОСТАВЩИК ON [МАТЕРИАЛЬОЕ СРЕДСТВО].Код_мат_ср = ПОСТАВЩИК.Код_мат_средства) ON СОТРУДНИК.Код_сотрудника = [МАТЕРИАЛЬОЕ СРЕДСТВО].Код_отв_сотр;
Сотр_мат_Средство
SELECT СОТРУДНИК.Фамилия,
ПАСПОРТ.Адрес_регистр,
СОТРУДНИК.Адрес,
[МАТЕРИАЛЬОЕ СРЕДСТВО].Описание,
[МАТЕРИАЛЬОЕ СРЕДСТВО].Стоимость
FROM (ПАСПОРТ INNER JOIN СОТРУДНИК ON (ПАСПОРТ.№Паспорта = СОТРУДНИК.№Паспорта) AND (ПАСПОРТ.Серия_Паспорта = СОТРУДНИК.Серия_Паспорта)) INNER JOIN [МАТЕРИАЛЬОЕ СРЕДСТВО] ON СОТРУДНИК.Код_сотрудника = [МАТЕРИАЛЬОЕ СРЕДСТВО].Код_отв_сотр;
Сотрудник
SELECT СОТРУДНИК.Фамилия,
[ТРАНСПОРТНОЕ СРЕДСТВО].№ТС,
ПАСПОРТ.Адрес_регистр,
[МАТЕРИАЛЬОЕ СРЕДСТВО].Код_мат_ср,
[МАТЕРИАЛЬОЕ СРЕДСТВО].Описание
FROM ПАСПОРТ INNER JOIN ((СОТРУДНИК INNER JOIN [ТРАНСПОРТНОЕ СРЕДСТВО] ON СОТРУДНИК.№ТС = [ТРАНСПОРТНОЕ СРЕДСТВО].№ТС) LEFT JOIN [МАТЕРИАЛЬОЕ СРЕДСТВО] ON СОТРУДНИК.Код_сотрудника = [МАТЕРИАЛЬОЕ СРЕДСТВО].Код_отв_сотр) ON (ПАСПОРТ.№Паспорта = СОТРУДНИК.№Паспорта) AND (ПАСПОРТ.Серия_Паспорта = СОТРУДНИК.Серия_Паспорта);
Заключение
В результате выполнения этого курсового проекта я выработала умения и навыки проектирования структуры базы данных, предназначенной для функционирования автоматизированной информационной системы.
В разделе 1 я выбрала автоматизированные функции и информационное обеспечение. Дала краткое описание предметной области, произвела выбор и описание автоматизируемых функций, выполнила первичное описание информационного обеспе6чения.
Во 2 разделе я выявили ограничения и правила поддержания целостности данных, которые будут размещаться в базе данных. Рассмотрела ограничения и правила для отдельных атрибутов, кортежей, множеств кортежей и базы данных в целом.
В 3 разделе я спроектировала локальные ER-модели, соответствующие отдельным автоматизируемым функциям. Произвела нормализацию локальных ER-моделей, разработала спецификации огрничений и правил поддержания целостности для локальных ER-моделей.
В 4 разделе спроектировала глобальную ER-модель. Произвела выявление и устранение эквивалентных сущностей, выявила категории и синтез обобщающих сущностей, выявила и устранила дублирование атрибутов и связей.
В разделе 5 записала SQL-код для создания реляционной модели
В разделе 6 записала SQL-код локальных запросов для автоматизируемых функций.
БАЗА ДАННЫХ
ДЛЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ
«Таксопарк»
Пояснительная записка к курсовому проекту
по общепрофессиональной дисциплине
«Организация баз данных»
Специальность 552800 – Информатика и вычислительная
техника
Факультет
Кафедра
Курс 3
Семестр 6
2003
СОДЕРЖАНИЕ
Введение | 3 | |
1 | Выбор автоматизируемых функций и информационного обеспечения | 4 |
1.1 | Описание предметной области | 4 |
1.2 | Описание автоматизируемых функций | 5 |
1.3 | Первичное описание информационного обеспечения | 7 |
Вывод | 11 | |
2 | Выявление ограничений и правил поддержания целостности | 11 |
2.1 | Целостное ограничение на уровне атрибутов | 11 |
2.2 | Целостное ограничение на уровне строк | 20 |
2.3 | Целостное ограничение на уровне базы данных | 26 |
Вывод | 29 | |
3 | Разработка локальных концептуальных моделей | |
3.1 | Разработка исходных локальных ER-моделей | 29 |
3.2 | Нормализация локальных моделей | 35 |
3.3 | Перевод целостных и операционных ограничений на уровне локальных моделей | 39 |
Вывод | 39 | |
4 | Разработка глобальной концептуальной модели базы данных | |
4.1 | Выявление и синтез эквивалентных сущностей | 39 |
4.2 | Выявление и синтез обобщающих сущностей | 41 |
4.3 | Выявление и устранение дублирования атрибутов и связей | 41 |
4.4 | Графическое представление глобальной ER-модели | 42 |
4.5 | Перевод целогстных и операционных ограничений на уровне глобальной модели | 43 |
4.6 | Вывод | 42 |
5 | Проектирование реляционной SQL -модели | |
5.1 | SQL-код для создания реляционной модели | 42 |
6 | Проектирование представлений для автоматизируемых функций | |
6.1 | Определение способа и формы представления автоматизируемых функций | 46 |
6.2 | Создание запросов для выборок | 46 |
Заключение | 47 |
ВВЕДЕНИЕ
Целью данного проекта является выработка умений и навыков проектирования структуры базы данных, предназначенной для функционирования автоматизированной информационной системы. Для достижения этой цели в данном проекте выполняется разработка структуры реляционной базы данных для гипотетической информационной системы "Таксопарк".
Информационная система «Таксопарк» предназначена для упрощения регулированием системы и для автоматизации её функций.
Разрабатываемая база данных предназначена для учёта действий системы, с целью в будущем легко, если это потребуется, вернуться к прежним изменениям в системе.
Раздел 1 посвящен выбору автоматизированных функций и информационного обеспечения. Здесь дается краткое описание предметной области; производится выбор и описание автоматизируемых функций; выполняется первичное описание информационного обеспечения.
Раздел 2 посвящен выявлению ограничений и правил поддержания целостности данных, которые будут размещаться в базе данных. Рассматриваются ограничения и правила для отдельных атрибутов, кортежей, множеств кортежей и базы данных в целом.
Раздел 3 посвящен проектированию локальных ER-моделей, соответствующих отдельным автоматизируемым функциям. Здесь выполняется составление локальных исходных ER-моделей, производится нормализация локальных ER-моделей, разрабатываются спецификации ограничений и правил поддержания целостности для локальных ER-моделей.
Раздел 4 посвящен проектированию глобальной ER-модели. Здесь производится выявление и устранение эквивалентных сущностей, выявление категорий и синтез обобщающих сущностей, выявление и устранение дублирования атрибутов и связей. Строится графическое представление глобальной модели, специфицируются ограничения и правила поддержания целостности на уровне глобальной модели.
Раздел 5 посвящен проектированию реляционной SQL-модели. Здесь выполняется перевод глобальной ER-модели в реляционную форму, специфицируются ограничения и правила поддержания целостности на реляционном уровне, записывается SQL-код для создания реляционной модели.
Раздел 6 посвящен проектированию представлений для автоматизируемых функций. Здесь выполняется определение путей доступа к данным для автоматизируемых функций, записывается SQL- код локальных просмотров для автоматизируемых функций.
1 ВЫБОР АВТОМАТИЗИРУЕМЫХ ФУНКЦИЙ И ИНФОРИАЦИОННОГО ОБЕСПЕЧЕНИЯ
Данный раздел посвящен выбору автоматизируемых функций и информационного обеспечения, служащих основой для дальнейшего проектирования структуры базы данных. Здесь дается краткое описание предметной области; производится выбор и описание автоматизируемых функций; выполняется первичное описание информационного обеспечения.
Результаты получены путем мысленного воспроизведения и анализа предположительного функционирования гипотетической автоматизированной системы «Таксопарк» на основе здравого смысла и опыта исполнителя. Обследование реальных или типовых объектов данного класса не производилось ввиду ограниченного времени, отводимого на курсовое проектирование.
Дата: 2019-07-30, просмотров: 233.