Схема данных в access: создание, редактирование, обновление

Microsoft Office

Связь таблиц Access

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

1. Выберите команду Сервис > Схема данных. Откроется окно, схематически изображающее связи базы данных. На рис. 16.11 видно, что линия связи соединяет поля Код_Контакты таблицы Контакты и Контакт таблицы Список.

Примечание

Данная связь соединяет ключевое и обычное поля. Это связь типа «один ко многим», когда одной записи таблицы Контакты может соответствовать несколько записей таблицы Список, но не наоборот.

Рис. 16.11. Схема данных Access

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

2. Щелчком выделите линию связи.

3. Нажмите клавишу Delete. В ответ на появившийся запрос щелкните на кнопке Да. Связь исчезнет.

4. Поместите указатель мыши на пункт Код_Контакты таблицы Контакты.

5. Нажмите кнопку мыши и перетащите указатель на поле Контакт таблицы Список.

6. В открывшемся окне диалога щелкните на кнопке Создать. Связь появится вновь.

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

7. Дважды щелкните на линии связи. Откроется окно диалога, показанное на рис. 16.12.

Рис. 16.12. Параметры связи

Примечание

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

8. Установите флажок Обеспечение целостности данных. Этот режим не позволит Access оставлять в таблице Список записи, для которых нельзя подобрать запись таблицы Контакты с подходящим значением поля Код_Контакты.

9. Установите флажок Каскадное удаление связанных записей. Теперь при удалении записи таблицы Контакты (то есть удалении информации о конкретном человеке) будут удалены все соответствующие записи таблицы Список (то есть все описания контактов с этим человеком). Если указанный флажок сброшен, удаление тех записей таблицы Контакты, на которые ссылается хотя бы одна запись таблицы Список, запрещено.

Примечание

Установка флажка Каскадное обновление связанных полей приведет к тому, что при обновлении поля Код_Контакты таблицы Контакты будут автоматически обновляться одноименные поля в соответствующих записях таблицы Список.

10. Щелкните на кнопке ОК.

11. Закройте окно Схема данных.

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

13. Щелкните на знаке «плюс» записи для Петра Петрова. Откроется вложенная таблица, содержащая те записи таблицы Список, значение поля Код_Контакты которых равно величине одноименного поля записи для Петра Петрова (рис. 16.13).

Рис. 16.13. Выборка данных из связанной таблицы Access

Примечание

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

14. Щелкните еще на каком-нибудь знаке «плюс», и вы увидите описание всех контактов с еще одним человеком. Таким образом, с помощью созданной связи вы можете быстро просматривать в окне таблицы Список описания всех контактов с определенным человеком или группой лиц.

Навигация по столам

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

Чтобы перемещаться между полями, вы можете использовать клавиши со стрелками влево и вправо или прокручивать влево и вправо.

Как определить связи между таблицами

При создании связи между таблицами связанные поля не должны иметь одни и те же имена. Однако связанные поля должны иметь один и тот же тип данных, если только поле первичного ключа не является полем AutoNumber. Вы можете сопоставить поле AutoNumber с полем Number, только если свойство FieldSize обоих совпадающих полей совпадает. Например, можно сопоставить поле AutoNumber и поле Number, если свойство theFieldSizeproperty обоих полей имеет значение Long Integer. Даже если оба совпадающих поля являются числовыми полями, они должны иметь параметр sameFieldSizeproperty.

