197 36 360KB
Russian Pages 43 Year 2004
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Государственное образовательное учреждение высшего профессионального образования САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
БАЗЫ ДАННЫХ ACCESS Методические указания к выполнению лабораторных работ № 1–6
Ñàíêò-Ïåòåðáóðã 2004
Составители: Н. В. Зуева, В. П. Заболотский, Е. И. Култышев Рецензент канд. техн. наук, доц. Н. В. Кучин
Методические указания содержат описание и порядок выполнения лабораторных работ по дисциплине «Базы данных» СУБД Access. Предназначены для студентов, обучающихся по специальности 351400 «Прикладная информатика», направление «Экономика». Подготовлены кафедрой прикладных информационных технологий в экономике и менеджменте и рекомендованы к изданию редакционноиздательским советом Санкт-Петербургского государственного университета аэрокосимческого приборостроения.
Редактор А. В. Семенчук Компьютерная верстка О. В. Васильева
Подписано к печати 29.09.04. Формат 60×84 1/16. Бумага офсетная. Печать офсетная. Усл. печ. л. 2,33. Уч. -изд. л. 2,28. Тираж 200 экз. Заказ № Редакционно-издательский отдел Отдел электронных публикаций и библиографии библиотеки Отдел оперативной полиграфии СПбГУАП 190000, Санкт-Петербург, ул. Б. Морская, 67
© ГОУ ВПО "СПбГУАП", 2004
1. ОБЩИЕ СВЕДЕНИЯ 1.1. Что такое Access Прежде всего, Access – это система управления базами данных (СУБД). Под системой управления понимается программа, которая не только позволяет хранить большие массивы данных в определенном формате, но и обрабатывать их, представляя в удобном для пользователей виде. Access позволяет автоматизировать часто выполняемые операции (например, расчет зарплаты, учет материальных ценностей и т.п.). Используя Access, можно не только разрабатывать удобные формы ввода и просмотра данных, но и составлять всевозможные сложные отчеты. Access является приложением Windows, а поскольку и Windows, и Access разработаны фирмой Microsoft, они очень хорошо взаимодействуют одна с другой; СУБД Access работает под управлением Windows. Таким образом, все преимущества Windows доступны в Access. Это означает, что можно вырезать, копировать и вставлять данные из любого приложения Windows в приложение Access и наоборот. Используя объекты OLE (Object Linking and Embending – связывание и внедрение объектов) в Windows и приложения, которые вместе с Access входят в состав Microsoft Office (Excel, Word и PowerPoint), и интегрируя Access с этими приложениями, можно превратить ее в настоящую операционную среду баз данных. В то же время Access – это реляционная СУБД. Это означает, что с помощью Access можно получить доступ к любым данным любого типа и использовать одновременно несколько таблиц базы данных. Использование реляционной СУБД позволяет упростить структуру данных и, таким образом облегчить выполнение работы. Можно связать таблицу Access с данными, хранящимися на большой ЭВМ или на сервере, а также использовать таблицу, созданную в Paradox или Dbase. Можно быстро и просто комбинировать данные Access с данными Excel. В СУБД Access имеется много дополнительных сервисных возможностей. Мастера помогут вам создать таблицы, формы или отчеты из имеющихся заготовок, сделав за Вас основную черновую работу. Выражения используются в Access, например, для проверки допустимости введенного значения или отображения числа со знаком доллара. Макросы позволяют автоматизировать многие процессы без программирования, тогда как встроенный в Access язык VBA (специально разработан1
ный компанией Microsoft диалект языка Basic для использования в приложениях Microsoft Office) позволяет опытному пользователю программировать сложные процедуры обработки данных. И, наконец, используя такие возможности языка программирования С, как функции и обращения к Windows API (Application Programming Interface – интерфейс прикладных программ Windows), можно написать подпрограмму для взаимодействия Access с другими приложениями – источниками данных. В Microsoft Access добавлено большое число новых средств, разработанных для облегчения работы в Интернете и создания приложений для Web. Для доступа к Интернету и использования преимуществ новых средств необходимо наличие средства просмотра Web, такого как Microsoft Internet Explorer, а также модема. Пользователь имеет возможность непосредственно подключаться к узлам Microsoft Web из программ Office (в том числе, и из Access) с помощью команды Microsoft на Web из пункта меню «?». Например, можно получить доступ к техническим ресурсам и загрузить общедоступные программы, не прерывая работу с Access. Система Access – набор инструментов для управления базами данных. В Access входят конструкторы таблиц, форм, запросов и отчетов. Кроме того, Access можно рассматривать и как среду для разработки приложений. Используя макросы для автоматизации задач, можно создавать такие же мощные, ориентированные на пользователя приложения, как и приложения, созданные с помощью «полноценных» языков программирования, дополнять их кнопками, меню и диалоговыми окнами. Программируя на Visual Basic for Applications (VBA), можно создавать такие же мощные программы, как сама Access (более того, многие средства Access, например мастера и конструкторы, написаны на VBA). Мощность и гибкость системы Access делают ее сегодня одной из лучших программ для управления базами данных. 1.2. Что может Access Управление реляционными базами данных В системе Access реализовано полноценное управление реляционными базами данных. Эта система поддерживает первичные и составные ключи и обеспечивает полную поддержку целостности данных на уровне самой базы данных (что предотвращает несовместимое обновление или уничтожение данных). Кроме того, таблицы в Access имеют прави2
ла проверки данных для предотвращения введения некорректных значений. Каждое поле в таблице имеет определенный формат и заданный по умолчанию тип. Access поддерживает все необходимые типы полей: Текстовый – для хранения одной строки текста; Числовой – для чисел; Денежный – для представления денежных величин; Дата/время – для времени; MEMO – для хранения произвольной информации; Логический – для логических значений; Поле объекта OLE – для хранения объектов из других приложений, поддерживающих технологию OLE; Гиперссылка – для перехода к объектам той же самой или другой базы данных к документам, созданным в MS Word, MS Excel и MS PowerPoint, а также к документам, расположенным в глобальной сети Интернет; Мастер подстановок – для создания списка значений из ссылочной таблицы. Если значения полей отсутствуют, система Access обеспечивает полную поддержку нулевых значений. Реляционная обработка данных в Access имеет гибкую архитектуру и отвечает многим потребностям пользователей. Access можно использовать как автономную СУБД, установленную на файл-сервере, либо как клиентскую часть для таких продуктов и как SQL Server. Используя в Access протокол ODBS (Open Database Connectivity), можно подключаться к различным базам данных других форматов, таких как Oracle, RDB, Sybase и даже к DB/2, используемой на больших ЭВМ IBM. Защита базы данных Microsoft Access обеспечивает два традиционных способа защиты базы данных: установка пароля, требуемого при открытии базы данных, и защита на уровне пользователей, которая позволяет ограничить, к какой части базы данных пользователь будет иметь доступ или какую ее часть он сможет изменять. Работа с мастерами Мастер (Wizard) может помочь за несколько минут выполнить рутинную работу, на которую самостоятельно может уйти несколько часов. Мастера задают вопросы о содержании, стиле и формате объекта, а затем создают этот объект без какого-либо вмешательства с вашей стороны. В системе Access имеется около сотни мастеров, предназначенных для проектирования баз данных, приложений, таблиц, форм, отчетов, графиков, почтовых наклеек, элементов управления и свойств. 3
Формы и отчеты WYSIWYG Окна создания форм и отчетов имеют похожие интерфейс и возможности. Характерной особенностью является то, что форма (или отчет) создается в среде WYSIWYG (what you see is what you get – «что видишь, то и получаешь»). Эта аббревиатура означает, что при добавлении каждого нового элемента форма преобразуется, так что сразу же можно увидеть, как она будет выглядеть в приложении. В формах и отчетах можно использовать надписи, поля текстовых данных, переключатели, флажки, линии и прямоугольники. Кроме того, можно изменять цвета элементов формы, добавлять тень. Рисунки, графики и даже подчиненные формы или отчеты. Формы могут состоять из нескольких страниц; отчеты могут содержать много уровней группирования и подведения соответствующих групповых итогов. Вы можете просматривать свою форму или отчет в режиме предварительного просмотра страницы и менять ее масштаб. Режим конструктора отчетов допускает использование до десяти уровней группировки и сортировки данных. Многотабличные запросы Многотабличный запрос является одним из самых важных средств Access. Окно Схема данных позволяет в визуальном режиме устанавливать связи между таблицами. Можно даже объединять таблицы файлов различных типов (таких, как таблица Access и таблица Dbase), а затем работать с ними, как с одним объектом. В этом окне можно выбирать отдельные поля, определять порядок сортировки, создавать вычисляемые выражения и вводить критерии для выбора записей. Результаты выполнения запроса можно отобразить в виде электронной таблицы, формы или отчета. Запросы имеют и другое применение. Можно создавать перекрестные запросы, которые подводят итоги, группируют данные и, в результате создают новые таблицы. Запрос можно использовать для обновления данных в таблицах, удаления записей или объединения таблиц. Графики и диаграммы В системе Access используется то же графическое приложение, что и в Microsoft Word, Excel и PowerPoint. С его помощью можно создавать различные графики и отображать данные для удовлетворения самых взыскательных требований. В распоряжении пользователя – гистограммы, линейчатые, круговые, поверхностные и другие 4
диаграммы, причем как в двух, так и в трех измерениях. Графики можно сопровождать пояснительным текстом в произвольной форме, можно изменять координатную сетку, настраивать цвет и узор, отображать значения в столбцах или секторах диаграмм и даже менять угол просмотра с помощью системы Microsoft Graph, вызываемой из Access. Встроенные функции Access содержит свыше ста функций – небольших встроенных программ, с помощью которых выполняются самые разнообразные задачи. В Access встроены математические, статистические и финансовые функции, функции обработки строк, работы с базами данных, функции даты/ времени и другие. Их можно использовать для создания вычисляемых выражений в формах, отчетах и запросах. Макрос: программирование без программирования Для непрограммистов либо квалифицированных, но ленивых пользователей, которые не хотят программировать, в системе Access имеются макросы. Они позволяют манипулировать данными, создавать меню и диалоговые окна, открывать формы и отчеты и практически автоматизировать выполнение любой задачи. Модули: Visual Basic for Applications Как уже говорилось, система Access – среда разработки с полнофункциональным языком программирования. Язык VBA (в предыдущих версиях Access он назывался Access Basic) отличает объектно-ориентированный принцип программирования, основанный на использовании событий, который расширяет возможности работы с формами и отчетами; VBA – современный развитый язык программирования. Он является расширяемым, поскольку из его программ можно вызывать процедуры Windows API, хранящиеся в библиотеках DLL (Dynamic Link Library – библиотека динамической компоновки) операционных систем Windows 95 и Windows NT. Полнофункциональная среда разработки системы Access обладает рядом современных средств создания приложений. В ней используются многооконный интерфейс, выделение цветом при редактировании и отладке, автоматический контроль синтаксиса, динамический контроль данных, точки прерывания, пошаговое выполнение и т. д. 5
Импортирование, экспортирование и связывание внешних файлов Система Access позволяет импортировать и экспортировать файлы многих форматов, включая Dbase, Paradox, FoxPro, Lotus 1-2-3, Excel, SQL Server, Oracle, и разные форматы ASCII. При импорте создается таблица Access, а при экспорте таблицы Access – файл в заданном формате. Связывание (или присоединение) означает, что внешние данные используются напрямую, без создания таблицы Access. Можно связываться с данными форматов Dbase, Paradox, FoxPro, Excel, ASCII и SQL Server. Еще одной мощной возможностью системы Access является связывание с внешними таблицами с последующим использованием данных из этих таблиц в других таблицах. Таким образом можно поступать с данными в форматах Access, FoxPro, Dbase. Paradox и SQL Server. Возможности DDE и OLE В Access с помощью DDE (Dynamic Date Exchange – динамический обмен данными) и OLE (Object Linking and Embedding – связывание и внедрение объектов) к формам и отчетам можно добавлять разнообразные объекты. Это могут быть звуки, изображения, графики и даже видеоклипы. Пользователь имеет возможность как внедрять объекты, например растровые изображения или документы текстовых процессоров (таких, как Word или Word Perfect), так и устанавливать связь между полями таблиц Access и, например ячейками в электронных таблицах Excel или Lotus 1-2-3. Связывание объектов с записями в таблицах Access позволяет создавать динамические формы баз данных и совместно использовать информацию в различных приложениях Windows. Информация для пользователей электронных таблиц Те, кто знакомы с Excel, заметят, что Access во многом похож на Excel. Прежде всего, обе программы являются продуктами для Windows, т.е. у вас уже должен быть опыт использования специфичных для Windows соглашений, которые можно использовать в Access. Данные таблицы или запроса Access отображаются в виде электронной таблицы, которую принято называть таблицей данных. Вы обнаружите, что размер строк и столбцов таблицы данных можно изменять так же, как в рабочих таблицах Excel. Фактически режим ввода данных Access ничем не отличается от аналогичного режима Excel. Ваша задача – ввести данные и озаглавить столбцы, а всю остальную работу выполнит Access. 6
Как уже упоминалось, Access, подобно Excel, поддерживает режим WYSIWYG и использует то же самое графическое приложение. Таким образом, в обеих программах можно создавать однотипные графики и дополнять их комментариями. Кроме того, Access использует мастер диаграмм, с которым вы могли встречаться в Excel. В Access, как и в Excel, имеется мастер сводных таблиц, который может создавать сводные таблицы Excel. Информацию из базы данных Access можно вставлять в таблицу Excel и связывать базы данных Access с таблицами Excel. Access может обмениваться данными со всеми продуктами Microsoft Office. Контекстно-зависимая справка и Помощник Справочная система фирмы Microsoft является лучшей среди аналогичных программ как для новичков, так и для опытных пользователей. Access позволяет использовать контекстно-зависимую справку, для получения которой достаточно нажать клавишу . Какие бы вы не испытывали затруднения при работе с системой, вам поможет появляющаяся на экране справка по интересующей теме. Помимо этого, справочная система Access имеет удобные и простые в использовании содержание, предметный указатель, систему поиска, журнал хронологии и закладки. В локализованной версии Access (как и во всем Microsoft Office ) компания Microsoft предоставляет средство – Помощник. Помощник отвечает на вопросы, выдает советы и справки об особенностях используемой программы.
7
2. РАЗРАБОТКА РЕЛЯЦИОННОЙ (МНОГОТАБЛИЧНОЙ) БАЗЫ ДАННЫХ 2.1. Теоретические аспекты разработки реляционной базы данных Для более эффективной работы с СУБД Access важно знать терминологию и понимать принцип построения и основные преимущества реляционной базы данных. Система баз данных поддерживает в памяти ЭВМ модель предметной области. Однако результат моделирования зависит не только от предметной области, но и от используемой СУБД, поскольку каждая система предоставляет свой инструментарий для отображения предметной области. Этот инструментарий принято называть моделью данных. В то же время результат отображения предметной области в терминах модели данных называется моделью баз данных. Модель данных определяется тремя компонентами: допустимой организацией данных; ограничениями целостности (семантической), множеством операций, допустимых над объектами модели данных. Допустимая организация данных определяется разнообразием и количеством типов объектов модели данных, ограничениями на структуру данных. Ограничения целостности поддерживаются средствами, предусмотренными в модели данных для выражения ограничений на значения данных и связи, которые характеризуют достоверные состояния БД. Ряд ограничений целостности поддерживается моделью данных по умолчанию и распространяется на все типовые ситуации, возникновение которых возможно при внесении изменений в БД. Другие ограничения целостности могут зaдaвaтьcя явно и также распространяться на множество однотипных ситуаций. Ограничения целостности могут распространяться и на значения отдельных полей. Например, если при описании поля записи задать область допустимых значений, то система не допустит обновления данного, если новое значение будет квалифицировано как некорректное. Множество операций определяет виды обработок, которым могут подвергаться объекты модели данных. Сюда, в первую очередь, входят операции выборки данных и операции, изменяющие состояние БД. Рассмотрим подробнее организацию данных и ограничения целостности 8
(допустимые операции будут рассмотрены при практической работе с базой данных). Организация данных Слово «реляционная» происходит от английского relation – отношение. Отношение – математическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы. При этом строки таблицы соответствуют кортежам отношения, а столбцы – атрибутам. Атрибут, значения которого однозначно идентифицируют кортежи, называется ключом (простым ключом), т.е. столбец (поле), у которого данные в строках уникальны (не повторяются), может быть определен как ключ. В некоторых отношениях кортежи идентифицируются конкатенацией (объединением) нескольких атрибутов. Тогда говорят, что отношение имеет составной ключ. Это означает, что данные в строках каждого из столбцов составного ключа могут повторяться, но комбинация данных каждой строки этих столбцов является уникальной. Например, в таблице СТУДЕНТЫ есть столбцы ФАМИЛИЯ и ГОД РОЖДЕНИЯ. В каждом из столбцов есть некоторые повторяющиеся данные, т. е. одинаковые фамилии и одинаковые года рождения. Но если студенты, имеющие одинаковые фамилии, имеют разные года рождения, то эти столбцы можно использовать в качестве составного ключа. В Access можно выделить три типа ключевых полей: простой ключ; составной ключ; счетчик. Поле счетчика содержит номера строк и Access обычно предлагает его в качестве ключа, если не выбрано другое ключевое поле. Совет. Понятие ключа имеет важное значение в реляционных базах данных. Задание ключевых полей в таблицах не только позволит защитить базу от ввода неправильных значений и сохранить ее целостность, но и ускорит поиск информации в больших по объему базах. Поэтому, когда Access предлагает задать ключевое поле, не отказывайтесь сразу от этого, а подумайте, какое поле может содержать неповторяющиеся данные и все-таки задайте ключ для таблицы. Конечно, можно всегда отказываться от задания ключевых полей (так, казалось бы, проще и понятней), но тем самым Вы лишите себя многих достоинств реляционной базы данных. 9
Одно из важнейших достоинств реляционных баз данных состоит в том, что вы можете хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов. Поясним это на примере. Допустим, что в базе надо хранить данные о студентах (фамилия, изучаемая дисциплина) и преподавателях (фамилия, номер кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией каждого студента, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избыточность данных. А если хранить данные о студенте в одной таблице, о преподавателе – в другой и установить связь между полями «читаемая дисциплина» – «изучаемая дисциплина» (фактически это одинаковые поля), то избыточность хранимых данных многократно уменьшится без ущерба для логической организации информации. В Access можно задать три вида связей между таблицами: «один–ко– многим», «многие–ко–многим» и «один–к–одному». Связь «один–ко–многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B (эти записи называют внешними ключами), а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A. При связи «многие–ко–многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B – несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит из, по крайней мере, двух полей, одно из которых является общим с таблицей А, а другое – общим с таблицей В. При связи «один–к–одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением «один–к–одному» используют для разделения очень широких таблиц, для отделения части табли10
цы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице. Целостность данных Целостность данных означает систему правил, используемых в Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия: связанное поле главной таблицы является ключевым полем или имеет уникальный индекс; связанные поля имеют один тип данных (здесь существует исключение – поле счетчика может быть связано с числовым полем), если в последнем в свойстве Размер поля указано значение «Длинное целое»; обе таблицы принадлежат одной базе данных Access, если таблицы являются связанными, то они должны быть таблицами Access; для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта; для связанных таблиц из баз данных других форматов установить целостность данных невозможно. 2.2. Постановка задачи Требуется разработать базу данных ДЕКАНАТ, содержащую четыре таблицы: СТУДЕНТЫ, ПРЕПОДАВАТЕЛИ, ДИСЦИПЛИНЫ, ОЦЕНКИ. Таблица СТУДЕНТЫ должна содержать следующие поля: Код студента; Фамилия; Имя; Отчество; Номер группы; Адрес; Телефон; Дата рождения; Медалист. Таблица ПРЕПОДАВАТЕЛИ должна содержать следующие поля: Код преподавателя; Фамилия; 11
Имя; Отчество; Дата рождения; Должность; Стаж; Телефон. Таблица ДИСЦИПЛИНЫ должна содержать следующие поля: Код дисциплины; Название дисциплины; Код преподавателя; Номер семестра; Экзамен. Таблица ОЦЕНКИ должна содержать следующие поля: Код студента; Код дисциплины; Номер семестра; Оценка. Необходимо разработать формы для ввода данных во все таблицы. Необходимо создать следующие запросы: Студенты заданной группы; Оценки студентов заданной группы по заданной дисциплине; Перекрестный запрос: средний балл групп по дисциплинам; Увеличение на 10% зарплаты тех преподавателей, кто получает менее 2000 р.; Удаление отчисленных студентов; (создание архива). Все запросы должны быть оформлены в виде форм: Разработать сложную форму; Необходимо разработать итоговый отчет по дисциплинам, группам и среднему баллу групп по данным дисциплинам; Необходимо разработать кнопочную форму-меню для работы с базой данных.
12
Лабораторная работа № 1 СОЗДАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ И УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ 1. Создайте базу данных ДЕКАНАТ, выполнив следующие действия: загрузите Access, в появившемся окне выберите пункт НОВАЯ БАЗА ДАННЫХ, затем нажмите кнопку OK; в окне ФАЙЛ НОВОЙ БАЗЫ ДАННЫХ задайте имя – вашу фамилию (пункт ИМЯ ФАЙЛА) и выберите папку с номером вашей группы (пункт ПАПКА), где ваша база будет находиться (по умолчанию Access предлагает вам имя базы db1., а тип файла – БАЗЫ ДАННЫХ ACCESS), выбор диска для хранения БД, уточняется у преподавателя; нажмите кнопку СОЗДАТЬ. 2. Создайте структуру таблицы ПРЕПОДАВАТЕЛИ. Для этого: в окне базы данных выберите вкладку ТАБЛИЦЫ, а затем нажмите кнопку СОЗДАТЬ; в окне НОВАЯ ТАБЛИЦА выберите пункт КОНСТРУКТОР и нажмите кнопку OK; в результате проделанных операций открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы; определите поля таблицы в соответствии с табл 1. Таблица 1 Имя поля
Тип данных
Размер поля
Код преподавателя
Числовой
Целое
Фамилия
Текстовый
15
Имя
Текстовый
13
Отчество
Текстовый
15
Дата рождения
Дата/время
( м аск а )
Должность
Мастер подстановок
25 поле со списком
Стаж
Числовой
Целое (условие на значение > 0, вывод соответствующего сообщения об ошибке)
Кафедра
Текстовый
11
Телефон
Текстовый
9 ( м аск а)
Зарплата
Денежный
13
При определении поля ДАТА РОЖДЕНИЯ используем маску для удобного ввода даты (т. е. в датах точки будут вводится автоматически). Для этого в Свойства полей на вкладке Общие установите курсор на поле маска, справа появится кнопка с тремя точками – нажмите на нее. В появившемся окне создания масок выбирайте КРАТКИЙ ФОРМАТ ДАТЫ. В поле ДОЛЖНОСТЬ используем мастер подстановок для того, чтобы не вводить, а выбирать из списка нужную должность с использованием ввода должности, которой нет в списке. В режиме СОЗДАНИЯ ПОДСТАНОВОК выбираем ФИКСИРОВАННЫЙ НАБОР ЗНАЧЕНИЙ, далее создаем 1-й столбец с должностями: профессор; доцент; старший преподаватель; ассистент. Закончив создание списка в режиме конструктора на вкладке ПОДСТАНОВКА, посмотрите появившиеся изменения после работы мастера. Проверьте строку ОГРАНИЧИТЬСЯ СПИСКОМ, в котором должно стоять слово НЕТ. В поле СТАЖ в общих свойствах поля установите УСЛОВИЕ НА ЗНАЧЕНИЕ > 0, СООБЩЕНИЕ ОБ ОШИБКЕ введите – стаж должен быть больше 0. В поле ТЕЛЕФОН наберите маску для ввода 999-99-99, которая позволит не набирать тире в номере телефона при вводе в поле (подробнее о маске см. help). В качестве ключевого задайте поле КОД ПРЕПОДАВАТЕЛЯ. Закройте таблицу ПРЕПОДАВАТЕЛИ в режиме конструктора. Откройте таблицу ПРЕПОДАВАТЕЛИ и введите первую строку из табл. 5. При вводе стажа преподавателя введите отрицательный стаж – 17. Остальная часть этой таблицы также будет заполняться в режиме формы. 3. Таблица СТУДЕНТ (табл. 2) будет импортирована из таблицы EXCEL ( файл студент.xls местонахождение таблицы узнать у преподавателя). Меню ФАЙЛ/ВНЕШНИЕ ДАННЫЕ/ИМПОРТ. Отредактируйте созданную таблицу в режиме конструктора. 14
Таблица 2 Имя поля
Тип данных
Размер поля
Код студента
Числовой
Целое
Фамилия
Текстовый
15
Имя
Текстовый
12
Отчество
Текстовый
15
Номер группы
Числовой
Целое
Адрес
Текстовый
30
Телефон
Текстовый
9 ( м аск а)
Медалист
Текстовый
4 Поле со списком (Да/ Нет) по умолчанию Нет
В качестве ключевого задайте поле КОД СТУДЕНТА. Для этого щелкните по полю КОД СТУДЕНТА и выполните команду ПРАВКА⇒ КЛЮЧЕВОЕ ПОЛЕ. Для удобства ввода телефона задайте маску (см. поле ТЕЛЕФОН таблицы ПРЕПОДАВАТЕЛИ). В поле МЕДАЛИСТ создайте ПОЛЕ СО СПИСКОМ без ввода новых значений, а также задайте ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ “Нет” ( кавычки обязательны). 4. Создайте структуру таблицы ДИСЦИПЛИНЫ аналогично п.2 в соответствии с табл. 3. Таблица 3 Имя поля
Тип данных
Размер поля
Код дисциплины
Числовой
Целое
Название дисциплины
Текстовый
30
Номер семестра
Числовой
Целое
Код преподавателя
Числовой
Целое (мастер подстановок)
Экзамен
Текстовый
4 (поле со списком Экз./Зач.)
15
В качестве ключевого задайте поле КОД ДИСЦИПЛИНЫ. Поле КОД ПРЕПОДАВАТЕЛЯ будет заполнятся при помощи мастера подстановок из таблицы ПРЕПОДАВАТЕЛИ. Из доступных полей таблицы ПРЕПОДАВАТЕЛИ выберите: КОД ПРЕПОДАВАТЕЛЯ, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, скройте ключевое поле. После работы мастера при заполнении поля КОД ПРЕПОДАВАТЕЛЯ таблицы будут отображатся ФИО преподавателя для выбора, но в таблице ДИСЦИПЛИНЫ поле КОД ПРЕПОДАВАТЕЛЯ будет оставаться числовым целым. Поле ЭКЗАМЕН заполняйте при помощи поля со списком двух значений Экз. или Зач. Закройте таблицу ДИСЦИПЛИНЫ. Откройте таблицу ДИСЦИПЛИНЫ и введите первую строку из табл. 7. При вводе кода преподавателя выбирите фамилию Истомина Ремира Евгеньевича. Оставшаяся часть таблицы будет заполняться в режиме формы. 5. Таблица ОЦЕНКИ будет импортирована из базы данных ОЦЕНКИ (файл оценки.mdb). Местонахождение файла узнать у преподавателя. Меню ФАЙЛ/ВНЕШНИЕ ДАННЫЕ/ИМПОРТ. 6. Отредактируйте структуру таблицы ОЦЕНКИ аналогично в соответствии с табл. 4. Таблица 4 Имя поля
Тип данных
Размер поля
Код студента
Числовой
Целое
Код дисциплины
Числовой
Целое
Номер семестра
Числовой
Целое
Оценки
Числовой
Байт
Ключ будет составной: КОД СТУДЕНТА, КОД ДИСЦИПЛИНЫ, НОМЕР СЕМЕСТРА (в режиме конструктора выделите три поля и задайте ключ). Эта таблица уже заполнена. Разработайте схему данных, т.е. создайте связи между таблицами. Для этого: Выполните команду СЕРВИС⇒ СХЕМА ДАННЫХ. На экране появится окно СХЕМА ДАННЫХ. 16
Выполните команду СВЯЗИ⇒ДОБАВИТЬ ТАБЛИЦУ. В появившемся окне будет выделено название одной таблицы. Нажмите кнопку ДОБАВИТЬ. Переведите выделение на имя следующей таблицы и нажмите кнопку ДОБАВИТЬ. Аналогично добавьте оставшиеся две таблицы. Закройте окно нажав кнопку ЗАКРЫТЬ. Создайте связь между таблицами ДИСЦИПЛИНЫ и ОЦЕНКИ. Для этого подведите курсор мыши к полю КОД ДИСЦИПЛИНЫ в таблице ДИСЦИПЛИНЫ, нажмите левую клавишу мыши и, не отпуская ее, перетащите курсор на поле КОД ДИСЦИПЛИНЫ в таблице ОЦЕНКИ, а затем отпустите левую клавишу мыши. На экране откроется окно СВЯЗИ. Щелкните по ячейке ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ – в ней должна появиться галочка. Щелкните по ячейкам КАСКАДНОЕ ОБНОВЛЕНИЕ СВЯЗАННЫХ ПОЛЕЙ и КАСКАДНОЕ УДАЛЕНИЕ СВЯЗАННЫХ ЗАПИСЕЙ. Информация. Задание каскадного обновления связанных полей и каскадного удаления связанных записей позволит редактировать записи только в таблице ДИСЦИПЛИНЫ, а в таблице ОЦЕНКИ эти действия будут со связанными записями выполняться автоматически. Например, если вы удалите из таблицы ДИСЦИПЛИНЫ один предмет, то в таблице ОЦЕНКИ удалятся все строки, связанные с этим предметом. Нажмите кнопку СОЗДАТЬ. Связь будет создана. Аналогично создайте связи между полем КОД ПРЕПОДАВАТЕЛЯ в таблице ПРЕПОДАВАТЕЛИ и полем КОД ПРЕПОДАВАТЕЛЯ в таблице ДИСЦИПЛИНЫ, а также между полем КОД СТУДЕНТА в таблице СТУДЕНТЫ и полем КОД СТУДЕНТА в таблице ОЦЕНКИ. Закройте окно схемы данных, ответив ДА на вопрос о сохранении макета. Результаты работы представьте преподавателю.
17
Лабораторная работа № 2 СОЗДАНИЕ ОДНОТАБЛИЧНЫХ ФОРМ ДЛЯ ВВОДА ДАННЫХ В ТАБЛИЦЫ Access предоставляет широкие возможности для создания форм – графического диалогового интерфейса пользователя. Формы позволяют добавлять и удалять записи в таблицах, изменять значения полей, получать расчетные данные. Простейшая форма на основе одной таблицы может быть создана при выборе одного из режимов АВТОФОРМЫ: В СТОЛБЕЦ, ЛЕНТОЧНАЯ, ТАБЛИЧНАЯ. АВТОФОРМА В СТОЛБЕЦ является одноразовой. В ней поля располагаются в столбец, а в окне формы одна запись и кнопки перехода к другим записям (рекомендуется использовать автоформу в столбец, если исходная таблица содержит много полей). Остальные автоформы многоразовые, т. е. поля размещаются в одной строке и несколько записей в окне. Все автоформы не предоставляют возможности выбора стиля оформления и выбирают все поля таблицы. Однако после создания автоформы, войдя в режим конструктора, можно доработать ее в нужном направлении, т. е. отредактировать. Формы могут быть получены и при помощи Мастера форм, который в режиме диалога с пользователем позволяет выбирать одну или несколько исходных таблиц, отображать только необходимые поля, предоставляет стили для их оформления. Создайте формы для ввода данных в таблицы. Для этого: Откройте вкладку ФОРМЫ. Нажмите кнопку СОЗДАТЬ. В открывающемся списке выберите таблицу ДИСЦИПЛИНЫ. Выберите пункт АВТОФОРМА: В СТОЛБЕЦ. Нажмите кнопку OK. Форма для ввода данных создана (рис. 1). Заполните форму данными. Аналогично создайте форму для ввода данных в таблицу ПРЕПОДАВАТЕЛИ (рис. 2). Заполните форму данными (пример данных для ввода в табл. 5). 18
Рис. 1. Форма дисциплины
Рис. 2. Форма преподаватели
Совет. Переход между ячейками лучше выполнять клавишей Tab или мышью. Существуют и другие варианты перехода по строкам или полям с помощью различных клавиш и их сочетаний, но они реже требуются, да в них и запутаться несложно. Обычно их используют опытные пользователи, не любящие работать с мышью. Создайте ленточную автоформу на основе таблицы СТУДЕНТ (рис. 3 и 4). Данные в таблице СТУДЕНТ импортированы из файла. Сверьте их с табл. 6 и 7.
19
20
Таблица 5 Код Фамилия студента
Имя
Д ат а рожд.
Отчество
Должность Стаж
Кафедра
Телефон
Зарплата, р.
1
Истомин
Ремир
Евгеньевич
23.10.54 Доцент
17
Информатики
110-44-68
2000
2
Миронов
Павел
Юрьевич
25.07.40 Профессор
35
Экономики
312-21-40
3000
3
Гришин
Евгений
Сергеевич
05.12.67 Доцент
8
Ф и зи к и
260-23-65
2000
4
Сергеева
Ольга
Ивановна
12.02.72 Ассистент
3
Математики
234-85-69
1500
5
Емец
Татьяна
Ивановна
16.02.51 Доцент
24
Экономики
166-75-33
2000
6
Ипатова
Татьяна
Павловна
30.05.66 Доцент
8
Информатики 210-36-98
2000
7
Коробков Валентин
Андреевич
30.07.48 Профессор
36
Аэродинамики 166-75-33
3500
Таблица 6 Код студента
Фамилия
Имя
Отчество
Номер группы
Адрес
Телефон
Медалист
1
Арбузов
Николай
Николаевич
151
Пр. Славы 18-2-177
260-15-63
Да
2
Киршин
Петр
Валерьевич
151
Пер. Матвеев 3-21
110-67-82
Да
3
Кривинский Сергей
Николаевич
151
ул. Димитрова 12-133
172-97-21
Нет
4
Крылова
Елена
Петровна
151
ул. Тамбасова 21-66
130-31-87
Да
5
Кульчий
Григорий
Викторович
151
ул. Турку 21-3-69
269-53-75
Да
Окончание табл. 6 Код студента
Фамилия
Имя
Отчество
Номер группы
Адрес
Телефон
Медалист
21
6
Патрикеев
Олег
Борисович
151
пр. Стачек 12-52
234-11-63
Нет
7
Перлов
Кирилл
Николаевич
151
ул. Декабристов 21-33
312-21-33
Нет
8
Соколова
Наталия
Петровна
151
ул. Тамбовская 9-7
166-87-24
Нет
9
Степанская
Ольга
Витальевна
151
ул. Типанова 4-53
293-43-77
Да
10
Тимофеев
Сергей
Трофимович
151
пр. Славы 10-1-145
260-11-57
Да
11
Белых
Ярослав
Игоревич
152
пр. Жукова 17-3-56
Да
12
Григорьев
Константин Петрович
152
пр. Жукова 17-3-56
Нет
13
Вирская
Полина
Андреевна
152
ул. Седова 12-35
233-87-44
Да
14
Витязев
Евгений
Николаевич
152
ул. Ивановская 10-37
234-55-87
Да
15
Демченко
Григорий
Евгеньевич
152
пр. Стачек 54-78
277-12-05
Нет
16
Куликова
Анна
Сергеевна
152
ул. Авиационная 6-86
290-24-45
Да
17
Крылова
Татьяна
Николаевна
152
пл. Тургенева 7-4
114-84-62
Да
18
Митяев
Сергей
Григорьевич
152
пр. Жукова 17-3-56
19
Шевченко
Игорь
Олегович
152
пр. Московский 205-143
293-63-93
Нет
20
Яковлев
Олег
Петрович
152
ул. Софийская 45-2-57
269-94-83
Да
Нет
Таблица 7 Код дисциплины
Название дисциплины
Семестр
Код преподавателя
Экзамен
1
Информатика
1
1
Экз.
2
Экономика
1
2
Экз.
3
Ф и зи к а
1
3
Экз.
4
Менеджмент
1
2
Экз.
5
Маркетинг
1
2
Зач.
6
Математика
1
4
Зач.
Преобразуйте в режиме конструктора форму ПРЕПОДАВАТЕЛИ к виду, показанному на рис. 3.
Рис. 3. Форма преподаватели
Для этого: Увеличьте область заголовка и примечания формы. Для добавления новых элементов управления в форму воспользуйтесь ПАНЕЛЬЮ ЭЛЕМЕНТОВ (меню ВИД или кнопка на панели инструментов). В области заголовка разместите элемент НАДПИСЬ и введите ПРЕПОДАВАТЕЛИ. Измените расположение полей в области данных так, как показано на рис. 3. Совет. Для изменения размера или положения элемента его необходимо предварительно выделить. Если указатель мыши принимает форму раскрытой ладони можно перетащить элемент (надпись и поле) в 22
новое место. Перетащить поле и присоединенную к нему надпись можно независимо друг от друга, когда указатель мыши принимает форму сжатой ладони с вытянутым указательным пальцем). Для выделения нескольких элементов необходимо удерживать нажатой клавишу . Чтобы выровнять элементы по размеру или расположению можно воспользоваться пунктом меню Формат. Добавьте рисунок. Преобразуйте форму СТУДЕНТ в режиме конструктора.
Рис. 4. Форма студент
Добавьте заголовок СТУДЕНТЫ в области заголовка. В области примечания разместите кнопки перехода между записями и кнопку закрытия формы. Таблица 8 Код студента 1 1 1 1 2 2 2 2 3
Код дисциплины 1 2 4 6 1 2 4 6 1
Номер семестра 1 1 1 1 1 1 1 1 1
Оценки 4 5 4 4 5 5 4 4 3
23
Продолжение табл. 8 Код студента 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11
24
Код дисциплины 6 1 2 4 6 1 2 4 6 1 2 4 6 1 2 4 6 1 2 4 6 1 2 4 6 1 2 4 6 1 2 4 6 1 2 3 6
Номер семестра 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Оценки 4 3 5 4 3 4 4 5 4 5 5 5 5 5 4 5 4 4 3 4 3 3 5 5 4 4 4 4 4 5 5 5 4 5 5 5 5
Продолжение табл. 8 Код студента 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 15 16 16 16 16 17 17 17 17 18 18 18 18 19
Код дисциплины 1 2 3 6 1 2 3 6 1 2 3 6 1 2 3 6 1 2 3 6 1 2 3 6 1 2 3 6 1 2 3 6 1
Номер семестра 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Оценки 5 5 5 5 3 3 4 2 5 5 5 5 4 5 5 5 4 4 4 3 5 5 4 5 4 5 4 4 4 5 5 3 3
25
Окончание табл. 8 Код студента 19 19 19 20 20 20 20
Код дисциплины 2 3 6 1 2 3 6
Номер семестра 1 1 1 1 1 1 1
Оценки 2 3 2 4 4 4 4
При помощи МАСТЕРА ФОРМ создайте форму для таблицы ОЦЕНКИ. Выбор внешнего вида сделайте самостоятельно. Сверьте данные в форме с табл. 8, так как они были импортированы из файла. Предъявите результаты вашей работы преподавателю
26
Лабораторная работа № 3 ФОРМИРОВАНИЕ ЗАПРОСОВ ДЛЯ МНОГОТАБЛИЧНОЙ БАЗЫ ДАННЫХ Типы запросов: Запрос на Выборку – выбирает данные из взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Перекрестный Запрос – предназначен для группирования данных и представления их в компактном виде, удобен для анализа. В соответствии с заданием начните формировать запросы. Запрос на Создание Таблицы – основан на запросе на выборку, но результат сохраняется в таблице Запросы на Обновление, Добавление, Удаление – Запросы ДЕЙСТВИЯ, в результате которых изменяются данные в таблице. 1. Создайте запрос на выборку, в котором на экран должен выводиться состав 151 группы. Для этого: откройте вкладку ЗАПРОСЫ; нажмите кнопку СОЗДАТЬ; в появившемся окне выберите ПРОСТОЙ ЗАПРОС и нажмите кнопку OK; в появившемся окне в ячейке ТАБЛИЦЫ/ЗАПРОСЫ выберите из раскрывающегося списка таблицу СТУДЕНТЫ; перенесите все поля из окна ДОСТУПНЫЕ ПОЛЯ в окно ВЫБРАННЫЕ ПОЛЯ; нажмите кнопку ДАЛЕЕ; выводить надо все поля, поэтому еще раз нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ГРУППА; нажмите кнопку ГОТОВО; на экране появится таблица с данными запроса, но вам надо, чтобы при выполнении запроса спрашивался номер группы (для реализации этого перейдите в режим конструктора); в строке УСЛОВИЯ ОТБОРА для поля НОМЕР ГРУППЫ введите 151; выполните запрос, выполнив команду ЗАПРОС⇒ ЗАПУСК; на экране появится таблица с данными о студентах 151 группы; сохраните запрос и закройте таблицу запроса. Внимание! В строке УСЛОВИЯ ОТБОРА могут применятся операции сравнения и логические операции, интервалы (Between And), шаб27
лон (Like), встроенные функции (например, DATE() текущая дата), выражения (DATE() – 10 десять дней назад). Для просмотра запроса в режиме SQL необходимо воспользоваться пунктом меню ВИД – РЕЖИМ SQL. 2. Создайте запрос с параметрами, в котором выводятся оценки студентов заданной группы по заданной дисциплине. Для этого: на вкладке ЗАПРОСЫ нажмите кнопку СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС и нажмите OK; выберите таблицу СТУДЕНТЫ и перенесите поля ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, НОМЕР ГРУППЫ в окно ВЫДЕЛЕННЫЕ ПОЛЯ; Внимание! В дальнейшем под фразой В ТАБЛИЦЕ … ВЫБЕРИТЕ ПОЛЕ … будем понимать выбор таблицы, выбор поля и перенос его в окно ВЫДЕЛЕННЫЕ ПОЛЯ. в таблице ДИСЦИПЛИНЫ выберите поле НАЗВАНИЕ ДИСЦИПЛИНЫ; в таблице ОЦЕНКИ выберите поле ОЦЕНКИ, вы сформировали 6 полей запроса – они связаны между собой посредством схемы данных; нажмите кнопку ДАЛЕЕ, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ОЦЕНКИ ГРУППЫ, затем щелкните по ячейке ИЗМЕНЕНИЕ СТРУКТУРЫ ЗАПРОСА (в ней должна появиться черная точка) – это позволит сразу перейти в режим конструктора; нажмите кнопку ГОТОВО; в строке УСЛОВИЯ ОТБОРА для поля НОМЕР ГРУППЫ введите фразу в квадратных скобках: [Введите номер группы]; в строке УСЛОВИЯ ОТБОРА для поля НАЗВАНИЕ ДИСЦИПЛИНЫ введите фразу: [Введите название дисциплины]; выполните запрос; в первом появившемся диалоговом окне введите 152, затем нажмите OK, во втором – ИНФОРМАТИКА и нажмите OK; на экране появится таблица со списком 152-й группы и оценками по информатике; сохраните запрос и закройте таблицу запроса. 3. Создайте перекрестный запрос о среднем балле в группах по дисциплинам. Но такой запрос строится на основе одной таблицы или одного запроса. Поэтому надо сначала сформировать запрос, в котором были бы поля НОМЕР ГРУППЫ, НАЗВАНИЕ ДИСЦИПЛИНЫ и ОЦЕНКИ. Для этого: 28
на вкладке ЗАПРОСЫ нажмите кнопку СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС и нажмите OK; выберите из таблицы СТУДЕНТЫ поле НОМЕР ГРУППЫ; выберите из таблицы ДИСЦИПЛИНЫ поле НАЗВАНИЕ ДИСЦИПЛИНЫ; выберите из таблицы ОЦЕНКИ поле ОЦЕНКИ; нажмите кнопку ДАЛЕЕ, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ДИСЦИПЛИНЫ ОЦЕНКИ ГРУППЫ; нажмите кнопку ГОТОВО; сохраните запрос и закройте таблицу запроса. Теперь можно создавать перекрестный запрос. Для этого: на вкладке ЗАПРОСЫ нажмите кнопку СОЗДАТЬ; выберите ПЕРЕКРЕСТНЫЙ ЗАПРОС и нажмите кнопку OK; щелкните по ячейке ЗАПРОСЫ, выберите ДИСЦИПЛИНЫ ОЦЕНКИ ГРУППЫ и нажмите кнопку ДАЛЕЕ; для заголовков строк выберите поле НАЗВАНИЕ ДИСЦИПЛИНЫ и нажмите кнопку ДАЛЕЕ; для заголовков столбцов выберите поле НОМЕР ГРУППЫ и нажмите кнопку ДАЛЕЕ; выберите функцию AVG, т.е. среднее значение (она по умолчанию уже выделена) и нажмите кнопку ДАЛЕЕ; введите название запроса СРЕДНИЕ ОЦЕНКИ и нажмите кнопку ГОТОВО; откроется таблица перекрестного запроса; обратите внимание на то, что Access создает еще итоговое значение средних оценок по дисциплинам; закройте таблицу запроса. 4. Создайте итоговый запрос ОТЛИЧНИКИ с выполнением вычислений над группами записей. Для этого: на вкладке ЗАПРОСЫ нажмите СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС; в таблице студенты выберите поля ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, НОМЕР ГРУППЫ, а в таблице ОЦЕНКИ выберите поле ОЦЕНКИ; нажмите кнопку ДАЛЕЕ, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ОТЛИЧНИКИ; щелкните по ячейке ИЗМЕНЕНИЕ СТРУКТУРЫ ЗАПРОСА; 29
нажмите кнопку ГОТОВО. Информация. Для создания этого запроса нужно воспользоваться операцией группировки. Будем считать отличниками тех студентов, которые набрали за четыре экзамена 20 баллов. Операция группировки позволит просуммировать оценки студентов по всем экзаменационным дисциплинам. для выполнения групповых операций нажмите на панели инструментов клавишу или выполните команду ВИД⇒ ГРУППОВЫЕ ОПЕРАЦИИ; в строке ГРУППОВЫЕ ОПЕРАЦИИ поля ОЦЕНКИ щелкните по ячейке групповые операции. Откройте раскрывающийся список и выберите функцию SUM; в строке УСЛОВИЯ ОТБОРА поля ОЦЕНКИ введите 20; выполните полученный запрос. 5. Создайте запрос с использованием вычисляемых полей из таблицы ПРЕПОДАВАТЕЛИ: В запросах, в отличие от таблиц, над полями могут производиться вычисления. При этом могут использоваться как арифметические выражения, так и встроенные функции ACCESS. Вычисляемое поле , включенное в запрос позволяет получить новое поле с результатами вычислений только в ТАБЛИЦЕ ЗАПРОСА и не создает полей в таблицах БД. Сформировать выражение можно при помощи ПОСТРОИТЕЛЯ ВЫРАЖЕНИЙ, который запускается из контекстного меню, связанного со строкой УСЛОВИЕ ОТБОРА на бланке или при помощи соответствующей кнопки на панели инструментов. При составлении выражений имена полей заключаются в квадратные скобки, символьные константы – в кавычки, имена объектов БД отделяются от полей “!” на вкладке ЗАПРОСЫ нажмите кнопку СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС; в таблице ПРЕПОДАВАТЕЛИ выберите поля ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, КАФЕДРА, ДОЛЖНОСТЬ, ДАТА РОЖДЕНИЯ; нажмите кнопку ДАЛЕЕ, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ВОЗРАСТ ПРЕПОДАВАТЕЛЕЙ; нажмите кнопку ГОТОВО; выберите вариант ИЗМЕНЕНИЕ СТРУКТУРЫ ЗАПРОСА; в режиме конструктора нужно добавить поле, которого нет в таблице ПРЕПОДАВАТЕЛИ; 30
это вычисляемое поле ВОЗРАСТ, которое вычисляется следующим образом из текущей даты вычесть дату рождения преподавателя и полученную разность разделить на 366, так как разница дат получится в днях. Для этого в заголовке вычисляемого поля при помощи контекстного меню вызвать команду ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ и набрать следующее выражение: ВОЗРАСТ (DATE()-[ПРЕПОДАВАТЕЛИ]![ДАТА_РОЖД])/366, где DATE() текущая дата; Нажмите кнопку ГОТОВО. Информация. При составлении выражений имена полей заключаются в квадратные скобки , символьные константы - в кавычки , имена объектов БД отделяются от полей “!” . 6. Создайте запрос действие на изменение зарплаты преподавателей в таблице ПРЕПОДАВАТЕЛИ. Для этого: на вкладке ЗАПРОСЫ нажмите СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС; в таблице ПРЕПОДАВАТЕЛИ выберите поле ЗАРПЛАТА; нажмите кнопку ДАЛЕЕ, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ИЗМЕНЕНИЕ ЗАРПЛАТЫ; щелкните по ячейке ИЗМЕНЕНИЕ СТРУКТУРЫ ЗАПРОСА; нажмите кнопку ГОТОВО; в строке УСЛОВИЯ ОТБОРА введите < 2000; откройте пункт меню ЗАПРОС и выберите ОБНОВЛЕНИЕ; в строке конструктора запроса ОБНОВЛЕНИЕ в поле ЗАРПЛАТА введите [ЗАРПЛАТА]*1,1; выполните запрос, подтвердив готовность на обновление данных; закройте запрос, подтвердив его сохранение; откройте форму ПРЕПОДАВАТЕЛИ; просмотрите изменение зарплаты у преподавателей, получающих меньше 2000 р.; закройте форму. 7. Создайте запрос на создание архива для отчисленных студентов и на удаление студента гр. 152 Шевченко Игоря Олеговича из таблицы СТУДЕНТЫ. Для этого: на вкладке ЗАПРОСЫ нажмите СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС; в таблице СТУДЕНТЫ выберите все поля; выберите ПОДРОБНЫЙ ОТЧЕТ и нажмите кнопку ДАЛЕЕ; 31
в появившемся окне введите имя запроса СОЗДАНИЕ_АРХИВА; щелкните по кнопке ИЗМЕНЕНИЕ СТРУКТУРЫ ЗАПРОСА; нажмите кнопку ГОТОВО; в строке УСЛОВИЯ ОТБОРА введите: в поле ФАМИЛИЯ – [ввод фамилии], в поле ИМЯ – [ввод имени], в поле ОТЧЕСТВО – [ввод отчества], в поле НОМЕР ГРУППЫ – [ввод группы]; откройте пункт меню ЗАПРОС и выберите команду СОЗДАНИЕ ТАБЛИЦЫ; выполните запрос СОЗДАНИЕ АРХИВА; для этого в режиме диалога введите данные о студенте помещаемом в архив ШЕВЧЕНКО ИГОРЬ ОЛЕГОВИЧ, ГРУППА – 152; в результате выполнения запроса на СОЗДАНИЕ АРХИВА должна появиться новая таблица АРХИВ; посмотрите ее содержание, там должна быть запись о студенте ШЕВЧЕНКО ИГОРЕ ОЛЕГОВИЧЕ; создайте запрос на удаление записи из таблицы СТУДЕНТЫ, предварительно помещенной в АРХИВ; на вкладке ЗАПРОСЫ нажмите кнопку СОЗДАТЬ; выберите ПРОСТОЙ ЗАПРОС; в таблице СТУДЕНТЫ выберите все поля и нажмите кнопку ДАЛЕЕ; выберите подробный отчет, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в появившемся окне введите имя запроса ОТЧИСЛЕНИЕ СТУДЕНТА; щелкните по кнопке ИЗМЕНЕНИЕ СТРУКТУРЫ ЗАПРОСА; откройте пункт меню ЗАПРОС и выберите УДАЛЕНИЕ; в строке УСЛОВИЯ ОТБОРА введите: в поле ФАМИЛИЯ – [ввод фамилии], в поле ИМЯ –[ввод имени], в поле ОТЧЕСТВО – [ввод отчества], в поле НОМЕР ГРУППЫ – [ввод группы]; закройте запрос; выполните запрос ОТЧИСЛЕНИЕ СТУДЕНТА; для этого введите фамилия – ШЕВЧЕНКО, имя – ИГОРЬ, отчество – ОЛЕГОВИЧ, номер группы – 152; откройте форму СТУДЕНТЫ и убедитесь в удалении записи о студенте ШЕВЧЕНКО; закройте форму. Самостоятельно создайте запрос на добавление в АРХИВ других записей таблицы СТУДЕНТ и назовите его ДОБАВЛЕНИЕ В АРХИВ и 32
запрос на ВОССТАНОВЛЕНИЕ СТУДЕНТА из АРХИВА в таблицу СТУДЕНТ. Для каждого из созданных запросов создайте форму (можно рекомендовать автоформу в столбец или ленточную автоформу), удобную для просмотра данных. При создании этих форм воспользуйтесь рекомендациями в пп. 3 и 4. Результаты работы представьте преподавателю.
33
Лабораторная работа № 4 РАЗРАБОТКА СЛОЖНОЙ СОСТАВНОЙ ФОРМЫ СО ВСТРОЕНОЙ ДИАГРАММОЙ Разработайте сложную форму, в которой с фамилиями преподавателей были бы связаны подчиненная форма ЧИТАЕМЫЕ ДИСЦИПЛИНЫ и подчиненная форма ОЦЕНКИ СТУДЕНТОВ. В форме должна присутствовать диаграмма, графически отражающая оценки студентов. Для этого: 1. На вкладке ФОРМЫ нажмите СОЗДАТЬ. 2. Выберите МАСТЕР ФОРМ и, не выбирая таблицу или запрос, нажмите кнопку OK. 3. В таблице ПРЕПОДАВАТЕЛИ выберите поля ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, КАФЕДРА. 4. В таблице ДИСЦИПЛИНЫ выберите поле НАЗВАНИЕ ДИСЦИПЛИНЫ. 5. В таблице СТУДЕНТЫ выберите поля КОД СТУДЕНТА, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, НОМЕР ГРУППЫ. 6. В таблице ОЦЕНКИ выберите поле ОЦЕНКИ. 7. Нажмите кнопку ДАЛЕЕ. 8. В появившемся окне вариант построения формы нас удовлетворяет, поэтому нажмите кнопку ДАЛЕЕ. 9. Для верхней подчиненной формы выберите ленточный тип, для нижней – оставьте табличный и нажмите кнопку ДАЛЕЕ. 10. Выберите желаемый стиль оформления формы и нажмите кнопку ДАЛЕЕ. 11. Введите название формы ПРЕПОДАВАТЕЛИ И ОЦЕНКИ. 12. Нажмите кнопку ГОТОВО и просмотрите полученную форму. Если вас не удовлетворяет расположение полей на экране, измените их, для этого: перейдите в режим конструктора; стандартными средствами Windows переместите поля и подчиненные формы, а также измените их размеры так, чтобы были видны все данные и не было много пустого места; для этого надо (как правило, многократно) переключаться из режима конструктора в режим формы, смотреть полученный результат и, если он не подходит, снова корректировать в режиме конструктора. 13. Вставьте в форму диаграмму ОЦЕНКИ СТУДЕНТОВ. Для этого: переключитесь в режим конструктора; 34
выполните команду ВИД⇒ ПАНЕЛЬ ЭЛЕМЕНТОВ; на этой панели нажмите “Аа” (надпись); создайте прямоугольник для надписи заголовка ПРЕПОДАВАТЕЛИ над полями данных о преподавателях. (для этого переведите курсор в левый верхний угол будущего прямоугольника, нажмите левую клавишу мыши и, не отпуская ее, доведите до правого нижнего угла, затем отпустите клавишу); введите надпись ПРЕПОДАВАТЕЛИ; выполните команду ВСТАВКА⇒ ДИАГРАММА; на свободном месте формы растяните прямоугольник для диаграммы (нажмите левую клавишу мыши в левом верхнем углу и, не отпуская клавиши, растяните прямоугольник до правого нижнего угла, затем отпустите клавишу); выберите таблицу оценки и нажмите кнопку ДАЛЕЕ; выберите поля КОД СТУДЕНТА и ОЦЕНКИ; нажмите кнопку ДАЛЕЕ; выберите вид диаграммы ГИСТОГРАММА (по умолчанию он и стоит) и нажмите кнопку ДАЛЕЕ; дважды щелкните СУММА ОЦЕНКИ, выберите ОТСУТСТВУЕТ и нажмите кнопку OK; нажмите кнопку ДАЛЕЕ; в ячейке ПОЛЯ ФОРМЫ выберите из раскрывающегося списка КОД ПРЕПОДАВАТЕЛЯ, а в ячейке ПОЛЯ ДИАГРАММЫ выберите КОД ДИСЦИПЛИНЫ и нажмите кнопку ДАЛЕЕ; задайте название диаграммы ОЦЕНКИ и нажмите кнопку ДАЛЕЕ. 14. Отредактируйте вид осей диаграммы. Для этого: дважды щелкните по диаграмме; дважды щелкните по значениям вертикальной оси; выберите вкладку ШКАЛА; уберите галочку у надписи МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ, а в ячейке справа от этого названия введите 5 и нажмите кнопку OK; закройте окно Microsoft Graph. Перейдите в режим таблицы и просмотрите форму для разных преподавателей (нажимая клавишу перехода к следующей записи в нижней части формы). Вы увидите изменение названий дисциплин, связанных с преподавателями, а также оценок студентов по этим дисциплинам, и изменение диаграмм, отображающих эти оценки. Результаты работы представьте преподавателю. 35
Лабораторная работа № 5 СОЗДАНИЕ ОТЧЕТОВ С ВЫЧИСЛЯЕМЫМИ ПОЛЯМИ И ИТОГОВЫМИ ДАННЫМИ Отчеты создаются на основе одной или нескольких взаимосвязанных таблиц или запросов в режиме КОНСТРУКТОРА, или с использованием МАСТЕРА с возможной доработкой в режиме КОНСТРУКТОРА. Режим КОНСТРУКТОРА ОТЧЕТОВ похож на режим КОНСТРУКТОРА ФОРМ. Самые простые отчеты создаются автоматически – автоотчеты. В процессе конструирования отчета формируется состав и содержимое разделов отчета, размещение в нем значений, выводимых из полей связанных таблиц БД формируются заголовки, размещаются вычисляемые поля. Средства конструирования отчета позволяют группировать данные по нескольким уровням. Для каждого уровня может производиться вычисление итогов, определяться заголовки и примечания Создайте автоотчеты: ленточный на основании таблицы ДИСЦИПЛИНЫ; в столбец на основании таблицы ПРЕПОДАВАТЕЛИ. Создайте отчет по итогам сессии. В отчете оценки студентов должны быть сгруппированы по номерам групп и дисциплинам. Для каждого студента должна вычисляться средняя оценка в сессию, а для каждой группы должно вычисляться среднее значение оценок по всем предметам. Для выполнения этого задания сначала надо создать запрос, содержащий необходимые данные. Для этого: на вкладке ЗАПРОСЫ нажать кнопку СОЗДАТЬ; выбрать ПРОСТОЙ ЗАПРОС и нажать кнопку OK; из таблицы СТУДЕНТЫ выбрать поля ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, НОМЕР ГРУППЫ, из таблицы ДИСЦИПЛИНЫ выбрать поле НАЗВАНИЕ ДИСЦИПЛИНЫ, из таблицы ОЦЕНКИ выбрать поле ОЦЕНКИ и нажать ДАЛЕЕ; нажать еще раз кнопку ДАЛЕЕ; ввести название запроса СЕССИЯ и нажать кнопку ГОТОВО; закрыть запрос. Для создания ИТОГОВОГО ОТЧЕТА выполните следующее: на вкладке ОТЧЕТЫ нажать кнопку СОЗДАТЬ; выбрать МАСТЕР ОТЧЕТОВ, из раскрывающегося списка выбрать запрос СЕССИЯ и нажать кнопку OK; 36
выберите все поля запроса и нажмите ДАЛЕЕ; тип представления данных нас удовлетворяет, поэтому нажмите ДАЛЕЕ; добавьте уровень группировки по номеру группы, выбрав в левом окне НОМЕР ГРУППЫ и перенеся его в правое окно; нажмите ДАЛЕЕ; нам надо вычислять средний балл, поэтому нажмите кнопку ИТОГИ; поставьте галочку в ячейке поля AVG (это функция вычисляет среднее) и нажмите OK; сортировка не требуется, так как данными являются название дисциплины и оценки, порядок которых не столь важен, поэтому нажмите OK; выберите макет отчета; рекомендуем ступенчатый, так как он занимает меньше места и в нем наглядно представлены данные, хотя это дело вкуса; нажмите ДАЛЕЕ; выберите стиль отчета и нажмите ДАЛЕЕ; введите название отчета ИТОГИ СЕССИИ, нажмите ГОТОВО. Доработайте выведенный отчет в режиме конструктора: введите заголовок отчета – ИТОГИ СЕССИИ; вставьте кнопку, которая вызовет печать отчета; замените в отчете надпись функции AVG на надпись СРЕДНЕЕ ЗНАЧЕНИЕ; удалите ненужную служебную информацию- (Итоги для “ & “‘Фамилия’ =” )”. На экране появится отчет. Его можно просмотреть, изменяя масштаб (кликированием по листу) и перелистывая страницы (в нижней части экрана). Его можно также распечатать, выполнив команду ФАЙЛ⇒ ПЕЧАТЬ. После завершения необходимых операций закройте окно просмотра отчета. Результаты работы представьте преподавателю.
37
Лабораторная работа № 6 ЗАВЕРШЕНИЕ РАБОТЫ НАД БАЗОЙ ДАННЫХ: РАЗРАБОТКА КНОПОЧНОГО МЕНЮ Кнопочное меню представляет собой форму, на которой расположены элементы управления – кнопки с поясняющими надписями. Нажатие кнопки открывает соответствующую таблицу, запрос, форму или отчет. Меню – это очень удобный инструмент работы с базой данных и оно практически всегда присутствует в базах, созданных для предприятий или фирм. Кнопочное меню можно создать вручную (в режиме конструктора) или воспользовавшись диспетчером кнопочных форм. Меню, созданные вручную, могут обладать большими возможностями и выглядеть более привлекательно, чем меню, созданные диспетчером. Однако для создания красивого меню вручную требуется достаточно много времени даже для опытного разработчика, а создать простое меню диспетчером можно за несколько минут, тем более, что впоследствии в режиме конструктора можно дополнить и изменить это меню. Поэтому остановимся на варианте создания меню с помощью диспетчера кнопочных форм. Для создания кнопочного меню проделайте следующие действия: 1. Продумайте функции кнопок в кнопочном меню. Например, кнопка 1 будет открывать форму ПРЕПОДАВАТЕЛИ для просмотра или изменения данных, кнопка 2 будет открывать перекрестный запрос о среднем балле в группах по дисциплинам и так далее. Необходимо создать 4 кнопки для открытия соответствующих форм для просмотра и ввода данных во все 4 таблицы, одну кнопку – для просмотра сложной формы, соответствующее количество кнопок для просмотра всех запросов и одну кнопку для просмотра отчета. Совет. При создании кнопочного меню с помощью диспетчера кнопочных форм предусмотрены только команды работы с формами и отчетами, а для работы с запросами надо создавать соответствующие макросы. Поэтому перед началом работы с диспетчером кнопочных форм создайте макросы на открытие соответствующих запросов. 2. Выполните команду СЕРВИС⇒ СЛУЖЕБНЫЕ ПРОГРАММЫ⇒ ДИСПЕТЧЕР КНОПОЧНЫХ ФОРМ. На вопрос, надо ли создавать новое кнопочное меню нажмите кнопку ДА. Автоматически будет создана кнопочная форма Main Switchboard, которая будет главной по умолчанию. 38
3. Для ввода новых кнопок нажмите кнопку ИЗМЕНИТЬ. 4. В открывшемся окне нажмите кнопку СОЗДАТЬ (имеется в виду создать новую кнопку для выполнения определенного действия). 5. В открывшемся окне в поле ТЕКСТ введите название кнопки (например, СОТРУДНИКИ, либо ДАННЫЕ О СОТРУДНИКАХ), в поле КОМАНДА выберите из раскрывающегося списка нужную команду, а в третьем поле, появляющемся для большинства команд, выберите нужный объект и нажмите OK. 6. Для создания остальных кнопок повторите пп. 5 и 6 необходимое количество раз. 7. После ввода всех кнопок закройте окно изменения страницы кнопочной формы и окно диспетчера кнопочной формы. 8. На вкладке ФОРМЫ измените название Main Switchboard на Кнопочное меню. 9. Откройте форму Кнопочное меню. 10. Войдите в режим КОНСТРУКТОР и измените название поля db1 на ДЕКАНАТ, воспользовавшись пунктом СВОЙСТВА из меню правой кнопки мыши (предварительно выделив поле и наведя на него курсор мыши). 11. Войдите в режим просмотра формы Кнопочное меню и проверьте, правильно ли работают все кнопки. Внимание! Для возврата в меню из любой открытой формы, запроса или отчета достаточно закрыть их. Результаты работы представьте преподавателю.
39
Библиографический список 1. Дейт К. Введение в системы баз данных: Пер. с англ. М.: Изд. дом «Вильямс», 2000. 848 с. 2. Хансен Г., Хансен Д. Базы данных: разработка и управление: Пер. с англ. М.: БИНОМ, 1999. 704 с. 3. Карпова Т. Базы данных. Модели, разработка, реализация. СПб.: Питер, 2001. 4. Вейскас Дж. Эффективная работа с Microsoft Access 2000 / Пер. с англ. В. Широкова. СПб.,–М.,–СПб.,–Киев: Питер, 2000.
40
Содержание 1. ОБЩИЕ СВЕДЕНИЯ .......................................................................... 1.1. Что такое Access ............................................................................... 1.2. Что может Access ............................................................................. 2. РАЗРАБОТКА РЕЛЯЦИОННОЙ (МНОГОТАБЛИЧНОЙ) БАЗЫ ДАННЫХ ...................................................................................... 2.1. Теоретические аспекты разработки реляционной базы данных Организация данных ............................................................................... Целостность данных ................................................................................ 2.2. Постановка задачи ........................................................................... Лабораторная работа № 1. Создание структуры базы данных и установление связей между таблицами ............................................ Лабораторная работа № 2. Создание однотабличных форм для ввода данных в таблицы .................................................................. Лабораторная работа № 3. Формирование запросов для многотабличной базы данных ................................................................ Лабораторная работа № 4. Разработка сложной составной формы со встроеной диаграммой .......................................................... Лабораторная работа № 5. Создание отчетов с вычисляемыми полями и итоговыми данными .............................................................. Лабораторная работа № 6. Завершение работы над базой данных: разработка кнопочного меню .................................................. Библиографический список ...................................................................
1 1 2 8 8 9 11 11 13 18 27 34 36 38 40
41