Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
______________________________________________________________________
ПРАКТИКУМ ПО ИНФАРМАЦИОННЫМ ТЕХНОЛОГИЯМ
Методические указания к лабораторным работам
для студентов факультета ЛА
всех форм обучения.
Новосибирск
Составил: ассистент С. Г. Расторгуев
Рецензент: канд. техн. наук, доц. Н. В. Третьякова
Работа подготовлена кафедрой прочности летательных аппаратов
|
Новосибирский государственный технический университет,
|
ОГЛАВЛЕНИЕ
ЛАБОРАТОРНАЯ РАБОТА №1
Основные понятия. СУБД Microsoft Access 4
ЛАБОРАТОРНАЯ РАБОТА №2
Структуры хранения данных. Таблицы 12
ЛАБОРАТОРНАЯ РАБОТА №3
Формирование связей между таблицами. Типы связей 23
ЛАБОРАТОРНАЯ РАБОТА №4
Фильтры. Запросы на выборку: простые запросы, запросы с параметром 31
ЛАБОРАТОРНАЯ РАБОТА №5
Запросы на выборку: сложные запросы. Запросы на обновление 40
ЛАБОРАТОРНАЯ РАБОТА №6
Создание форм, работа с ними. Типы форм 49
ЛАБОРАТОРНАЯ РАБОТА №7
Оформление данных в отчёты 57
ПРИЛОЖЕНИЕ. Набор данных 61
ЛАБОРАТОРНАЯ РАБОТА №1
Основные понятия. СУБД Microsoft Access
Цель работы
Знакомство с интерфейсом приложения Microsoft Access® (далее – просто Access), его основные сходства и отличия от приложения Microsoft Excel® (далее – Excel); создание собственной базы данных, ознакомление с её основными компонентами – таблицами, запросами, формами и отчётами.
Описание
Основные понятия о базах данных
База данных (БД) – структурированная, организованная на машинном носителе совокупность взаимосвязанных данных, содержащая сведения о различных сущностях одной предметной области – реальных объектах, процессах, событиях или явлениях. Система управления базами данных (СУБД) – это универсальный комплекс программ, предназначенный для создания и управления базой данных. Основными функциями СУБД являются:
журнализация изменений данных с возможностью их восстановления;
управление данными во внешней и оперативной памяти;
поддержка интерфейсов;
контроль прав доступа к данным.
То есть БД – это сами данные, а СУБД – это надстройка над БД в виде программного обеспечения, которая является своего рода посредником между БД и её пользователями, рисунок 1.
Рисунок 1 – Организация работы с БД
БД и СУБД являются частями такого более общего понятия, как информационная система (ИС). ИС – это совокупность содержащейся в базах данных информации и обеспечивающих её обработку информационных технологий и технических средств. То есть, ИС объединяет в себе БД, СУБД и связанные с ними прикладные программы. В более широком смысле в ИС включают также организационные ресурсы, такие как люди, финансовые ресурсы, которые обеспечивают и распределяют информацию, прочие технические и иные ресурсы, так или иначе имеющие отношение к возможности получения, модификации и хранения требуемой информации (рис. 1).
Реляционное представление данных
Организация данных в БД может производиться различными способами, но наиболее распространенным является реляционное представление данных. Это множество взаимосвязанных двумерных таблиц, в каждой из которых содержатся сведения об одной сущности. Каждая такая таблица имеет следующие характеристики:
все столбцы в таблице однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.);
каждый столбец имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов неважен.
Как мы видим, в отличие от Excel, где строки и столбцы равнозначны, здесь это не так: строки есть элементы самих данных, а столбцы – элементы их структуры. Поэтому далее мы будем называть строки – записями, а столбцы полями. Одна запись содержит ровно один экземпляр данных (человек, автомобиль, сделка, мероприятие), одно поле – ровно один признак (свойство) всех экземпляров данных в таблице (дата рождения, цвет, сумма, описание).
Следует отметить, что верно записанная таблица в Excel, когда данные в столбце имеют одинаковый тип и т. д., также будет базой данных (см. определение). Но только Access в пакете Microsoft Office поддерживает механизм реляционных баз данных.
Поля вместе с данными в них подразделяют на полезные и служебные. Полезные данные имеют силу как в СУБД, так и вне её. Например, пусть в СУБД «Паспортный стол» есть запись о серии и номере паспорта Петрова, который переезжает в другой город. Запись об уезжающем гражданине стирают вместе с паспортными данными. Однако несмотря на этот факт, сам Петров при этом остался с тем же паспортом. Следовательно, данные о серии и номере паспорта являются полезными.
Служебные данные имеют силу только в СУБД. Они, как правило, используются для обеспечения связей между таблицами, для ускорения поиска в таблицах и т. п.
Кратко опишем основные преимущества развитых современных моделей данных, в числе которых и реляционная модель.
Минимизация дублирования полезных данных. Как мы видим на рисунке 2 слева, в ранних моделях данных, фамилия трейдера повторяется при каждой совершённой им сделке. Во-первых, это занимает лишнее место на машинных носителях, во-вторых – значительно усложняет модификацию дублируемых данных. Если, к примеру, трейдер Васнецова выйдет замуж и сменит фамилию, то новую фамилию придётся менять в каждой записи с её сделками. Всех этих недостатков лишена реляционная модель, рисунок 2 справа.
Рисунок 2 – Разделение данных в реляционных таблицах
Обеспечение целостности данных средствами СУБД. О соответствии табличных данных друг другу заботится в основном программа, надо только единожды определить связь. Тем самым значительно облегчается труд пользователей БД.
Возможность получения различных логических данных из одних и тех же физических данных, рисунок 3. Пусть у нас хранятся фамилии, имена и отчества работников. Требуются оформить два отчёта: в одном из них работники должны быть перечислены по фамилии и инициалам, а в другом – полностью по ФИО. В этом случае нет нужды хранить инициалы отдельно от имени-отчества – СУБД возьмёт на себя требуемый вид извлекаемых данных.
Рисунок 3 – Получение различных логических данных из одних физических данных
К существенным недостаткам реляционных СУБД следует отнести лишь большее время извлечения данных, поскольку в общем случае они находятся в разных таблицах, и их необходимо соединять при каждом выполнении запроса. Однако при нынешних производительностях компьютеров данный недостаток уже не так актуален.
Типы СУБД
Существует очень большая классификация СУБД по самым различным критериям. Мы здесь коснёмся только того, что нам потребуется для дальнейшей работы.
Итак, по уровню использования СУБД подразделяют на однопользовательские и многопользовательские. В однопользовательских СУБД одновременно может работать только один человек. В многопользовательских СУБД могут работать в одно и то же время несколько человек. Это порождает множество конфликтов (так называемых коллизий), когда два или более человека одновременно обрабатывают одни и те же данные.
По используемой модели данных различают СУБД дореляционные, реляционные, постреляционные и некоторые специфические.
Место и роль СУБД Access
Необходимость программировать всегда сдерживала широкое внедрение баз данных в малом бизнесе. Крупные предприятия могли позволить себе сделать заказ на программирование специализированной системы «под себя». Малым предприятиям зачастую не по силам было не только решить, но даже и правильно сформулировать эту задачу.
Положение изменилось с появлением в составе пакета Microsoft Office® многопользовательской реляционной системы управления базами данных Access. С помощью Access обычные пользователи получили удобное средство для создания и эксплуатации достаточно мощных реляционных баз данных от создания таблиц и связей до оформления различных отчётов в одном приложении без лишней необходимости что-либо программировать. В то же время работа с Access не исключает возможности программирования. При желании систему можно развивать и настраивать собственными силами. Для этого надо владеть основами программирования на языке Visual Basic for Applications (VBA).
Несмотря на то что СУБД Access поддерживает многопользовательский режим работы, в рамках данного курса мы не коснёмся данного аспекта и будем работать только в однопользовательском режиме.
Объекты
После создания файла базы данных на экране появляется панель (окно), которое позволяет работать с различными компонентами хранения и представления информации, называемыми объектами.
Дадим краткое описание этих объектов.
Таблицы – основа базы данных. Весь набор собственно данных хранится в таблицах. Это – единственный тип объектов, который хранится в самой БД, рисунок 1.
Запросы – средство извлечения информации из базы данных (причем информация может быть распределена между несколькими таблицами), добавления, удаления и модификации данных таблицы и её структуры. Эти и последующие объекты хранятся в СУБД, рисунок 1.
Формы используется для ввода информации и просмотра таблиц в окне формы. Позволяет ограничить объем информации на экране и представить ее в требуемом виде.
Отчеты необходимы для вывода на печать информации, содержащейся в базе данных, в нужном представлении.
Страницы предоставляют возможность доступа к данным через сетевые ресурсы (локальная сеть, Интернет). Поскольку они связаны с многопользовательским интерфейсом, в рамках этого курса они не рассматриваются.
Макросы предназначены для автоматизации часто выполняемых операций.
Модули – набор кодов на языке программирования Visual Basic for Applications (VBA) для компилирования и выполнения всевозможных действий в СУБД. Модули представляют собой максимально широкий механизм в рамках Access.
В рамках данного курса мы рассмотрим только таблицы, запросы, формы и отчёты.
Особенности интерфейса
Сходства между Access и Excel очевидны. Это, прежде всего, табличная организация данных и типизированность ячеек таблицы. Неслучайно именно между этими двумя приложениями имеются самые широкие возможности экспорта и импорта. Кроме того, все приложения Office одной версии имеют похожий интерфейс пользователя касательно общих команд (создать, открыть, сохранить, отменить и т. п.).
После запуска Access по умолчанию не создается новый файл базы данных, как в Word или в Excel. Следует помнить, что без его создания невозможно продолжить работу с Access в отличие от работы в тех же Word либо Excel, где можно сначала модифицировать созданную по умолчанию документ или книгу, а уже потом сохранить. Эта особенность связана с тем, что всю вводимые данные Access сразу заносит в файл БД на диск. Поэтому сохранять сами данные в БД во время или после работы с ней не нужно. А вот сохранять структуру всех объектов необходимо. В Word и в Excel же сначала абсолютно все изменения находятся в оперативной памяти. И лишь при сохранении вручную или автосохранении они записываются на диск. При этом, в случае если не было перезапуска самого приложения, остаётся возможность для отмены всех видов изменений.
Ещё одно отличие заключается в том, что в Word и в Excel есть только один режим работы с документом, а в Access – два (см. ниже).
Расширение, присваиваемое по умолчанию базе данных, созданной в Access 2007 или более поздней версии, – accdb. Его можно не указывать при создании нового файла – при необходимости Access сделает это самостоятельно.
Режимы работы с СУБД
С организационной точки зрения в работе с объектами любой СУБД есть два разных режима: проектировочный и эксплуатационный. В этом заключается ещё одно отличие Access по сравнению с Excel, где имеется только один режим работы с документом.
Разработчик базы имеет право создавать в ней новые объекты, задавать их структуру, менять свойства полей, устанавливать необходимые связи, проверять свою СУБД на тестовом наборе данных и т. д. Он работает как с данными, так и со структурой базы и имеет полный доступ ко всем объектам. У одной базы может быть один или несколько разработчиков.
Пользователь базы – это лицо, которое наполняет ее информацией с помощью форм, обрабатывает данные с помощью готовых запросов и получает результат в виде результирующих таблиц или отчетов. У одной базы могут быть миллионы пользователей, и конечно, доступ к структуре базы для них закрыт.
Проектировочный режим в Access называется «Конструктор», активируется одноимённой командой. Она открывает структуру объекта и позволяет править не содержимое, а устройство изнутри. Если это таблица, то правится не данные в ней, а сама структура таблицы – имена полей, типы их данных и другие атрибуты. Если это форма, то в ней можно создавать и редактировать элементы управления. Очевидно, что этот режим служит не для пользователей базы, а для ее разработчиков.
Эксплуатационный режим в Access называется «Режим таблицы», «Режим формы» и т. п., активируется командой «Открыть» или двойным щелчком по объекту. В этом режиме вводятся, редактируются либо просматриваются непосредственно сами данные.
Создание новых объектов также предназначено для разработчиков СУБД. Таблицы, запросы, формы и отчеты можно создавать несколькими разными способами: автоматически (только для форм и отчётов на основе одной таблицы или запроса), с помощью мастера или в режиме конструктора.
Следует подчеркнуть, что во избежание проблем настоятельно не рекомендуется одновременно открывать объект в разных режимах. Например, пока вы не закроете таблицу в эксплуатационном режиме, невозможно сохранение ее структуры в проектировочном, даже если в ней пока вообще нет никаких данных.
Эксплуатационный режим таблиц
Эксплуатационный режим таблиц также называют режимом ввода данных. Поскольку у студентов уже имеется опыт работы с Excel, остановимся лишь на специфических нюансах интерфейса Access.
После определения структуры таблицы приступают к заполнению её данными. Кроме рассмотренных режимов открытия таблицы, возможен быстрый переход между пользовательским и эксплуатационным режимами с помощью левой верхней кнопки на панели инструментов. Нажатие на изображение чертёжных инструментов (угольника, линейки и карандаша) означает переход в режим конструктора, нажатие на изображение таблицы – в режим ввода данных.
Удаления и правки структуры существующих полей после введения данных в таблицу следует по возможности избегать! В крайнем случае, нужно строго контролировать весь процесс во избежание потери данных и нарушения целостности СУБД.
Рисунок 4 – Таблица в эксплуатационном режиме
Итак, в режиме ввода данных сверху, сразу над самой верхней записью, всегда находятся названия полей, рисунок 4 – Поле1, Поле2 и Поле3. Область слева предназначена для контроля при редактировании данных в таблице. Курсор мыши при попадании на эту область меняется.
Выделенная строка указывает на активную запись. Она, подобно текстовому курсору, всегда единственна.
Выбор активной записи осуществляется нажатием левой клавиши мыши на соответствующем квадратике в области слева. Например, на рисунке 4 слева выделена вторая запись. Удерживая нажатой клавишу мыши, можно выделить связную область из нескольких записей. Для выделения всех записей нужно щелкнуть на самом верхнем левом квадратике. Выделение, как правило, применяется для копирования или удаления записи или набора записей.
Переход от записи к записи и от поля к полю осуществляется либо нажатием левой клавиши мыши на любом поле любой записи, либо клавишами Tab, Shift+Tab, , , , , либо кнопками на панели перехода по записям внизу окна таблицы. Переход к другой записи автоматически делает её активной.
Самая нижняя строка таблицы, помеченная звёздочкой, существует для добавления новой записи. После добавления записи звёздочка автоматически смещается вниз.
При начале модификации записи (а модификация любого поля неизбежно влечёт за собой модификацию всей записи) треугольник на области слева сменяется пишущим карандашом, рисунок 4, справа. Это означает, что запись пытаются изменить, но изменения пока ещё не зафиксированы, а значит, обратимы. В любой момент до фиксации можно нажать клавишу Escape, отменив только что сделанные изменения в последнем модифицируемом поле. Повторное нажатие Escape приведёт к отмене всех последних изменений во всех полях данной записи.
Как только либо модифицируемая запись была выделена, либо какая-нибудь другая запись стала активна (переход курсора или выделение другой записи), либо таблица была закрыта изменения фиксируются и отмене не подлежат. Изображение карандаша обратно сменяется треугольником.
Проектировочный режим: средства создания объектов
В зависимости от выбора приоритетов СУБД Access предоставляет в проектировочном режиме различные средства для создания объектов (таблиц, запросов, форм, отчётов). Рассмотрим основные из них.
Мастер
Для всех рассматриваемых нами объектов предусмотрена возможность их создания с помощью мастера. Мастер – это встроенная программа, призванная ускорить разработку стандартных баз данных (например, «Телефонная книга», «Покупки», «Обучение») с помощью диалогового пошагового интерфейса. Пользователь выбирает стандартные поля из предложенного списка, отвечает на прочие необходимые вопросы и в итоге получает готовую структуру таблицы.
Из всего сказанного следует, что данное средство разработки делает упор на малое время разработки в ущерб чаяниям заказчика базы.
Конструктор
Конструктор предполагает в рамках СУБД Access максимальное использование возможностей при создании объектов, затратив при этом несколько больше времени, чем при помощи мастера.
При создании таблицы с помощью конструктора открывается окно конструктора таблиц, разделённое на 2 части. В верхней части вводится имя поля, выбирается его тип и описание. В нижней части выбираются все остальные свойства для текущего поля.
После создания либо редактирования структуры таблицы в любом из режимов необходимо сохранить объект.
|