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

Создание поля подстановки

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

Использование мастера подстановок в веб-приложении Access:

В классическом приложении Access откройте таблицу в режиме конструктора.

В первой пустой строке списка полей введите название нового поля подстановки и щелкните Подстановка в столбце Тип данных. Будет запущен мастер подстановок.

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

Это ограничение распространяется только на веб-приложение.

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

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

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

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

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

Примечание: Лучше всего установить флажок Запретить удаление, если существуют соответствующие записи…, поскольку при этом сохранится целостность данных

Применять другие параметры следует с осторожностью

Нажмите кнопку ОК и сохраните изменения в таблице.

Общие сведения

Иногда типы данных могут показаться неочевидными, например в поле с типом данных «Текст» могут храниться данные, состоящие из текста и чисел. Но в поле с типом данных «Число» могут храниться только числовые данные. Поэтому вам нужно знать, какие свойства используются для каждого типа данных.

Тип данных поля определяет много других важных характеристик поля, в частности:

форматы, которые можно использовать в поле;

максимальный размер значения в поле;

способ использования поля в выражениях;

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

В зависимости от способа создания нового поля тип данных поля может быть задан заранее или его можно выбрать. Например, если при создании поля в режиме таблицы вы:

используете существующее поле из другой таблицы, типы данных уже определены в ней или в шаблоне;

вводите данные в пустом столбце (или поле), Access назначает полю тип данных, исходя из вводимых значений, или вы можете назначить тип данных и формат для поля;

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

SQL-запросы

В Access 2013 и других версий запросы выполняются при помощи языка структурированных запросов SQL.

Для создания SQL-запросов необходимо перейти в режим конструктора, затем на кнопке «Вид» выбрать «Режим SQL». В результате появится диалоговое окно, в котором в поле Select вводим названия столбцов, а в поле From — то, что будет выводиться в строках, например названия поставщиков (если первый столбец «Название»).

В Access используется не чистый SQL, а его диалект Jet-SQL. Основными инструкциями для запросов в этом языке являются: SELECT, по которому осуществляется выборка из записей по определенным условиям (названия полей исходных таблиц, переносящихся в результирующую таблицу), UPDATE — используется с целью редактирования записей, DELETE — для удаления каких-либо указанных записей, CREATE — для создания новых объектов БД. В MS Access также используются TRANSFORM для построения перекрестных запросов, WITH OWNER-ACCESS OPTION для создания специальных запросов пользователем, не имеющем доступа к таблицам, к которым должен быть доступ у этого запроса, IN (для обеспечения связи с удаленной БД), DISTINCTROW (создание запроса с возможным объединением данных). Также могут применяться итоговые функции SQL, встроенные функции Access и VBA.

Изменение линий сетки

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

Чтобы настроить отображение линий сетки:

  1. 1. Выберите вкладку «Главная» и найдите группу форматирования текста.
  1. 2. Щелкните стрелку раскрывающегося списка Gridlines.
  1. 3. Выберите линии сетки, которые вы хотите отобразить. Вы можете выбрать горизонтальные линии сетки между строками, вертикальными градиентами между столбцами, обоими типами линий сетки или вообще ничем.
  1. 4. Строки сетки на вашем столе будут обновлены.

Условия отбора записей — Базы данных

