Упражнение 1. Телефонный справочник


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

 
содержание



 

Шаг 1. Начало работы с Microsoft Access

  1. Запустите Microsoft Access. Самый надежный способ - через меню кнопки "Пуск" (см. рис. 1). Однако, если ваш компьютер настроен соответствующим образом, сделать это можно и через ярлык, расположенный на рабочем столе.

    Рис. 1. Запуск MS Access через главное меню

  2. Укажите в открывшемся диалоговом окне, что вы хотите создать новую базу данных (см. рис. 2). Если подобное диалоговое окно вам предложено не было, то вызовите его, дав команду меню "Файл > Создать"

    Рис. 2. Создание новой базы данных

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

    Обратите внимание, что в MS Access, имя файла задается ДО создания новой базы, а не ПОСЛЕ того, как вся работа проделана и остается только сохранить результат (как, например, в MS Word или Excel). Сделано это из соображений обеспечения сохранности данных. Все изменения, вносимые в базу данных, сразу же отображаются и в ее файлах (а поэтому программе с самого начала надо знать их имена). Таким образом, сводится к минимуму риск потери важных данных даже при непредвиденных сбоях (например таких, как отключение электропитания).

  3. Перед вами откроется окно "База данных" (см. рис. 3). Это окно является исходным элементом управления Microsoft Access.

    Рис. 3. Окно "База данных"

    На левой панели окна "База данных" сосредоточены элементы управления для вызова всех типов объектов Access (таблицы, запросы, формы и т.д.). На правой - элементы управления для создания новых объектов. Сюда же добавляются и создаваемые объекты. Окно имеет панель инструментов для осуществления основных операций с объектами (открытие, редактирование, удаление и т.п.).

 

Шаг 2. Создание таблиц базы данных

  1. Запустите конструктор создания таблиц, сделав двойной щелчок по соответствующему элементу управления или нажав кнопку "Конструктор" на панели инструментов. Перед вами откроется окно проектирования структуры таблицы (см. рис. 4).

    Рис. 4. Окно проектирования структуры таблицы

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

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

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

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

  2. Задайте структуру основной таблицы проектируемой нами базы данных. Будем считать, что все данные в нашей базе - текстовые. Задайте имена полей, их описания и длины, согласно приведенной ниже таблице:

    Имя поля
    Описание
    Длина
    Номер Номер телефона
    12
    Имя Имя абонента
    25
    Адрес Адрес абонента
    40
    Код_категории Категория абонента
    2

  3. Укажите наличие ключевого поля (в нашем примере поле "Номер"). Это можно сделать через контекстное меню (нажав правой кнопкой мыши на строке соответствующего поля и выбрав пункт "Ключевое поле" выпавшего меню), дав команду меню "Правка > Ключевое поле" или нажав на кнопку панели инструментов Microsoft Access.

    О том, что поле задано ключевым, свидетельствует значок ключа рядом с именем поля в окне проектирования структуры таблицы (см. рис. 4).

    Ключевое поле (первичный ключ) - это одно или несколько полей, значения которых однозначно определяют каждую запись в таблице. Значения в ключевых полях не должны повторяться. Ключевые поля используются для установления связей между таблицами (об этом далее).

  4. Сохраните в текущей базе данных созданную таблицу. Сделать это можно с помощью команды меню "Файл > Сохранить" или с помощью кнопки панели инструментов Microsoft Access. Укажите имя сохраняемой таблицы: "ТЕЛЕФОНЫ".

    Закройте окно проектирования структуры таблицы и обратите внимание на то, что в окне "База данных" появился новый элемент - только что созданная таблица "ТЕЛЕФОНЫ". Обратите также внимание, что созданная таблица была сохранена не в виде отдельного файла на диске, а в структуре базы данных.

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

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

    Имя поля
    Описание
    Длина
    Код Код_категории
    2
    Наименование Наименование категории
    12

    Обязательно задайте ключевое поле - "Код". Сохраните таблицу под именем "КАТЕГОРИИ"

 

