Добавлен: 21.10.2018
Просмотров: 1001
Скачиваний: 8
ИНФОЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ ДАННЫХ,
КАСАЮЩИХСЯ ПРЕДМЕТНОЙ ОБЛАСТИ «ПУТЕШЕСТВИЯ»
Изучая описание предметной области, можно выделить явные объектные множества: ТУР, КЛИЕНТ, ЗАКАЗ, СТРАНА. Объектное множество ТУР хранит сведения обо всех маршрутах, которые может предоставить фирма «Путешествия», причем, кроме названия каждый маршрут имеет свой уникальный идентификатор. Существование объектного множества ТУР не зависит от существования других объектных множеств, в силу чего оно может считаться сильным.
Объектное множество КЛИЕНТ, в свою очередь, хранит информацию обо всех клиентах фирмы. Более того, для учета в дальнейшем возможности скидок постоянным клиентам, каждый представитель объектного множества КЛИЕНТ также имеет уникальный идентификатор. Объектное множество КЛИЕНТ является сильным объектным множеством.
Изучая информацию, связанную со страной можно прийти к выводу, что СТРАНА является сильным объектным множеством и его наличие в инфологической модели необходимо для представления сведений о стране либо странах местопребывания во время тура. Уникальный идентификатор для множества СТРАНА позволит идентифицировать уникальным образом хранящиеся записи для конкретной страны, связанной с туристическими маршрутами.
В тоже время объектное множество ЗАКАЗ не может существовать без множеств ТУР и КЛИЕНТ, причем, для его существования обязательно должны присутствовать соответствующие объекты-элементы каждого из указанных множеств. Объектное множество ЗАКАЗ может являться примером ассоциативного объектного множества.
Кроме того, изучая далее информацию, полученную в результате анализа предметной области, получаем следующие результаты. Каждый тур обязан включать сведения о местопребывании, причем, данная информация напрямую связана со страной, в которой находится данный пункт маршрута. Таким образом, каждый тур обязан включать информацию об одном или более пунктах местопребывания, которые могут находиться как в одной, так и в разных странах. Для учета информации, касающейся пунктов в конкретном туре, необходима сущность МЕСТОПРЕБЫВАНИЕ, зависящая от существования объектных множеств ТУР и СТРАНА. Каждый тур также характеризуется данными, связанными с видом транспорта и перемещением во время конкретного тура. В данной связи речь может идти о слабом объектном множестве ПРОЕЗД, в котором зафиксирована информация о маршрутах проезда конкретного тура.
Из описания предметной области следует, что каждый клиент при оформлении заказа может получить определенного вида скидки, информация о которых может быть представлена сильным объектным множеством СКИДКА.
Таким образом, на этапе предварительного моделирования данных по полученному описанию предметной области выделены следующие объектные множества:
-
сильное объектное множество СТРАНА – хранит информацию о конкретных странах, которые можно посетить через туристическое агентство «ПУТЕШЕСТВИЯ»;
-
сильное объектное множество ТУР – характеризуется информацией по всем турам фирмы;
-
сильное объектное множество КЛИЕНТ – содержит информацию о клиентах фирмы, которые хотя бы один раз воспользовались ее услугами;
-
сильное объектное множество СКИДКА – предоставляет информацию о системе скидок фирмы «Путешествия»;
-
слабое объектное множество ПРОЕЗД – включает данные о видах транспорта и передвижениях во время конкретного тура;
-
ассоциативное объектное множество МЕСТОПРЕБЫВАНИЕ – фиксирует все пункты маршрута конкретного тура;
-
ассоциативное объектное множество ЗАКАЗ – хранит информацию обо всех заказах, которые оформила фирма «ПУТЕШЕСТВИЯ».
Кроме того, ассоциативное объектное множество заказ является функционирующим с возможным статусом (выписан; оплачен).
Анализируя отношения, которые характерны для данных объектных множеств, можно сделать следующие выводы:
-
отношение один-ко-многим ВХОДИТЬ связывает множества СТРАНА (один) и МЕСТОПРЕБЫВАНИЕ (многие), а также имеет частичную степень участия как со стороны множества СТРАНА, и полную степень участия со стороны множества МЕСТОПРЕБЫВАНИЕ;
-
отношение один-ко-многим ВКЛЮЧАТЬ охватывает множества ТУР (один) и МЕСТОПРЕБЫВАНИЕ (многие), имеет полную степень участия как со стороны множества ТУР, так и со стороны множества МЕСТОПРЕБЫВАНИЕ;
-
отношение один-ко-многим СВЯЗАТЬ охватывает множества ТУР (один) и ПРОЕЗД (многие), имеет полную степень участия как стороны множества ТУР и частичную – со стороны множества ПРОЕЗД;
-
отношение один-ко-многим СОДЕРЖАТЬ связывает множества ТУР (один) и ЗАКАЗ (многие), имеет полную степень участия как со стороны множества ТУР, так и со стороны множества ЗАКАЗ;
-
отношение один-ко-многим ИМЕТЬ охватывает множества СКИДКА (один) и ЗАКАЗ (многие), имеет частичную степень участия как со стороны множества СКИДКА, так и со стороны множества ЗАКАЗ;
-
отношение один-ко-многим ДЕЛАТЬ охватывает множества КЛИЕНТ (один) и ЗАКАЗ (многие), имеет полную степень участия как стороны множества ЗАКАЗ и частичную – со стороны множества КЛИЕНТ.
Рассматривая последовательно ключевые характеристики каждого из множеств, можно определить соответствующие атрибуты для каждого из рассмотренных объектных множеств.
Для сильного объектного множества СТРАНА из описания предметной области выделяются следующие атрибуты:
-
код страны – уникальный идентификатор (первичный ключ);
-
название – однозначный атрибут;
-
столица – однозначный атрибут;
-
население – однозначный атрибут;
-
страховка – однозначный атрибут (фиксируется необходимость страховки при въезде в страну);
-
валюта – однозначный атрибут;
-
климат – однозначный атрибут;
-
география – однозначный атрибут;
-
язык – однозначный атрибут.
-
прочие услуги – может подразумевать многозначный атрибут;
-
правила въезда – может подразумевать составной атрибут;
-
таможенные правила – может подразумевать многозначный атрибут;
-
достопримечательность – может подразумевать многозначный атрибут.
Для сильного объектного множества ТУР можно определить следующие атрибуты:
-
код тура – уникальный идентификатор (первичный ключ);
-
название – однозначный атрибут;
-
длительность – однозначный атрибут;
-
цена – производный атрибут;
-
описание – однозначный атрибут;
-
тип тура – однозначный атрибут (групповой тур, индивидуальный отдых, лечение, бизнес-туризм).
Для ассоциативного объектного множества МЕСТОПРЕБЫВАНИЕ можно задать атрибуты:
-
название места – однозначный атрибут;
-
описание – однозначный атрибут;
-
название гостиницы – однозначный атрибут;
-
количество звезд – однозначный атрибут;
-
адрес гостиницы – может подразумевать составной атрибут;
-
цена – однозначный атрибут;
-
питание – однако, может подразумевать и составной атрибут (указывается соответствующая информация, связанная с питанием);
-
фото места – может подразумевать многозначный атрибут;
-
отзывы туристов – может подразумевать многозначный атрибут.
Для слабого объектного множества ПРОЕЗД можно выделить атрибуты:
-
код проезда – уникальный идентификатор (первичный ключ);
-
код тура – однозначный атрибут (внешний ключ к объектному множеству ТУР);
-
маршрут – однозначный атрибут;
-
вид транспорта – однозначный атрибут;
-
цена проезда – однозначный атрибут;
-
время в пути – однозначный атрибут.
Для сильного объектного множества КЛИЕНТ можно задать следующие атрибуты:
-
код клиента – уникальный идентификатор (первичный ключ);
-
Фамилия Имя Отчество – составной атрибут;
-
пол – однозначный атрибут;
-
паспортные данные – составной атрибут;
-
адрес – составной атрибут;
-
телефон – может подразумевать многозначный атрибут;
-
иные сведения – может подразумевать многозначный либо составной атрибут.
Для сильного объектного множества СКИДКА можно определить следующие атрибуты:
-
код скидки – уникальный идентификатор (первичный ключ);
-
тип скидки – однозначный атрибут;
-
процент скидки – однозначный атрибут;
-
описание – однозначный атрибут.
Для ассоциативного объектного множества ЗАКАЗ можно задать атрибуты:
-
номер заказа – часть уникального идентификатора (первичного ключа);
-
дата выписки – однозначный атрибут;
-
дата начала тура – однозначный атрибут;
-
дата окончания тура – производный атрибут;
-
дата оплаты – однозначный атрибут;
-
величина скидки – однозначный атрибут (внешний ключ к объектному множеству СКИДКА).
Таким образом, с учетом анализа предметной области и соответствующих дополнительных выводов, инфологическая модель для базы данных «Путешествия» может выглядеть в соответствии с рис. 1.
Рис. 1. Инфологическая модель для базы данных «Путешествия»
СОЗДАНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ
«ПУТЕШЕСТВИЯ»
После дополнительных консультаций со специалистами, работающими в туристической фирме, реализующие туристические путевки, были сделаны соответствующие дополнения и выводы по инфологической модели данных.
Объектное множество ТУР (сильное). Для реализации данного объекта в концептуальной модели учесть все выделенные атрибуты для данного объекта, исключая атрибут Цена, который является производным и формируется путем вычислений с учетом атрибутов Местоприбывания.Цена, Проезд.Цена_проезда, а также некоторых начислений, связанных с услугами туристической фирмы.
Объектное множество СТРАНА (сильное). Включает все выделенные атрибуты. Что касается многозначных атрибутов: Прочие_услуги и Таможенные_правила, их следует включать как атрибуты данного множества с учетом того, что будут храниться большие текстовые данные. Составной атрибут Правила_въезда также считать в качестве простого атрибута с соответствующим определением типа хранимых данных. Многозначный атрибут Достопримечательность необходимо вынести в отдельное слабое объектное множество Достопримечательность со следующими атрибутами: Код_достопримечательности, Название_достопримечательности, Определение_достопримечательности (по категории, например, памятник, природный ландшафт и т.д.), Описание, Код_страны. Связь со СТРАНОЙ – «находиться», со стороны СТРАНА – частичное участие, со стороны ДОСТОПРИМЕЧАТЕЛЬНОСТЬ – полное участие.
Объектное множество МЕСТОПРЕБЫВАНИЕ (ассоциативное). Включаются все выделенные атрибуты. Многозначный атрибут Питание и составной атрибут Адрес_гостиницы считать соответствующими простыми атрибутами данного объекта Местопребывание. Для учета особенности хранимой информации выбрать соответствующий тип данных. Для многозначного атрибута Отзывы_туристов определить слабое объектное множество Отзыв со следующими атрибутами: Код_места, Отзыв_туриста и Дата_отзыва. Многозначный атрибут Фото_места после дополнительного анализа исключается из объекта Местопребывание и добавляется в качестве атрибута Фото_достопримечательности в объектное множество ДОСТОПРИМЕЧАТЕЛЬНОСТЬ.
Объектное множество ПРОЕЗД (слабое). Включаются все атрибуты, определенные для него.
Объектное множество КЛИЕНТ (сильное). Имеет следующие атрибуты: Код_клиента, Фамилия, Имя, Отчество (составной атрибут разбивается на три простых), Пол, Адрес (составной атрибут считается простым), составные атрибуты Паспортные_данные, Иные сведения рассматриваются как простые, однако для них определяется соответствующий тип данных. Многозначный атрибут Телефон также можно считать простым, однако, с учетом выбора соответствующего типа данных для хранения нескольких телефонов.
Объектное множество СКИДКА (скидка). Включаются все атрибуты, определенные в инфологической модели.