Bazaprogram.ru

Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Связь 1 1 access

Создание связи «один к одному»

В этом курсе:

Что такое связь «один к одному»?

Связи «один к одному» часто используются для получения важных данных, необходимых для ведения бизнеса.

Связь «один-к-одному» — это связь между информацией из двух таблиц, когда каждая запись используется в каждой таблице только один раз. Например, связь типа «один-к-одному» может использоваться между сотрудниками и их служебными автомобилями. Каждый работник указан в таблице «Сотрудники» только один раз, как и каждый автомобиль в таблице «Служебный транспорт».

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

Общие сведения о создании связи «один к одному»

Связи «один-к-одному» создаются путем связывания индекса первой таблицы, в качестве которого обычно выступает первичны ключ, с индексом второй таблицы, причем их значения совпадают. Пример:

Часто бывает, что лучший способ создать подобную связь — назначить вторичной таблице функцию поиска значений из первой таблицы. Например, вы можете сделать поле «Код автомобиля» в таблице «Сотрудники» полем подстановки, которое будет искать значение индекса «Код автомобиля» в таблице «Служебный транспорт». Таким образом исключается случайное добавление кода автомобиля, который на самом деле не существует.

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

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

Инструкции по созданию связи типа «один к одному»

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

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

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

Выберите таблицу с ключом (обычно первичным), который вы хотите добавить в первую таблицу, и нажмите кнопку Далее. В рассмотренном примере следует выбрать таблицу «Служебный транспорт».

Добавьте в список Выбранные поля поле с необходимым ключом. Нажмите кнопку Далее.

Задайте порядок сортировки и, при необходимости, измените ширину поля.

В последнем окне установите флажок Включить проверку целостности данных и нажмите кнопку Готово.

Вам нужны дополнительные возможности?

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

Хотя этот тип связей используется не так часто, как связи «один ко многим» или «многие ко многим», все же полезно знать, как он создается.

Рассмотрим процесс создания такой связи.

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

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

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

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

По умолчанию индексы включены, но их поведение можно изменить, либо их можно отключить.

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

Для начала давайте создадим связь с помощью мастера подстановок.

Мы получаем значения из другой таблицы — «Служебные автомобили».

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

Скроем ключевой столбец, и назовем это поле «Автомобиль компании».

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

Нажмите Готово. Теперь у нас есть внешний ключ и простой способ выбрать регистрационные номера.

Выделите нужное поле. Затем выберите Поля и установите флажки Индексированное и Уникальное.

Теперь перейдите в таблицу «Служебные автомобили» и проверьте, выделен ли первичный ключ. Как видите, для него тоже установлены флажки «Индексированное» и «Уникальное», так как это поле типа Счетчик. Итак, у нас все готово.

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

Открыв список этого свойства, вы увидите три значения. Два из них можно использовать в связи «один к одному»: Нет или Да (без повторов).

Итак, вы создали в базе данных отношение «один к одному».

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

Как видите, в этой базе данных теперь имеются все три типа связей.

Установка связей между таблицами БД Access 2007

Учебная дисциплина
Информатика и компьютерная техника
Модуль 2. Офисные прикладные программы Microsoft Office 2007

2.4. Microsoft Access 2007

2.4.3. Установка логических связей в БД Access 2007

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

Читать еще:  Как создать таблицу в access 2020

Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один — ко — многим.

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

В окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне «Схема данных» появятся все tables (рис. 2). После этого необходимо закрыть окно диалога.

Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно «Изменение связей» (рис. 3) .

В появившемся окне диалога «Изменение связей» (рис. 3) необходимо установить флажки: «Обеспечить целостность данных», «каскадное обновление связанных полей» и «каскадное удаление связанных записей», убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.

В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 4.

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

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

Copyright

© Обучение в интернет, .
Обратная связь

Работа с СУБД MS Access

Создание межтабличных связей

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

Активизировать команду Сервис Схема данных в диалоговом окне Схема данных:

  1. Щёлкнуть по кнопке Добавить таблицу.
  2. В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
  3. Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
  4. Установить флаг Обеспечение целостности данных.
  5. Щёлкнуть по кнопке Создать. Появится связь 1:1.