Литералы — конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки (#). Например, 567, «Информатика», #1-Января-99#.

Константы — не изменяющиеся значения, которые определены в Access, например, True, False, Да, Нет, Null.

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

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

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

Например, ссылка на поле в таблице примет вид: ! , а ссылка на свойство DefaultValue элемента управления Дата рождения в форме СТУДЕНТ: Forms! ! .DefaultValue

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

Эти операторы определяют операцию над одним или несколькими операндами.

Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =.

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

Допускается использование операторов шаблона — звездочка (*) и вопросительный знак (?).

  • Оператор Between позволяет задать интервал для числового значения и даты. Например:
  • Between 10 And 100
  • задает интервал от 10 до 100; можно задать интервал дат:

Between #01.01.1997* And #31.12.1997*

  1. Оператор in позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например:
  2. In («Математики»;»Информатики»; » Истории»)

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

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

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

Установка первичного ключа

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

счетчик, простой ключ и составной ключ.

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

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

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

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

Как создать ключевое поле в базе даннных?

Размещено 14.10.2019

Ваш вопрос:

Как создать ключевое поле в базе даннных?

Ответ мастера:

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

В MySQL СУБД для создания данных полей удобно применять приложение phpMyAdmin.

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

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

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

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

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

  Как работать с форматом APE?

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

ALTER TABLE `tableOne` DROP PRIMARY KEY, ADD PRIMARY KEY(`login`)

Данный запрос отменяет назначенный первичный ключ в существующей таблице с названием tableOne и первичным ключом назначает поле с именем login. Для осуществления отправки запроса нужно нажать кнопку «OK».

Создание запроса с несколькими таблицами

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

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

  1. Выберите команду « Конструктор запросов» на вкладке « Создать » на ленте.

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

Таблицы появятся в панели «Связывание объектов» , которая связана линией соединения . Дважды щелкните тонкий раздел линии соединения между двумя таблицами, чтобы изменить направление соединения.

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

  • Выберите вариант 2: для объединения слева направо . В нашем запросе левая таблица — таблица Customers , поэтому выбор этого означает, что все наши клиенты, которые соответствовали нашим критериям местоположения, независимо от того, разместили ли они заказ, будут включены в наши результаты. Мы не хотим выбирать этот вариант для нашего запроса.
  • Выберите вариант 3: для запроса справа налево . Поскольку наш правильный стол является нашей таблицей Orders , выбор этого параметра позволит нам работать с записями для всех заказов и только для клиентов, разместивших заказы. Мы выберем этот вариант для нашего запроса, потому что это именно те данные, которые мы хотим видеть.

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

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

Установите критерии поля , введя требуемые критерии в строке критериев каждого поля. Мы хотим установить два критерия:

  • Во-первых, чтобы найти клиентов, которые не живут в Роли, мы будем вводить Not In («Raleigh») в поле City.
  • Во-вторых, чтобы найти клиентов , которые имеют телефонный номер , начинающийся с кодом 919 , мы вводим Like ( «919 *») в номер телефона поле.

После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».

Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .

Новые статьи

  • Проектирование собственной базы данных в 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:37
  • Работа с формами в Access — 21/08/2018 04:25
  • MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида — 20/04/2018 17:18
  • 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

Ключевое поле таблицы MS Access, его назначение, способы задания

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

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

Для Access обязательным является определение ключевого поля для таблицы. Для его определения достаточно выделить поле и выбрать команду Ключевое поле меню Правка.

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

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

Для внешних полей при создании связи также происходит автоматическое создание индекса (в данном случае вторичного).

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

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

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

Виды индексированных полей в MS Access, примеры

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

Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле (Indexed). Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку «Индексы» на панели инструментов. Будет открыто окно индексов.

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

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

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

Рассмотрим некоторые из этих дополнительных свойств:

Свойство «Тип элемента управления»(DisplayControl) содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами «Текстовый» или «Числовой» для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка.

Свойства «Тип источника строк» (RowSourceType), «Источник строк» (RowSource) определят источник данных для списка или поля со списком.

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

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

Добавление записей и ввод данных

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

Чтобы добавить новую запись:

Существует три способа добавления новой записи в таблицу:

В группе «Запись» на вкладке «Главная» щелкните команду «Создать».

На панели навигации «Запись» в нижней части окна нажмите кнопку «Новая запись».

Просто начните печатать в строке ниже вашей последней добавленной записи.

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

Чтобы сохранить запись:

  1. 1. Выберите вкладку «Главная» и найдите группу «Записи».
  1. 2. Нажмите кнопку «Сохранить».

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

Оператор DELETE (Microsoft Access SQL)

  • 10/18/2018
  • Время чтения: 2 мин

Область применения: Access 2013, Office 2013Applies to: Access 2013, Office 2013

Создает запрос на удаление, который удаляет записи из одной или нескольких таблиц, указанных в предложении FROM, отвечающих предложению WHERE.Creates a delete query that removes records from one or more of the tables listed in the FROM clause that satisfy the WHERE clause.

СинтаксисSyntax

DELETE FROM table WHERE criteriaDELETE FROM table WHERE criteria

Оператор DELETE состоит из следующих частей:The DELETE statement has these parts:

tabletable Необязательное имя таблицы, из которой удаляются записи.The optional name of the table from which records are deleted.
tabletable Имя таблицы, из которой удаляются записи.The name of the table from which records are deleted.
criteriacriteria Выражение, определяющее, какие записи нужно удалить.An expression that determines which records to delete.

DELETE особенно полезен, если вы хотите удалить большое количество записей.DELETE is especially useful when you want to delete many records.

Чтобы удалить всю таблицу из базы данных, можно использовать метод Execute с оператором DROP.To drop an entire table from the database, you can use the Execute method with a DROP statement. Однако, если удалить таблицу, может потеряться структура.

If you delete the table, however, the structure is lost. С другой стороны при использовании DELETE удаляются только данные; а структура таблицы и все ее свойства, такие как атрибуты поля и индексы, остаются нетронутыми.

In contrast, when you use DELETE, only the data is deleted; the table structure and all of the table properties, such as field attributes and indexes, remain intact.

Вы можете использовать DELETE, чтобы удалить записи из таблиц, которые находятся в связи «один ко многим» с другими таблицами.You can use DELETE to remove records from tables that are in a one-to-many relationship with other tables.

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

Cascade delete operations cause the records in tables that are on the many side of the relationship to be deleted when the corresponding record in the one side of the relationship is deleted in the query.

For example, in the relationship between the Customers and Orders tables, the Customers table is on the one side and the Orders table is on the many side of the relationship. Удаление записи из результатов клиентов в соответствующих записях заказов, удаляемых в случае, если указан параметр каскадного удаления.Deleting a record from Customers results in the corresponding Orders records being deleted if the cascade delete option is specified.

Запрос на удаление удаляет записи целиком, а не только данные в определенных полях.A delete query deletes entire records, not just data in specific fields.

Если вы хотите удалить значения в определенном поле, создайте обновленный запрос, который изменяет значение на Null.

If you want to delete values in a specific field, create an update query that changes the values to Null.

Важно!

  • После удаления записи с помощью запроса на удаление невозможно отменить данную операцию.After you remove records using a delete query, you cannot undo the operation. Если вы хотите узнать, какие записи были удалены, сначала проверьте результаты запроса на выборку, в котором используется то же самое условие, и снова запустите запрос на удаление.If you want to know which records were deleted, first examine the results of a select query that uses the same criteria, and then run the delete query.
  • Сохраняйте резервные копии ваших данных в любое время.Maintain backup copies of your data at all times. Если вы удалили не те записи, вы сможете восстановить их из резервных копий.If you delete the wrong records, you can retrieve them from your backup copies.

ПримерExample

В этом примере будут удалены все записи для сотрудников, чья должность — стажер.This example deletes all records for employees whose title is Trainee. Если оператор FROM содержит только одну таблицу, нет необходимости перечислять имя таблицы в операторе DELETE.When the FROM clause includes only one table, you do not have to list the table name in the DELETE statement.

Sub DeleteX()

Dim dbs As Database, rst As Recordset

‘ Modify this line to include the path to Northwind
‘ on your computer.
Set dbs = OpenDatabase(«Northwind.mdb»)

‘ Delete employee records where title is Trainee.
dbs.Execute «DELETE * FROM » _
& «Employees WHERE Title = ‘Trainee’;»

dbs.Close

End Sub

2.4. Microsoft Access 2007

2.4.5. Создание запросов и поиск информации в базе данных

В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.

В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).

Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.

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

На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

Рис. 1.

Рассмотрим создание запроса на выборку с помощью Конструктора

Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).

Рис. 2.

Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.

Рис. 3.

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

Рис. 4.

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

Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.

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

Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).

Рис. 5.

Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).

Рис. 6.

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

Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).

Рис. 7.

Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).

Рис. 8.

В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.

Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007

Добавление и изменение первичного ключа таблицы в Access

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

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

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

Общие сведения о первичных ключах в Access

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

1. Первичный ключ

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

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

При создании таблицы в режиме таблицы Access автоматически создает первичный ключ с именем «Код» и типом данных «Счетчик».

Создание приемлемого первичного ключа

Чтобы правильно выбрать первичный ключ, следует учитывать несколько характеристик.

Ключ должен однозначно определять каждую строку.

В нем не должно быть пустых или отсутствующих значений — он всегда содержит значение.

Ключ крайне редко изменяется (в идеале — никогда).

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

Поле с типом данных «Счетчик» является хорошим первичным ключом.

Примеры неудачных первичных ключей

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

Неподходящий первичный ключ

Может быть не уникальным и может изменяться

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

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

Adblock
detector