Remkomplekty.ru

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

Схема данных в ms access позволяет

Построение схемы данных в Microsoft Access.

После создания всех таблиц базы данных остаётся установить связи между ними. Для этого необходимо:

1. Щелкнуть на закладке «Таблицы» окна базы данных.

2. В меню Сервисвыбрать пункт Схема данных…

3.В окно Схема данныхдобавить все связываемые таблицы. Для этого открыть меню Связии выбрать пункт Добавить таблицу…или щелкнуть на кнопке в панели инструментов. В появившемся окне Добавление таблицывыделить мышью название нужной таблицы и щелкнуть на кнопке Добавить (рис. 1).

Рис. 1. Добавление таблицы в окно Схема данных.

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

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

5. Для установления связи между двумя таблицами:

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

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

в) Отпустить левую кнопку мыши над внешним ключом подчиненной таблицы.

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

Рис. 2. Установление связи между таблицами.

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

В окне Схема данныхмежду таблицами устанавливается связь в виде помеченной линии. Для удаления связи выделить ёё мышью (линия приобретает жирные очертания) и нажать кнопку Delete на клавиатуре.

7. Повторить действия п.п. 5-6 для установления всех связей.

8. Закрыть окно Схема данных, ответив «Да » на предложение системы сохранить изменение макета схемы данных.

Для рассматриваемого примера выполним описанную выше процедуру для установления всех связей модели данных. Построенная при этом схема данных будет в точности соответствовать рис. 3.

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

Рис. 3. Схема данных рассматриваемого примера.

Лекция 6

Поиск информации в таблицах базы данных

Сортировка информации в таблицах

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

Рис. 1. Сортировка таблицы Шинапо полю Радиус

В режиме таблицы можно выделить сразу два или несколько соседних столбцов, а затем выполнить по ним сортировку. По умолчанию в Access сортировка записей начинается с крайнего левого выделенного столбца. При этом записи таблицы будут отсортированы сначала по крайнему левому выделенному столбцу, затем (для одинаковых значений в первом сортируемом столбце) — по второму и т.д. Если необходимо восстановить порядок отображения записей, используется цепочка команд Записи — Удалить фильтр.

Фильтры

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

В Access существует три вида фильтрации данных:

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

Для выполнения фильтрации данных необходимо открыть таблицу, а затем в меню в меню Записи активизируем команду Фильтр, а в открывшемся подменю-команду Изменить фильтр. Затем в окне создания фильтра в требуемом поле указывается критерий отбора информации (рис. 2).

Рис. 2. Ввод критерия отбора информации

После выполнения цепочки команд Фильтр — Применить фильтр в таблицу выводятся только те записи, для которых заданное условие выполняется (рис. 3).

Рис. 3. Результаты применения фильтра

Для удаления фильтров и вывода на экран всех записей таблицы предна­значена команда Удалить фильтр из меню Записи.

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

Дата добавления: 2016-04-06 ; просмотров: 1616 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Создание базы данных в MS Access 2007: пошаговая инструкция

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.

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

Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.

Определения основных понятий

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

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

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

Создание БД

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

Итак, выполните следующее:

  1. Запустите MS Access 2007.
  2. Нажмите на кнопку «Новая база данных».
  3. В появившемся окне введите название БД и выберите «Создать».

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

Создание и заполнение таблиц

После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:

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

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

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

  1. Перейти во вкладку «Работа с базами данных».
  2. Нажать на кнопку «Схема данных».
  3. Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
  4. Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
  5. Нажмите кнопку «ОК».

Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:

  1. Перетащите общее поле из одной таблицы в другую.
  2. В появившемся окне выберите необходимы параметры и нажмите «ОК».
  3. Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).

Выполнение запросов

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

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

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

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL.
  4. В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
  5. Нажмите кнопку «Выполнить».
  6. На выходе мы получаем результирующую таблицу.

А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:

SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;

а результирующая таблица примет следующий вид:

На создание сущности

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

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.

  1. Кликните по кнопке «Выполнить».
  2. Откройте созданную таблицу.
На добавление, удаление, редактирование

Здесь все гораздо проще. Снова перейдите в поле для создания запроса и введите следующие команды:

  • для заполнения кортежа:
    INSERT INTO Преподаватели
    VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’);
  • для редактирования записи:
    UPDATE Преподаватели SET Имя = ‘Анна’;
  • для удаления:
    DELETE * FROM Преподаватели WHERE Имя=’Анна’;.

Создание формы

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

  1. Откройте интересующую таблицу.
  2. Перейдите во вкладку «Создание».
  3. Нажмите на необходимый формат формы из блока «Формы».

Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

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

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

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
  3. Выберите интересующую таблицу и поля, нужные для печати.
  4. Добавьте необходимый уровень группировки.
  5. Выберите тип сортировки каждого из полей.
  6. Настройте вид макета для отчета.
  7. Выберите подходящий стиль оформления.

Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:

  1. Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
  2. Вручную расширьте интересующие столбцы.
  3. Сохраните изменения.

Вывод

Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.

Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.

Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!

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

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

Связи в базах данных

В качестве примера рассмотрим связи в БД туристического агентства. В ее состав входит таблица гостиниц Таиланда – страны, в которую турагентство отправляет гостей. Отели расположены в различных регионах Королевства.

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

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

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

Схема данных БД

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

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

Прямоугольниками обозначены таблицы со списком полей, линии между ними – связи. На линии связи в местах примыкания к прямоугольникам таблиц сделаны обозначения: «1» и «∞». Они показывают, какой тип связи применен в этом отношении. Значок «1» у таблицы-источника со значком «∞» у приемника обозначают вид «один-ко-многим». Обе связи в нашей БД – такого типа.

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