Как определить связи «один ко многим» или «один к одному»

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

  1. Закройте все таблицы. Нельзя создавать или изменять связи между открытыми таблицами.

  2. В Access 2002 и Access 2003 выполните следующие действия.

    1. Нажмите F11, чтобы переключиться в окно базы данных.
    2. В меню Инструменты выберите Связи.

    В Access 2007, Access 2010 или Access 2013 нажмите Связи в группе Показать/Скрыть на вкладке Инструменты базы данных.

  3. Если вы еще не определили какие-либо связи в базе данных, автоматически отобразится диалоговое окно Показать таблицу. Если вы хотите добавить таблицы, которые нужно связать, но диалоговое окно Показать таблицу не отображается, нажмите Показать таблицу в меню Связи.

  4. Дважды щелкните названия таблиц, которые вы хотите связать, а затем закройте диалоговое окно Показать таблицу.  Чтобы создать связь между одной и той же таблицей, добавьте эту таблицу два раза.

  5. Перетащите поле, которое вы хотите связать, из одной таблицы в связанное поле в другой таблице. Чтобы перетащить несколько полей, нажмите Ctrl, нажмите на каждое поле, а затем перетащите их.

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

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

    При необходимости установите параметры связей. Если у вас есть информация о конкретном элементе в диалоговом окне Изменение связей, нажмите кнопку со знаком вопроса, а затем нажмите на элемент. (Эти параметры будут подробно описаны ниже в этой статье.)

  7. Нажмите кнопку Создать, чтобы создать связь.

  8. Повторите шаги с 4 по 7 для каждой пары таблиц, которые вы хотите связать.

    При закрытии диалогового окна Изменение связей Access спрашивает, хотите ли вы сохранить макет. Сохраняете ли вы макет или не сохраняете макет, созданные вами связи сохраняются в базе данных.

    Примечание

    Можно создавать связи не только в таблицах, но и в запросах. Однако целостность данных связывания не обеспечивается с помощью запросов.

Как определить связь «многие ко многим»

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

  1. Создайте две таблицы, которые будут иметь связь «многие ко многим».

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

  3. В связующей таблице установите первичный ключ, чтобы включить основные ключевые поля из двух других таблиц. Например, в связующей таблице «TitleAuthors» первичный ключ будет состоять из полей OrderID и ProductID.

    Примечание

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

    1. Откройте таблицу в Конструкторе.

    2. Выберите поле или поля, которые вы хотите определить в качестве первичного ключа. Чтобы выбрать одно поле, нажмите на селектор строки для нужного поля. Чтобы выбрать несколько полей, удерживайте клавишу Ctrl, а затем нажмите селектор строки для каждого поля.

    3. В Access 2002 или в Access 2003 нажмите на Первичный ключ на панели инструментов.

      В Access 2007 нажмите на Первичный ключ в группе Инструменты на вкладке Дизайн.

      Примечание

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

  4. Определите связь один-ко-многим между каждой основной и связующей таблицами.

Зачем создавать связи между таблицами?

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

Связи между таблицами предоставляют сведения для структурирования запросов

Для работы с записями из нескольких таблиц часто приходится создавать запросы, соединяющие таблицы. Запрос сопоставляет значения в поле первичного ключа первой таблицы с полем внешнего ключа второй таблицы. Например, чтобы получить строки, в которых перечисляются все заказы для каждого из клиентов, можно создать запрос, соединяющий таблицу «Клиенты» с таблицей «Заказы» на основе поля «Код клиента». В окне «Схема данных» можно вручную указать поля для соединения. Но если связь между таблицами уже существует, Access использует соединение по умолчанию на основе существующей связи между таблицами. Кроме того, при использовании одного из мастеров запросов Access использует сведения об уже определенных связях между таблицами, чтобы предоставить пользователю выбор и подставить в параметры свойств соответствующие значения по умолчанию.

Связи между таблицами предоставляют сведения для структурирования форм и отчетов

При создании формы или отчета в Access используются сведения об уже определенных межтабличных связях, чтобы предоставить пользователю выбор и предварительно заполнить параметры свойств соответствующими значениями по умолчанию.

Связи между таблицами — это та основа, с помощью которой можно обеспечить целостность данных, чтобы в базе данных не было потерянных записей. Потерянная запись — это запись со ссылкой на несуществующую запись (например, запись заказа со ссылкой на отсутствующую запись клиента).

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

