Создание межтабличных связей
Краткие сведения о MS Access
База данных (БД) - это организованная структура, предназначенная для хранения информации. Система управления базой данных (СУБД) – это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации.
Объекты MS Access:
Таблицы – основной объект любой БД; в таблицах хранятся все данные, имеющиеся в БД; таблицы хранят и структуру базы (поля, их типы и свойства ).
Запросы – объект, служащий для отбора и анализа данных из таблиц и предоставления их пользователю в удобном виде.
Формы – объект, служащий для ввода новых данных, а также отображения их с помощью специальных средств оформления.
Отчеты – объект, предназначенный только для вывода данных на печатное устройство.
Страницы – специальный объект БД (MS Access 2000) выполненный в коде HTML и размещаемый на Web – странице, осуществляющий интерфейс между клиентом, сервером и базой данных, размещенной на сервере.
Макросы и модули – это категории объектов, предназначенные для автоматизации повторяющихся операций при работе с СУБД.
Загрузка программы: Пуск – Программы – Microsoft office – Microsoft Access (ярлык – «золотой ключик»).
СУБД MS Access предоставляет несколько средств создания каждого из основных объектов БД. Эти средства можно классифицировать как:
· ручные (разработка объектов в режиме Конструктора) ;
· автоматизированные (разработка с помощью программ – мастеров);
· автоматические (средства ускоренной разработки простейших объектов).
При разработке таблиц и запросов рекомендуется использовать ручные средства – работать в режиме Конструктора. При разработке форм, отчетов, наоборот, лучше пользоваться автоматизированными средствами, предоставляемыми мастерами. Это связано с тем, что для данных объектов большую роль играет внешний вид (дизайн этих объектов). Разработка Страниц, Макросов и Модулей в рамках общетехнического курса «Информатика» не рассматривается, так, как эти средства ориентированы на профессиональных разработчиков баз данных.
Работа с любыми объектами Access начинается с окна базы данных. Окно БД содержит перечень всех объектов БД на закладках. Окно БД открыто первоначально на закладке «Таблицы». Справа на панели окна БД сосредоточены три кнопки управления: «Открыть», «Конструктор», «Создать».
Работа с таблицами
Таблицы являются основными объектами любой БД. Структуру двумерной таблицы образуют столбцы и строки. Их аналогами в структуре простейшей БД являются поля и записи.
Поля - (вертикальные) столбцы данных в таблицах. Каждое поле представляет собой элемент, зарезервированный для данных определенного типа.
Записи - (горизонтальные) строки данных в таблицах. Каждая запись представляет собой элемент связанных данных.
Свойства полей БД:
Имя поля определяет, как следует обращаться к данным этого поля при автоматических операциях с базой. Имена полей используется в качестве заголовков столбцов таблиц. Имя поля не должно содержать точки. Например: Ф.И.О. - неверное имя поля. Правильное имя – ФИО.
Тип поля определяет тип данных, которые могут содержаться в данном поле. Таблицы БД, как правило, допускают работы с большим количеством разной типов данных, чем MS Excel.
MS Access работает со следующими типами данных:
- текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов);
- Поле Мемо – специальных типов данных для хранения больших объектов текста (до 65 535 символов);
- числовой – тип данных для хранения действительных чисел.
- денежный – тип данных для хранения денежных сумм.
- счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием.
- дата/ время – тип данных для хранения календарных дат и текущего времени.
- логический – тип для хранения логических данных (могут принимать только два значения, например ДА или НЕТ).
Создание таблиц
Существуют два основных способа создания таблицы: «вручную» и с помощью мастера таблиц. Следуя выше приведенным рекомендациям, рассмотрим способ создания таблицы «вручную».
Для создания таблицы «вручную» следует:
- в окне БД на закладке «Таблицы» нажать кнопку «Создать»;
- в окне «Новая таблица» нажать кнопку «Конструктор».
Появившееся окно Конструктора таблиц фактически является бланком для создания и редактирования структуры таблиц.
В первом столбце вводят имена полей, которые станут именами столбцов будущей таблицы. Тип данных для каждого поля задается во втором столбце из раскрывающейся списка, открываемого кнопкой выбора типа данных. Эта кнопка – скрытый элемент управления. Она отображается только после щелчка на каждой строке столбца «тип данных» на поле бланка. В MS Access очень много таких скрытых элементов управления, которые не отображаются, пока ввод данных не начат.
Нижняя часть бланка содержит список свойств поля, выделенного в верхней части. Некоторые из свойств уже заданы по умолчанию. Свойства полей не являются обязательными, их можно настраивать по желанию.
При создании таблицы целесообразно (хотя и не обязательно) задать ключевое поле. Это поможет впоследствии, при организации связей между таблицами. Для задания ключевого поля достаточно щелкнуть на его имени правой кнопкой мыши и в открывшемся контекстном меню выбрать пункт «ключевое поле».
Ключевое поле или первичный ключ – это поле, значения которого однозначно определяют запись в таблице.
Закончив создание структуры таблицы, окно закрывают (при этом система выдает запрос на сохранение таблицы), после чего дают таблице имя, и с этого момента она доступна в числе прочих таблиц в основном окне БД. Оттуда ее можно открыть в случае необходимости.
Созданную новую таблицу открывают в окне БД двойным щелчком на ее значке или нажатием на кнопку «Открыть». Новая таблица не имеет записей – только названия столбцов, характеризующих структуру таблицы. Заполнение таблицы данными производится обычным порядком. Курсор ввода устанавливается в нужную ячейку указателем мыши. Шириной столбцов можно управлять методом перетаскивания их границ. Можно использовать автоматическое форматирование столбцов «по – содержимому». Для этого – установить указатель мыши на границу между столбцами (в строке заголовков столбцов), и когда указатель сменит форму, выполнить двойной щелчок.
После наполнения таблицы данными сохранять их не надо – все сохранится автоматически. Однако, если при работе с таблицей произошло редактирование ее макета (например, изменялась ширина столбцов), то СУБД попросит подтвердить сохранение этих изменений.
Если возникнет необходимость изменить структуру таблицы (состав полей или их свойства), таблицу надо открыть в режиме Конструктора. Для этого следует выделить ее в окне БД и щелкнуть на кнопке «Конструктор».
Создание межтабличных связей
Реляционная связь между таблицами имеет два основных назначения:
- обеспечение целостности данных;
- автоматизация задач обслуживания базы.
Связь между таблицами позволяет:
- либо исключить возможность удаления или изменения данных в ключевом поле главной таблицы, если с этим полем связаны какие-либо поля других таблиц;
- либо сделать так, что при удалении (или изменении) данных в ключевом поле главной таблицы автоматически (и абсолютно корректно) произойдет удаление или изменение соответствующих данных в полях связанных таблиц.
Создание межтабличных связей происходит в специальном окне «Схема данных», которое открывается кнопкой на панели инструментов или командой Сервис – Схема данных. Одновременно с открытием этого окна открывается диалоговое окно «Добавление таблицы», в котором можно выбрать таблицы, между которыми создаются связи. При этом одна из таблиц считается главной, а другая – связанной. Главная – это та таблица, которая участвует в связи своим ключевым полем (название этого поля на схеме данных отображается полужирным шрифтом).
На «Схеме данных» с помощью мыши необходимо выделить ключевое поле главной таблицы и, не отпуская кнопки мыши, перетащить это поле в связанную таблицу. При отпускании кнопки мыши автоматически откроется диалоговое окно «Изменение связей». Следующим шагом необходимо установить флажки «Обеспечение целостности данных», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей», затем нажать кнопку «ОК». Флажок «Обеспечение целостности данных» запрещает удалять данные из ключевого поля главной таблицы. Если вместе с ним включены флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей», то, соответствию, операции редактирования и удаления данных в ключевом поле главной таблицы разрешены, но сопровождаются автоматическими изменениями в связанной таблице.
Работа с запросами
При формировании и выполнении Запроса опрашивается активная база данных. Результат (ответ) представляет собой временную результирующую таблицу, которая может просматриваться на экране или распечатываться.
С помощью запросов выполняются такие операции как отбор данных, их сортировка и фильтрация. С помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое. В общем случае результирующая таблица может не соответствовать ни одной из базовых таблиц базы данных. Ее поля могут представлять набор из полей разных таблиц, а ее записи могут содержать отфильтрованные и отсортированные записи таблиц, на основании которых формировался запрос.
Основными типами запросов являются:
- Запросы на выборку - информация получается из таблиц на основе заданного критерия.
- Перекрестные запросы - используется критерий, задаваемый для группировки данных таблицы в табличном формате. Перекрестные запросы наиболее сложны в использовании, но очень полезны в ряде ситуаций.
- Итоговые запросы – выполняются вычисления по всем записям какого-либо числового поля.
Создание запроса
Запросы могут создаваться двумя способами: “вручную” и с помощью мастеров запроса. Имеется четыре мастера запросов:
- мастер простых запросов;
- мастер перекрестных запросов;
- мастер повторяющихся записей;
- мастер записей без подчинения.
Следуя выше приведенным рекомендациям, рассмотрим способ создания запросов “вручную”. Для этого:
В окне БД на закладке “Запросы” нажать кнопку “Создать”. В окне “Новый запрос” выбрать “Конструктор” и нажать кнопку “ОК”. Открывается окно бланка запроса. Бланк запроса состоит из 2-х областей. В верхней области отображается структура таблиц, к которым запрос адресован. Эти таблицы выбираются из окна «Добавление таблицы», открывающегося на панели инструментов кнопкой “Добавление таблицы”.
Нижняя область бланка разбита на столбцы - по одному столбцу на каждое поле будущей результирующей таблицы. Для заполнения этих столбцов в верхней области бланка щелкают двойными щелчками на названиях полей, необходимых для результирующей таблицы (запроса) при этом автоматически заполняются столбцы в нижней области бланка. Формируется структура запроса: заполняются строки: “Поле”, “Имя таблицы”, из которой выбрано это поле.
Если необходимо, чтобы отобранные данные были упорядочены по какому-либо полю, применяют сортировку. Для этого в нижней области бланка имеется специальная строка «Сортировка». При щелчке на этой строке открывается кнопка раскрывающегося списка, в котором можно выбрать метод сортировки: по возрастанию или по убыванию. В результирующей таблице данные будут отсортированы по тому полю, для которого задан порядок сортировки. Возможна многоуровневая сортировка: сразу по нескольким полям. В этом случае данные сортируются по полям слева направо.
В строке Вывод на экран по умолчанию все поля, включенные в запрос, выводятся на экран, но это не всегда целесообразно. Сброс флажка «Вывод на экран» запрещает отображение содержимого данного поля на экране.
В строке Условие отбора задается критерий (индивидуальное условие) для каждого поля, по которому выбираются данные из полей таблиц. Символы, используемые при задании критериев отбора:
- > (больше), < (меньше), = (равно), >< (не равно).
Например: а) Условие отбора по текстовому полю «ФИО» задано >К. Это значит в поле «ФИО» будут выбраны фамилии, начинающиеся на буквы от К до Я.
б) Условие отбора по числовому полю «Цена» задано <100. Это значит в поле «Цена» будут только значения меньше 100.
- * - замена нескольких символов.
Например: Условие отбора по текстовому полю «ФИО» задано *ов. Это значит в поле «ФИО» будут выбраны фамилии, оканчивающиеся на «ов», независимо от того, сколько впереди символов.
- ? - замена одного символа.
Например: Условие отбора по числовому полю «Цена» задано ?0. Это значит в поле «Цена» будут выбраны только значения 10, 20, 30, 40, 50, 60, 70, 80, 90.
- is null – поиск по «пустому» значению поля;
- is not null – поиск по «не пустому» значению поля.
Например, в исходной таблице поле "Размер премиальных" содержит помимо размера премии у некоторых сотрудников пустые, незаполненные строки у сотрудников, которые не получили премии. Условие отбора по полю "Размер премиальных" задано is null. Это значитв результирующей таблице (запросе), при условии ввода в нее поля "ФИО", будут выданы фамилии сотрудников, не получивших премию.
- «between значение 1 and значение 2» - поиск по интервалу между значением 1 и значением 2.
Например, условие отбора по полю "Дата рождения" задано between 01.01.82 and 31.12.82. Это значит в поле "Дата рождения" будут выбраны только даты родившихся в 1982 году.
При задании условий отбора в строку по нескольким полям между ними устанавливается логическое “И”, в столбец - логическое “ИЛИ”. Сформировав в бланке запроса по образцу структуру запроса, его закрывают, дают ему имя и далее запускают двойным щелчком на значке в окне База данных. Запустить запрос можно также в окне бланка запроса, щелкнуть на Панели инструментов кнопку с восклицательным знаком красного цвета. Порядок действий рассмотренный выше, позволяет создать простейший запрос, называемый запросом на выборку.
Работа с формами
Формы - это средства для ввода данных. С помощью форм данные можно не только вводить, но и отображать с помощью специальных средств оформления. Формы предоставляют пользователю только те поля, которые ему заполнять положено. Одновременно с этим в форме могут размещаться специальные элементы управления для автоматизации ввода.
Таким образом, формы, с одной стороны, позволяют пользователю вводить данные в таблицы базы данных без постороннего доступа к самим таблицам, с другой стороны, они позволяют выводить результаты работы запросов не в виде результирующих таблиц, а в виде красиво оформленных форм.
Простая форма - форма, которая создается на базе только одной таблицы или запроса.
Сложная форма - форма, которая основывается на полях из нескольких связанных таблиц или представляет собой композицию из нескольких форм.
Создание формы
Существует два вида формирования структуры форм: на основе таблицы и на основе запроса. Формы удобнее готовить с помощью средств автоматизации, хотя способ создания формы "вручную" также существует.
Полностью автоматические средства создания форм называются автоформами. Существует три вида автоформ:
- "в столбец" - все поля одной записи отображаются в столбец;
- ленточная - одновременно отображается группа записей;
- табличная - по внешнему виду не отличается от таблицы, на которой она основана.
Для создания автоформы следует:
1. Открыть вкладку Формы в окне Базы данных и нажать кнопку Создать.
2. В открывшемся окне Новая форма выбрать тип автоформы, а также таблицу (или запрос), на которой она будет основываться, нажать ОК.
3. После щелчка на кнопке ОК автоформа формируется автоматические и немедленно готова к работе, то есть к вводу или отображению данных.
Автоформа создает только простые формы.