- •Введение
- •Глава 1. Системный анализ предметной области асу «Туристическая фирма»
- •1.1. Анализ объекта автоматизации ооо «Вокруг света»
- •1.2. Обзор информационных технологий, подходящих для разработки бд
- •1.4. Требования к разрабатываемой базе данных
- •2.1. Разработка инфологической модели бд
- •2.2. Обоснование выбора модели данных
- •Сетевая модель
- •Иерархическая модель
- •Объектно-ориентированная модель
- •Реляционная модель
- •2.3. Даталогическое проектирование бд
- •2.4 Нормализация
- •Глава 3. Программная реализация бд туристической фирмы «вокруг света»
- •3.1 Анализ и выбор субд
- •3.2. Физическое проектирование бд
- •3.3 Разработка представлений
- •3.4 Разработка форм
- •3.5 Разработка отчетов
- •3.6. Безопасность и контроль
- •Заключение
- •Список источников и литературы
2.3. Даталогическое проектирование бд
Для логического проектирования выбрана реляционная модель данных, т.к. она наиболее полно соответствует требованиям, предъявленным к разрабатываемой информационной системе:
отсутствие дублируемой информации;
поддержание целостности данных при вставке, удалении или изменении записей;
возможность организации всех видов связи между отношениями 1:1, 1:M и M:M.
В реляционной базе данных даталогическое проектирование приводит к разработке корректной схемы базы данных, т.е. такой схемы, в которой отсутствуют нежелательные зависимости между атрибутами. При этом можно использовать процесс проектирования с помощью декомпозиции, т.е. последовательно нормализовывать схему отношений, тем самым накладывая ограничения и избавляясь от нежелательных зависимостей между атрибутами.
В реляционных базах данных (РБД) даталогическое проектирование приводит к разработке схемы БД, т.е. совокупности схем отношений, адекватно моделирующих объекты ПО и семантических связей между ними.
Основой анализа корректности схемы являются функциональные зависимости между атрибутами БД. Некоторые могут быть нежелательными.
В конце этого этапа должно быть получено описание схемы БД в терминах выбранной СУБД. Целью даталогического проектирования является построение корректной схемы БД, ориентированную на реляционную модель. Корректной называется схема БД, в которой отсутствуют нежелательные зависимости между атрибутами отношений.
Процесс разработки корректной схемы РБД и является даталогическим проектированием. Возможны 2-а способа:
Декомпозиция (разбиение);
Синтез;
Для перехода от инфологической модели к реляционной существует специальный алгоритм:
каждой сущности ставится в соответствие отношение;
каждому атрибуту сущности ставится в соответствие соответствующий атрибут соответствующего отношения;
первичный ключ сущности становится PK соответствующего отношения, при этом атрибуты, входящие в PK, обязательны для заполнения (NOT NULL);
в каждое отношение, соответствующее подчинённой сущности, добавляется набор атрибутов основной сущности, являющийся в ней первичным ключом. В отношении, соответствующее подчинённой сущности эти атрибуты становятся FK (внешним ключом);
по умолчанию, все атрибуты, не входящие в PK, необязательны;
для отражения категоризации сущностей возможны несколько вариантов;
все связи М:М должны быть раскрыты;
Воспользуемся данным алгоритмом и опишем каждую сущность инфологической модели:
Отели:
Код отеля – int NOT NULL PK
Название – varchar(20) NOT NULL
Тип – varchar(20) NOT NULL
Город – varchar(20) NOT NULL
Телефон – int NOT NULL
Адрес – varchar(30) NOT NULL
Страны:
Код страны – int NOT NULL PK
Страна – varchar(20) NOT NULL
Туры:
Код тура – int NOT NULL PK
Тур – varchar(20) NOT NULL
Цена – int NOT NULL
Дата отправления – date NOT NULL
Город вылета – varchar(20) NOT NULL
Оператор – varchar(20) NOT NULL
Людей– int NOT NULL
Ночей – int NOT NULL
Код страны - int NOT NULL FK
Код отеля - int NOT NULL FK
Клиенты:
Код клиента – int NOT NULL PK
ФИО – varchar(50) NOT NULL
Паспортные данные – varchar(10) NOT NULL
Телефон – int NOT NULL
Эл. почта – varchar(50) NULL
Адрес – varchar(50) NOT NULL
Сотрудники:
Код сотрудника – int NOT NULL PK
ФИО – varchar(50) NOT NULL
Должность - varchar(30) NOT NULL
Дата рождения – date NOT NULL
Паспортные данные – varchar(10) NOT NULL
Телефон – int NOT NULL
Адрес – varchar(50) NOT NULL
Дата приема на работу – date NOT NULL
Продажи:
Код продажи – int NOT NULL PK
Дата продажи – date NOT NULL
Количество – int NOT NULL
Код клиента – int NOT NULL FK
Код сотрудника – int NOT NULL FK
Код тура– int NOT NULL FK
Возвраты:
Код возврата – int NOT NULL PK
Дата возврата – date NOT NULL
Количество – int NOT NULL
Причина – varchar(100) NOT NULL
Код клиента – int NOT NULL FK
Код сотрудника – int NOT NULL FK
Код тура– int NOT NULL
Исходя из приведённых выше отношений, построим схему получившейся БД (Рисунок 5).
Рис. 5. Даталогическая модель базы данных