Поэтому важно, чтобы ссылки «внешний ключ — первичный ключ» оставались синхронизированными. Целостность данных, которая зависит от связей в таблице, гарантирует, что ссылки остаются синхронизированными

2.4. Microsoft Access 2007

2.4.4. Заполнение таблиц БД Access 2007

Tables БД Access 2007 необходимо заполнять данными в определенной последовательности. Сначала надо заполнять главные tables, а затем подчиненные. Заполнение таблиц для БД Деканат целесообразно выполнять в такой последовательности: Группы студентов, Студенты, Дисциплины и Успеваемость. В этом случае для заполнения полей вторичных ключей (КодГруппы, КодСтудентов, КодДисциплины) можно использовать раскрывающийся список данных.

Раскрывающийся список данных для вторичных ключей появится только в том случае, если при создании структуры подчиненных таблиц в режиме конструктор для полей вторичных ключей выбран тип данных «Мастер подстановок».

Рассмотрим заполнение таблицы Группы студентов. В окне базы данных Деканат_2007 в области объектов выбираем таблицу Группы студентов, и выполняем на ней двойной щелчок. В окне редактирования появится структура табл. «Группы студентов» в режиме таблицы. Новая table состоит из одной пустой строки.

Заполнение производится по записям (по строкам). Поле счетчика (поле КодСтудента) заполняется автоматически. Переход к следующему полю осуществляется нажатием клавиши ТаЬ. После ввода первой записи курсор смещается на следующую запись. После заполнения table Группы студентов имеет следующий вид (рисунок 1).

Рис. 2.

Аналогичным образом заполняется table Студенты (рис.2). Необходимо отметить, что в табл. Студенты поле КодГруппы заполняется из раскрывающегося списка.

Рис. 2.

Если раскрывающийся список не появляется, то необходимо закрыть таблицу Студенты и открыть окно Схема данных. В этом окне для таблицы Студенты разорвать связи, т.е. удалить отношения. Для этого щелкаем правой кнопкой мыши на одну из связей и из контекстного меню выбираем команду Удалить. Затем удаляем другую связь. Закрываем окно Схема данных. Открываем табл. «Студенты» в режиме Конструктор.

Из списка выбираем тип данных для поля КодГруппы «Мастер подстановок». В процессе назначения типа данных «Мастер подстановок» для поля КодГруппы табл. «Студенты» выбираем следующие данные: на первом шаге Группы студентов, а затем Название и далее щелкаем Готово. Закрываем таблицу Студенты. После этого восстанавливаем связи (отношения) в окне Схема данных. Продолжаем заполнение таблицы Студенты с использованием раскрывающегося списка для поля КодГруппы.

Далее заполняется table Дисциплины (рис. 3).

Рис. 3.

Затем заполняется table Успеваемость (рис. 4).

Рис. 4.

В таблице Успеваемость поля КодДисциплины и КодСтудента заполняются из раскрывающихся списков.

Необходимо отметить, что в базах данных Access 2007 применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопок из области Запись, расположенных внизу таблицы в режиме таблицы; команды Перейти в группе Найти, расположенной на ленте. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.

Поиск данных в таблице большого объема, можно осуществлять командой поиск расположенный внизу таблицы в режиме таблицы или командой Найти в группе Найти, расположенной на ленте. Для замены данных в полях необходимо использовать команду Заменить в группе Найти, расположенной на ленте.

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

Далее >>> Раздел: 2.4.5. Создание запросов в базе данных Access 2007

Ключи в Access

