Запросы, страницы, модули, макросы).
Базой данных (БД) называется организованная в соответствии с определенными правилами и поддерживаемая в памяти компьютера совокупность сведений об объектах, процессах, событиях или явлениях, относящихся к некоторой предметной области, теме или задаче. Она организована таким образом, чтобы обеспечить информационные потребности пользователей, а также удобное хранение этой совокупности данных, как в целом, так и любой ее части.
Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида. Каждая строка таблицы содержит данные об одном объекте (например, автомобиле, компьютере, клиенте), а столбцы таблицы содержат различные характеристики этих объектов - атрибуты (например, номер двигателя, марка процессора, телефоны фирм или клиентов).
Строки таблицы называются записями. Все записи таблицы имеют одинаковую структуру - они состоят из полей (элементов данных), в которых хранятся атрибуты объекта (рис. 1). Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата). Для идентификации записей используется первичный ключ. Первичным ключом называется набор полей таблицы, комбинация значений которых однозначно определяет каждую запись в таблице.
Для работы с данными используются системы управления базами данных (СУБД). Основные функции СУБД:
- определение данных (описание структуры баз данных);
- обработка данных;
- управление данными.
Разработка структуры БД - важнейшая задача, решаемая при проектировании БД. Структура БД (набор, форма и связи ее таблиц) - это одно из основных проектных решений при создании приложений с использованием БД. Созданная разработчиком структура БД описывается на языке определения данных СУБД.
Любая СУБД позволяет выполнять следующие операции с данными:
- добавление записей в таблицы;
- удаление записей из таблицы;
- обновление значений некоторых полей в одной или нескольких записях в таблицах БД;
- поиск одной или нескольких записей, удовлетворяющих заданному условию.
Для выполнения этих операций применяется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется «язык структурированных запросов» (SQL - Structured Query Language).
Под управлением данными обычно понимают защиту данных от несанкционированного доступа, поддержку многопользовательского режима работы с данными и обеспечение целостности и согласованности данных.
Microsoft Access и объектов базы данных
Microsoft Access называет объектами все, что может иметь имя. В базе данных Access основными объектами являются таблицы, запросы, формы, отчеты, макросы и модули. В других СУБД, как правило, термин база данных обычно относится только к файлам, в которых хранятся данные. Для запуска MS Access вы можете использовать меню Пуск Windows. Для этого с помощью мыши выберите команду Программы меню Пуск, а затем - Microsoft Access или выбрать пиктограмму Microsoft Access с помощью проводника Windows или выбрать ярлык, созданный для запуска MS Access.
В Microsoft Access база данных включает в себя все объекты, связанные с хранимыми данными. Ниже приведен список основных объектов базы данных Access.
1. Таблица - это наименьшая единица хранения информации в БД. Объект, который определяется и используется для хранения данных. Каждая таблица включает информацию об объекте определенного типа, например о клиентах. Таблица содержит поля (столбцы), в которых хранятся различного рода данные, например фамилия или адрес клиента, и записи (которые называются также строками). В записи собрана вся информация о некотором объекте (человеке, образце продукции и т. п.). Для каждой таблицы можно определить первичный ключ (одно или несколько полей, содержащих уникальные для каждой записи значения) и один или несколько индексов, помогающих ускорить доступ к данным.
2. Запрос. Объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Для создания запроса можно использовать бланк QBE (запрос по образцу) или инструкции SQL (структурированный язык запросов). Можно создать запросы на выборку, обновление, удаление или добавление данных. С помощью запросов можно также создавать новые таблицы, используя данные из одной или нескольких существующих таблиц.
3. Форма. Объект, предназначенный в основном для ввода данных, отображения их на экране или управления работой приложения. Формы можно также распечатать.
4. Отчет. Объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.
5. Макрос. Объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие.
6. Модуль. Объект, содержащий программы, написанные на языке Visual Basic для приложений.
Событие – любое изменение состояния объекта Microsoft Access. Например, событием является открытие формы, закрытие формы, ввод новой строки в форму, изменение содержимого текущей записи или элемента управления (объекта формы или отчета, который может содержать данные). Для обработки события вы можете создать макрос или процедуру Visual Basic для приложений.
Таблица в программе Microsoft Access. Понятие поля, понятие записи. Приемы работы с таблицей в режиме таблицы и в режиме конструктора. Ввод данных в таблицу. Поиск нужной информации в базе данных. Сортировка и фильтрация записей.
Структура таблицы Access
Конструктор таблиц предназначен для задания и изменения структуры таблицы Access. С помощью конструктора можно формировать сколь угодно сложные таблицы с полями любого типа.
С помощью конструктора добавим в базу данных еще одну таблицу, предназначенную для записи всех случаев контакта с людьми из первой таблицы.
1. Щелчком на кнопке Окно базы данных переключитесь на список таблиц базы данных.
2. Дважды щелкните на значке Создание таблицы в режиме конструктора. Окно конструктора, показанное на рис. 16.5, состоит из двух частей. В верхней отображается список полей таблицы, а в нижней — свойства выделенного поля.
3. Введите слово Дата, которое будет играть роль названия нового поля.
4. Щелкните на ячейке Тип данных первой строки списка полей. Здесь необходимо выбрать тип поля, который определяет структуру и размер данных.
Рис. 16.5. Конструктор таблиц Access
5. Щелкните на появившейся стрелке раскрывающегося списка ячейки Тип данных и выберите пункт Дата/время.
6. Нажмите клавишу Tab и введите расшифровку назначения поля: Дата контакта. Такие описания вводить не обязательно, но их наличие помогает разобраться в структуре таблицы.
7. Щелкните на второй ячейке столбца Имя поля и введите имя Описание.
8. Задайте для второго поля тип Текстовый.
9. Укажите назначение поля в соответствии с рис. 16.5.
Кроме даты и описания контакта таблица данных должна содержать информацию о том, с кем вы контактировали. Но список людей хранится в таблице Контакты, поэтому в новой таблице не нужно заново вводить имя и фамилию. Достаточно лишь добавить ссылку на одну из записей таблицы Контакты. Эта ссылка будет иметь числовой тип и содержать число, равное значению поля Код_Контакты соответствующей записи таблицы Контакты.
10. Добавьте еще одно поле с именем Код_Контакты и типом Числовой,
Теперь нужно добавить индексированное поле и назначить его ключом, однозначно идентифицирующим записи таблицы. Индексированные поля, или индексы, отличаются от обычных тем, что для них Access создает специальные списки, позволяющие выполнять быструю сортировку и поиск по содержимому индексированного поля. Таблица может содержать несколько индексов. Ключ — это специальный индекс, идентифицирующий записи. Значения такого поля должны быть уникальными. Его наличие не обязательно, но оно так часто используется, что при отсутствии ключа Access напоминает об этом и предлагает автоматически добавить ключевое поле.
11. Добавьте поле Ключ и назначьте ему тип Счетчик. Такой тип данных избавляет пользователя от необходимости ввода значений ключевого поля и инициирует автоматическую генерацию уникальных значений.
12. Сохраняя активной строку Ключ, щелкните на кнопке Ключевое поле. На кнопке этой строки появится значок ключа, показывающий особый статус поля.
13. Щелкните на кнопке закрытия окна конструктора.
14. Access спросит о необходимости сохранения структуры таблицы. В ответ щелкните на кнопке Да.
15. В открывшемся окне диалога (рис. 16.6) введите имя Список.
16. Щелкните на кнопке ОК.
48. Свойства полей в программе Microsoft Access. Ключевое поле. Виды связей между таблицами в программе Microsoft Access. Установление связей таблиц через столбец подстановок и схему данных. Импорт готовых таблиц в существующую базу данных
Свойства полей базы данных Access
Свойство | Его назначение |
Имя поля | Определяет, как следует обращаться к данным этого поля. Должно быть уникальным, желательно таким, чтобы функция поля узнавалась по его имени. |
Тип поля | Определяет тип данных, которые содержаться в данном поле. |
Размер поля | Определяет предельную длину (в символах) данных, которые могут размещаться в данном поле. |
Формат поля | Определяет способ форматирования данных в ячейках, принадлежащих полю. |
Маска ввода | Определяет форму, в которой вводятся данные в поле. |
Подпись | Определяет заголовок столбца таблицы для данного поля. Если не указана, то в качестве заголовка используется имя поля. |
Значение по умолчанию | Значение, которое вводится в ячейки поля автоматически. |
Условие на значение | Ограничение, используемое для проверки правильности ввода данных |
Сообщение об ошибке | Текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных. |
Обязательное поле | Определяет обязательность заполнения поля данными. |
Пустые строки | Разрешает ввод пустых строковых данных |
Индексированное поле | Позволяет ускорять все операции, связанные с поиском или сортировкой данных этого поля. Можно также задать проверку на наличие повторов для этого поля, чтобы исключить дублирование данных. |
Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице. Если для таблицы определены ключевые поля, то Microsoft Access предотвращает дублирование или ввод пустых значений в ключевое поле. Ключевые поля используются для быстрого поиска и связи данных из разных таблиц при помощи запросов, форм и отчетов.
В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Рассмотрим каждый из этих типов.
Для создания ключевого поля типа Счетчик необходимо в режиме Конструктора таблиц:
- Включить в таблицу поле счетчика.
- Задать для него автоматическое увеличение на 1.
- Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле(Primary Key) на панели инструментовКонструктор таблиц(Table Design).
Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки Да(Yes) будет создано ключевое поле счетчика с именем Код(ID) и типом данных Счетчик(AutoNumber).
Связь таблиц Access
Связь между двумя таблицами Access позволяет установить правила взаимодействия между таблицами. Список подстановок можно было организовать и без связи. Но представьте, что вы удалите из таблицы Контакты запись, на которую ссылаются некоторые записи таблицы Список. В такой ситуации останутся описания контактов, фамилии людей в которых потеряны. Наличие правильно организованной связи позволяет избежать подобных неприятностей.
1. Выберите команду Сервис > Схема данных. Откроется окно, схематически изображающее связи базы данных. На рис. 16.11 видно, что линия связи соединяет поля Код_Контакты таблицы Контакты и Контакт таблицы Список.
Примечание Данная связь соединяет ключевое и обычное поля. Это связь типа «один ко многим», когда одной записи таблицы Контакты может соответствовать несколько записей таблицы Список, но не наоборот.
Рис. 16.11. Схема данных Access
Для тренировки давайте удалим связь, а затем создадим ее заново.
2. Щелчком выделите линию связи.
3. Нажмите клавишу Delete. В ответ на появившийся запрос щелкните на кнопке Да. Связь исчезнет.
4. Поместите указатель мыши на пункт Код_Контакты таблицы Контакты.
5. Нажмите кнопку мыши и перетащите указатель на поле Контакт таблицы Список.
6. В открывшемся окне диалога щелкните на кнопке Создать. Связь появится вновь. Чтобы настроить параметры связи, выполните следующие шаги.
7. Дважды щелкните на линии связи. Откроется окно диалога, показанное на рис. 16.12.
Рис. 16.12. Параметры связи
Примечание Если таблицы, между которыми нужно организовать связь, отсутствуют, щелкните в окне Схема данных правой кнопкой мыши и выберите команду Добавить таблицу. В открывшемся окне диалога выделяйте таблицы, которые нужно разместить в окне Схема данных и щелкайте на кнопке Добавить. Получив все необходимые таблицы, закройте окно диалога кнопкой Закрыть.
8. Установите флажок Обеспечение целостности данных. Этот режим не позволит Access оставлять в таблице Список записи, для которых нельзя подобрать запись таблицы Контакты с подходящим значением поля Код_Контакты.
9. Установите флажок Каскадное удаление связанных записей. Теперь при удалении записи таблицы Контакты (то есть удалении информации о конкретном человеке) будут удалены все соответствующие записи таблицы Список (то есть все описания контактов с этим человеком). Если указанный флажок сброшен, удаление тех записей таблицы Контакты, на которые ссылается хотя бы одна запись таблицы Список, запрещено.
Примечание Установка флажка Каскадное обновление связанных полейприведет к тому, что при обновлении поля Код_Контакты таблицы Контакты будут автоматически обновляться одноименные поля в соответствующих записях таблицы Список.
10. Щелкните на кнопке ОК.
11. Закройте окно Схема данных.
12. В окне базы данных дважды щелкните на значке таблицы Контакты. В открывшемся окне таблицы видны небольшие знаки «плюс», расположенные в левой части записей. Их присутствие говорит о наличии связи ключевого поля таблицы с другой таблицей.
13. Щелкните на знаке «плюс» записи для Петра Петрова. Откроется вложенная таблица, содержащая те записи таблицы Список, значение поля Код_Контакты которых равно величине одноименного поля записи для Петра Петрова (рис. 16.13).
Рис. 16.13. Выборка данных из связанной таблицы Access
Примечание При раскрытии фрагмента связанной таблицы знак «плюс» превращается в знак «минус». Чтобы скрыть дополнительную таблицу, щелкните на нем еще раз.
14. Щелкните еще на каком-нибудь знаке «плюс», и вы увидите описание всех контактов с еще одним человеком. Таким образом, с помощью созданной связи вы можете быстро просматривать в окне таблицы Список описания всех контактов с определенным человеком или группой лиц.