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

Определение ключевых полей

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

В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Рассмотрим каждый из этих типов.

Для создания ключевого поля типа Счетчик необходимо в режиме Конструктора таблиц:

  1. Включить в таблицу поле счетчика.
  2. Задать для него автоматическое увеличение на 1.
  3. Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц (Table Design).

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

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

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

  1. Открыть таблицу в режиме Конструктора.
  2. Выделить поля, которые необходимо определить как ключевые.
  3. Нажать кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц (Table Design).

Для составного ключа существенным может оказаться порядок образующих ключ полей. Сортировка записей осуществляется в соответствии с порядком ключевых полей в окне Конструктора таблицы. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, то сначала нужно определить ключ, а затем нажать кнопку Индексы (Indexes) на панели инструментов Конструктор таблиц (Table Design). Затем в появившемся окне Индексы (Indexes) нужно указать другой порядок полей для индекса с именем Ключевое поле (Primary Key).

Рассмотрим в качестве примера применения составного ключа таблицу «Заказано» (OrderDetails) базы данных (Northwind) (рис. 2.23).

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

Чтобы изменить ключ, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. Выбрать имеющиеся ключевые поля.
  3. Нажать на кнопку Ключевое поле (Primary Key), при этом кнопка должна принять положение Выкл., а из области выделения должны исчезнуть значки ключевого поля.
  4. Выбрать поле, которое необходимо сделать ключевым.
  5. Нажать на кнопку Ключевое поле (Primary Key). При этом в области выделения должен появиться значок ключевого поля.

Чтобы удалить ключ, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. Выбрать имеющееся ключевое поле (ключевые поля).
  3. Нажать на кнопку Ключевое поле (Primary Key), при этом кнопка должна принять положение Выкл., а из области выделения должен исчезнуть значок (значки) ключевого поля.

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

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

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

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

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

2. Что такое ключевое поле? Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице.

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

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

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

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

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

Связи «многие ко многим»

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

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

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

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

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

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

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

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

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

2. В Access версий 2002 или 2003 выполните указанные ниже действия.

a. Нажмите клавишу F11, чтобы перейти в окно базы данных. b. В меню Сервис выберите команду Связи.

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

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

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

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

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

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

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

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

8. Повторите действия с 5 по 8 для каждой пары связываемых таблиц.

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

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

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

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

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

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

3. Задайте первичный ключ этой таблицы таким образом, чтобы он включал в себя поля первичных ключей обеих основных таблиц. Например, первичный ключ соединительной таблицы «АвторыКниг» будет состоять из полей «ИД_заказа» и «ИД_продукта».

Читать еще:  Как базу данных access сделать sql?

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

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

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

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

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

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

4. Установите связь вида «один ко многим» между каждой из двух главных таблиц и соединительной таблицей.

6. Что означают на схеме данных«1» и«∞»?Отношение, сколько раз поле с одной стороны относится к полю с другой.

7. Зачем нужен Мастер подстановок? Сделать более простым ввод значений в поле позволяет операция подстановки. Используя эту операцию, можно выбирать значения поля из списка. Список значений может быть как фиксированным, так и содержаться в таблице или запросе. Сформировать столбец подстановок для поля помогает Мастер подстановок (Lookup Wizard). Давайте создадим столбец подстановок для поля «КодКлиента» в таблице «Список рассылки оповещений». Это даст нам возможность при вводе данных в эту таблицу вводить не коды клиентов, которые мы не знаем, а выбирать из списка название организации, в которой работает данное лицо.

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

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

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

Как сказал.

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

Урок 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 Создание связей в базе данных

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

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

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

Ключевые поля бывают двух типов — первичные (Primary Key) и внешние (Foreign Key). Первичные ключи служат для однозначного определения записи в таблице и должны содержать уникальные для данной таблицы значения. Система автоматически предотвращает ввод в такое поле повторяющихся и пустых (Null )значений.

