Вопрос 51. Ключевое поле, его назначение и использование.
Создание таблицы в режиме конструктора позволяет добавлять поля, настроить отображение полей и обработку в них данных, а затем создается первичный ключ (одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице).
В MS Access можно выделить три типа ключевых полей: простой ключ, составной ключ и счетчик. Обычно в качестве ключевого поля выбирается поле с неповторяющимися значениями (простой ключ) или комбинация из нескольких полей (составной ключ). Если такие поля не найдены или получается слишком сложный составной ключ используется специальный тип данных – счетчик. Счетчик содержит номера строк и будет последовательно увеличиваться на 1 при создании новой записи.
Первичный ключ должен удовлетворять требованиям уникальности и минимальности. Уникальность ключевого поля обеспечивает одно из требований целостности БД – целостность согласования. Минимальность ключевого поля обеспечивает эффективное использование памяти БД. Эти требования часто противоречат друг другу – т.к. сложный ключ (ключ, состоящий из нескольких полей) с большей вероятностью будет уникальным, однако для него в БД будет отводиться больше памяти. В связи с этим необходим разумный компромисс. Кроме того, выбор или назначение первичного ключа существенно зависит от количества столбцов в таблице.
Вопросы 52 - 53. Структура БД в Access. Связь между таблицами/Средства Access для установления связей между таблицами.
(52) База данных (БД) – это поименованная совокупность структурированных данных, описывающих состояние объектов одной предметной области и их отношения. Например, библиотечные и архивные системы, телефонные и адресные справочники, базы данных о наличии и движении товаров, о сотрудниках организации и др. Целью создания базы данных является упорядочение информации из одной предметной области, возможность поиска нужных данных и их обработки. Рассмотрим основные понятия БД:
Таблица - это основной объект базы данных, предназначенный для хранения элементарных данных, состоящих из записей (строк) и полей (столбцов).
Элементарное данное – единица данных, описывающая один признак одного объекта предметной области. Например, фамилия конкретного читателя или название конкретной книги в библиотечной базе данных.
Поле – совокупность логически связанных элементарных данных, описывающих один и тот же признак для всех объектов предметной области. В структуре двумерной таблицы его аналогом является столбец.
Запись – это совокупность логически связанных полей, данные из которых описывают все признаки одного объекта предметной области. Например, все данные об одном издании. В структуре двумерной таблицы ее аналог – строка. БД MS Access может содержать множество объектов:
Таблица является основным объектом базы данных. В MS Access вся информация хранятся в таблицах. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).
Запрос является средством извлечения информации из базы данных. Используя это средство, можно извлечь нужные данные из 1 или нескольких таблиц и предоставить их пользователю в удобном виде. С помощью запросов выполняют такие операции, как отбор данных, их сортировку и фильтрацию.
Форма представляет собой средство для просмотра и ввода данных в базу. Смысл форм в том, чтобы предоставить пользователю возможность заполнения и просмотра только определенного количества полей.
Отчёт используется для отображения итоговых данных из таблиц и запросов в удобном для просмотра виде. В отчетах предусмотрены специальные средства для группирования данных и ввода специальных элементов оформления, характерных для печатных документов (колонтитулы, номера страниц, служебная информация о времени создания и исполнителе).
Страницы это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа.
Макросы и модули. Эти объекты предназначены как для автоматизации повторяющихся операций при работе с базой данных, так и для создания новых функций путем программирования. Макросы состоят из последовательности внутренних команд СУБД MS Access, а модули создаются средствами внешнего языка программирования. Это одно из средств, с помощью которых разработчик может заложить в базу нестандартные функциональные возможности, повысить быстродействие системы, а так же уровень ее защищенности.
(52-53)Задание связей между таблицами происходит в окне «схема данных»,которое открывают кнопкой панели инструментов или командой Схема данных пункта меню Сервис. Открывается окно «Добавление таблиц», на вкладке Таблицы которого нужно выбрать таблицы, между которыми устанавливаются связи, щелчком на кнопке Добавить. В окне «Схема данных» откроются списки полей этих таблиц. Одна из таблиц считается главной, а другая – связанной. Главная – это та таблица, которая участвует в связи своим ключевым полем. При нажатой кнопке на связываемом поле главной таблицы перевести курсор мыши на нужное поле связанной таблицы. При отпускании кнопки мыши автоматически открывается окно «Изменение связей» для настройки свойств связи. В этом окне можно изменить имена полей, участвующих в связи, и задать элементы управления для обеспечения условий целостности данных. Если установлен только флажок Обеспечение целостности данных, то удалять данные из ключевого поля главной таблицы нельзя. Если вместе с ним включены флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей, то, соответственно, операции редактирования и удаление данных в ключевом поле главной таблицы разрешены, но сопровождаются автоматическими изменениями в связанной таблице. Образовавшееся межтабличная связь отображается в окне «Схема данных» в виде линии, соединяющей 2 поля разных таблиц. Т.о. , смысл создания реляционных связей между таблицами состоит, с одной стороны, в защите данных, а с другой стороны – в автоматизации внесения изменений сразу в несколько таблиц при изменениях в 1 таблице. При организации связи между таблицами следует иметь в виду, что связываемые поля должны иметь один и тот же тип и одинаковые свойства или быть, по крайней мере, согласованными.