Базы данных предприятия СКС и туризма

Этапы создания реляционной

С точки зрения конечного пользователя процесс создания базы данных можно представить в виде трех этапов:

инфологическое (концептуальное) описание баз данных;

логическое проектирование баз данных;

физическое проектирование баз данных.

Инфологическое, или концептуальное, описание. Исходными данными для осуществления инфологического проектирования базы данных является словесная и документальная характеристика предметной области, которая может быть получена в результате предварительного (предпроектного) исследования. Разработка концептуальной модели предметной области основана на анализе информационных потребностей конечных пользователей и тех требований, которые они предъявляют к создаваемой базе данных.

На этом этапе прежде всего решается вопрос о том, какие данные должны храниться в базе и какого типа информационные выборки и отчеты могут потребоваться пользователю БД. Мифологическая (концептуальная) модель предметной области обычно представляется в виде графической схемы, на которой показан состав и взаимосвязи хранимых данных. В процессе работы инфо-логическая модель может дополняться новыми данными в связи с , изменяющимися потребностями пользователя.

Логическое проектирование. На этом этапе осуществляется выбор подходящей системы управления базами данных и представление инфологической модели предметной области в форме структуры базы данных конкретной СУБД. Для реляционных баз дан- 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. Реализация базы данных «Турфирма»