Самый простой способ создания первичного ключа — добавить в таблицу поле типа счетчик (AutoNumber) и затем нажать кнопку с изображением ключа на панели инструментов. В результате этого свойство счетчика Обязательное поле (Required) примет значение Да (Yes), а свойство Индексированное поле (Indexed) — Да (совпадения не допускаются) (Yes (No Duplicates)). Признаком первичного ключа является иконка с изображением ключа слева от наименования поля. Кроме того, первичный ключ автоматически включается в список индексов таблицы под именем PrimaryKey. Использование счетчика в этом случае является очень удобным, поскольку Microsoft Access сам заботится о правильном заполнении этого поля.

Читать еще:  Как сделать кнопку в форме в access?

В качестве первичного ключа можно также определить любое подходящее поле (кроме поля типа объект OLE (OLE Object)) либо не содержащее данных, либо содержащее уникальные непустые значения. Такой первичный ключ, состоящий из одного единственного поля, называется простым (Single-field).

Если ни одно из полей таблицы не содержит или по сути не может содержать уникальных значений (например, фамилии могут повторяться), то можно вместо простого ключа создать составной (Multiple-field) ключ, состоящий из нескольких полей. Чтобы создать составной ключ, необходимо в режиме конструктора таблиц (Design View) выделить требуемые поля (если удерживать нажатой клавишу , то при помощи мыши можно выделять несмежные поля) и затем нажать кнопку с изображением ключа на панели инструментов. Примером такой таблицы может служить таблица Заказано (Order Details) из учебной базы данных Борей (Northwind), связывающая таблицы Заказы (Orders) и Товары (Products). Ключ в этой таблице состоит из двух полей: КодЗаказа (OrderlD) и КодТовара (ProductID). Такая комбинация полей ключа, по замыслу разработчиков, гарантирует уникальность содержащихся в них значений. Т.е., возможность включения в один заказ двух записей об одном и том же товаре недопустима (хотя в жизни бывает всякое).

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

Первичный и внешний ключи должны быть одинакового типа, иначе при создании связи между таблицами по этим полям Microsoft Access выдаст сообщение об ошибке и связь создана не будет. Полю типа счетчик (AutoNumber) эквивалентен числовой тип, свойство Размер поля (Field Size) которого установлено в значение Длинное целое (Long Integer). Например, таблицы Сотрудники (Employees) и Заказы (Orders) учебной базы данных Борей (Northwind) связаны по одноименным полям КодСотрудника (EmployeeID). Соответствующее поле в таблице Сотрудники (Employees) является первичным ключом типа счетчик (AutoNumber), а в таблице Заказы (Orders) — внешним ключом типа длинное целое (Long Integer).

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

Индексы, как и первичные ключи, могут быть простыми (состоящими из одного поля) и составными (содержащими несколько полей). Для того чтобы создать простой индекс, следует выбрать в режиме конструктора таблицы (Design View) нужное поле и установить его свойство Индексированное поле (Indexed) в одно из двух значений: Да (Совпадения не допускаются) (Yes (No Duplicates)) или Да (Допускаются совпадения) (Yes (Duplicates OK)). В результате будет создан индекс с именем, совпадающим с наименованием поля.

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

Основное предназначение диалогового окна Индексы (Indexes) — создание и модификация простых и составных индексов. Кроме того, для составных индексов это окно является единственным доступным средством создания. В верхней части окна Индексы (Indexes) расположена таблица с тремя столбцами (см. рис. 3.19). Для каждого индекса в этой таблице можно задать его наименование (столбец Индекс (Index Name)), имя входящего в него поля (столбец Имя поля (Field Name)) и Порядок сортировки (Sort Order).

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

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

Еще раз обратите внимание на рисунок 3.19, на котором изображено диалоговое окно Индексы (Indexes), открытое для таблицы Заказано (Order Details). Как видно из рисунка, таблица Заказано (Order Details) содержит составной первичный ключ, имеющий поля КодЗаказа (OrderlD) и КодТовара (ProductID). Об этом свидетельствует иконка с изображением ключа в левой части каждой из строчек, соответствующих ключевым полям. Соответствующий первичному ключу индекс, как уже упоминалось выше, автоматически добавляется в таблицу под именем PrimaryKey. Кроме того, по полям КодЗаказа (OrderlD) и КодТовара (ProductID) созданы еще и простые индексы. Таким образом, каждое из этих полей входит в два разных индекса.

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

