База данных для информационной системы "Туристическое агентство"
Выбор автоматизируемых функций и информационного обеспечения, служащих основой для дальнейшего проектирования структуры базы данных. Описание предметной области "Туристическое агентство". Иерархическая модель данных и локальные ограничения целостности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.12.2010 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
3
Размещено на http://www.allbest.ru/
Федеральное агентство по образованию Российской Федерации
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра автоматизированных систем управления
База данных для информационной системы «Туристическое агентство»
Пояснительная записка к курсовому проекту
по дисциплине
«Базы данных и знаний»
Уфа-2009
Содержание
1. Выбор автоматизируемых функций
1.1 Краткое описание предметной области
1.2 Выбор и описание автоматизируемых функций
1.3 Первичное описание информационного обеспечения
1.4 Вывод
2. Проектирование исходных локальных моделей
2.1 Составление исходных локальных моделей
2.2 Спецификации локальных ограничений и правил
2.3 Вывод
3. Проектирование нормализованных локальных ER-моделей
3.1 Нормализация локальных ER-моделей
3.2 Спецификации локальных ограничений и правил
3.3 Вывод
4. Проектирование глобальной ER-моделей
4.1 Анализ дублирования в локальных моделях
4.2 Спецификации локальных ограничений и правил
4.3 Синтез глобальной ER-модели
4.4 Вывод
5. SQL-код создания таблиц
1. Выбор автоматизируемых функций
Данный раздел посвящен выбору автоматизируемых функций и информационного обеспечения, служащих основой для дальнейшего проектирования структуры базы данных. Здесь дается краткое описание предметной области «Туристическое агентство»; производится выбор и описание автоматизируемых функций; выполняется первичное описание информационного обеспечения.
1.1 Краткое описание предметной области
В данном подразделе дается краткое описание предметной области, в которой функционирует информационная система «Туристическое агентство».
Описываются среда функционирования, объект и субъект управления, цели и задачи управления.
1.1.1 Среда функционирования информационной системы «Туристическое агентство».
Информационная система «Туристическое агентство» позволяет упорядочить работу туристического агентства: все договора, путевки, заявки, данные туристов и т.д. хранятся в электронном виде в одном файле на компьютере и легко могут быть найдены и воспроизведены на бумаге. Информационная система позволяет печатать данные о путешествии на типографском бланке - нет необходимости заполнять бланк от руки, намного облегчается ведение и анализ клиентской базы, упрощается работа и расчеты с клиентами: расчетные документы (например, приходные кассовые ордера) легко могут быть оформлены и учтены. Данные клиента и информация о путешествии вносятся в базу один раз и используются для оформления всех необходимых документов: путевок, заявок, договоров, памяток и т.д. При этом значительно уменьшается вероятность ошибок при заполнении документов (например, ошибок в ФИО туристов или их паспортных данных). Информационная система позволяет легко собирать и анализировать статистические данные о количестве и характере путешествий туристов, качестве работы менеджеров агентства, популярности туристических маршрутов, отелей и т.д.
1.1.2 Объект управления представляет собой подсистему материальных элементов экономической деятельности и хозяйственных процессов.
1.1.3 Субъектами управления системы «Туристическое агентство» являются работники туристического агентства. Но, в первую очередь, данная информационная система адресована руководителям туристических агентств, как инструмент эффективного управления офисами продаж.
1.1.4 Цель управления заключается в повышении качества обслуживания клиентов за счет сокращения сроков обслуживания на всех этапах, начиная с подбора подходящего тура и заканчивая оформлением документов, а также за счет сокращения ошибок персонала. Все это, в конечном итоге, должно привести к увеличению прибыли предприятия.
1.2 Выбор и описание автоматизируемых функций
В данном подразделе выбираются и кратко описываются четыре функции управляющей системы, которые предполагается автоматизировать с использованием разрабатываемой информационной системы.
1.2.1 Перечень автоматизируемых функций
Для автоматизации были выбраны следующие типовые бизнес-процессы:
1) Учет кадров;
2) Учет клиентов;
3) Учет туроператоров;
4) Оформление заказа.
1.2.2 Функция 1 «Учет кадров»
Данная функция предназначена для поддержки процесса управления персоналом организации. Эта цель достигается за счет того, что в компьютерной базе данных накапливается информация о сотрудниках, в том числе та, которая в неавтоматизированном режиме собирается работниками отдела кадров и содержится в его трудовой книжке.
Особенности автоматизированной реализации функции состоят в том, что в базе данных размещаются сведения о контактных телефонах сотрудника, позволяющие обеспечить руководству быструю связь с ним в критических ситуациях.
Ожидается, что автоматизация данной функции позволит повысить быстродействие и снизить трудоемкость получения сведений о сотрудниках за счет использования оперативных запросов к компьютерной базе данных и формирования аналитических отчетов на ее основе.
1.2.3 Функция 2 «Учет клиентов»
Данная функция предназначена для учета всех клиентов туристического агентства, в том числе и потенциальных.
Ожидается, что автоматизация данной функции приведет к значительному сокращению времени и трудоемкости данного учета, позволит создать единую базу клиентов, а также позволит получать и анализировать отчетность в маркетинговых целях.
1.2.4 Функция 3 «Учет туроператоров»
Данная функция предназначена для учета контрагентов туристического агентства.
Ожидается, что автоматизация данной функции приведет к значительному сокращению времени и трудоемкости этого вида учета.
1.2.5 Функция 4 «Оформление заказа»
Данная функция вести единую базу заказов клиентов в рамках одного туристического агентства.
Особенности автоматизированной реализации функции состоят в том, что заказ представляет собой совокупность услуг. В системе есть возможность заводить девять услуг: туры, отели, авиабилеты, ж/д билеты, визы, загранпаспорта, страховки, трансферы, экскурсии. Для всех услуг в рамках одного заказа покупателем является одно и то же лицо. Одна услуга может оформляться на несколько клиентов.
Ожидается значительное сокращение времени и трудоемкости оформления заказов, а также печати всех необходимых документов (Договор, тур-1, приходный ордер и т.д.) с уже заполненными данными клиентов.
1.3 Первичное описание информационного обеспечения
В данном подразделе дается описание информационного обеспечения функций, выбранных для автоматизации. Информационное обеспечение функций -- это совокупность данных, значения которых должны храниться в создаваемой базе данных для реализации автоматизируемых функций. Ниже для каждой из автоматизируемых функций перечислены необходимые атрибуты с соответствующими пояснениями.
Функция 1 «Учет кадров». Для реализации этой функции требуются следующие данные в базе данных:
1) Табельный номер - однозначно идентифицирует каждого сотрудника
2) Сведения о сотруднике - фамилия, имя и отчество сотрудника, дата рождения
3) Сведения о стаже - общий стаж работы сотрудника на каждой должности в различных подразделениях организации
4) Контактные сведения - сведения о контактных телефонах сотрудника. У одного сотрудника может быть несколько телефонов, причем различных категорий (типов): служебных, домашних, мобильных, прочих. Для каждого телефона могут быть указаны номер по порядку контактного телефона данного сотрудника; номер телефона в соответствующем формате; категория телефона; дополнительные сведения
5) Сведения о местах работы сотрудника - отделах или др. подразделениях организации. Каждый сотрудник мог работать на нескольких местах, что должно отражаться в базе данных. В каждый момент времени сотрудник может иметь только одно место. По каждому месту работы сотрудника необходимы: номер по порядку места работы данного сотрудника; идентификатор места работы сотрудника; название места работы; дата зачисления сотрудника на данное место; дата увольнения сотрудника с данного места. На каждом месте работы сотрудник может занимать несколько должностей, для это необходимы следующие атрибуты: номер по порядку; идентификатор должности; название должности; дата назначения сотрудника на данную должность; дата снятия сотрудника с данной должности.
Функция 2 «Учет клиентов». Для реализации этой функции требуются следующие данные в базе данных:
1) Сведения о клиенте - уникальный код, фамилия, имя, отчество, пол, дата рождения, количество полных лет, гражданство, категория клиента, e-mail, место работы
2) Контактные сведения - сведения о контактных телефонах клиента. У одного клиента может быть несколько телефонов, причем различных категорий (типов): служебных, домашних, мобильных, прочих. Для каждого телефона могут быть указаны номер по порядку контактного телефона данного клиента; номер телефона в соответствующем формате; категория телефона; дополнительные сведения
3) Сведения о российском паспорте клиента - код, серия, номер, дата выдачи, кем выдан паспорт
4) Сведения о заграничном паспорте клиента - код, серия, номер, дата действия, кем выдан паспорт.
Функция 3 «Учет туроператоров». Для реализации этой функции требуются следующие данные в базе данных:
1) Сведения о туроператоре - уникальный код, наименование, юридическое название, ИНН, номер в реестре, финансовое обеспечение, название, адрес гарантирующей организации, банковская гарантия, договор страхования, примечание
2) Контактные сведения - ФИО руководителя, контактного лица, адрес сайта, e-mail, сведения о контактных телефонах туроператора. У одного туроператора может быть несколько телефонов, причем различных категорий (типов): служебных, домашних, мобильных, прочих. Для каждого телефона могут быть указаны номер по порядку контактного телефона данного туроператора; номер телефона в соответствующем формате; категория телефона; дополнительные сведения
3) Сведения о реквизитах - у одного туроператора может быть несколько реквизитов: номер по порядку, код банка, наименование банка, расчетный счет, корреспондентский счет, БИК, адрес
4) Сведения об оказываемых услугах - каждый туроператор может оказывать несколько услуг. Для каждой услуги указывается уникальный код, наименование
5) Сведения о комиссии туроператора - размер комиссии, размерность комиссии.
Функция 4 «Оформление заказа». Для реализации этой функции требуются следующие данные в базе данных:
1) Сведения о заказе - код, номер, дата, курс доллара, курс евро, количество туристов
2) Сведения о менеджере, оформившем заказ - табельный номер, фамилия, имя, отчество сотрудника
3) Сведения о покупателе - код, фамилия, имя, отчество
4) Сведения об услугах заказа - в одном заказе может быть несколько услуг. Для каждой услуги необходимо указать следующие сведения: уникальный код услуги, наименование, статус, код туроператора, наименование туроператора, код валюты, наименование валюты, стоимость к оплате, размер предоплаты, дата последней предоплаты. На каждую услугу можно оформить несколько туристов. Для каждого туриста услуги указываются уникальный код клиента, фамилия, имя, отчество.
1.4 Вывод
В результате анализа предположительного функционирования автоматизированной системы «Туристическое агентство» выбраны четыре автоматизируемые функции, охватывающие деятельность по учету сотрудников, клиентов, туроператоров и заказов клиентов агентства.
2. Проектирование исходных локальных моделей
Данный раздел посвящен проектированию исходных локальных моделей базы данных. Для каждой автоматизируемой функции строится иерархическая модель данных. Специфицируются исходные локальные ограничения целостности и операционные правила.
2.1 Составление исходных локальных моделей
В данном подразделе на основе описательных моделей данных, полученных на предшествующих этапах проектирования для каждой автоматизируемой функции, строятся исходные концептуальные модели иерархического вида в графической форме. Рисунки, содержащие исходные модели, приведены в конце раздела.
2.1.1 Функция 1 «Учет кадров»
Исходная иерархическая модель для данной функции, полученная на основе описания, приведенного в разд. 1, представлена на рисунке 2.1.
Состав и структура модели. Модель содержит единственную сущность «Сотрудник», набор атрибутов которой имеет сложную структуру: простой агрегат «ФИО», повторяющиеся агрегаты «Телефон» и «Место работы». Последний агрегат, в свою очередь, содержит повторяющийся агрегат «Карьера».
Обобщение атрибутов. Исходные атрибуты, отражающие различные телефоны, имеющиеся у служащего («служебный», «домашний», «мобильный» и т. д.), обобщены в повторяющийся агрегат «Телефон» с атрибутами «Номер по порядку», «Номер телефона», «Тип телефона», «Примечание».
2.1.2 Функция 2 «Учет клиентов»
Исходная иерархическая модель для данной функции, полученная на основе описания, приведенного в разд. 1, представлена на рисунке 2.2.
Состав и структура модели. Модель содержит единственную сущность «Клиент», набор атрибутов которой имеет сложную структуру: простой агрегат «ФИО» и повторяющиеся агрегаты «Телефон» и «Паспорт».
Обобщение атрибутов. Исходные атрибуты, отражающие различные паспорта, имеющиеся у клиента («российский», «заграничный»), обобщены в повторяющийся агрегат «Паспорт» с атрибутами «Код», «Вид», «Серия», «Номер», «Дата выдачи/Действителен до», «Место выдачи».
2.1.3 Функция 3 «Учет туроператоров»
Исходная иерархическая модель для данной функции, полученная на основе описания, приведенного в разд. 1, представлена на рисунке 2.3.
Состав и структура модели. Модель содержит единственную сущность «Туроператор», набор атрибутов которой имеет сложную структуру: простые агрегаты «ФИО руководителя», «Контактное лицо», а также повторяющиеся агрегаты «Услуга», «Телефон» и «Реквизиты».
Обобщение атрибутов. Исходные атрибуты, отражающие различные телефоны, имеющиеся у туроператора («руководителя», «контактного лица», «факс» и т. д.), обобщены в повторяющийся агрегат «Телефон» с атрибутами «Номер по порядку», «Номер телефона», «Тип телефона», «Примечание».
2.1.4 Функция 4 «Оформление заказа»
Исходная иерархическая модель для данной функции, полученная на основе описания, приведенного в разд. 1, представлена на рисунке 2.4.
Состав и структура модели. Модель содержит единственную сущность «Заказ», в набор атрибутов которой входят простые агрегаты «Менеджер», «Покупатель» и повторяющийся агрегат «Услуга», который, в свою очередь, имеет в своем составе повторяющийся агрегат «Клиент».
Обобщение атрибутов. Для данной функции обобщение атрибутов не производилось.
2.2 Спецификации локальных ограничений и правил
В данном подразделе для построенных выше исходных моделей выявляются и записываются локальные ограничения целостности и операционные правила, а именно:
- ограничения атрибутов и агрегатов (таблица 2.1);
- ограничения кортежей (таблица 2.2);
- ограничения уникальности (таблица 2.3);
- динамические ограничения (таблица 2.4);
- прочие ограничения (таблица 2.5);
- операционные правила (таблица 2.6).
Столбец «Источник» в указанных таблицах содержит ссылки на предыдущий этап проекта, где содержится определение, на основании которого специфицирован данный объект. Символ «+» означает, что соответствующий атрибут, агрегат или ограничение добавлено на текущем этапе проектирования.
Таблица 2.1
Ограничения атрибутов и агрегатов
Имя атрибута или агрегата |
Источник (разд. 1.3) |
Тип |
Размер |
Границы или допустимые значения |
Структура |
Условие |
Многозначность |
Значение по умолчанию |
||
мин |
макс |
|||||||||
Функция 1 «Учет кадров» |
||||||||||
1.1. Табельный номер |
1 |
строка цифр |
6 |
1) |
1 |
1 |
||||
1.2. ФИО |
2а |
агрегат |
1 |
1 |
||||||
1.3. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
1.4. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
1.5. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
1.6. Дата рождения |
2б |
дата |
3) |
1 |
1 |
|||||
1.7. Стаж |
3 |
положит. целое |
вычисл. 4) |
1 |
1 |
|||||
1.8. Телефон |
4 |
агрегат |
0 |
М |
||||||
1.9. « .Нпп |
4а |
положит. целое |
1 |
1 |
инкр. 5) |
|||||
1.10. « .Номер |
4б |
строка |
6) |
1 |
1 |
|||||
1.11. « .Тип |
4в |
строка рус. букв |
7) |
1 |
1 |
|||||
1.12. « .Примечание |
4г |
текст |
<=255 |
0 |
1 |
|||||
1.13. Место работы |
5 |
агрегат |
1 |
М |
||||||
1.14. « .Нпп |
5а |
положит. целое |
1 |
1 |
инкр. 8) |
|||||
1.15. « .Код подразделения |
5б |
строка цифр |
6 |
1 |
1 |
|||||
1.16. « .Название подразделения |
5в |
текст |
<=255 |
1 |
1 |
|||||
1.17. « .Дата прихода |
5г |
дата |
1 |
1 |
||||||
1.18. « .Дата ухода |
5д |
дата |
0 |
1 |
||||||
1.19. Карьера |
5 |
агрегат |
1 |
М |
||||||
1.20. « .Нпп |
5е |
положит. целое |
1 |
1 |
инкр. 9) |
|||||
1.21. « .Код должности |
5ж |
строка цифр |
6 |
1 |
1 |
|||||
1.22. « .Название должности |
5з |
текст |
<=255 |
1 |
1 |
|||||
1.23. « .Дата назначения |
5и |
дата |
1 |
1 |
||||||
1.24. « .Дата снятия |
5к |
дата |
0 |
1 |
||||||
Функция 2 «Учет клиентов» |
||||||||||
2.1 Код |
1а |
строка цифр |
6 |
1 |
1 |
|||||
2.2. ФИО |
1б |
агрегат |
1 |
1 |
||||||
2.3. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
2.4. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
2.5. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
0 |
1 |
|||
2.6. Дата рождения |
1г |
дата |
1 |
1 |
||||||
2.7. Пол |
1в |
строка рус. букв |
10) |
1 |
1 |
|||||
2.8. Полных лет |
1д |
целое |
вычисл. 11) |
1 |
1 |
|||||
2.9.Гражданство Код |
+ |
строка цифр |
6 |
1 |
1 |
|||||
2.10.Гражданство Страна |
1е |
текст |
<=100 |
1 |
1 |
|||||
2.11. Категория |
1ж |
строка рус. букв |
12) |
1 |
1 |
|||||
2.12. Место работы |
1и |
текст |
<=255 |
0 |
1 |
|||||
2.13. E-mail |
1з |
текст |
<=50 |
0 |
1 |
|||||
2.14. Телефон |
2 |
агрегат |
0 |
М |
||||||
2.15. « .Нпп |
2а |
положит. целое |
1 |
1 |
инкр. 5) |
|||||
2.16. « .Номер |
2б |
строка |
6) |
1 |
1 |
|||||
2.17. « .Тип |
2в |
строка рус. букв |
7) |
1 |
1 |
|||||
2.18. « .Примечание |
2г |
текст |
<=255 |
0 |
1 |
|||||
2.19. Паспорт |
3 |
агрегат |
1 |
1 |
||||||
2.20. « .Код |
3а |
строка цифр |
6 |
1 |
1 |
|||||
2.21. « .Вид |
+ |
строка рус. букв |
13) |
1 |
1 |
|||||
2.22. « .Серия |
3б |
текст |
<=20 |
1 |
1 |
|||||
2.23. « .Номер |
3в |
строка цифр |
<=10 |
1 |
1 |
|||||
2.24. « .Дата выдачи / Действителен до |
3г |
дата |
1 |
1 |
||||||
2.25. « .Место выдачи |
3д |
текст |
<=255 |
1 |
1 |
|||||
Функция 3 «Учет туроператоров» |
||||||||||
3.1. Код |
1а |
строка цифр |
6 |
1 |
1 |
|||||
3.2. Наименование |
1б |
текст |
<=255 |
1 |
1 |
|||||
3.3. Юридическое наименование |
1в |
текст |
<=255 |
1 |
1 |
|||||
3.4. ИНН |
1г |
строка цифр |
12 |
1 |
1 |
|||||
3.5. Размер комиссии |
5а |
вещественный |
1 |
1 |
||||||
3.6. Размерность комиссии |
5б |
строка рус. букв |
14) |
1 |
1 |
|||||
3.7. ФИО руководителя |
2а |
агрегат |
1 |
1 |
||||||
3.8. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
3.9. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
3.10. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
3.11. Контактное лицо |
2б |
агрегат |
1 |
1 |
||||||
3.12. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
3.13. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
3.14. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
3.15. Услуга |
4 |
агрегат |
1 |
М |
||||||
3.16. « .Код |
4а |
строка цифр |
6 |
1 |
1 |
|||||
3.17. « .Наименование |
4б |
текст |
<=255 |
1 |
1 |
|||||
3.18. Телефон |
2д |
агрегат |
0 |
М |
||||||
3.19. « .Нпп |
+ |
положит. целое |
1 |
1 |
инкр. 5) |
|||||
3.20. « .Номер |
+ |
строка |
6) |
1 |
1 |
|||||
3.21. « .Тип |
+ |
строка рус. букв |
7) |
1 |
1 |
|||||
3.22. « .Примечание |
+ |
текст |
<=255 |
0 |
1 |
|||||
3.23. Сайт |
2в |
текст |
<=50 |
0 |
1 |
|||||
3.24. E-mail |
2г |
текст |
<=50 |
0 |
1 |
|||||
3.25. Реквизиты |
3 |
агрегат |
1 |
М |
||||||
3.26. « .Нпп |
3а |
положит. целое |
1 |
1 |
инкр. 15) |
|||||
3.27. « .Код банка |
3б |
строка цифр |
6 |
1 |
1 |
инкр. 16) |
||||
3.28. « .Наименование банка |
3в |
текст |
<=255 |
1 |
1 |
|||||
3.29. « .РС |
3г |
строка цифр |
20 |
1 |
1 |
|||||
3.30. « .КС |
3д |
строка цифр |
20 |
1 |
1 |
|||||
3.31. « .БИК |
3е |
строка цифр |
9 |
1 |
1 |
|||||
3.32. « .Адрес |
3ж |
текст |
<=255 |
1 |
1 |
|||||
3.33. Номер в реестре |
1д |
строка цифр |
20 |
1 |
1 |
|||||
3.34. Фин. обеспечение |
1е |
текст |
<=255 |
1 |
1 |
|||||
3.35. Название, адрес гарантирующей организации |
1ж |
текст |
<=255 |
0 |
1 |
|||||
3.36. Банковская гарантия |
1з |
текст |
<=255 |
0 |
1 |
|||||
3.37. Договор страхования |
1и |
текст |
<=255 |
0 |
1 |
|||||
3.38. Примечание |
1к |
текст |
<=255 |
0 |
1 |
|||||
Функция 4 «Оформление заказа» |
||||||||||
4.1. Код |
1а |
строка цифр |
6 |
1 |
1 |
|||||
4.2.Номер |
1б |
строка цифр |
6 |
1 |
1 |
инкр. 17) |
||||
4.3. Дата |
1в |
дата |
1 |
1 |
||||||
4.4.Курс доллара |
1г |
вещественный |
6 |
19) |
1 |
1 |
||||
4.5.Курс евро |
1д |
вещественный |
6 |
20) |
1 |
1 |
||||
4.6. Менеджер |
2 |
агрегат |
1 |
1 |
||||||
4.7. « .Табельный номер |
2а |
строка цифр |
6 |
1) |
1 |
1 |
||||
4.8. « .ФИО |
2б |
агрегат |
1 |
1 |
||||||
4.9. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.10. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.11. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.12. Количество туристов |
1е |
целое |
вычисл. 18) |
1 |
1 |
|||||
4.13. Покупатель |
3 |
агрегат |
1 |
1 |
||||||
4.14. « .Код |
3а |
строка цифр |
6 |
1 |
1 |
|||||
4.15. « .ФИО |
3б |
агрегат |
1 |
1 |
||||||
4.16. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.17. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.18. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
0 |
1 |
|||
4.19. Услуга |
4 |
агрегат |
1 |
М |
||||||
4.20. « .Код |
4а |
строка цифр |
6 |
1 |
1 |
|||||
4.21. « .Наименование |
4б |
текст |
<=255 |
1 |
1 |
|||||
4.22. « .Статус |
4в |
строка рус. букв |
21) |
1 |
1 |
|||||
4.23. « .Клиент |
4г |
агрегат |
1 |
М |
||||||
4.24. « .Код |
+ |
строка цифр |
6 |
1 |
1 |
|||||
4.25. « .ФИО |
+ |
агрегат |
1 |
1 |
||||||
4.26. « .Фамилия |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.27. « .Имя |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
1 |
1 |
|||
4.28. « .Отчество |
+ |
строка рус. букв |
<=50 |
А…Яя |
2) |
0 |
1 |
|||
4.29. Код туроператора |
4д |
строка цифр |
6 |
1 |
1 |
|||||
4.30. Наименование туроператора |
4е |
текст |
<=255 |
1 |
1 |
|||||
4.31. Код валюты |
4ж |
строка цифр |
6 |
1 |
1 |
|||||
4.32. Наименование валюты |
4з |
текст |
<=100 |
1 |
1 |
|||||
4.33. Стоимость к оплате |
4и |
денежный |
1 |
1 |
||||||
4.34. Размер предоплаты |
4к |
денежный |
0 |
1 |
||||||
4.35. Дата последней предоплаты |
4л |
дата |
0 |
1 |
Примечания:
1) ггппнн, где гг - год поступления; пп - номер подразделения; нн - порядковый номер сотрудника в подразделении;
2) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные -- строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами.
3) Дата рождения > Текущая дата - 100 лет; Дата рождения < Текущая дата - 16 лет.
4)Вычисляется как суммарное время работы на каждой должности в различных подразделениях организации по значениям атрибутов Дата прихода, Дата ухода.
5)Следующее значение (инкремент).
6) Необязательный (цифровой код города) цифровой номер, допустимы разделители-дефисы.
7)«служ», «дом», «мбл», «проч»
8)Следующее значение (инкремент)
9) Следующее значение (инкремент)
10) «мужской», «женский»
11)Вычисляется как разница между текущей датой и датой рождения (в годах)
12) «обычный», «VIP»
13) «российский», «заграничный»
14) «%», «руб.», «долл.», «евро»
15) Следующее значение (инкремент)
16) Следующее значение (инкремент)
17) Следующее значение (инкремент) внутри календарного года
18)Вычисляется как количество неповторяющихся клиентов по всем услугам заказа
19) Принимает значение >0
20) Принимает значение >0
21) «рассматривается», «заказана» и т.д.
Таблица 2.2
Ограничения кортежей
№ п/п |
Источник |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
+ |
Дата рождения, Дата прихода |
Дата прихода - Дата рождения >= 18 лет |
|
1.2 |
+ |
Дата прихода, Дата ухода |
Дата ухода > Дата прихода |
|
1.3 |
+ |
Дата рождения, Дата назначения |
Дата назначения - Дата рождения >= 18 лет |
|
1.4 |
+ |
Дата назначения, Дата снятия |
Дата снятия > Дата назначения |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
+ |
Дата рождения, Паспорт.Дата выдачи/Действительно до |
Дата рождения < Дата выдачи |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
+ |
Размер комиссии, Размерность комиссии |
Если Размерность комиссии = ”%”, то Размер комиссии <=100 |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
+ |
Дата, Дата последней предоплаты |
Дата <= Дата последней предоплаты |
|
4.2 |
+ |
Стоимость к оплате, Размер предоплаты |
Стоимость к оплате >= Размер предоплаты |
Таблица 2.3
Ограничения уникальности
№ п/п |
Источник |
Группа атрибутов |
Среди каких экземпляров имеет место уникальность |
|
Функция 1 «Учет кадров» |
||||
1.1 |
+ |
Табельный номер |
среди всех сотрудников |
|
1.2 |
+ |
Фамилия, Имя, Отчество |
среди всех сотрудников |
|
1.3 |
+ |
Телефон.Нпп |
среди всех телефонов одного сотрудника |
|
1.4 |
+ |
Телефон.Номер |
среди всех телефонов одного сотрудника |
|
1.5 |
+ |
Место.Нпп |
среди всех мест работы одного сотрудника |
|
1.6 |
+ |
Место.Дата прихода |
среди всех мест работы одного сотрудника |
|
1.7 |
+ |
Должность.Нпп |
среди всех должностей сотрудника на одном месте работы |
|
1.8 |
+ |
Должность.Дата назначения |
среди всех должностей сотрудника на одном месте работы |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
+ |
Код |
среди всех клиентов в базе |
|
2.2 |
+ |
Гражданство Код |
среди всех стран в базе |
|
2.3 |
+ |
Телефон.Нпп |
среди всех телефонов одного клиента |
|
2.4 |
+ |
Телефон.Номер |
среди всех телефонов одного клиента |
|
2.5 |
+ |
Паспорт.Код |
среди всех паспортов в базе |
|
2.6 |
+ |
Паспорт.Серия, Паспорт.Номер |
среди всех паспортов в базе |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
+ |
Код |
среди всех туроператоров в базе |
|
3.2 |
+ |
ИНН |
среди всех туроператоров в базе |
|
3.3 |
+ |
Услуга.Код |
среди всех услуг в базе |
|
3.4 |
+ |
Реквизиты.Нпп |
среди всех реквизитов туроператора |
|
3.5 |
+ |
Реквизиты.Код банка |
среди всех банков |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
+ |
Код |
среди всех заказов |
|
4.2 |
+ |
Номер, Дата |
среди всех заказов |
|
4.3 |
+ |
Номер |
среди всех заказов текущего года |
|
4.4 |
+ |
Менеджер.Табельный номер |
среди всех сотрудников |
|
4.5 |
+ |
Покупатель.Код |
среди всех клиентов |
|
4.6 |
+ |
Услуга.Код |
среди всех услуг |
|
4.7 |
+ |
Код туроператора |
среди всех туроператоров |
|
4.8 |
+ |
Клиент.Код |
среди всех клиентов |
|
4.9 |
+ |
Код валюты |
среди всех валют |
Таблица 2.4
Динамические ограничения
№ п/п |
Источник |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
+ |
Телефон.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
1.2 |
+ |
Место работы.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
1.3 |
+ |
Карьера.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
+ |
Телефон.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
+ |
Телефон.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
3.2 |
+ |
Реквизиты.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
3.3 |
+ |
Реквизиты.Код банка |
Код банка < Код банка + 1 -- значение атрибута «Код банка» может лишь увеличиваться на единицу |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
+ |
Номер |
Номер < Номер + 1 -- значение атрибута «Номер» может лишь увеличиваться на единицу внутри календарного года. Самый первый номер заказа в году = 1 |
Таблица 2.5
Другие ограничения
№ п/п |
Источник |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
+ |
Место.Дата ухода |
«Дата ухода», соответствующая данному сотруднику, может быть незаполненной только для последнего места его работы (текущей) |
|
1.2 |
+ |
Место.Нпп, Дата прихода,Дата ухода |
Хронологическая последовательность значений «Дата прихода», «Дата ухода» в агрегатах «Место работы», соответствующих одному сотруднику, упорядоченных по «Номеру места» |
|
1.3 |
+ |
Должность.Нпп, Дата назначения |
Хронологическая последовательность значений «Дата назначения» в агрегатах «Карьера», соответствующих одному «Месту работы» одного сотрудника, упорядоченных по «Номеру должности» |
|
1.4 |
+ |
Место.Нпп |
Последовательность номеров, соответствующая местам работы одного сотрудника, должна начинаться с 1 и не иметь пропусков |
|
1.5 |
+ |
Должность.Нпп |
Последовательность номеров, соответствующая должностям на одном месте работы одного сотрудника, должна начинаться с 1 и не иметь пропусков |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
+ |
Телефон.Нпп |
Последовательность номеров, соответствующая телефонам одного клиента, должна начинаться с 1 и не иметь пропусков |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
+ |
Телефон.Нпп |
Последовательность номеров, соответствующая телефонам одного туроператора, должна начинаться с 1 и не иметь пропусков |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
+ |
Номер, Дата |
Последовательность заказов, отсортированных по дате и номеру |
Таблица 2.6.
Операционные правила
№ п/п |
Источник |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
+ |
Атрибуты, относящиеся к сотруднику: Табельный номер, Фамилия, Имя, Отчество, … и т.д. |
При удалении записи о каком-либо сотруднике все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
+ |
Атрибуты, относящиеся к клиенту:Код, Фамилия, Имя, Отчество и т.д. |
При изменении каких-либо сведений о клиенте произвести изменения соответствующих атрибутов без сохранения старых сведений |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
+ |
Атрибуты, относящиеся к туроператору |
При изменении каких-либо сведений о туроператоре произвести изменения соответствующих атрибутов без сохранения старых сведений |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
+ |
Атрибуты, относящиеся к заказу |
При изменении каких-либо сведений о заказе произвести изменения соответствующих атрибутов с сохранением истории изменений |
2.3 Вывод
В результате анализа информационного обеспечения функций выявлены и сформулированы 172 ограничения и 4 правила поддержания целостности данных, которые должны быть учтены при дальнейшем проектировании.
база данные туристическое агенство целостность
Рисунок 2.1 -- Исходная модель для функции 1 «Учет кадров»
Рисунок 2.2 -- Исходная модель для функции 2 «Учет клиентов»
Рисунок 2.3 -- Исходная модель для функции 3 «Учет туроператоров»
Рисунок 2.4 -- Исходная модель для функции 4 «Оформление заказа»
3. Проектирование нормализованных локальных ER-моделей
Данный раздел посвящен проектированию нормализованных локальных ER-моделей. Каждая исходная локальная модель преобразуется в нормализованную ER-модель. Разрабатываются спецификации ограничений целостности и операционных правил для локальных ER-моделей.
На диаграммах ER-моделей, приведенных ниже, прямоугольники обозначают сущности, овалы -- связи, выносные линии -- атрибуты. Ключевые атрибуты и связи помечены квадратами, обязательные -- темным кружком, необязательные -- светлым.
3.1 Нормализация локальных ER-моделей
В данном подразделе на основе анализа и преобразования исходных иерархических моделей для каждой автоматизируемой функции строятся нормализованные ER-модели, не содержащие «скрытых» сущностей (т.е. каждая сущность находится в третьей нормальной форме). Ниже приведены описания моделей; диаграммы моделей (рис. 3.1-3.4) вынесены в конец раздела.
3.1.1 Функция 1 «Учет кадров»
Нормализованная ER-модель для данной функции представлена на рис. 3.1 (в конце раздела).
Нормализованная модель содержит:
- четыре самоидентифицирующих сущности: «Сотрудник», «Подразделение»; «Должность», «Телефон».
- три связи типа «многие ко многим»: «Место», «Карьера», «Контакт».
Сущность «Сотрудник» содержит данные о табельном номере, фамилии, имени, отчестве, дате рождения и стаже сотрудника.
Сущность «Подразделение» содержит данные о коде и названии подразделения.
Сущность «Телефон» содержит данные о номере и типе телефона.
Сущность «Должность» содержит данные о коде и названии должности.
Связь «Место» задает подразделения, в которых работал и работает в настоящее время сотрудник.
Связь «Контакт» задает телефоны, которые имеются у сотрудника.
Связь «Карьера» задает должности, которые когда-либо занимал сотрудник.
3.1.2 Функция 2 «Учет клиентов»
Нормализованная ER-модель для данной функции представлена на рис. 3.2 (в конце раздела).
Нормализованная модель содержит:
- четыре самоидентифицирующих сущности: «Клиент», «Паспорт»; «Гражданство», «Телефон».
- две связи типа «многие ко многим»: «Документ», «Контакт».
Сущность «Клиент» содержит данные о коде, фамилии, имени и отчестве, дате рождения, поле, количестве полных лет, категории, месте работы и e-mail клиента.
Сущность «Паспорт» содержит данные о серии, номере, дате и месте выдачи документа.
Сущность «Гражданство» содержит данные о коде и наименовании страны клиента.
Сущность «Телефон» содержит данные о номере и типе телефона.
Связь «Документ» задает паспорта клиента.
Связь «Контакт» задает телефоны, которые имеются у клиента.
3.1.3 Функция 3 «Учет туроператоров»
Нормализованная ER-модель для данной функции представлена на рис. 3.3 (в конце раздела).
Нормализованная модель содержит:
- четыре самоидентифицирующих сущностей: «Туроператор», «Телефон», «Услуга» и «Банк».
- две связи типа «многие ко многим»: «Контакт» и «Реквизиты».
Сущность «Туроператор» содержит данные о туроператоре: код, наименование, юридическое наименование, ИНН, размер комиссии, размерность комиссии, ФИО руководителя и контактного лица, сайт, e-mail, номер в реестре, финансовое обеспечение, название, адрес гарантирующей организации, банковская гарантия, договор страхования, примечание.
Сущность «Телефон» содержит данные о номере и типе телефона.
Связь «Контакт» задает телефоны, которые имеются у туроператора.
Связь «Реквизиты» задает банки, в которых открыты расчетные счета туроператора.
3.1.4 Функция 4 «Оформление заказа»
Нормализованная ER-модель для данной функции представлена на рис. 3.4 (в конце раздела).
Нормализованная модель содержит:
- шесть самоидентифицирующих сущностей: «Заказ», «Курс»; «Покупатель», «Туроператор», «Менеджер» и «Клиент».
- одну связь типа «многие ко многим» «Услуга» и одну связь типа «один ко многим» «Дата».
Сущность «Заказ» содержит данные о коде, номере заказа и количестве туристов.
Сущность «Курс» содержит данные о курсах доллара и евро на дату заказа.
Сущность «Покупатель» содержит данные о коде и ФИО покупателя.
Сущность «Туроператор» содержит данные о коде и наименовании оператора.
Сущность «Менеджер» содержит данные о табельном номере и ФИО менеджера.
Сущность «Клиент» содержит данные о коде и ФИО клиента.
Связь «Услуга» задает туроператоров, валюты и клиентов.
3.2 Спецификации локальных ограничений и правил
В данном подразделе локальные ограничения и правила, сформулированные в разд. 2 для иерархических моделей, трансформируются применительно к локальным ER-моделям, а именно:
- ограничения атрибутов сущностей (таблица 3.1);
- ограничения кортежей (таблица 3.2);
- ограничения уникальности (таблица 3.3);
- динамические ограничения (таблица 3.4);
- прочие ограничения (таблица 3.5);
- операционные правила (таблица 3.6).
- правила ссылочной целостности (таблица 3.7);
Таблица 3.1
Ограничения атрибутов
Имя атрибутаили агрегата |
Источник (табл.2.1) |
Тип |
Размер |
Границыилидопустимыезначения |
Структура |
Условие |
Значениепо умолчанию |
|
Функция 1 «Учет кадров» |
||||||||
1.1. Сотрудник.Табельный номер |
1.1 |
строка цифр |
6 |
1) |
||||
1.2. Сотрудник.ФИО |
1.2 |
агрегат |
2) |
|||||
1.3. Сотрудник.Дата рождения |
1.6 |
дата |
3) |
|||||
1.4. Сотрудник.Стаж |
1.7 |
положит. целое |
вычисл. 4) |
|||||
1.5. Телефон.Номер |
1.10 |
строка |
5) |
|||||
1.6. Телефон.Тип |
1.11 |
строка рус. букв |
6) |
|||||
1.7. Контакт.Нпп |
1.9 |
положит. целое |
инкр. 7) |
|||||
1.8. Контакт.Примечание |
1.21 |
текст |
<=255 |
|||||
1.9. Место.Нпп |
1.14 |
положит. целое |
инкр. 8) |
|||||
1.10. Место.Дата прихода |
1.17 |
дата |
||||||
1.11. Место.Дата ухода |
1.18 |
дата |
||||||
1.12. Подразделение.Код подразделения |
1.15 |
строка цифр |
4 |
|||||
1.13. Подразделение.Название подразд. |
1.16 |
текст |
<=255 |
|||||
1.14. Карьера.Дата назначения |
1.23 |
дата |
||||||
1.15. Карьера.Дата снятия |
1.24 |
дата |
||||||
1.16. Должность.Код должности |
1.21 |
строка цифр |
6 |
|||||
1.17. Должность.Название должности |
1.22 |
текст |
<=255 |
|||||
1.18 Карьера.Нпп |
1.20 |
положит. целое |
инкр. 9) |
|||||
Функция 2 «Учет клиентов» |
||||||||
2.1 Клиент.Код |
2.1 |
строка цифр |
6 |
|||||
2.2. Клиент.ФИО |
2.2 |
агрегат |
||||||
2.3. Клиент.Дата рождения |
2.6 |
дата |
||||||
2.4. Клиент.Пол |
2.7 |
строка рус. букв |
10) |
|||||
2.5. Клиент.Полных лет |
2.8 |
целое |
вычисл. 11) |
|||||
2.6.Гражданство.Гражданство Код |
2.9 |
строка цифр |
6 |
|||||
2.7.Гражданство.Гражданство Страна |
2.10 |
текст |
<=100 |
|||||
2.8. Клиент.Категория |
2.11 |
строка рус. букв |
12) |
|||||
2.9. Клиент.Место работы |
2.12 |
текст |
<=255 |
|||||
2.10. Клиент.E-mail |
2.13 |
текст |
<=50 |
|||||
2.11. Контакт.Нпп |
2.15 |
положит. целое |
инкр. 5) |
|||||
2.12. Телефон.Номер |
2.16 |
строка |
6) |
|||||
2.13. Телефон.Тип |
2.17 |
строка рус. букв |
7) |
|||||
2.14. Контакт.Примечание |
2.18 |
текст |
<=255 |
|||||
2.15. Документ.Код |
2.20 |
строка цифр |
6 |
|||||
2.16. Документ.Вид |
2.21 |
строка рус. букв |
13) |
|||||
2.17. Паспорт.Серия |
2.22 |
текст |
<=20 |
|||||
2.18. Паспорт.Номер |
2.23 |
строка цифр |
<=10 |
|||||
2.19. Паспорт.Дата выдачи / Действителен до |
2.24 |
дата |
||||||
2.20. Паспорт.Место выдачи |
2.25 |
текст |
<=255 |
|||||
Функция 3 «Учет туроператоров» |
||||||||
3.1. Туроператор.Код |
3.1 |
строка цифр |
6 |
|||||
3.2. Туроператор.Наименование |
3.2 |
текст |
<=255 |
|||||
3.3. Туроператор.Юридическое наименование |
3.3 |
текст |
<=255 |
|||||
3.4. Туроператор.ИНН |
3.4 |
строка цифр |
12 |
|||||
3.5. Туроператор.Размер комиссии |
3.5 |
вещественный |
||||||
3.6. Туроператор.Размерность комиссии |
3.6 |
строка рус. букв |
14) |
|||||
3.7. Туроператор.ФИО руководителя |
3.7 |
агрегат |
||||||
3.8.Туроператор.Контактное лицо |
3.11 |
агрегат |
||||||
3.9.Услуга.Код |
3.16 |
строка цифр |
6 |
|||||
3.10.Услуга.Наименование |
3.17 |
текст |
<=255 |
|||||
3.11. Контакт.Нпп |
3.19 |
положит. целое |
инкр. 5) |
|||||
3.12. Телефон.Номер |
3.20 |
строка |
6) |
|||||
3.13. Телефон.Тип |
3.21 |
строка рус. букв |
7) |
|||||
3.14. Контакт.Примечание |
3.22 |
текст |
<=255 |
|||||
3.15. Туроператор.Сайт |
3.23 |
текст |
<=50 |
|||||
3.16. Туроператор.E-mail |
3.24 |
текст |
<=50 |
|||||
3.17. Реквизиты.Нпп |
3.26 |
положит. целое |
инкр. 15) |
|||||
3.18. Банк.Код банка |
3.27 |
строка цифр |
6 |
инкр. 16) |
||||
3.19. Банк.Наименование банка |
3.28 |
текст |
<=255 |
|||||
3.20. Реквизиты.РС |
3.29 |
строка цифр |
20 |
|||||
3.21. Банк.КС |
3.30 |
строка цифр |
20 |
|||||
3.22. Банк.БИК |
3.31 |
строка цифр |
9 |
|||||
3.23. Реквизиты.Адрес |
3.32 |
текст |
<=255 |
|||||
3.24. Туроператор.Номер в реестре |
3.33 |
строка цифр |
20 |
|||||
3.25. Туроператор.Фин. обеспечение |
3.34 |
текст |
<=255 |
|||||
3.26. Туроператор.Название, адрес гарантирующей организации |
3.35 |
текст |
<=255 |
|||||
3.27. Туроператор.Банковская гарантия |
3.36 |
текст |
<=255 |
|||||
3.28. Туроператор.Договор страхования |
3.37 |
текст |
<=255 |
|||||
3.29. Туроператор.Примечание |
3.38 |
текст |
<=255 |
|||||
Функция 4 «Оформление заказа» |
||||||||
4.1. Заказ.Код |
4.1 |
строка цифр |
6 |
|||||
4.2. Заказ.Номер |
4.2 |
строка цифр |
6 |
инкр. 17) |
||||
4.3. Курс.Дата |
4.3 |
дата |
||||||
4.4.Курс.Курс доллара |
4.4 |
вещественный |
6 |
19) |
||||
4.5.Курс.Курс евро |
4.5 |
вещественный |
6 |
20) |
||||
4.6. Менеджер |
4.6 |
агрегат |
||||||
4.7. Менеджер.Табельный номер |
4.7 |
строка цифр |
6 |
1) |
||||
4.8. Менеджер.ФИО |
4.8 |
агрегат |
||||||
4.9. Заказ.Количество туристов |
4.12 |
целое |
вычисл. 18) |
|||||
4.10. Покупатель |
4.13 |
агрегат |
||||||
4.11. Покупатель.Код |
4.14 |
строка цифр |
6 |
|||||
4.12. Покупатель.ФИО |
4.15 |
агрегат |
||||||
4.13. Услуга.Код |
4.20 |
строка цифр |
6 |
|||||
4.14. Услуга.Наименование |
4.21 |
текст |
<=255 |
|||||
4.15. Услуга .Статус |
4.22 |
строка рус. букв |
21) |
|||||
4.16. Клиент.Код |
4.24 |
строка цифр |
6 |
|||||
4.17. Клиент.ФИО |
4.25 |
агрегат |
||||||
4.18. Туроператор.Код туроператора |
4.29 |
строка цифр |
6 |
|||||
4.19. Туроператор.Наименование туроператора |
4.30 |
текст |
<=255 |
|||||
4.20. Валюта.Код валюты |
4.31 |
строка цифр |
6 |
|||||
4.21. Валюта.Наименование валюты |
4.32 |
текст |
<=100 |
|||||
4.22. Услуга.Стоимость к оплате |
4.33 |
денежный |
||||||
4.23. Услуга.Размер предоплаты |
4.34 |
денежный |
||||||
4.24. Услуга.Дата последней предоплаты |
4.35 |
дата |
Примечания:
1) ггппнн, где гг - год поступления; пп - номер подразделения; нн - порядковый номер сотрудника в подразделении;
2) Русскоязычные фамилии, имена, отчества (первая буква прописная, остальные -- строчные; возможны двойные фамилии, разделенные дефисом, многословные имена, разделенные пробелами.
3) Дата рождения > Текущая дата - 100 лет; Дата рождения < Текущая дата - 16 лет.
4)Вычисляется как суммарное время работы на каждой должности в различных подразделениях организации по значениям атрибутов Дата прихода, Дата ухода.
5)Следующее значение (инкремент).
6) Необязательный (цифровой код города) цифровой номер, допустимы разделители-дефисы.
7)«служ», «дом», «мбл», «проч»
8)Следующее значение (инкремент)
9) Следующее значение (инкремент)
10) «мужской», «женский»
11)Вычисляется как разница между текущей датой и датой рождения (в годах)
12) «обычный», «VIP»
13) «российский», «заграничный»
14) «%», «руб.», «долл.», «евро»
15) Следующее значение (инкремент)
16) Следующее значение (инкремент)
17) Следующее значение (инкремент) внутри календарного года
18)Вычисляется как количество неповторяющихся клиентов по всем услугам заказа
19) Принимает значение >0
20) Принимает значение >0
21) «рассматривается», «заказана» и т.д.
Таблица 3.2.
Ограничения кортежей
№ п/п |
Источник (табл. 2.2) |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
1.1 |
Сотрудник.Дата рождения, Место.Дата прихода |
Дата прихода - Дата рождения >= 18 лет |
|
1.2 |
1.2 |
Место.Дата прихода, Место.Дата ухода |
Дата ухода > Дата прихода |
|
1.3 |
1.3 |
Дата рождения, Дата назначения |
Дата назначения - Дата рождения >= 18 лет |
|
1.4 |
1.4 |
Дата назначения, Дата снятия |
Дата снятия > Дата назначения |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
2.1 |
Клиент.Дата рождения, Паспорт.Дата выдачи/Действительно до |
Дата рождения < Дата выдачи |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
3.1 |
Туроператор.Размер комиссии, Туроператор.Размерность комиссии |
Если Размерность комиссии = ”%”, то Размер комиссии <=100 |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
4.1 |
Заказ.Дата, Услуга.Дата последней предоплаты |
Дата <= Дата последней предоплаты |
|
4.2 |
4.2 |
Услуга.Стоимость к оплате, Услуга.Размер предоплаты |
Стоимость к оплате >= Размер предоплаты |
Таблица 3.3.
Ограничения уникальности
№ п/п |
Источник (табл.2.3) |
Атрибут или группа атрибутов |
Среди каких экземпляров какой сущности или связи имеет место уникальность |
|
Функция 1 «Учет кадров» |
||||
1.1 |
1.1 |
Сотрудник.Табельный номер |
всех экз. сущности Сотрудник |
|
1.2 |
1.2 |
Сотрудник.ФИО |
всех экз. сущности Сотрудник |
|
1.3 |
1.3 |
Контакт.Нпп |
всех экз. связи Контакт одного сотрудника |
|
1.4 |
1.4 |
Телефон.Номер |
всех экз. сущности Телефон |
|
1.5 |
1.5 |
Место.Нпп |
всех экз. связи Место одного сотрудника |
|
1.6 |
1.6 |
Место.Дата прихода |
всех экз. связи Место одного сотрудника |
|
1.7 |
+ |
Место.Дата ухода |
всех экз. связи Место одного сотрудника |
|
1.8 |
1.7 |
Карьера.Нпп |
всех экз. связи Карьера одного сотрудника на одном месте |
|
1.9 |
1.8 |
Карьера.Дата назначения |
всех экз. связи Карьера одного сотрудника на одном месте |
|
1.10 |
+ |
Подразделение.Код подразделения |
всех экз. сущности Подразделение |
|
1.11 |
+ |
Должность.Код должности |
всех экз. сущности Должность |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
2.1 |
Клиент.Код |
всех экз. сущности Клиент |
|
2.2 |
2.2 |
Гражданство .Гражданство Код |
всех экз. сущности Гражданство |
|
2.3 |
2.3 |
Телефон.Нпп |
всех экз. сущности Телефон |
|
2.4 |
2.4 |
Телефон.Номер |
всех экз. сущности Телефон |
|
2.5 |
2.5 |
Документ.Код |
всех экз. связи Документ |
|
2.6 |
2.6 |
Паспорт.Серия, Паспорт.Номер |
всех экз. сущности Паспорт |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
3.1 |
Туроператор.Код |
всех экз. сущности Туроператор |
|
3.2 |
3.2 |
Туроператор.ИНН |
всех экз. сущности Туроператор |
|
3.3 |
3.3 |
Услуга.Код |
всех экз. сущности Услуга |
|
3.4 |
3.4 |
Реквизиты.Нпп |
всех экз. связи Реквизиты одного туроператора |
|
3.5 |
3.5 |
Банк.Код банка |
всех экз. сущности Банк |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
4.1 |
Заказ.Код |
всех экз. сущности Заказ |
|
4.2 |
4.2 |
Заказ.Номер, Дата.Дата |
всех экз. сущности Заказ |
|
4.3 |
4.3 |
Заказ.Номер |
всех экз. сущности Заказ |
|
4.4 |
4.4 |
Менеджер.Табельный номер |
всех экз. сущности Менеджер |
|
4.5 |
4.5 |
Покупатель.Код |
всех экз. сущности Покупатель |
|
4.6 |
4.6 |
Услуга.Код |
всех экз. связи Услуга |
|
4.7 |
4.7 |
Туроператор.Код |
всех экз. сущности Туроператор |
|
4.8 |
4.8 |
Клиент.Код |
всех экз. сущности Клиент |
|
4.9 |
4.9 |
Валюта.Код |
всех экз. сущности Валюта |
Таблица 3.4.
Динамические ограничения
№ п/п |
Источник (табл. 2.4) |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
1.1 |
Контакт.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
1.2 |
1.2 |
Место.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
1.3 |
1.3 |
Карьера.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
2..1 |
Телефон.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
3.1 |
Телефон.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
3.2 |
3.2 |
Реквизиты.Нпп |
Нпп < Нпп + 1 -- значение атрибута «Нпп» может лишь увеличиваться на единицу |
|
3.3 |
3.3 |
Банк.Код банка |
Код банка < Код банка + 1 -- значение атрибута «Код банка» может лишь увеличиваться на единицу |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
4.1 |
Заказ.Номер |
Номер < Номер + 1 -- значение атрибута «Номер» может лишь увеличиваться на единицу внутри календарного года. Самый первый номер заказа в году = 1 |
Таблица 3.5.
Другие ограничения
№ п/п |
Источник (табл. 2.5) |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
1.1 |
Место.Дата ухода |
Дата ухода, соответствующая данному сотруднику, может быть незаполненной только для последнего места его работы (текущей) |
|
1.2 |
1.2 |
Место.Нпп, Дата прихода,Дата ухода |
Хронологическая последовательность значений Дата прихода, Дата ухода в связях Место, соответствующих одному сотруднику, упорядоченных по Нпп |
|
1.3 |
1.3 |
Карьера.Нпп, Дата назначения |
Хронологическая последовательность значений Дата назначения в связях Карьера, соответствующих одному Месту одного сотрудника, упорядоченных по Нпп |
|
1.4 |
1.4 |
Место.Нпп |
Последовательность номеров, соответствующая одному Месту одного сотрудника, должна начинаться с 1 и не иметь пропусков |
|
1.5 |
1.5 |
Карьера.Нпп |
Последовательность номеров в связи Карьера одного сотрудника должна начинаться с 1 и не иметь пропусков |
|
1.6 |
+ |
Сотрудник.Дата рождения,Место.Дата прихода |
для одного сотрудника:Дата прихода - Дата рождения >= 25 лет |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
2.1 |
Телефон.Нпп |
Последовательность номеров, соответствующая телефонам одного клиента, должна начинаться с 1 и не иметь пропусков |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
3.1 |
Телефон.Нпп |
Последовательность номеров, соответствующая телефонам одного туроператора, должна начинаться с 1 и не иметь пропусков |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
4.1 |
Заказ.Номер, Дата.Дата |
Последовательность заказов, отсортированных по дате и номеру |
Таблица 3.6.
Операционные правила
№ п/п |
Источник (табл. 2.6) |
Группа атрибутов |
Ограничение |
|
Функция 1 «Учет кадров» |
||||
1.1 |
1.1 |
Атрибуты, относящиеся к сотруднику: Табельный номер, Фамилия, Имя, Отчество, … и т.д. |
При удалении записи о каком-либо сотруднике все сведения о нем переносятся в архивную базу с указанием даты-времени, причины удаления и имени пользователя, выполнившего удаление. Эти сведения хранятся в архивной базе не менее 1 года, а затем могут быть автоматически удалены |
|
Функция 2 «Учет клиентов» |
||||
2.1 |
2.1 |
Атрибуты, относящиеся к клиенту:Код, Фамилия, Имя, Отчество и т.д. |
При изменении каких-либо сведений о клиенте произвести изменения соответствующих атрибутов без сохранения старых сведений |
|
Функция 3 «Учет туроператоров» |
||||
3.1 |
3.1 |
Атрибуты, относящиеся к туроператору |
При изменении каких-либо сведений о туроператоре произвести изменения соответствующих атрибутов без сохранения старых сведений |
|
Функция 4 «Оформление заказа» |
||||
4.1 |
4.1 |
Атрибуты, относящиеся к заказу |
При изменении каких-либо сведений о заказе произвести изменения соответствующих атрибутов с сохранением истории изменений |
Таблица 3.7.
Ссылочные правила
№ п/п |
Источник |
Родительская сущность/связь |
Дочерняя сущность/связь |
Правило удаления |
Другие правила |
|
Функция 1 «Учет кадров» |
||||||
1.1 |
+ |
Сотрудник |
Место |
каскадное |
||
1.2 |
+ |
Подразделение |
Место |
строгое |
||
1.3 |
+ |
Место |
Карьера |
каскадное |
||
1.4 |
+ |
Должность |
Карьера |
строгое |
||
1.5 |
+ |
Сотрудник |
Контакт |
каскадное |
||
1.6 |
+ |
Телефон |
Контакт |
строгое |
||
Функция 2 «Учет клиентов» |
||||||
2.1 |
+ |
Клиент |
Контакт |
каскадное |
||
2.2 |
+ |
Телефон |
Контакт |
строгое |
||
2.3 |
+ |
Клиент |
Документ |
каскадное |
||
2.4 |
+ |
Паспорт |
Документ |
строгое |
||
2.5 |
+ |
Клиент |
Гражданство |
строгое |
||
Функция 3 «Учет туроператоров» |
||||||
3.1 |
+ |
Туроператор |
Контакт |
каскадное |
||
3.2 |
+ |
Телефон |
Контакт |
строгое |
||
3.3 |
+ |
Туроператор |
Услуга |
строгое |
||
3.4 |
+ |
Туроператор |
Реквизиты |
каскадное |
||
3.5 |
+ |
Банк |
Реквизиты |
строгое |
||
Функция 4 «Оформление заказа» |
||||||
4.1 |
+ |
Заказ |
Дата |
каскадное |
||
4.2 |
+ |
Курс |
Дата |
строгое |
||
4.3 |
+ |
Заказ |
Покупатель |
строгое |
||
4.4 |
+ |
Заказ |
Услуга |
строгое |
||
4.5 |
+ |
Заказ |
Менеджер |
строгое |
||
4.6 |
+ |
Валюта |
Услуга |
строгое |
||
4.7 |
+ |
Клиент |
Услуга |
строгое |
||
4.8 |
+ |
Туроператор |
Услуга |
строгое |
3.3 Вывод
В результате проектирования локальных ER-моделей, соответствующих иерархическим моделям автоматизируемых функций, получены нормализованные локальных ER-модели, включающие от 4 до 6 сущностей в третьей нормальной форме. Разработанные спецификации 147 ограничений и 33 правил поддержания целостности включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для локальных ER-моделей.
Рисунок 3.1 -- Нормализованная ER-модель для функции 1 «Учет кадров»
Рисунок 3.2 -- Нормализованная ER-модель для функции 2 «Учет клиентов»
Рисунок 3.3 -- Нормализованная ER-модель для функции 3 «Учет туроператоров»
Рисунок 3.4 -- Нормализованная ER-модель для функции 4 «Оформление заказа»
4. Проектирование глобальной ER-модели
Данный раздел посвящен проектированию глобальной ER-модели. Здесь производится выявление эквивалентных сущностей и их слияние, выявление категорий и синтез обобщающих сущностей, выявление и устранение дублирования атрибутов и связей. Строится графическое представление глобальной модели, специфицируются ограничения целостности и операционные правила.
4.1 Анализ дублирования в локальных моделях
В данном подразделе в совокупности локальных ER-моделей выявляются эквивалентные сущности, категории сущностей, дублирование атрибутов и связей. Результаты анализа в дальнейшем используются для синтеза глобальной ER-модели. Ниже представлены пояснения к указанным действиям.
4.1.1 Выявление эквивалентных сущностей
Выявлено, что следующие сущности являются эквивалентными:
1) «Сотрудник» функции 1 и «Менеджер» функции 4;
2) «Телефон» функции 1, «Телефон» функции 2 и «Телефон» функции 3;
3) «Клиент» функции 2 и «Клиент» функции 4;
4) «Туроператор» функции 3 и «Туроператор» функции 4;
5) «Услуга» функции 3 и «Услуга» функции 4.
4.1.2 Выявление категорий сущностей
Выявлено, что следующие сущности являются категориями других сущностей:
Сущность «Менеджер» функции 4 является категорией сущности «Сотрудник» функции 1.
4.1.3 Выявление дублирования атрибутов и связей
Выявлены следующие дублирующиеся атрибуты:
1) Атрибут «Контакт.Нпп» функции 1, атрибут «Контакт.Нпп» функции 2 и атрибут «Контакт.Нпп» функции 3;
2) Атрибут «Контакт.Примечание» функции 1, атрибут «Контакт. Примечание» функции 2 и атрибут «Контакт. Примечание» функции 3;
3) Атрибут «Телефон.Номер» функции 1, атрибут «Телефон.Номер» функции 2 и атрибут «Телефон.Номер» функции 3;
4) Атрибут «Телефон.Тип» функции 1, атрибут «Телефон.Тип» функции 2 и атрибут «Телефон.Тип» функции 3;
5) Атрибут «Сотрудник.Табельный номер» функции 1 и атрибут «Менеджер.Табельный номер» функции 4;
6) Атрибут «Сотрудник.ФИО» функции 1 и атрибут «Менеджер.ФИО» функции 4;
7) Атрибут «Клиент.Код» функции 2 и атрибут «Клиент.Код» функции 4;
8) Атрибут «Клиент.ФИО» функции 2 и атрибут «Клиент.ФИО» функции 4;
9) Атрибут «Туроператор.Код» функции 3 и атрибут «Туроператор.Код» функции 4;
10) Атрибут «Туроператор.Наименование» функции 3 и атрибут «Туроператор.Наименование» функции 4;
11) Атрибут «Услуга.Код» функции 3 и атрибут «Услуга.Код» функции 4;
12) Атрибут «Услуга.Наименование» функции 3 и атрибут «Услуга.Наименование» функции 4.
Выявлены следующие дублирующиеся связи:
1) Связи «Контакт» функции 1, «Контакт» функции 2 и «Контакт» функции 3.
4.2 Синтез глобальной ER-модели
В данном подразделе из совокупности локальных ER-моделей строится единая глобальная ER-модель путем слияния эквивалентных сущностей, синтеза обобщенных сущностей и их категорий, устранения дублирования атрибутов и связей. Ниже представлены пояснения к указанным действиям. Графическое представление глобальной ER-модели приведено на рис. 4.1 в конце раздела.
4.2.1 Слияние эквивалентных сущностей
Эквивалентные сущности, выявленные в п. 4.1.1, слиты в одну с объединением множеств атрибутов:
«Сотрудник» функции 1 и «Менеджер» функции 4 слиты в единую сущность «Сотрудник».
4.2.2 Синтез обобщающих сущностей и категорий
По результатам анализа (п. 4.1.2) введены следующие обобщающие сущности и их категории:
Обобщающая сущность «Сотрудник» с категорией «Менеджер».
4.2.3 Устранение дублирования атрибутов и связей
Устранены следующие дублирующиеся атрибуты:
1) Атрибут «Контакт.Нпп» функции 2 и атрибут «Контакт.Нпп» функции 3 удалены как избыточные;
2) Атрибут «Контакт. Примечание» функции 2 и атрибут «Контакт. Примечание» функции 3 удалены как избыточные;
3) Атрибут «Телефон.Номер» функции 2 и атрибут «Телефон.Номер» функции 3 удалены как избыточные;
4) Атрибут «Телефон.Тип» функции 2 и атрибут «Телефон.Тип» функции 3 удалены как избыточные;
5) Атрибут «Менеджер.Табельный номер» функции 4 удален как избыточный;
6) Атрибут «Менеджер.ФИО» функции 4 удален как избыточный;
7) Атрибут «Клиент.Код» функции 4 удален как избыточный;
8) Атрибут «Клиент.ФИО» функции 4 удален как избыточный;
9) Атрибут «Туроператор.Код» функции 4 удален как избыточный;
10) Атрибут «Туроператор.Наименование» функции 4 удален как избыточный;
11) Атрибут «Услуга.Код» функции 3 удален как избыточный;
12) Атрибут «Услуга.Наименование» функции 3 удален как избыточный.
Устранены следующие дублирующиеся связи:
Подобные документы
Выбор и описание автоматизируемых функций: учет кадров, инцидентов, парка компьютерной техники, заказа расходных материалов, комплектующих и ремонта техники. Первичное описание информационного обеспечения. SQL-код для создания таблиц базы данных.
курсовая работа [424,3 K], добавлен 10.04.2011Назначение базы данных. Выполняемые базой данных функции, категории пользователей. Разработка концептуальной инфологической модели. Учет специфики предметной области. Вкладки "Организация", "Путевка", "Страна", "Сотрудник", "Турист", "ТуристМаршрут".
курсовая работа [3,1 M], добавлен 17.01.2013Анализ проектирования баз данных на примере построения программы ведения информационной системы картотеки ГИБДД. Основные функции базы данных. Обоснование выбора технологий проектирования и реализации базы данных. Описание информационного обеспечения.
курсовая работа [753,0 K], добавлен 27.08.2012Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.
курсовая работа [679,2 K], добавлен 22.01.2013Этап концептуального проектирования базы данных: описание и характеристика предметной области, ограничения и допуения, модель "сущность-связь" (ER-диаграмма). Выбор модели данных. Требования к интерфейсу пользователя, создание запросов в среде Delphi.
курсовая работа [2,2 M], добавлен 25.05.2010Анализ предметной области и среда функционирования информационной системы "Туристическое агентство". Разработка и сопровождение баз данных средствами Enterprise Manager в среде SQL Server 2008. Принципы создания таблиц, запросы, хранимые процедуры.
курсовая работа [2,1 M], добавлен 11.12.2013Назначение программы "Учёт пациентов" и её подсистемы. Диаграмма классов предметной области, диаграмма последовательностей, описание автоматизируемых функций и характеристика функциональной структуры. Физическая схема и описание таблиц базы данных.
дипломная работа [3,3 M], добавлен 15.11.2016Понятие автоматизированных информационных систем, средства их разработки. Последовательность проектирования и разработки автоматизированной информационной системы "Туристическое агентство". Разработка ядра системы, создание интерфейса, внедрение.
курсовая работа [464,9 K], добавлен 22.04.2015Изучение основных понятий баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Проектирование базы данных "Туристическое агентство" в СУБД Access 2010, в которой хранятся данные о клиентах, которые хотят поехать отдыхать.
курсовая работа [3,3 M], добавлен 20.09.2013Выбор автоматизируемых функций и информационного обеспечения базы данных "Учет решений по уголовным делам". Выборка и описание автоматизируемых функций, даталогическое моделирование. Создание объектов: таблиц, связей, запросов, фильтров, триггеров.
курсовая работа [2,4 M], добавлен 25.03.2015