Шаг 3. Настройка связей между таблицами

  1. В структуре нашей базы данных уже есть две таблицы. Однако, они пока существуют независимо и наша цель сделать так, чтобы в таблице "ТЕЛЕФОНЫ" вместо кодов категорий абонентов подставлялись их полные наименования из таблицы "КАТЕГОРИИ". Для этого необходимо настроить подстановочные параметры поля "Код_категории", а также задать параметры связей между таблицами.

  2. Откройте таблицу "ТЕЛЕФОНЫ" в режиме конструктора, перейдите к типу данных поля "Код_категории" и из раскрывающегося списка выберите "Мастер подстановок". Перед вами откроется диалоговое окно, где вам будет предложен ряд вопросов о параметрах настраиваемого подстановочного поля (см. рис. 5).

    Рис. 5. Диалоговое окно мастера подстановок

    Укажите следующие параметры (на каждом шаге нажимайте кнопку "Далее"):

    После нажатия кнопки "Готово" вам будет выдано предупреждение о необходимости сохранить таблицу. Согласитесь с этим.

    Все параметры, которые были заданы в процессе работы с мастером подстановок, доступны на вкладке "Подстановка" окна проектирования структуры таблицы. Откройте эту вкладку и посмотрите, какие параметры и соответствующие им значения были заданы. Посмотрите на содержимое этой вкладки для других полей. Если по каким-либо причинам вам надо из подстановочного поля сделать "обычное", то на вкладке "Подстановка" укажите "Тип элемента управления" - "Поле".

    Закройте окно проектирования таблицы "ТЕЛЕФОНЫ".

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

    Откройте окно "Схема данных" (см. рис. 6). Для этого надо нажать кнопку на панели инструментов Microsoft Access или выбрать пункт меню "Сервис > Схема данных".

    Рис. 6. Окно "Схема данных". Показано также окно добавления таблиц.

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

    Добавьте в схему данных таблицы "ТЕЛЕФОНЫ" и "КАТЕГОРИИ". Закройте окно добавления таблиц.

    В окне "Схема данных" отображаются окошки со списками полей выбранных таблиц. Связи между полями отображаются в виде линий. При необходимости, здесь же можно и создавать новые связи между полями. Это делается перетаскиванием мышью имени одного поля на имя другого поля. Между данными полями устанавливается связь и сразу же предлагается настроить ее параметры. Удалить связь можно выделив ее мышью и нажав клавишу DEL на клавиатуре (или дав команду меню "Правка > Удалить"). Таким же образом удаляются и лишние таблицы из окна схемы данных.

  4. Откройте окно "Изменение связей" для настраиваемой связи (см. рис. 7). Это можно сделать через контекстное меню линии связи или выделив линию связи щелчком мыши и дав команду меню "Связи > Изменить связь".

    Рис. 7. Окно "Изменение связей"

    Установите флажок "Обеспечение целостности данных". Можно также согласиться на каскадное обновление и удаление связанных полей, однако для нашей базы данных это не является необходимым. Дайте подтверждение на изменение связей (нажмите кнопку "ОК").

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

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

  5. Сохраните макет схемы данных, дав команду меню "Файл > Сохранить" или нажав кнопку на панели инструментов. Закройте окно "Схема данных".

 

Шаг 4. Заполнение базы данных информацией

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

    Заполнение нашей базы данных начнем с таблицы "КАТЕГОРИИ", так как данные этой таблицы будут в дальнейшем использоваться при заполнении таблицы "ТЕЛЕФОНЫ".

  2. Откройте таблицу "КАТЕГОРИИ". Это можно сделать, дважды щелкнув мышью по значку таблицы в окне "База данных" или выделив этот значок и нажав на кнопку "Открыть" указанного окна. Мышью задайте размеры окна таблицы, а также размеры отдельных полей. Заполните таблицу следующим образом:

    Рис. 8. Окно таблицы "КАТЕГОРИИ"

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

  3. Откройте таблицу "ТЕЛЕФОНЫ", заполните ее приведенными ниже данными:

    Номер
    Имя
    Адрес
    Категория
    45-14-15 Петр Иванович Улица Большая, 1 Родственники
    31-98-16 Дядя Коля Переулок Маленький, 15 Родственники
    18-42-51 Марина Центральный Проспект, 21 Друзья
    23-15-48 Ремонт телевизоров Переулок Мастеров, 5 Мастерские
    92-15-30 Цветочный магазин Улица Фиалковая, 28 Магазины
    77-12-53 Андрей Аллея Звезд, 4 Друзья
    51-12-43 Тетя Света Улица Родная, 8 Родственники

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

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

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

 