Ключевое поле (Primary). Для индексов, содержащих ключевые поля, это свойств должно иметь значение Да (Yes). Если выбрать значение Нет (No), то ключевое поле перестает быть таковым. Таким образом, при помощи этого свойства можно создавать первичные ключи и в окне Индексы (Indexes).

Уникальный индекс (Unique). Это свойство определяет, должен ли индекс содержать уникальные значения или допускается ввод в соответствующее индексу поле повторяющихся данных. Как и следовало ожидать, для первичного ключа не удастся задать значение Нет (No).

Пропуск пустых полей (Ignore Nulls). Если задано значение Да (Yes), то записи, содержащие в этом поле пустое значение (Null), будут исключаться из индекса.

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

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

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

Создание БД. Описание поля: тип, размер, формат и прочие свойства поля (MS Access).

Основные свойства полей базы данных:

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

Имя поля не может начинать с пробела.

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

Размер поля – определяет предельную длину данных, которые могут размещаться в данном поле.

Формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю.

Маска вода – определяет форму, в которой вводятся данные в поле.

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

Значениепо умолчанию – то значение, которое вводится в ячейки поля автоматически.

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

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

Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы.

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

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

Вопрос № 51 Ключевое поле, его назначение и использование в MS Access.

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

Читать еще:  Как сделать бд в access?

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

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

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

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

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

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

База данных состоит из одной или нескольких таблиц.

Каждая таблица имеет одно или несколько полей. В Access Это Имя поля, тип данных, описание.

В каждой таблице имеется одна или несколько записей.

Виды связей между таблицами

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

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

Связи «один ко многим»

Связь «один ко многим» — наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы Б, однако каждой строке таблицы Б может соответствовать только одна строка таблицы А. Например, между таблицами «Издатели» и «Книги» установлена связь «один ко многим»: каждый из издателей может опубликовать множество книг, однако каждая книга публикуется лишь одним издателем.

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

В Microsoft Access сторона связи «один ко многим», которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности.

Связи «многие ко многим»

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

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

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

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

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

• Чтобы изолировать часть таблицы по соображениям безопасности.

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

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

В Microsoft Access сторона связи «один к одному», которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, также обозначается символом ключа.

Вопрос № 53 Средства MS Access для установления связей между таблицами. Целостность данных и её обеспечение.

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

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

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

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

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

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

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

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

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

Вопрос № 54 Формы: назначение, средства создания, использование Ms Access.

1. Форма, ее назначение и структура. Создание формы с помощью мастера

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

Смысл формы — пользователь получает возможность заполнять только некоторые из полей. Это снижает количество ошибок, упрощает работу.

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

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

Так же форму можно создавать через Конструктор (Мастер форм)

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

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

Подчиненные формы — используется для вывода записей из связной таблицы.

Всплывающие формы — формы, выводимые во всплывающих окнах.

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

Структура формы.

Форма имеет три основных раздела:область заголовка; область данных; область примечания. Линии, разделяющие разделы, перетаскиваются по вертикали с помощью мыши — это позволяет изменять размеры разделов так, как требуется.

Вопрос № 55 Сортировка записей на экране: использование фильтра MS Access.

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

Фильтр по выделению

Запустите Microsoft Access, а затем откройте базу данных, которые При работе с.

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

На Записей Выберите пункт Фильтр, а затем нажмите кнопку Фильтр по выделению.

Повторите шаги 2 и 3, пока не будет иметь набор записей Вы ищете.ПРИМЕЧАНИЕ: Можно также фильтровать записи, которые не имеют определенное значение. После выбора значения, щелкните правой кнопкой мыши и выберите команду Фильтр с исключением выделенного.

Фильтр по форме

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

На Записей Выберите пункт Фильтр, а затем нажмите кнопку Фильтр по форме Чтобы перейти в окно обычного фильтра.

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

Выберите поле для указания критерии.

Введите условие отбора, выбрав значение, которое вы Поиск в списке значений поля (если список содержит значения полей), или введите значение в поле.

Чтобы найти записи, в котором определенное поле имеет тип пустые или непустые, Имеет значение Null -или-Не пусто в поле.

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

На Фильтр меню, нажмите кнопку Применение фильтра Чтобы просмотреть результаты фильтрации.

93.79.221.197 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

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