Создание схемы данных

Для создания схемы данных в Access добавлен инструмент на панели «Работа с базами данных». СУБД автоматически создает схему по тем таблицам и связям, что существуют в базе. Приведенная выше схема создана системой самостоятельно. Пользователь может внести изменения в макет. Некоторые из них не отразятся на структуре БД, только на отображении информации. А некоторые приведут к изменениям в структуре.

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

Операция «Скрыть таблицу» произведет то же действие над выделенным объектом. Он просто исчезнет с экрана вместе со своими линиями-отношениями. Вернуть скрытые таблицы поможет операция «Отобразить таблицу». Выбираются объекты, которые нужно добавить в макет. При этом связи с ним отображаются автоматически.

Создание отношений между таблицами

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

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

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

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

Изменение отношений

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

Для уже созданной связи есть возможность изменять параметры объединения записей в запросах. Для этого вызываем диалоговое окно схемы данных MS Access «Изменение связей» и нажимаем кнопку «Объединение». В форме редактирования параметров предложены варианты объединений:

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

Мы оставляем автоматический выбор системы – первый вариант.

Целостность данных БД

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

Покажем это наглядно на примере базы туристической компании. В «Отелях» гостиница с наименованием Anantara Lawana Koh Samui Resort относится к региону Самуи. Предположим, мы удалили этот район из «Регионов». Теперь поле ссылается на запись, которой не существует. Это и есть нарушение целостности.

Аналогично при установленном требовании соблюдения целостности мы не сможем выбрать в этом поле район «Чианг Май», потому что его не существует в таблице регионов.

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

Схема данных в СУБД Access

Схема данных

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

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

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

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

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

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

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

Рассмотрим модель данных предметной области «Поставка товаров» (рисунок 1). Схема данных Access, построенная для данной модели данных, представлена на рисунке 2.

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

Особенности схемы данных

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

Задай вопрос специалистам и получи
ответ уже через 15 минут!

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

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

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Создание, изменение и удаление отношения

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

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

Перед началом работы с отношениями изучите основные понятия. Дополнительные сведения о см. в статьях Руководство по связям между таблицами и Начало работы со связями между таблицами.

В этой статье

Обзор

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

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

Перетащите поле в таблицу из области Список полей.

При создании отношения между таблицами общие поля могут называться по-разному, однако часто требуется, чтобы эти имена совпадали. Очевидно, что общие поля должны иметь одинаковый тип данных. Однако если поле первичного ключа имеет тип «Счетчик», поле внешнего ключа также может быть числовым, если свойство Размер поля (FieldSize) обоих полей совпадает. Например, можно сопоставить поля с типами «Счетчик» и «Числовой», если свойство Размер поля обоих полей имеет значение «Длинное целое». Если оба общих поля являются числовыми, у них должно совпадать значение свойства Размер поля.

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

На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.

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

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

Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить. После добавления таблиц и запросов на вкладку «Схема данных» нажмите кнопку Закрыть.

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

Появится диалоговое окно Изменение связей.

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

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

Нажмите кнопку Создать.

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

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

Создание отношения «один-ко-многим». Поле на стороне «один» (как правило, первичный ключ) отношения должно иметь уникальный индекс. Это значит, что свойство Индексированное поле должно иметь значение Да (Совпадения не допускаются). Поле на стороне «многие» не должно иметь уникального индекса. Это поле может быть индексированным, но для него должны допускаться повторы. Это означает, что свойство Индексированное поле должно иметь значение Нет или Да (Допускаются совпадения). Когда у одного поля однозначный индекс, а у другого — нет, в приложении Access создается отношение «один-ко-многим».

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

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

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

Открытие таблицы в режиме таблицы

Дважды щелкните таблицу в области навигации.

Открытие области «Список полей»

Нажмите клавиши ALT+F8. Будет отображена область Список полей.

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

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

Добавление поля и создание связи из области «Список полей»

Открыв таблицу в режиме таблицы, нажмите клавиши ALT+F8. Будет отображена область Список полей.

Чтобы отобразить список полей в таблице, в группе Доступные поля в другой таблице щелкните знак плюс (+) рядом с именем таблицы.

Перетащите нужное поле из области Список полей в таблицу, открытую в режиме таблицы.

Когда появится линия вставки, поместите поле в выбранное место.

Появится окно мастера подстановок.

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

Поле будет отображено в таблице в режиме таблицы.

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

Изменение отношения

Чтобы изменить отношение, выберите его в окне «Схема данных» и внесите нужные изменения.

Установите указатель на линию связи и щелкните линию, чтобы выделить ее.

При выделении линия связи становится толще.

Дважды щелкните выделенную линию связи

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

Откроется диалоговое окно Изменение связей.

Открытие диалогового окна «Изменение связей»

На вкладке Работа с базами данных в группе Отношения выберите элемент Схема данных.

Будет открыто окно «Схема данных».

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

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

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

Щелкните линию отношения, которое вы хотите изменить. При выделении линия связи становится толще.

Дважды щелкните линию связи.

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

Откроется диалоговое окно Изменение связей.

Внесите изменения и нажмите кнопку ОК.

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

Указание типа соединения

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

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

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

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

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

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

Указание типа соединения

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

Откроется диалоговое окно Параметры соединения.

Выберите нужные параметры и нажмите кнопку ОК.

В таблице ниже, составленной на основании таблиц «Клиенты» и «Заказы», приведены три варианта, отображаемые в окне Параметры объединения, указан используемый в них тип объединения, а также то, какие именно строки (все или только сопоставленные) возвращаются для каждой из таблиц.

Читать еще:  Error type eaccessviolation
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×