Предположим, что требуется установить связь между таблицами «Кафедра» и «Преподаватель» через поле ККАФ (код кафедры). В таблице «Кафедра» это поле является уникальным ключом , а в таблице «Преподаватель» — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку «Схема данных» поверх окна схемы данных появится окно «Добавление таблицы«. В этом окне следует выделить требуемые таблицы и нажать «Добавить«( рис. 6.5)

В результате в окно схемы данных будут добавлены графические образы двух таблиц:

Необходимо перетащить мышью поле ККАФ таблица «Кафедра» на поле ККАФ таблицы «Преподаватель«. В открывшемся окне «Изменение связей» следует установить флажок «Обеспечение целостности данных«. В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы «Преподаватель» будет введено значение, отсутствующее в поле ККАФ базовой таблицы «Кафедра» ( рис. 6.6).

Обратите внимание, что Access автоматически определил тип связи как «один-ко-многим» ( рис. 6.7).

Можно также установить флажки «каскадное обновление связей» и «каскадное удаление связей«. В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах , если будут изменены записи в базовой таблице.

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

Для установления связей по составному ключу необходимо в окне «Изменение связей» в полях «Таблица/Запрос» и «Связанная таблица/запрос» вручную выбрать из списков пары связываемых полей. На рис. 6.9 показан пример связи по составному ключу .

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

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

Связь между таблицами позволяет:

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

Установить флаг Обеспечение целостности данных.

Читать еще:  Создание отчетов в бд access

Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.

Работа с запросами

Запрос — это отбор записей в разнообразных формах, в соответствии с выбранными условиями.

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

Виды запросов

  • На выборку;
  • Запрос с параметром (критерий задаёт сам пользователь)
  • Итоговые запросы (производят вычисления по заданному полю и выдают результат);
  • Запросы на изменение (позволяют автоматизировать — заполнение полей таблиц);
  • Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
  • Специфические запросы — запросы к серверу БД, написанные на языке запросов SQL

Для подготовки используем закладку Создание и выбираем способ создания запроса.

Запросы и фильтры

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

Основные отличия запросов и фильтров заключаются в следующем.

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

Запросы могут использоваться только с закрытой таблицей или запросом. Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы для просмотра или изменения подмножества записей. Запрос можно использовать:

  • для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
  • для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;
  • для просмотра отдельных полей таблицы;
  • для выполнения вычислений над значениями полей.

Работа с формами

  • Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
  • Выводить результаты работы запросов в виде красиво оформленных форм.

Существует два вида формирования структуры форм:

  • На основе таблицы;
  • На основе запроса.
  • Возможен и комбинированный (творческий) подход.

Работа с отчётами

Отчёты служат для форматированного вывода данных на печатающее устройство .

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

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

Мастер отчётов работает в шесть этапов.

  1. выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
  2. выбор полей группировки (уровней и интервалов группировки);

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

Краткие итоги

Рассмотрены основные объекты базы данных Microsoft Access. Основными считаются таблицы, формы, запросы и отчеты. Таблицы предназначены для хранения и редактирования данных. Формы для ввода данных, отображения их на экране или управления работой приложения. Запрос позволяет пользователю получить нужные данные из одной или нескольких таблиц. Отчет предназначен для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.

В лекции рассмотрены основные этапы работы с этими объектами.

ИНФОФИЗ — мой мир.

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

Адрес: г. Новороссийск
Телефон: Номер телефона
Почта: kalinelena@yandex.ru

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

Как сказал.

Человек, который никогда не ошибался, никогда не пробовал сделать что-нибудь новое.

Альберт Эйнштейн

Тестирование

Урок 37. Лабораторная работа № 24. Создание связей в базе данных

Лабораторная работа № 24

Тема: Создание связей в базе данных.

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

Оборудование: ПК, Windows XP Professional, MS Access 2007.

1 В соответствие с заданием создать и заполнить таблицы БД «Фирма», установить связи между ними.

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

