Уроки по Access Введение Системы управления базами данных (СУБД) являются едва ли не самым распространенным видом программного обеспечения. СУБД имеют более чем тридцатилетнюю историю развития с сохранением преемственности и устойчивых традиций. Идеологическая ценность СУБД объясняется тем, что в основе программ такого рода лежит концепция модели данных, то есть некоторой абстракции представления данных. В большинстве случаев предполагается, что данные представлены в виде файлов, состоящих из записей. Структура всех записей в файлах одинакова, а количество записей в файле является переменным. Элементы данных, из которых состоит каждая запись, называются полями. Поскольку во всех записях имеются одни и те же поля (с разными значениями), полям удобно давать уникальные имена. Многие практически важные случаи хорошо укладываются в такое представление данных. Например, в отделе кадров информация о сотрудниках имеют такую природу. Сотрудников принимают на работу и увольняют, но форма личного листа по учету кадров остается неизменной для каждого сотрудника. Товарно-материальные ценности приходят и уходят, но форма инвентарной карточки остается неизменной. Число примеров без труда можно множить. Ясно, что СУБД является адекватным средством во всех случаях, когда исходную информацию можно представить в виде таблицы постоянной структуры, но неопределенной длины или в виде картотеки, содержащей неопределенное количество карточек постоянной структуры. Все СУБД поддерживают в той или иной форме четыре основных операции: добавить в базу данных одну или несколько записей; удалить из базы данных одну или несколько записей; найти в базе данных одну или несколько записей, удовлетворяющих заданному условию; обновить в базе данных значение некоторых полей. Большинство СУБД поддерживают, кроме того, механизм связей между различными файлами, входящих в базу. Например, связь может установиться явным образом, когда значением некоторых полей является ссылка на другой файл, такие СУБД называются сетевыми, или же связь может установиться неявным образом, например, по совпадению значений полей в различных файлах. Такие СУБД называются реляционными. MS Access является СУБД реляционного типа, в которой разумно сбалансированы все средства и возможности, типичных для современных СУБД. Реляционная база упрощает поиск, анализ, поддержку и защиту данных, поскольку они сохраняются в одном месте. Access в переводе с английского означает лдоступ╗. MS Access Ч это функционально полная реляционная СУБД. Кроме того, MS Access одна из самых мощных, гибких и простых в использовании СУБД. В ней можно создавать большинство приложений, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на этот случай MS Access предоставляет мощный язык программирования Ч Visual Basic Application. Популярность СУБД Microsoft Access обусловлена следующими причинами: доступность в изучении и понятность позволяют Access являться одной из лучших систем быстрого создания приложений управления базами данных; СУБД полностью русифицирована; возможность использования OLE технологии; интегрированность с пакетами Microsoft Office; поддержка WWW-идеологии (только в Access 97); визуальная технология позволяет постоянно видеть результаты своих действий и корректировать их; кроме того, работа с конструктором форм может существенно облегчить дальнейшее изучение таких систем программирования, как Visual Basic или Delphi; широко и наглядно представлена справочная система; наличие большого набора лмастеров╗ по разработке объектов. Запустить систему Access можно несколькими способами: запуск с помощью главного меню в WINDOWS 95/98; запуск с помощью ярлыка на рабочем столе или панели MS Office; открытие какой-либо базы данных автоматически запускает Access. При наличии вопросов о Microsoft Access прежде всего необходимо попытаться найти ответы на них в документации или в справочной системе. В этой работе мы предлагаем набор заданий, которые позволят освоить основные приемы работы с СУБД Access. Помогать при работе с СУБД Access могут карточки подсказки. Они предназначены для обучения непосредственно в процессе работы с Microsoft Access и после открытия базы данных будут постоянно сопровождать любые действия пользователя. Создание базы данных. Ввод и форматирование данных Загрузите систему WINDOWS. Загрузите СУБД ACCESS. Появятся выплывающие карточки-подсказки. Сверните их. Если вам понадобится подсказка, то в любой момент вы можете вызвать карточки в меню Справка или соответствующей кнопкой на панели инструментов. Сначала нужно создать новую базу данных. Выполним следующую последовательность действий: в меню Файл выберем команду Создать. Имя файла: skaz.mdb. OK. Перед вами появилось диалоговое окно лБаза данных╗. Внимательно прочитайте назначение кнопок на панели инструментов, медленно перемещая курсор мыши по кнопкам. После этого создайте
таблицу, выполнив следующую последовательность действий: Таблица/Создать/Новая
таблица.
Заполните такую таблицу, внеся в нее следующие данные:
Созданную таблицу нужно сохранить, дав ей имя с помощью команд: Файл/Сохранить как..., Имя таблицы: лПерсонаж╗, OK. Введите информацию в таблицу Таблица/лПерсонаж╗/Открыть и обычным образом введите данные, например такие:
При помощи мыши
выделите: Отмените выделение. Выделите: Отмените выделение. Выделите всю таблицу. Отмените выделение. Измените ширину каждого
столбца, так чтобы ширина колонок была минимальной, но был виден весь текст. Любым способом измените высоту строки и сделайте ее равной 30. Измените шрифт таблицы
на Arial Cyr, размер шрифта 14, полужирный. Измените шрифт текста на Times New Roman Cyr, размер шрифта 10. Измените ширину полей. Подгоните ширину столбцов так, чтобы текст вмещался полностью. Выполните сортировку
таблицы по полю лПерсонаж╗ в порядке, обратном алфавитному. Верните таблицу в исходное состояние. Сохраните таблицу лПерсонаж╗. Закройте таблицу лПерсонаж╗. Редактирование базы данных Откройте таблицу лПерсонаж╗ и добавьте в конец таблицы следующие записи:
Скопируйте первую запись на место шестой записи. Удалите пятую запись. Скопируйте первую запись в конец таблицы. Измените профессию
Дуремара на продавец пиявок. Замените во всей таблице Буратино на Пиноккио. Удалите две записи, значение которых в поле лПерсонаж╗ = Пиноккио. Вставьте перед четвертой записью следующую запись:
Удалите с седьмой по одиннадцатую записи. Удалите поле
лПрофессия╗. Вставьте новое поле в таблицу.
Самостоятельно заполните новое поле в каждой записи. Во всей таблице замените
слог но на слог ни. Замените в таблице все буквы о на букву а, а буквы а замените на букву о. Замените на слог РА буквосочетание, первая буква которого р, а вторая Ч любая буква русского алфавита. Это можно сделать следующим образом: в любой записи таблицы отметить необходимое буквосочетание. Например, слог ер. Затем в меню Правка выбрать команду Заменить и ввести формат замены. Заменить ?р на РА. Поиск данных по условию Следующее задание, которое мы вам предлагаем, можно выполнить различными способами. Способ первый. Вы создаете запрос по каждому из вопросов, которые предлагаются, и сохраняете его в виде таблицы. Для создания запроса выполните следующие действия: Запрос Ч Создать Ч Новый запрос Ч Таблица/ запрос Ч Класс Ч Добавить. Ч Закрыть. После этого ввести условия запроса. Способ второй. Таблица Ч Класс Ч Открыть. На панели инструментов нажмите кнопку Изменить фильтр, и с помощью построителя выражений введите условия запроса. Затем на панели инструментов Запроса нажмите кнопку Применить фильтр. В результате на экране появится динамический набор записей, удовлетворяющих введенному условию. Но при дальнейших манипуляциях этот набор не сохранится. Если вы хотите сохранить данный набор записей, то выполните следующие действия. В окне Фильтра откройте меню Файл и выберите команду Сохранить как запрос. Способ третий. В режиме таблиц выведите курсор мыши за пределы таблицы и нажмите правую мыши. В контекстном меню выберите команду Изменить фильтр. Все остальные действия точно такие же, как во втором способе. Для того чтобы ответить на все предлагаемые вопросы, необходимо знать операторы задания шаблонов. Приведем несколько примеров. Примеры использование символов задания шаблонов
Примеры условных выражений
В базе данных skaz.mbd откройте новую таблицу лКласс╗ и внесите в нее следующие поля.
Заполните таблицу.
Ответьте на вопросы Кто учится в 8 классе? Кто родился в 1984 году? Кто живет на улице Пушкина? У кого номе дома меньше 50? У кого мужские имена? Кто родился весной? У кого фамилия начинается на букву С? Кто закончит школу в этом году? Кто не занимается тяжелой атлетикой? У кого сегодня день рождения? У кого номер квартиры меньше 12? Кто не определил свое хобби? Кто родился до 1.01.85? Кто живет на улице Пушкина, Леонова или Свиязева? У кого фамилия начинается с букв А-К? Кто является однофамильцами с Сухановым Сергеем? Кто увлекается аэробикой и лыжами? Кто из мальчиков живет на улице Чердынской? У кого имена начинаются на букву С, а фамилия Ч на букву П? У кого карие глаза и этот человек не умеет вязать? Кто учится в старших классах? У кого из специальной группы женское имя? Кто не живет на улице Ленина и не занимается в подготовительной группе? Кто из мальчиков с голубыми глазами занимается каратэ? У кого номер класса кратен 3, и он живет на улице Пушкина или Ленина? Кто с серыми глазами учится в классе с нечетным номером, или число в дате его рождения больше 15? У кого номер класса простое число, или специальная группа, и его имя начинается на Н? Кто из основной группы не живет на улице Пушкина или Ленина? Кто из девочек, родившихся в мае или в феврале, номер дома больше 36? У кого из основной группы имя начинается на буквы С или М, но фамилия не начинается на букву П? Работа с помощью мастера Создайте в новом файле
таблицу лКласс╗ с помощью Мастера таблиц. Выберите поля, необходимые для нашей таблицы лКласс╗. Недостающие поля можно будет добавить с помощью Конструктора таблиц. Выполните все действия, которые вам предлагает сделать мастер. Дайте новой таблице имя лКласс╗. Заполните таблицу и выполните задания, которые мы вам предлагали на предыдущем занятии. С помощью мастера создайте Запрос положительных героев в таблице лПерсонаж╗. С помощью мастера создайте Запрос отрицательных героев в этой же таблице. С помощью мастера самостоятельно создайте Форму для таблицы лКласс╗. Создайте различные типы форм и дайте им различные имена. С помощью мастера создайте Отчет для таблицы лКласс╗, также попробуйте сделать различные виды отчетов. Работа со связанными таблицами Создадим базу данных, которая будет хранить результаты экзаменов студентов одной группы за один семестр. Можно обойтись и одной таблицей, в которую включить поля лФамилия╗, лИмя╗, лДисциплина╗, лПреподаватель╗, лОценка╗. Но тогда очень много данных будет повторяться, т.к. каждый студент сдает несколько экзаменов, и каждый экзамен сдают многие студенты. Поэтому создадим три таблицы Ч лСтуденты╗, лПредметы╗, лОценки╗ Ч и заполним их. В первых двух таблицах первое поле имеет тип счетчик, а остальные Ч текстовый тип. В третьей таблице первое поле имеет тип счетчик, а остальные Ч числовой тип. Таблица лПредметы╗
Таблица лСтуденты╗
Таблица лОценки╗
Щелкните на пиктограмму лСхема данных╗. Вы увидите созданные нами таблицы и связи, которые создал Access. Он автоматически связал поля с одинаковыми именами и совместимыми типами. В других случаях это можно сделать вручную, с помощью мыши Ч достаточно перетащить одно поле на другое и получить между ними связь. Обратите внимание, что выставлять оценки неудобно. Чтобы выставить К. Волкову лотлично╗ по численным методам, надо помнить коды студента и предмета. К счастью, в Access можно оперировать с кодами, а информацию выдавать в текстовой форме. Сделаем это для предметов. Выберите в таблице лОценки╗ поле лКод предмета╗ и укажите тип лмастер подстановок╗. В качестве таблицы источника данных выберите лПредметы╗ и поля лКод╗ и лНазвание╗. Теперь в режиме таблицы можно выбирать названия из списка. Сделайте то же самое для студентов. А теперь сделаем так, чтобы подстановка выполнялась из двух полей, то есть выводила фамилию и имя. Для этого выберите поле лКод студента╗, щелкните на вкладке лПодстановка╗, выберите лИсточник строк╗ и щелкните кнопку с многоточием справа. Откроется построитель запросов, работа с которым не отличается от работы с обычным запросом. Вместо поля лФамилия╗ введите строку [Фамилия]&Ф Ф&[Имя]. Теперь при подстановке видна и фамилия студента, и его имя. Добавьте еще двух-трех студентов в таблицу лСтуденты╗. Перейдите в таблицу лОценки╗. Обратите внимание, что добавленные студенты оказались в конце списка. Чтобы упорядочить список по алфавиту, вызовите построитель запросов для поля лКод студента╗ и установите сортировку по возрастанию. Сделайте то же самое для поля лКод предмета╗. Поле лКод оценки╗ нам (в отличие от Access) неинтересно. Выделите этот столбец в режиме таблицы и выберите команду Формат/ширина столбца. Установите ее в ноль. Этого же результата можно добиться лперетягиванием╗ правой границы столбца к левой. Обратите внимание, что Access позволяет хранить несколько записей о сдаче одним и тем же студентом одного и того же предмета. Сделаем так, чтобы набор студент-предмет стал уникальным. Для этого в режиме конструктора установим для этих полей опцию лключевое поле╗. Это можно сделать через пункт меню Правка или через панель инструментов. Изменим подписи к полям лКод студента╗ и лКод предмета╗. Для этого выберите строку лПодпись╗ на вкладке лОбщие╗. Теперь таблица лОценки╗ выглядит так: Таблица лОценки╗
Задания Измените ввод в поле Оценка, чтобы вместо цифр выставлялось лотлично╗, лхорошо╗ и т. д. Для этого создайте отдельную таблицу и используйте мастер подстановок. При создании таблицы учтите, что существует четыре варианта оценки: л1 Ч отлично╗, л2 Ч хорошо╗, л3 Ч удовлетворительно╗, л4 Ч неудовлетворительно╗. Вызовите схему данных и установите связь.
Заполните таблицу лОценки╗. Рассчитайте средний балл каждого студента. Для этого поместите в конструктор запросов таблицы лСтуденты╗ и лОценки╗. Выберите поля лФамилия╗, лИмя╗, а вместо лОценка╗ введите л6 - оценка╗. Это необходимо, так как отличной оценке соответствует 1, хорошей Ч 2 и т.д. Найдите на панели инструментов кнопку лГрупповые операции╗ и нажмите ее. Примените групповую операцию лсреднее╗ Ч Avg. Access автоматически присвоило построенному выражению имя лВыражение-1╗. Измените его на лСредний балл╗. Выведите список студентов, сдавших экзамены на оценки "хорошо" и "отлично". Для этого проделайте те же операции, что и в предыдущем пункте, но в качестве групповой операции выберите Min Ч нахождении минимума и задайте условие на отбор Ч >3. Снимите флажок вывода столбца минимальной оценки на экран. Сохраните результаты работы в файле students.mdb. Занятие 6 Откройте базу данных students.mdb. Создадим удобную форму
для ввода информации. Для этого вызовите мастера форм и задайте следующие поля: Выберите представление данных по студентам, с использованием подчиненной формы. Откройте подчиненную
форму и примените сортировку по возрастанию для предметов. Откройте форму студенты в режиме конструктора. Выделите и удалите метку лоценки╗ (сверху от места внедрения подчиненной формы). Подгоните лвручную╗ размеры формы. Обратите внимание на две навигационные панели внизу формы, Ч одна из них позволяет просмотреть информацию по студентам, вторая по предметам. Создайте свою навигационную панель. Для этого перейдите в режим конструктора, вызовите панель элементов (воспользуйтесь панелью инструментов или пунктом меню лВид╗). Убедитесь, что включен режим мастеров (кнопка с изображением волшебной палочки вдавлена). Выберите элемент лКнопка╗ и поместите его внутрь формы, установите действие лПервая запись╗, подберите картинку. Сделайте еще 4 кнопки Ч лПредыдущая запись╗, лСледующая запись╗, лПоследняя запись╗, лДобавить запись╗. Выделите все 5 кнопок. Это можно сделать двумя способами. Щелкните все кнопки, которые хотите выделить, по очереди, удерживая клавишу Shift. Используйте ллассо╗. Нажмите кнопку мыши и, не отпуская ее, растяните рамку вокруг всех кнопок. Установите выравнивание по нижнему краю, сделайте равным интервал между кнопками, а затем уменьшите его до нуля (пункт меню Формат). Щелкните правой кнопкой
мыши на квадрат в левом верхнем углу формы. Выберите свойства и установите лполе
номера записи╗ в значение Нет. Сделайте то же самое для подчиненной формы. Откройте готовую форму лСтуденты╗. Создайте самостоятельно форму, аналогичную экзаменационной ведомости Ч в верхней ее части должны быть расположены название предмета и фамилия преподавателя, а ниже Ч список студентов с оценками. Воспользуйтесь мастером, а для окончательной доработки Ч режимом конструктора. Переименуйте созданные формы в лзачетные книжки╗ и лведомости╗. Создайте кнопки, которые позволяли бы переходить от одной формы к другой. Выберите вкладку лМакросы╗, команду ОткрытьФорму и имя из предложенного списка (лВедомости╗). Создайте аналогичный макрос для лЗачетных книжек╗. Откройте форму лВедомости╗ в режиме конструктора и лперетащите╗ на нее мышкой макрос, открывающий лЗачетные книжки╗. Если все сделано верно, кнопка будет создана автоматически. Для редактирования ее внешнего вида, щелкните правой кнопкой и выберите пункт Свойства. Сделайте то же для другого макроса. Создайте макрос, который открывает обе формы, и назовите его Autoexec. Сохраните базу, закройте и заново откройте ее. Написанный макрос выполняется автоматически. Зачётное задание Создайте базу данных лКнижная энциклопедия╗, содержащую сведения о произведениях различных писателей. Учтите, что у одного автора может быть много произведений. Продумайте схему данных, создайте таблицы и заполните базу данных следующей информацией:
Добавьте по своему усмотрению еще несколько строк. Выполните следующие
задания (создайте запросы): Найдите середину интервала, во время которого вышли книги, содержащие в заглавии слова лзвезда╗, лмежзвездный╗ и пр. Создайте простые формы для ввода фамилий авторов и издательств. Создайте формы, которые позволяют просмотреть информацию о книгах по авторам и по издательствам, а также вводить данные по книгам. Используйте знания, полученные на прошлом занятии. Свяжите эти формы кнопками, вызывающими макросы. Создайте специальную форму, на которой разместите кнопки, вызывающие остальные формы. Создайте макрос ее автозапуска и минимизируйте окно базы данных. Закончите оформление приложения. Список литературы Для подготовки данной работы были использованы материалы с сайта http://www.comp-science.narod.ru/ |