Поля, которые формируют связь между таблицами в Access, называют ключами. Как правило, ключ состоит из одного поля, но может включать и несколько. Существуют 2 вида ключей.
1. Первичный. Он может быть в таблице только один. Такой ключ состоит из одного либо нескольких полей, однозначно определяющих каждую запись в таблице. Нередко в качестве первичного ключа применяют уникальный идентификатор, код либо порядковый номер. К примеру, в таблице «Клиенты» можно назначить уникальный код клиента каждому клиенту. Поле кода клиента в таком случае будет являться первичным ключом данной таблицы. Если же первичный ключ состоит из нескольких полей, он обычно включает уже существующие поля, которые формируют уникальные значения в сочетании друг с другом. Допустим, в таблице с информацией о людях в качестве первичного ключа мы можем использовать сочетание фамилии, даты рождения и имени.
2. Внешний ключ. В таблице также могут быть несколько внешних ключей (либо один). Этот ключ содержит значения, которые соответствуют значениям первичного ключа другой таблицы. К примеру, в таблице «Заказы» каждый заказ может включать код клиента, который соответствует конкретной записи в таблице «Клиенты». А поле «Код клиента» будет внешним ключом таблицы «Заказы».

Таким образом, основой связи между таблицами в Access является соответствие значений между полями ключей. Посредством такой связи мы можем комбинировать данные из связанных таблиц. Допустим, существуют таблицы «Заказы» и «Заказчики». При этом каждая запись в таблице «Заказчики» идентифицируется полем первичного ключа, которое называется «Код»

Если мы хотим связать каждый заказ с клиентом, мы можем добавить в таблицу «Заказы» поле внешнего ключа, которое соответствует полю «Код» в нашей таблице «Заказчики», после чего создать связь между данными 2-мя ключами. В случае добавления записи в таблицу «Заказы» мы могли бы использовать значение кода клиента из нашей таблицы «Заказчики». Тогда во время просмотра каких-нибудь данных о клиенте, который сделал заказ, связь позволила бы определить, какие именно данные из нашей таблицы «Заказчики» соответствуют тем либо иным записям в нашей таблице «Заказы»:

  1. Первичный ключ, определяемый по знаку ключа рядом с именем поля.
  2. Внешний ключ, определяемый по отсутствию знака ключа.

Типы соединений

Существует четыре основных типа соединений: внутренние соединения, внешние соединения, перекрестные соединения и неодинаковые соединения. Перекрестные соединения и неодинаковые соединения — это сложные типы объединений, которые редко используются, но вам следует знать, чтобы они могли понять, как работают соединения.

Внутренние соединения: объединены только связанные данные из обеих таблиц.

Внутреннее соединение — это один из них, в котором Access включает только данные из таблицы, если есть соответствующие данные в связанной таблице, и наоборот. В большинстве случаев вы будете использовать внутреннее соединение. Если вы создаете соединение и не указали тип соединения, то Access считает, что вы хотите использовать внутреннее соединение. Внутренние соединения удобны, так как они позволяют объединять данные из двух источников на основе общих значений, так что вы видите данные только при полном рисунке.

Полные внешние соединения: все данные, в сочетании с возможными возможностями

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

Перекрестные соединения: все данные объединены каждый из возможных способов

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

Изменение размеров полей и строк

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

Чтобы изменить размер поля:

  1. 1. Поместите курсор над правой сеткой в заголовке поля. Ваша мышь станет двойной стрелкой.
  1. 2. Нажмите и перетащите линию сетки вправо, чтобы увеличить ширину поля или влево, чтобы уменьшить ширину поля.
  1. 3. Отпустите мышь. Ширина поля будет изменена.

Чтобы изменить размер строки:

  1. 1. Поместите курсор на нижнюю линию сетки в серой области слева от строки. Ваша мышь станет двойной стрелкой.
  1. 2. Нажмите и перетащите линию сетки вниз, чтобы увеличить высоту строки или вверх, чтобы уменьшить высоту строки.
  1. 3. Отпустите мышь. Высота строки будет изменена.

Ключевое поле

Ключевое поле – это столбец, с неповторяющимися данными, однозначно определяющий каждую запись таблицы. Создается в режиме конструктора. Различают три вида ключевых полей:

Ключевое поле«Счетчик» – в этом поле каждой записи таблицы присваивается уникальный порядковый номер.

