Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6371

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
775.75 Кб
Скачать

20

1.4. Связи между таблицами

Согласно приведенному выше определению реляционной СУБД, ее отличительной и необходимой чертой является наличие связей между вхо-

дящими в нее таблицами.

Существует несколько типов связи между двумя множествами.

Применительно к реляционным БД множеством является класс объектов,

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

рим типы связей между множествами.

1. Тип связи "Один-к-одному". Каждому элементу первого множе-

ства (объекту, описанному в одной таблице), соответствует только один элемент второго множества (объект, описанный в другой таблице), и на-

оборот – каждому элементу второго множества соответствует только один элемент первого множества.

Некоторым элементам первого множества может не соответство-

вать ни один элемент из второго множества и наоборот – некоторым эле-

ментам второго множества может не соответствовать ни один элемент из первого множества.

Как видно из определения, множества равнозначны.

Подобный тип связи не является основным в реляционных БД. Не-

часто встречаются примеры, когда объектам из одного класса соответству-

ет строго один (не больше одного) объект из другого класса. Один из при-

меров – база кадров. У каждого отдела (бригады, подразделения) может быть только один начальник и наоборот – одна кадровая единица может быть начальником только одного подразделения.

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

21

подобного разделения могут быть различными. Одна из них – характери-

стик слишком много. В таком случае возможно или ввести их в несколько таблиц, связанных отношением "Один-к-одному", или ввести их все в одну таблицу и выводить на экран для дальнейшей обработки группами, кото-

рые можно сформировать при помощи нескольких запросов на выборку

(см. главу 3).

Другой случай – часть объектов определенного класса обладает ха-

рактеристиками, отсутствующими у остальных объектов того же класса.

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

сторожденияЛечебныхГрязей", одним из полей которой будет "Курортная-

Зона". Названное поле будет связано по типу "Один-к-одному" с одно-

именным полем таблицы "КурортныеЗоны".

2. Тип связи "Один-ко-многим". Каждому элементу первого мно-

жества (объекту, описанному в первой таблице), соответствует несколько элементов второго множества (объектов, описанных во второй таблице).

Каждому элементу второго множества соответствует не более одного эле-

мента первого множества. Множества (таблицы) не равнозначны. Первая таблица называется исходной (главной), вторая – связанной (подчинен-

ной).

Подобный тип связи является основным в реляционных БД. Как правило, объекты одного класса, сведения о которых содержатся в опреде-

ленной таблице, являются реквизитами для объектов другого класса, све-

дения о которых содержатся в другой таблице. Например для объектов класса "Курорт" реквизитом будет страна, в которой он находится. При этом в одной стране расположено много курортов, но каждый курорт рас-

22

положен только в одной стране (возможные редкие исключения не рас-

сматриваются).

Спомощью связей подобного типа можно совместно использовать

ввыборках, расчетах и при решении других задач АИС (п. 1.1) сведения о совершенно разных объектах, относящихся к разным классам и имеющих разные наборы реквизитов.

Тип связи "Один-ко-многим" проще задавать с помощью мастера подстановок (см. раздел 2.3).

Если реквизит имеет конечное число значений, то вместо них в таб-

лицу рекомендуется вводить их коды. Для хранения и расшифровки кодов создается отдельная таблица – словарь значений реквизита [5], которая бу-

дет главной. Ввод кодов можно производить после установки связи

"Один-ко-многим", что реализуется также с помощью мастера подстано-

вок.

3. Тип связи "Многие-ко-многим". Каждому элементу одного мно-

жества может соответствовать несколько элементов второго множества и наоборот – каждому элементу второго множества может соответствовать несколько элементов первого множества. Реализация подобного типа свя-

зей в реляционных БД невозможна.

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

скольких странах. Каждый сотрудник фирмы отвечает за контакты с опре-

деленными странами, при этом несколько сотрудников могут работать с одной страной. Тип связи между множествами "Сотрудники" и "Страны" – "Многие-ко-многим". В этом случае чтобы отслеживать контакты опреде-

ленного сотрудника с определенной страной надо создать подчиненную таблицу, для которой главными будут таблицы "Страны" и "Сотрудники".

23

1.5. Интерфейс Microsoft Access

Интерфейс – это совокупность средств и правил, обеспечивающих взаимодействие пользователя с программой. Интерфейс программы дол-

