Базы данных предприятия СКС и туризма
Этапы создания реляционной
С точки зрения конечного пользователя процесс создания базы данных можно представить в виде трех этапов:
инфологическое (концептуальное) описание баз данных;
логическое проектирование баз данных;
физическое проектирование баз данных.
Инфологическое, или концептуальное, описание. Исходными данными для осуществления инфологического проектирования базы данных является словесная и документальная характеристика предметной области, которая может быть получена в результате предварительного (предпроектного) исследования. Разработка концептуальной модели предметной области основана на анализе информационных потребностей конечных пользователей и тех требований, которые они предъявляют к создаваемой базе данных.
На этом этапе прежде всего решается вопрос о том, какие данные должны храниться в базе и какого типа информационные выборки и отчеты могут потребоваться пользователю БД. Мифологическая (концептуальная) модель предметной области обычно представляется в виде графической схемы, на которой показан состав и взаимосвязи хранимых данных. В процессе работы инфо-логическая модель может дополняться новыми данными в связи с , изменяющимися потребностями пользователя.
Логическое проектирование. На этом этапе осуществляется выбор подходящей системы управления базами данных и представление инфологической модели предметной области в форме структуры базы данных конкретной СУБД. Для реляционных баз дан- i ных на этом этапе производится описание структуры каждой таблицы и их взаимосвязей.
Физическое проектирование. Оно предполагает определение способов и мест размещения базы данных, оценку ее объема и других параметров.
9.3. Типы информационных связей в моделях данных
При построении инфологических моделей предметной области используется понятие информационных связей между отдельными реквизитами. Существует четыре основных типа информацион- ных связей:
Рис. 9.1. Связь «один-к-одному» |
1) «один-к-одному». Такая связь означает, что каждому значению реквизита Л соответствует одно и только одно значение связанного с ним реквизита В, и наоборот. Например, каждому значению реквизита Номер паспорта соответствует единственное зна-1 чение реквизита ФИО гражданина страны, и наоборот. Такую связь обозначают 1:1, графически в инфологических моделях эта связь изображается одинарными стрелками (рис. 9.1).
Рис. 9.2. Связь «один-ко-многим»
2) «один-ко-многим». Эта связь означает, что каждому значению реквизита А соответствует ноль, одно или несколько значений связанного с ним реквизита В, а каждому значению реквизита В соответствует одно и только одно значение реквизита А. Например, для аэропорта, из которого осуществляется множество рейсов, характерна следующая связь между описывающими этот объект реквизитами: одному значению реквизита Название аэропорта вылета соответствует несколько значений реквизита Номер рейса, а каждому значению Номер рейса соответствует только одно Название аэропорта вылета. Такую связь обозначают 1: М, графически связь изображается одинарной стрелкой со стороны «один» и двойной — со стороны «много» (рис. 9.2).
3) «многие-к-одному». Эта связь интерпретируется как обратная к связи «один-ко многим».
4) «многие-ко-многим». Такая связь означает, что каждому значению реквизита А соответствует несколько значений связанного с ним реквизита В, и наоборот. Например, турагентство может работать с несколькими туроператорами, а туроператор обычно имеет разветвленную сеть турагентов. Такую связь обозначают М: М, а графически изображают двойными стрелками (рис. 9.3).
Аналогичные связи могут быть установлены в БД между реляционными таблицами и практически реализованы за счет наличия в них общих полей (реквизитов). Если общих полей в связываемых таблицах нет, то нужно сделать следующее:
если между реляционными таблицами существует связь 1:1 или 1: М, то следует скопировать поле, по которому устанавливается связь, из одной связываемой таблицы в другую;
Рис. 9.3. Связь «многие-ко-многим» |
если между реляционными таблицами существует связь М: М, то следует создать новую таблицу и включить в нее ключевые поля связываемых таблиц.
9.4. Создание базы данных для предприятия СКС и туризма
При создании базы данных для предприятий социально-культурной сферы и туризма одним из первостепенных вопросов является определение тех данных, которые необходимо хранить и обрабатывать в информационной базе. Основным источником получения такого рода информации является словесное описание функциональных задач, решаемых на каждом рабочем месте, и анализ обрабатываемой документации с указанием конкретных реквизитов. Другими словами, необходимо рассмотреть все щ формационные бизнес-процессы, реализуемые на данном объекте, а также провести анализ информационных потребностей каждого конечного пользователя БД. Такой подход носит название функционального {процессного). При таком подходе структура БД зависит от глубины проработки основных бизнес-процессов щ полноты выявления информационных потребностей конечных пользователей.
Кроме этого, существует объектный подход к построению базы данных, который основан на выявлении типовых сущностей предметной области, унификации и обобщении их свойств, типизации перечня и информационных потребностей конечных пользователей. Такой подход позволяет сформировать типовые информационно-логические модели, например для гостиницы, турфирмы, музея, которые затем адаптируются к условиям конкретного предприятия. В этом случае существует обычно некоторая избыточность базовой информационно-логической модели предметной области, и в то же время некоторые уникальные бизнес-процессы могут быть не учтены.
. Для формализованного представления информационно-логической модели предметной области используется так называемая модель «сущность-связь», разработанная П.Ченом в 1976 г. Описание предметной области осуществляется в виде схем, на которых с помощью графических объектов представлены информационные объекты, описывающие их реквизиты и связи между ними. Достоинством такого подхода является наглядность получаемых моделей и возможность формализации всего процесса построения информационных моделей.
Информационные объекты (или сущности) представляют собой информационное описание с помощью набора реквизитов отдельных реальных объектов, процессов, явлений или событий конкретной предметной области, информация о которых должна сохраняться и быть доступна в БД. На схемах информационно-логической модели информационные объекты изображаются в виде прямоугольников.
Рассмотрим пример построения информационно-логической модели для туристской фирмы. Предположим, что турфирма реализует туры по различным направлениям (странам), и по каждому направлению работает конкретный менеджер. При этом некоторые менеджеры могут обслуживать несколько направлений. В базе данных необходимо хранить и обрабатывать информацию по турам, странам, менеджерам. В результате предпроектного обследования был определен перечень тех реквизитов, которые необходимо хранить в базе данных: код тура, наименование тура, продолжительность тура, цена тура, код страны, название страны, виза (нужна или нет), валюта страны, код менеджера, ФИО менеджера, телефон менеджера.
Сформулированы следующие основные условия: в одну страну может быть несколько туров, но каждый тур предусматривает посещение только одной страны; один менеджер курирует несколько туров, но каждый тур имеет только одного менеджера-куратора.
Построение информационно-логической модели начинается с анализа взаимосвязей между реквизитами, выявления информационных объектов и определения ключей. Анализ взаимосвязей между реквизитами позволяет установить, что каждому коду тура соответствуют уникальное название тура, конкретная продолжительность и цена. Для кода страны можно установить взаимнооднозначное соответствие с названием страны, визовой поддержкой и валютой страны. Аналогично конкретному коду менеджера соответствуют ФИО менеджера и его телефон. Существующие взаимосвязи между реквизитами можно представить в виде следующей схемы:
Здесь можно выделить три информационных объекта и назвать их ТУР, СТРАНА, МЕНЕДЖЕР.
Для каждого информационного объекта выделяются ключи, т. е. те реквизиты, которые однозначно идентифицируют записи. Например, для информационного объекта ТУР уникальными (неповторяющимися) являются реквизиты: код тура и название тура. № тот, и другой реквизит однозначно идентифицирует конкретный тур, который может быть выбран в качестве ключевого. Однаков целях оптимизации размера базы данных и удобства работы с ней в качестве ключа обычно выбираются кодовые реквизиты. Таким образом, ключами для выделенных информационных объектов будут соответственно код тура, код страны и код менеджера. При описании модели принято ключевые поля подчеркивать.
Таким образом, структурирование данных предметной области позволило выделить три информационных объекта и описываю щие их реквизиты:
ТУР (код тура, наименование тура, продолжительность тур цена тура);
СТРАНА (код страны, название страны, виза, валюта страны);
МЕНЕДЖЕР (код менеджера. ФИО менеджера, телефон менеджера).
Далее необходимо установить взаимосвязи между отдельными информационными объектами, что осуществляется путем анализа типов связей между ключами с учетом сформулированных ранее условий описания предметной области.
Связь между информационными объектами СТРАНА и ТУР имеет тип «один-ко-многим» (СТРАНА <->> ТУР). Это следует из| того, что по условию в одну страну может быть несколько туров, но каждый тур предусматривает посещение только одной страны. Между информационными объектами МЕНЕДЖЕР и ТУР также имеет место тип связи «один-ко-многим» (МЕНЕДЖЕР-*—>> ТУР), так как по условию один менеджер курирует несколько туров, но каждый тур имеет только одного менеджера-куратора.
Для реализации установленных взаимосвязей необходимо в информационный объект ТУР добавить ключевые поля из связываемых сущностей МЕНЕДЖЕР и СТРАНА. Тогда описывающие •информационный объект реквизиты будут следующие: ТУР (код тура, наименование тура, продолжительность тура, цена тура, код страны, код менеджера).
Графически информационную модель можно представить в виде следующей схемы (рис. 9.4).
Рис. 9.4. Информационно-логическая модель «Турфирма»
Переход от информационно-логической модели к реляционным таблицам производится следующим образом:
1. Каждый информационный объект представляется отдельной таблицей.
2. Реквизиты информационных объектов являются полями реляционных таблиц.
3. Ключи информационных объектов становятся ключами таблиц.
Для рассматриваемой предметной области примеры исходных значений приведены в табл. 9.1, 9.2, 9.3.
, Таблица 9.1 - Страна
Код страны | Название | Виза | Валюта |
CYP | Кипр | Нет | кипр фунты |
FR | Франция | Да | франки |
RUS | Россия | Нет | рубли |
UK | Англия | Да | фунты |
USA | США | Да | доллары |
Таблица 9.2 Тур
Код тура | Название тура | Продолжительность тура, дни | Цена тура, долл. | Код менеджера | Код страны |
CYP-1 | «Отдых» | М-2 | CYP | ||
CYP-2 | «Обучение» | М-2 | CYP | ||
FR-1 | «Экскурсия в Париж» | М-4 | FR | ||
FR-2 | «Рождество в Париже» | М-4 | FR | ||
FR-3 | «Обучение» | М-4 | FR | ||
RUS-1 | «Сочи» | М-3 | RUS | ||
RUS-2 | «Золотое кольцо» | М-3 | RUS | ||
RUS-3 | «Сибирь» | М-3 | RUS | ||
UK-1 | «Обучение» | М-1 | UK | ||
UK-2 | «Экскурсия в Лондон» | М-1 | UK | ||
USA-1 | «Диснейленд» | М-1 | USA | ||
USA-2 | «Долина Смерти» | М-1 | USA | ||
USA-3 | «Отдых» | М-1 | USA | ||
USA-4 | «Обучение» | М-1 | USA |
Таблица 9.3
Менеджер | ||
Код менеджера | ФИО | Телефон |
М-1 | Иванов В.А. | 123-45-67 |
М-2 | Орлова СТ. | 456-87-12 |
М-3 | Соколов Л.Д. | 457-87-45 |
М-4 | Мельник О.В. | 324-54-00 |
9.5. Реализация базы данных «Турфирма»