Простой ключ – это столбец таблицы, содержащий заведомо уникальные, не повторяющиеся значения.

Составной ключ– несколько столбцов таблицы, комбинация которых является уникальной.

В общем случае ключи бывают двух видов: первичный (уникальный) и вторичный.

Первичный ключ – это одно или несколько полей, однозначно идентифицирующих запись. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Если первичный ключ состоит из одного поля, он называется простым, если из нескольких полей — составным ключом.

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

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

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

Из двух логически связанных таблиц одну называют таблицей первичного ключа или главной таблицей, а другую таблицей вторичного (внешнего) ключа или подчиненной таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно вывести их в форме, отчете или запросе.

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

Связи между таблицами базы данных

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

Существует три типа связей:

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

При связи один ко многим (1 – ¥ или ¥ – 1) одной записи главной таблицы (1) могут соответствовать несколько записей подчиненной таблицы (¥). Поле связи в главной таблице должно быть ключевым, а в подчиненной таблице – не ключевым.

Связь многие ко многим (1 – ¥ – 1) означает, что каждой записи первой таблицы может соответствовать несколько записей второй таблицы и наоборот. Связь многие ко многим между двумя «главными» таблицами осуществляется через третью таблицу, подчиненную обеим главным таблицам, с помощью связей один ко многим.

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

Объединение таблиц на основе неравенства значений полей

Соединения не должны основываться на эквивалентности Объединенных полей . Соединение может быть основано на любом операторе сравнения, например больше ( _гт_), меньше чем ( _лт_), или не равно ( _лт__гт_). Соединения, не основанные на эквивалентности, называются неравенствными соединениями.

Если вы хотите объединить строки из двух источников данных на основе значений полей, которые не равны, используйте соединение по несовпадению. Как правило, соединения на неодинаковые значения зависят от значений операторов сравнения «больше ( _гт_)», «меньше» ( _лт_), «больше» или «равно» ( _гт_ =) или меньше или равно ( _лт_ =). Неодинаковые соединения, основанные на операторе is Not Equals ( _лт__гт_), могут возвращать практически столько строк, сколько перекрестное соединение, и результаты могут быть трудно интерпретировать.

Как использовать соединение по несовпадению?

Соединения «неодинаковые» в конструкторе не поддерживаются. Если вы хотите использовать их, необходимо выполнить эти действия с помощью режима SQL. Однако вы можете создать соединение в конструкторе, перейти в режим SQL, найти оператор равенства ( =), а затем изменить его на оператор, который вы хотите использовать. После этого вы можете снова открыть запрос в конструкторе, если сначала изменить оператор сравнения на равно ( =) в режиме SQL.

Дополнительные параметры форматирования

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

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

В конечном итоге у Вас изменится вид таблицы и станет напоминать Excel.

Новые статьи

  • Проектирование собственной базы данных в Access — 21/08/2018 15:16
  • Форматирование форм в Access — 21/08/2018 15:11
  • Создание форм в Access — 21/08/2018 15:05
  • Изменение таблиц в Access — 21/08/2018 14:58
  • Дополнительные параметры отчета в Access — 21/08/2018 14:48
  • Создание отчетов в Access — 21/08/2018 14:42
  • Дополнительные параметры дизайна запроса в Access — 21/08/2018 14:36
  • Проектирование запроса в Access — 21/08/2018 04:49
  • Сортировка и фильтрация записей в Access — 21/08/2018 04:37
  • Работа с формами в Access — 21/08/2018 04:25

Предыдущие статьи

  • MS Access — Управление базами данных и объектами — 30/03/2018 16:18
  • Начало работы в Access. Знакомство с Access 2010 — 10/02/2018 18:24
  • MS Access: Введение в объекты — Таблицы, формы, запросы и отчеты — 07/02/2018 08:32
  • MS Access: Что такое база данных? Отличие Access от Excel. — 03/02/2018 18:18

Понятие “один ко многим”

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