жен обеспечивать пользователя следующими возможностями:

задание команд;

установка нужных параметров команды или инструмента;

получение информации о работе программы и т.д.

Одной из причин популярности пакета программ Microsoft Office

является удобный для пользователя или дружественный интерфейс.

Современные программы предусматривают ряд альтернативных возможностей задания некоторых команд при помощи элементов интер-

фейса, перечисленных ниже.

1.Команды главного меню, расположенного в верхней части окна программы.

2.Кнопки панелей инструментов, которые расположены под глав-

ным меню. Значение команды, выполняемой после нажатия той или иной кнопки, можно прочитать на всплывающих подсказках, которые появля-

ются при наведении курсора на кнопку, интересующую пользователя.

3. Контекстные (синоним – " быстрые") меню, вызываемые нажати-

ем правой клавиши мыши. Их вид зависит от объекта, на котором в данный момент находится курсор. Выражение "Вызвать быстрое меню"

означает поставить курсор мыши на объект и нажать правую кнопку мы-

ши. Например, вызвать быстрое меню таблицы означает поставить курсор мыши на имя таблицы в списке и нажать правую кнопку.

4. "Горячие" клавиши – заданные в программе отдельные клавиши клавиатуры или их сочетания, нажатие которых приводит к выполнению определенной команды. Максимальное использование "горячих" клавиш –

"высший пилотаж" при работе с программой. При задании команд этим способом не нужно убирать руки с клавиатуры. Сочетания "горячих" кла-

24

виш заданы для назначения очень многих команд, но большая их часть,

как правило, не применяется, потому что их надо помнить. Для примера приводятся наиболее употребляемые клавиши и сочетания клавиш, общие для всех программ MS Office:

"Ctrl + Х" – вырезать;

"Ctrl + С" – копировать;

– "Ctrl +V" – вставить;

– "Ctrl+Z" – отмена последнего действия.

В программах Microsoft Office-2007 внешний вид окна и элементы интерфейса отличаются от предыдущих версий. Вместо главного меню и панели инструментов создан новый элемент – лента, на которой находятся кнопки для задания команд. Все кнопки разделены по вкладкам и группам.

Заголовки вкладок расположены вдоль верхней части ленты. Активной в любой момент времени является только одна вкладка. Для перехода к дру-

гой вкладке надо щелкнуть мышью на ее заголовке.

Элементы интерфейса и внешний вид окна Access-2007 представле-

ны на рис. 2.

В некоторых случаях несколько кнопок представлены в раскры-

вающемся списке, который можно распознать по стрелке в правом нижнем углу или на нижнем краю кнопки.

Первой слева расположена вкладка "Главная", на которой находятся кнопки для команд, часто используемых во всех программах Microsoft Office: команды копирования и вставки, форматирования текста, настройки шрифтов и цветов и др. Остальные вкладки различаются в разных про-

граммах.

25

26

После запуска Access-2007 вкладок на ленте четыре, хотя по мере работы могут появляться и другие. Кроме "Главной" доступны также следующие вкладки:

" Создание" – предназначена для создания различных компонентов БД – таблиц, запросов и др.;

" Внешние данные" – предназначена для импорта данных из дру-

гих программ и экспорта данных в другие программы;

– " Работа с базами данных" – команды для анализа данных, органи-

зации связей и некоторые другие.

Аналогом пункта главного меню "Файл" предыдущих версий Microsoft Office является кнопка Office, находящаяся в левом верхнем углу экрана. С ее помощью можно задать команды "Создать", "Сохранить как…", " Закрыть" и некоторые другие. Кнопки для задания часто встре-

чающихся команд расположены также на панели быстрого запуска, распо-

ложенной справа от кнопки Office.

В разных версиях Windows интерфейс Access-2007 несколько отли-

чается, но на работе БД это не сказывается [6].

27

2. СОЗДАНИЕ БАЗЫ ДАННЫХ ТУРАГЕНТСКОЙ ФИРМЫ

2.1. Информационная модель базы данных турагентской фирмы

Первым этапом разработки БД является создание ее информацион-

ной модели – определение набора классов объектов, связей между ними, а

также определение перечня реквизитов объектов каждого класса и их опи-

сания (варианты значений, формат данных и др.)

При проектировании любой БД сначала необходимо определить,

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

