Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом ИПОВС 2003 / Пояснительная запискаFinalVersion.doc
Скачиваний:
57
Добавлен:
16.04.2013
Размер:
1.28 Mб
Скачать
    1. Разработка базы данных системы

Система работает с большим количеством туров, информацию о которых, разумеется, нужно хранить в базе данных. В процессе проектирования было принять решение не хранить в БД подробную информацию о турах, а ограничиться служебной информацией и ссылками на полные описания. Это решение было принято по следующим причинам:

  • не требуется преобразование данных после чтения из базы;

  • структура системы упрощается;

  • возрастает скорость оптимизации;

  • файлы в формате Wordиграют важную роль в бизнес-процессе, и отказаться от них всё равно не возможно;

  • расчёт на последующую интеграцию с системой учёта туров

Таблица 2. Поля в БД – таблица tblMain

Название поля

Значение

ID

Идентификатор

HotelName

Название отеля

RoomQ

Качество проживания

SeaDistance

Расстояние до моря (или другой цели тура)

FoodQ

Качество питания

RoomPrice

Стоимость проживания

Heal

Количество болезней, которые лечат

HealQ

Качество лечения

PreHeal

Количество болезней, от которых профилактика

Climat

Насколько климат способствует лечению

HealPrice

Стоимость лечения

TransferDist

Расстояние трансфера

TransferQ

Качество трансфера

TransferLong

Продолжительность трансфера

TransferMan

Количество человек в транспорте во время трансфера

TransferPrice

Стоимость трансфера

ExcursionNumber

Количество экскурсий

ExcursionDist

Расстояние до мест жкскурсий

ExcursionPrice

Стоимость экскурсий

Additional

Дополнительные услуги

AdditionalQ

Качество дополнительных услуг

DescriptionPath

Путь к полному описанию

В единственной таблице tblMainсодержится информация о турах в следующем виде: все численные данные нормализованы, все качественные данные преобразованы в численные и также нормализованы. Дополнительные услуги хранятся в полеAdditionalв виде битовой строки, каждой услуге выделено по 1 биту. Таким образом, данные подготовлены к работе алгоритма. Приведение данных в нужный вид производится в модуле заполнения базы данных. Преобразование из понятного пользователю набора параметров в абстрактные числа производится автоматически.

Формат битовой строки Additional:

Таблица 3. Структура поля Additional

Номер бита

Значение бита

1

Спортзал

2

Корт

3

Столы для настольного тенниса

4

Тренажёрный зал

5

Бильярд

6

Прокат спортинвентаря

7

Библиотека

8

Парикмахерская

9

Косметический кабинет

10

Кафе

11

Бар

12

Продажа сувениров

13

Фотоуслуги

14

Автостоянка

15

Камера хранения

16

Гид

17

Дискотека

18

Казино

19

Детская комната

20

Детские аттракционы

21

Бассейн

22

Собственный пляж

23

Лодочная станция

24

Медпункт

25

Кинозал

26

Сауна

27

Солярий

28

Фитнесс-центр

29

Русская баня

30

Место для шашлыков

31

Конюшня

32

Аптека

33

Фитобар

34

Тир

35

Джакузи

Остальные биты (выделено 64) пока не используются и предназначены для обозначения дополнительных услуг, которые появятся в дальнейшем.

База данных выполнена в СУБД MicrosoftAccess. Эта СУБД предоставляет удобное средство для проектирования баз данных, позволяет легко подключиться к полученной базе благодаря драйверамODBC, включённым во все средства разработки. Использование драйверовODBCпозволяет в дальнейшем сменить базу данных без особых затрат времени.

Ограничения целостности реализованы только на уровне модуля заполнения базы ввиду абстрактности данных, хранящихся в БД. Более серьёзные ограничения потребовали бы значительного усложнения базы данных, что в данном случае не оправдано.

Первичным индексом является поле HotelName, что на самом деле не будет иметь особого эффекта ввиду нечастого использования. Индексировать остальные поля не имеет смысла опять же по причине абстракции данных.