Файл: Пособие Базы данных Microsoft Access.pdf

Добавлен: 15.11.2018

Просмотров: 4474

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

11  

 

 

 

 

 
Рис. 4 Чужой ключ в таблице Отели. 
 
Следует отметить, что чужие ключи ставятся только в тех таблицах, которые находятся со 

стороны связи многие. МА поддерживает два типа связи 1 – 1 (один к одному), а также 1 - ∞ (один 
ко многим). Тип связи  ∞  - ∞ (многие ко многим) МА не поддерживает, чтобы исключить такие 
связи необходимо строить специальную таблицу пересечение, позволяющую разбить связь многие 
ко  многим  на  две  связи  дин  ко  многим.  Связь  один  к  одному  представляет  единственную 
зависимость, например один клиент один счет. Связь один ко многим предполагает, что например 
одна  турфирма  может  работать  сразу  с  несколькими  (многими)  отелями.  В  этом  случае  таблица 
Турфирмы  будет  находится  со  стороны  соотношения  один,  а  таблица  Отели  со  стороны  многие, 
поэтому  чужой  ключ  фигурирует  именно  в  этой  таблице.  Аналогично  в  зависимости  от  связей 
выставляются чужие ключи в других таблицах. 

В  рассматриваемой  базе  данных  необходимо  отразить  работу  туристических  агентств,  а 

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

Построение  связей  между  таблицами  осуществляется  на  основе  требований  заказчика  и 

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

В рассматриваемой базе данных рассматривается механизм связей один ко многим, который 

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


background image

12 

 

 

 

 

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

 
2.3.2 Заполнение чужих ключей. 
 
При заполнении таблицы в режиме ввода данных чужие ключи не заполняются, а остаются 

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

В свойствах подстановка выставляются следующие свойства (рис. 5). 
 

 

 
Рис.5 Свойства подстановки для чужого ключа код турфирмы. 
 


background image

13  

 

 

 

Тип  элемента  управления  выставляется  поле  со  списком,  чтобы  можно  было  выбрать  из 

списка необходимое значение. В зависимости откуда поступают данные в свойстве тип источника 
строк ставим значение таблица или запрос, так как данные будут поступать из таблицы Отели. 

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

справа выбираем из списка таблицу Турфирмы (рис. 6). 

 

 

 
Рис. 6 Установка свойства источник строк. 
 
Затем запускаем построитель запросов (кнопка с многоточием) (рис.8), в котором находится 

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

В  свойстве  присоединенный  столбец  ставится  один,  что  означает  управление  по  однму 

столбцу код турфирмы. 

В  свойстве  число  столбцов  стави卵ся  два,  потому  что  присоединяем  два  столбца  код 

турфирмы и название. 


background image

14 

 

 

 

 

В  свойстве  заглавия  столбцов  ставим  значение  нет,  потому  что  название  столбца  меняем 

через свойство общие в подписи. 

   

 
Рис. 7 Открытие построителя запросов. 
 
Ширина  столбца  ставим  ноль  сантиметров,  чтобы  скрыть  столбец  код  турфирмы  при 

открытии его на экране. 

В свойстве число строк ставится число, соответствующее количеству строк в таблице Отели 

в данном случае 20. 

Ширину  списка  оставляем  авто,  т.е.  ширина  раскрывающегося  списка  будет 

устанавливаться автоматически. 

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

добавления данных вне списка. 

Определив свойства чужих ключей можно их заполнять в режиме таблицы (в режиме ввода 

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


background image

15  

 

 

 

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

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

  

 
Рис. 8 Заполнение чужих ключей. 
 
2.3.3 Установление связей между таблицами. 
 

  

Перед  установкой  связи  между  двумя  таблицами  необходимо  проверить  следующие 

условия: 

  Что первичному ключу одной таблицы соответствует чужой ключ другой таблицы. 

  Определить, где находится соотношение 1, а где ∞, хотя это  условие определяется место 

положением чужого ключа. 

  Заполнить все чужие ключи в таблицах. 
Для  установления  связи  между  таблицами  необходимо  воспользоваться  командой 
Сервис/схема  данных  (рис.9),  в  результате  чего  появится  список  таблиц,  между  которыми