3 Ответить на контрольные вопросы.

4 Сделать вывод о проделанной работе.

Порядок выполнения:

1. Запустите Microsoft Access.

2. Создайте базу данных Фирма . Сотрудники данной организации работают с клиентами и выполняют их заказы.

Для этого запустите Access, создайте новую базу данных, задайте имя базы данных Фирма, выберите место сохранения Вашей базы данных (диск Х:) и нажмите кнопку Создать. (подробный порядок действий описан в лабораторной работе № 23)

3. Создайте в режиме Конструктор 3 таблицы: Сотрудники, Клиенты и Заказы . Если все сведения поместить в одной таблице, то она станет очень неудобной для работы. В ней начнутся повторы данных. Всякий раз, когда сотрудник Иванов будет работать с какой-либо фирмой, придется прописывать данные о сотруднике и клиенте заново, в результате чего можно допустить множество ошибок. Чтобы уменьшить число ошибок, можно исходную таблицу разбить на несколько таблиц и установить связи между ними. Это будет более рационально.

Таблица Сотрудники

Таблица Клиенты

Таблица Заказы

4. Установите ключевые поля.

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

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

При создании таблиц в режиме конструктора ключевое поле устанавливается автоматически. Откройте созданные Вами таблицы в режиме Конструктор и проверьте установленные ключевые поля:

1) в таблице Сотрудники ключевое поле Код сотрудника

2) в таблице Клиенты ключевое поле Код клиента

3) в таблице Заказы ключевое поле Код заказа

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

5. Создайте раскрывающиеся списки с помощью Мастера подстановок.

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

Откройте таблицу Заказы в режиме Конструктора. Для поля Код клиента выберите тип данных Мастер подстановок.

В появившемся окне выберите команду Объект «столбец подстановки» будет использовать значения из таблицы или запроса и щелкните на кнопке Далее.

В списке таблиц выберите таблицу Клиенты и щелкните на кнопке Далее.

В списке Доступные поля выберите поле Код клиента и щелкните на кнопке со стрелкой >>, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поле Название компании и щелкните на кнопке Далее.

Выберите порядок сортировки списка по полю Название компании и нажмите кнопку Далее.

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

На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок и щелкните на кнопке Готово.

Сохраните полученный результат.

6. Аналогичным образом создайте раскрывающийся список для поля Код сотрудника.

Теперь в списке таблиц выберите таблицу Сотрудники

В списке Доступные поля выберите поля Код сотрудника, Фамилия, Имя.

Порядок сортировки списка выберите по полю Фамилия.

Все остальные действия проводятся аналогично пункту 6.

7. Создайте связей между таблицами.

Существует несколько типов отношений между таблицами:

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

при отношении «один-к-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;

при отношении «многие-к-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой.

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

Выполните команду вкладки Лента Работа с базами данных кнопка Схема данных

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

Если связи между таблицами уже были заданы, то откроется окно Схема данных, на котором будут отображены таблицы и связи между ними.

Отредактируйте связь между таблицами Сотрудники и Заказы , для этого щелкните правой кнопкой мыши (ПКМ) на линию связи и в открышемся контекстном меню выберите команду Изменить связь.

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

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

Аналогично измените связь между таблицами Клиенты и Заказы.

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

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

7. В таблицу Сотрудники внесите данные о 7 работниках.

8. В таблицу Клиенты внесите данные о 7 предприятиях, с которыми работает данная фирма.

9. В таблице Заказы оформите 5 заявок, поступивших на фирму.

10. Покажите работу преподавателю.

11. Ответьте на контрольные вопросы.

Контрольные вопросы:

1 С помощью чего можно создавать таблицы?

2 Что такое ключевое поле?

3 Как установить несколько ключевых полей?

4 Как установить связи между таблицами?

5 Какие существуют отношения между таблицами?

6 Что означают на схеме данных «1» и «∞»?

7 Зачем нужен Мастер подстановок?

8 Для чего нужен механизм запросов?

Методические указания к лабораторной работе № 24 Создание связей в базе данных

Ссылка на основную публикацию
Adblock
detector