Шаг 5. Выполнение простейших запросов

  1. Предположим, что для повседневной работы с телефонным справочником нам не требуется вся информация из базы данных. В частности, более удобным представляется вариант работы с таблицей, в которой представлено лишь три поля из таблицы "ТЕЛЕФОНЫ": Имя, Номер, Категория. Предоставим пользователю возможность работы с такой таблицей. Сделать это можно с помощью запросов.

    Откройте окно "База данных" и переключитесь на вкладку объектов "Запросы". Выберите создание запроса в режиме конструктора. Вам будет предложено добавить таблицы. Сделайте это и закройте окно добавления таблиц. Перед вами откроется бланк запроса по образцу (см. рис. 9)

    Рис. 9. Бланк запроса по образцу

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

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

    Перетащите поля "Имя", "Номер" и "Код_категории" в формируемую таблицу. Укажите также параметр "Сортировка" (по возрастанию) для поля "Код_категории". Это обеспечит группировку отображаемых записей по категориям. Сохраните составленный запрос (назовите, например, "Телефоны без адресов") и закройте бланк запросов по образцу. Чтобы посмотреть результаты работы запроса, откройте его, сделав двойной щелчок по соответствующей записи в окне "База данных".

  2. Составим теперь запрос, который из всего списка телефонного справочника показывает только телефоны друзей. Запустите создание запроса в режиме конструктора и заполните бланк запроса по образцу согласно приведенному ниже примеру:

    Рис. 10. Составление запроса "Телефоны друзей"

    Как и в прошлом запросе, в бланк надо включить поля "Имя", "Номер" и "Код_категории". Однако, настройка свойств поля "Код_категории" теперь другая. Во-первых, добавьте условие отбора (укажите здесь "ДР" - код категории "Друзья"), а во-вторых, уберите флажок "Вывод на экран".

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

    Вернитесь в режим конструктора запросов и попробуйте вернуть на место флажок "Вывод на экран" для поля "Код_категории". Как изменился результат выполнения запроса?

    Рассмотренный выше запрос несложно модифицировать в запрос с параметром, который позволит просматривать телефоны не только друзей, но и любых других категорий абонентов. В поле "Условие отбора" вместо значения "ДР" укажите (именно так, без кавычек и в квадратных скобках): [Введите код категории]. Запустите запрос на выполнение и протеституйте его.

 

Шаг 6. Формы и отчеты

  1. Таблицы и запросы обеспечивают не только хранение и обработку информации в базе данных, но и позволяют пользователям выполнять базовый набор операций с данными (просмотр, пополнение, изменение, удаление). Вместе с тем, в Microsoft Access существуют специальные объекты, которые призваны упростить повседневную работу с базой данных. К таким объектам относят, в первую очередь, формы и отчеты.

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

  2. Создадим форму, с помощью которой будет удобно вводить новые записи в телефонный справочник. Откройте окно "База данных" и переключитесь на вкладку объектов "Формы". Выберите создание формы с помощью мастера. Перед вами откроется диалоговое окно, в котором будет необходимо ответить на ряд вопросов. Укажите следующие параметры создаваемой формы (на каждом шаге нажимайте кнопку "Далее"):

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

    Закройте созданную форму и откройте ее в режиме конструктора. Перед вами откроется макет формы, а также панель элементов, содержащая заготовки и инструменты для создания элементов управления формы (см. рис. 11).

    Рис. 11. Макет формы "Телефоны". Добавление заголовка.

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

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

    Рис. 12. Форма "Телефоны".

  3. Создадим форму со списком телефонов друзей. Запустите мастер создания форм, укажите следующие параметры:

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

    Рис. 13. Форма "Телефоны друзей".

  4. Создадим список телефонов друзей в виде отчета. В окне "База данных" и переключитесь на вкладку объектов "Отчеты". Выберите создание отчета с помощью мастера. Укажите следующие параметры создаваемого отчета:

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

    Рис. 14. Отчет "Телефоны друзей".

 

Шаг 7. Итоги и выводы

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

 



Сергеев А.Н. КАГИ ВГПУ. Сентябрь 2003