Создание межтабличных связей

Краткие сведения о 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. После щелчка на кнопке ОК автоформа формируется автоматические и немедленно готова к работе, то есть к вводу или отображению данных.

Автоформа создает только простые формы.