- •Содержание
- •1 Анализ предметной области
- •Функциональная структура
- •1.2 Диаграмма потоков данных
- •1.3 Выделение информационных объектов и их атрибутов
- •2 Концептуальная модель
- •3 Логическое моделирование
- •3.1 Построение логической модели
- •3.2. Нормализация отношений.
- •3.3 Целостность данных
- •3.3.1 Целостность объекта
- •3.3.2 Целостность приложения
- •3.3.3 Ссылочная целостность
- •4 Выбор субд
- •5. Физическая модель
- •6 Проектирование и реализация информационной системы
- •6.1 Описание средств, использованных при реализации
- •6.2 Тексты sql-запросов и результаты их выполнения
- •Многотабличные запросы
- •Подзапросы (запрос внутри запроса)
- •Exists и not exists (существует и не существует)
- •Встроенные функции
- •Group by и having
- •Встроенные функции и подзапросы
- •7 Заключение
- •8 Список литературы
- •9. Приложение a. Макетные данные.
2 Концептуальная модель
При построении модели сущность-связь на начальном этапе каждый информационный объект заменяем сущностью, при этом каждое свойство объекта становится атрибутом сущности.
Введём условные обозначения сущности и их атрибутов:
1 Resorts (места отдыха) = {idResorts, Countries, City, Currency},
где
idResorts – идентификационный номер;
Countries – страна;
City – город (населённый пункт);
Currency – валюта.
2 WorkerPersonner (рабочий персонал - гиды) = {FIO, DateAcceptance, Phone, idResorts},
где
FIO – Ф.И.О. клиента;
DateAcceptance – дата приёма на работу;
Phone – отчество клиента
idResorts – место нахождения;
3 Pass (путёвки) = {idPass, Class, Duration, Cost, WorkerPersonner},
где
idPass – номер путёвки;
Class – класс комфортности;
Duration – длительность;
Cost - стоимость
WorkerPersonner – гид.
4 Hotels (гостиницы) = {Names, Address, Phone, Fax, LevelComfort, idResorts},
где
Names – название гостиницы;
Address – адрес;
Phone – телефон;
Fax – факс;
LevelComfort – класс комфортности;
idResorts – курорт.
5 Klient (клиенты) – {FIO, NumberRusPassport, NumberForeignPassport, DateBirths, Phone, NumberCount},
где FIO – Ф.И.О. клиента;
NumberRusPassport – номер русского пасспорта;
NumberForeignPassport – номер заграничного паспорта;
DateBirths – дата рождения;
Phone – контактный телефон;
NumberCount – номер банковского счёта.
6 TransportationCompany (компании, отвечающие за доставку клиентов) – {Names, NumberLicenses, LegalAddress, Fax}, где Names – название компании;
NumberLicenses – номер лицензии, в соответствии с которой компания предоставляет свои услуги;
LegalAddress - юридический адрес;
Fax – факс.
7 DistributionPass (распределение путёвок) – {Klient, Pass, DateDeparture, Hotels, TransportationCompany},
где
Klient – Ф.И.О. клиента;
Pass – номер путёвки;
DateDeparture – дата отправления;
Hotels – гостиница;
TransportationCompany – компания, отвечающая за доставку клиента.
8 Currency (типы валют) – {Names, ExchangeCourse},
где
Names – название валюты;
ExchangeCourse – обменный курс.
Теперь построим предварительную концептуальную модель и покажем количественное значение мощностей связей Рис. 2.1
Рисунок 2.1 Предварительная концептуальная модель
3 Логическое моделирование
3.1 Построение логической модели
По концептуальной модели необходимо построить логическую модель. При этом атрибуты добавляются, в сущности, соответственно связям, показанным на концептуальной модели.
Например, в сущность «DistributionPass» добавляются атрибуты «Klient» (Ф.И.О. клиента – первичный ключ сущности «Klient»), «idPass» (номер путёвки – первичный ключ сущности «Pass»), «Hotels» (гостиница – первичный ключ сущности «Hotels») и атрибут «TransportationCompany» (компания-перевозчик – ключевое поле сущности «TransportationCompany»). Таким же образом добавляются атрибуты и в другие сущности.
Добавленные, в сущности-потомки, атрибуты являются внешними ключами для сущностей-предков, в которых данные атрибуты являются первичными ключами. Логическая модель приведена на (рис. 3.1).