Рассмотрим БД фирмы, занимающейся турагентской деятельно-

стью, то есть продажей туров, разработанных другими туроператорами. С

помощью подобной БД можно сохранять информацию о продаваемых ту-

рах, производить быстрый поиск и выборку нужного тура по определен-

ным условиям, анализировать предложения туров по некоторым показате-

лям. Базовый вариант БД рассмотрен в настоящем разделе.

В дальнейшем предусмотрено расширение БД для сохранения и анализа сведений о продажах туров, что рассмотрено в разделе 3.10.

Предметной областью является деятельность по продаже предла-

гаемых туров. Виды классов объектов зависят от конкретной БД. Для БД туров обязательными являются следующие классы:

фирмы-туроператоры, предлагающие туры;

места проведения туров, причем один туроператор предлагает не-

сколько мест отдыха, а путевки в одно место отдыха могут предлагаться разными туроператорами (тип связи между местами отдыха и туроперато-

рами – многие-ко-многим);

– туры, предлагаемые определенным туроператором в определен-

ное место отдыха.

28

Последний класс связан отношением "Многие-к-одному" как с классом туроператоров, так и с классом мест отдыха. Таблица "Туры" бу-

дет подчиненной для таблиц двух других названных классов.

По условию работы в одной стране может быть несколько мест от-

дыха, причем один тур предполагает посещение только одного из них.

Следовательно, класс стран связан с классом мест отдыха отношением

"Один-ко-многим".

Проблема возникает в случае, когда один тур предполагает посеще-

ние нескольких мест отдыха или даже нескольких стран, как, например, во время автобусных экскурсий. Возможны два варианта решения.

1. Как место отдыха представляется трасса маршрута в целом с ука-

занием или начального и конечного пунктов, или основных центров посе-

щения, например Венеция-Флоренция-Рим для тура по Италии. Если тур предполагает посещение нескольких стран, то в качестве страны указыва-

ется или наиболее значимая из посещаемых в туре, или вводится особое значение реквизита "Название Страны", например "Несколько стран Евро-

пы" (именно такой вариант предусматривается в задании).

2. Для подобных туров создается более сложная БД с особой струк-

турой, что здесь не рассматривается. Можно предположить, что в практике настоящей фирмы желательно держать сведения о всех продажах в единой БД, а в случае тура по нескольким странам использовать вариант, приве-

денный выше.

В БД предполагается ввод сведений о валюте, за которую продают-

ся туры в странах посещения и о ее текущем курсе. Для удобства надо соз-

дать таблицу "Валюта", которая связана отношением "Один-ко-многим" с

таблицей "Страны" и следовательно будет для нее исходной.

Также для анализа туристской специализации стран и туроперато-

ров создается таблица "ВидыОтдыха", которая будет исходной для табли-

цы "Туры".

29

При создании таблиц следует помнить следующие особенности выбора имен полей [1] и таблиц, а также других компонентов БД.

1. Имя должно быть по возможности простым и коротким. При на-

боре длинных имен больше вероятность ошибки.

2. Если имя состоит из нескольких слов, то делать пробелы между словами не рекомендуется. Общепринято для удобства чтения делать за-

главной первую букву каждого слова, входящего в имя, например "Место-

Отдыха". Пробелы в имени поля затрудняют работу с некоторыми компо-

нентами БД, в частности, с запросами.

3. Похожих имен быть не должно, чтобы их не перепутать.

Схема таблиц и связей между ними приводится на рис. 3.

Список таблиц создаваемой БД с указанием имен и типов полей в каждой из них приводится ниже в разделе 2.2 (табл. 2.1 – 2.6) . Набор таб-

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

ленных задач.

По условию задания предлагается составить БД турагентской фир-

мы. Исходным материалом может быть любая газета объявлений, содер-

жащая рекламные объявления туристских фирм. При преподавании дисци-

плины "СУБД в туризме" на кафедре туризма и сервиса ННГАСУ исполь-

зуются вырезки из бесплатной рекламной газеты "Экстра-НН". При отсут-

ствии в рекламных объявлениях некоторых характеристик (значений рек-

визитов) туров пользователю предлагается задать их произвольно с учетом реалий и здравого смысла. Например, стоимость недельного тура в Таи-

ланд не должна быть несколько десятков долларов.

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]