Платформы “многие ко многим” предназначены для большинства торгуемых активов, таких как акции, облигации, деривативы, товары и / или валюты. Множество продавцов и покупателей актива объединяются на бирже, которая взимает комиссию за свои услуги.

Для определенных рынков более подходящей является платформа “один ко многим”. Например, аукционный рынок искусства. Одно произведение искусства, такое как одна-единственная картина Пикассо, будет выставлено на аукцион Sotheby’s или Christie’s для многих участников торгов.

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

Связывание таблиц на схеме данных

Для того чтобы было удобно просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется схема данных (Relationships) (рис. 2.27).

Чтобы открыть схему данных, необходимо выполнить команду Сервис, Схема данных (Tools, Relationships). По умолчанию схема будет содержать все таблицы со связями. Поэтому сюда будет включена, например, наша новая таблица «Список рассылки оповещений», которая была связана с таблицей «Клиенты» (Customers) при помощи Мастера подстановок (см. разд. «Использование Мастера подстановок» выше в данной главе).

Чтобы убрать какую-либо таблицу из схемы данных, необходимо щелкнуть правой кнопкой мыши на любом месте этой таблицы и из контекстного меню выбрать команду Скрыть таблицу (Hide table). Например, на рис. 2.27 таблица «Список рассылки оповещений» скрыта.

Удаление таблицы из схемы данных не означает удаление ее из базы данных, просто она не присутствует в схеме.

Чтобы вновь добавить в эту схему свернутую таблицу («Список рассылки оповещений») или таблицу, у которой связи еще не установлены, необходимо:

  1. Щелкнуть правой кнопкой мыши на свободном пространстве схемы данных и из контекстного меню выбрать команду Добавить таблицу (Show table).
  2. В диалоговом окне Добавление таблицы (Show table) раскрыть вкладку Таблицы (Tables), выбрать из списка таблицу «Список рассылки оповещений», и нажать кнопку Добавить (Add) (рис. 2.28).

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

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

Согласованные типы данных означают следующее: если ключевое поле имеет тип данных Счетчик (AutoNumber), то соответствующее ему поле в другой таблице должно иметь тип Длинное целое (Long Integer). В остальных случаях типы данных должны просто совпадать.

Если нужная связь автоматически не создана, ее можно создать двумя путями. Первый путь — графический. Следует выбрать в главной таблице поле для связи, нажать левую кнопку мыши и перетащить поле во вторую таблицу. Отпустить левую кнопку мыши над тем полем подчиненной таблицы, с которым устанавливается связь. После этого появится диалоговое окно Изменение связей (Edit Relationships) (рис. 2.29).

Альтернативный вариант — выбрать команду Связи, Изменить связь (Relationships, Edit Relationships) из главного меню Access. Эта команда появляется в меню, когда открыто окно Схема данных (Relationships).

  1. В диалоговом окне

Изменение связей (Edit Relationships) можно выбрать из списков названия связанных таблиц и полей для связывания. Если отношение между таблицами «один-ко-многим», то слева из списка Таблица/запрос (Table/ Query) выбирается главная таблица и поле в этой таблице, а справа из списка Связанная таблица/запрос — подчиненная и соответственно поле в ней. Если отношение «один-к-одному», то порядок таблиц значения не имеет. Если вы устанавливали связь графически, то все поля в списках уже выбраны, и нужно только определить правила ссылочной целостности.

По умолчанию устанавливается первый переключатель. Нажать кнопку ОК.

Когда создается новая связь, можно также воспользоваться кнопкой Новое (Create New) и в окне Создание (Create New) ввести имена связываемых таблиц и имена полей, используемых для связи. Нажать кнопку ОК.

После установки всех параметров связи необходимо нажать кнопку ОК в окне Параметры объединения (Edit Relationship) и закрыть окно Схема данных (Relationship), нажав на кнопку Закрыть в правом верхнем углу окна.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector