Информатика
Базы данных. Понятие и определение. СУБД ACCESS
План урока:
Понятие информационной системы и базы данных
Интерфейс СУБД Access: режимы «макет» и «конструктор»
Объекты СУБД Access. Таблицы. Запросы. Формы
Пошаговая инструкция по созданию базы данных в Access
Понятие информационной системы и базы данных
Информационной называют систему, предназначенную для сбора, обработки, хранения и передачи информации. Это многогранный, сложный комплекс взаимосвязей между аппаратным и программным обеспечением, хранилищами данных, коммуникационными сетями, а также людьми, которые такие системы создают, поддерживают или используют.
Фундаментом информационных систем и информационных технологий является информационное обеспечение – совокупность инструментов, позволяющих:
- описать информационные потоки в системе;
- определить систему классификации объектов;
- привести все виды документов к единым форматам;
- создать единое пространство для взаимодействия.
Старая бумажная картотека в читальном зале библиотеки – это тоже информационная система: в ней есть и получение, и обработка, и хранение, и передача информации, однако все эти операции выполняются вручную, что очень неэффективно. Повысить производительность, надежность, качество и безопасность информационных систем помогает широкое использование компьютерной техники, заменяющей ручной труд. Такая замена называется автоматизацией.
Возможности СУБД
В автоматизированных информационных системах скорость поиска и обработки информации настолько высока, что позволяет человеку осуществлять выбор без промедления и решать недоступные ранее задачи. Водитель, получая оперативные данные о «пробках» на дорогах, может за считанные секунды после их появления изменить свой маршрут. Человек, не умеющий готовить какое-то изысканное блюдо, может стать специалистом по его приготовлению, если ему дали время просмотреть соответствующий видеоурок в сети Интернет.
В первом примере данные от сотен тысяч источников поступают в единую информационную систему контроля ситуации на дорогах, но через несколько минут становятся никому не нужными, потому что теряют свою актуальность. Во втором примере, наоборот, видео, записанное одним человеком, хранилось несколько лет, прежде чем пригодилось кому-то. Для разных задач существуют разные способы хранения информации, определяемые типом базы данных.
База данных (БД) – это специальным образом организованная совокупность данных, хранящаяся в электронном виде в компьютерной системе.
Программное обеспечение, которое обеспечивает взаимодействие базы данных с пользователями и приложениями называется системой управления базами данных (СУБД).
Виды баз данных
По способу хранения данных и организации связей между ними, базы данных делятся на несколько видов:
- иерархическая;
- сетевая;
- реляционная;
- объектно-ориентированная;
- гибридная.
Рисунок 1 – Виды баз данных
Такое разнообразие обусловлено эволюционным характером развития систем управления базами данных, которое неразрывно связано с развитием технических средств ЭВМ. До 60-х годов прошлого века основным носителем информации была магнитная лента, чтение с которой можно было осуществлять только в последовательном режиме. С появлением магнитных дисков стал возможен прямой доступ к любой позиции файла базы данных и зародилась концепция навигационных хранилищ, к которым относятся иерархическая СУБД и сетевая СУБД. В навигационных хранилищах к элементам данных добавляются ссылки на другие данные, а путь к каждому элементу может быть представлен последовательностью переходов по ссылкам.
В 1970 году британский ученый, сотрудник IBM, Эдгар Франк Кодд предложил модель реляционной баз данных, в которой данные ищутся не по ссылкам, а по содержанию. Вычислительные мощности компьютеров того времени не позволяли в полной мере реализовать основные возможности этой СУБД, но уже в 1990-х годах реляционные системы заняли доминирующую позицию и удерживают ее до сих пор.
В наши дни развиваются так называемые «постреляционные» модели баз данных, к которым относятся объектно-ориентированная и гибридная.
Иерархическая база данных
В иерархической модели данные объединены в древовидную структуру, в корневом элементе которой есть ссылки на узлы, расположенные на втором уровне иерархии, а в узлах второго – на узлы третьего, и так далее. Такая конструкция называется ориентированный граф.
Рисунок 2 – Иерархическая модель данных
Достоинство модели – простота доступа. Например, если корневой узел – это дом, узлы второго уровня – квартиры, третьего – жильцы, а программа должна найти человека, чтобы доставить письмо, то можно просто последовательно перемещаться по графу, читая адрес на конверте.
Недостатком является наличие у каждого элемента только одной связи с элементом более высокого уровня. Допустим, что связь между квартирой и жильцом появляется, если у жильца есть ключ. В такой схеме жилец дома не сможет уехать в отпуск и попросить соседа полить цветы, отдав ему ключ, так как в этом случае у соседа образуется вторая связь с более высоким уровнем, а это в иерархической модели невозможно.
Сетевая база данных
Сетевая модель по способу записи элементов похожа на иерархическую, но связи можно строить между любыми узлами графа, а не только «сверху-вниз».
Рисунок 3 – Сетевая модель данных
Достоинством данной модели является возможность построения взаимосвязей между элементами, не ограничиваясь иерархической или иной строгой топологией.
Недостатки:
- сложность реализации;
- невозможность изменять структуру связей без изменения всех использующих базу программ.
Реляционная база данных
Слово «реляционный» в названии этой модели произошло от латинского «relativus» – относительный. Структура взаимосвязей между элементами в реляционных базах данных представляет собой набор отношений, оформленных в табличной форме.
Рисунок 4 – Реляционная модель данных
В этой модели данные организуются в табличной форме, где каждая запись – это отдельная строка, имеющая уникальный признак, называемый ключом. Строки принято называть записями, а столбцы – полями.
Каждая таблица такой базы данных описывает некоторую сущность, поля таблицы – атрибуты этой сущности, а записи отвечают за конкретные экземпляры. Например, в таблице «квартира» полями могут быть: «номер», «этаж», «площадь», «количество комнат», а каждая запись – это конкретная квартира с конкретным номером, этажом и площадью. Ключом в данном случае может служить номер квартиры. Другой сущностью может быть человек, у которого будут свои атрибуты – «имя», «пол», «дата рождения». Ключом будет, например, имя. Для того чтобы «поселить» конкретного человека в конкретную квартиру, нужно связать между собой эти две сущности, для этого в специальной таблице связей делается запись о том, что одно из полей таблицы «человек» будет содержать ключ таблицы «квартира».
Взаимодействие с базой данных осуществляется с помощью языка структурированных запросов SQL, который имеет схожий синтаксис во всех реляционных СУБД.
Достоинства реляционной модели данных:
– независимость данных от программ их обработки;
– простота понимания структуры таблиц;
– наличие универсального языка запросов.
Недостатки:
– не всегда данные удобно представлять в табличном виде;
– дополнительный расход памяти;
– низкая производительность в некоторых задачах.
Объектно-ориентированная база данных
В объектно-ориентированной модели данных сущности хранятся в виде совокупности объектов, с тем определением термина «объект», которое принято в объектно-ориентированном программировании:
– объекты имеют сложную структуру, гораздо более сложную, чем просто строки в таблице;
– большая часть данных внутри объекта недоступна извне напрямую, а только через специализированный интерфейс доступа;
– объекты могут создаваться и уничтожаться;
– поддерживается механизм наследования, когда объект-потомок может получать свойства объекта-предка.
Рисунок 5 – Объектно-ориентированная модель данных
Одной из главных причин появления этого типа баз данных стала следующая ситуация: самая распространенная парадигма программирования на данный момент – объектная, а самая распространенная модель данных – реляционная. Программистам приходится делать двойную работу: описывать взаимодействие объектов в программе на одном языке программирования, а потом выгружать эти объекты в таблицы, используя SQL. Объектно-ориентированная база данных – это попытка совместить два подхода.
Главное достоинство такой СУБД – «бесшовная» интеграция с современными подходами к написанию программ.
Главный недостаток – низкая производительность.
Гибридная база данных
Гибридная СУБД – это попытка объединить реляционную модель и объектно-ориентированный подход.
Рисунок 6 – Гибридная модель данных
Внутри такая база содержит обычные файлы реляционной базы данных, обернутые в специальную оболочку, предоставляющую объектный интерфейс.
Достоинством гибридных СУБД является сохранение привычной схемы проектирования базы на основе таблиц, без необходимости обращаться к ним напрямую.
Недостаток заключается в непрозрачности механизма конвертирования запросов. Программисты, не знакомые с особенностями работы реляционных баз и не имеющие опыта создания SQL запросов, могут столкнуться с низким быстродействием или ошибками создания баз данных.
Следующая часть урока будет посвящена знакомству с реляционными базами данных на примере СУБД Access.
Интерфейс СУБД Access: режимы «макет» и «конструктор»
Программ для создания баз данных существует очень много, еще больше программ написано для использования баз данных. В этом уроке выбор был сделан в пользу Access – широко распространенной и доступной для понимания начинающими СУБД.
Система управления базами данных Microsoft Access является частью пакета программ Microsoft Office и позволяет создавать реляционные базы данных и приложения для работы с ними, используя интегрированный и простой в освоении язык Visual Basic for Application (VBA), либо вовсе без программирования, благодаря наличию богатого инструментария, включающего в себя:
– конструктор таблиц;
– редактор оконных форм;
– построитель запросов на языке SQL;
– мастер отчётов.
Работать в Microsoft Access можно в нескольких режимах представления рабочей области, существенно различаются между собой два из них: режим макета и «конструктор».
Выбор режима осуществляется на ленте быстрого доступа, как показано на рисунке.
Рисунок 7 – Режимы представления рабочей области Microsoft Access
Режим макета предпочтителен, если предполагается разработка сложных форм, поскольку он позволяет зрительно настраивать элементы управления и контролировать удобство использования интерфейса.
Рисунок 8 – Режим макета
Режим «конструктор» дает больший контроль над структурой формы. Некоторые операции можно выполнить только в этом режиме.
Рисунок 9 – Режим «конструктор»
Объекты СУБД Access. Таблицы. Запросы. Формы
Функциональные возможности систем управления базами данных, с пользовательской точки зрения, определяются перечнем создаваемых объектов. Возможности СУБД Access включают следующие объекты:
– таблицы;
– запросы;
– формы;
– отчеты.
Таблицы в СУБД Access, как и в любой другой реляционной модели данных, являются ключевым элементом, вокруг которого строится вся архитектура базы и логика ее работы.
Запросы являются связующим звеном между объектами хранения данных (таблицами) и объектами представления данных (формами и отчетами). Запросы представляют собой инструкции на языке SQL, позволяющие выбирать, добавлять, удалять или изменять данные в таблицах в соответствии с заданными условиями. Управление самой базой данных также может осуществляться через запросы. Не всегда требуется использовать команды явным образом, построитель запросов в большинстве случаев справляется с этой задачей. Тем не менее результатом работы построителя будет все тот же скрипт на языке SQL, понятный любой реляционной базе.
Формы реализуют интерфейс взаимодействия с конечным пользователем услуг базы данных. Их предназначение – привести данные в удобный для восприятия формат, а также предоставить инструменты для внесения изменений в базу. Формы могут содержать элементы управления (кнопки, чекбоксы, меню) и элементы ввода-вывода данных (текстовые поля, списки, графики, рисунки и т. д.). За создание форм в СУБД Access отвечает инструмент «мастер форм».
Отчеты представляют собой оформленные в виде документа (печатаемого на бумаге, или хранимого только в электронном виде) результаты выполнения запросов. Создание отчетов в СУБД Access можно осуществлять, используя мастер отчетов.
Типы данных в СУБД Access
При формировании полей в таблицах используются различные типы данных, от правильного выбора которых зависит корректность и эффективность ее работы. Если, например, речь идет об электронных текстовых данных, то важно заранее определиться с допустимым размером строк. Выделив слишком мало позиций для символов, можно не уместить какую-то строку. Другая крайность – выделение слишком большого количества места – стремительно раздувает объем базы данных. Использование динамически изменяемых по размеру полей повышает вычислительную нагрузку, снижая быстродействие.
Выбор подходящего формата для хранения числовых данных тоже имеет свои тонкости: поле для целых чисел не может хранить дробную часть, округление «математическое» и «банковское» имеют разные правила.
Представление дат и времени, выбор точки или запятой в качестве разделителя, возможность использования кириллицы в ссылках зависят от языковых и культурных настроек системы.
Основные типы данных СУБД Access, их описание и примеры использования приведены в таблице.
Пошаговая инструкция по созданию базы данных в Access
Существует два основных способа создания базы данных в Access: с использованием готового шаблона или вручную, «с нуля».
Примером создания базы данных с помощью шаблона может служить выбор одного из поставляемых вместе с программой Access шаблонов, доступных непосредственно из меню «создать».
Рисунок 10 – Предустановленные шаблоны баз данных
Выбрав один из предложенных шаблонов, мы получим простейшую базу, состоящую из одной-двух таблиц. Но это будут полноценные таблицы, с полями, ключами и связями. Например, схема данных для шаблона «учащиеся» выглядит так:
Рисунок 11 – Схема данных шаблонной базы «учащиеся»
Схема демонстрирует размещение в базе двух видов сущностей – «учащиеся» и «опекуны». Сущности эти связаны между собой по полю «учащийся» таблицы «опекуны», которое ссылается на ключ «ИД» таблицы «учащиеся». Тип связи «один ко многим».
Далее опишем порядок создания базы данных вручную, по шагам.
Обычно, первым шагом в разработке БД является создание сервера базы данных, но в нашем случае этого не требуется, так как Access, установленный в операционную систему, уже содержит в себе сервер файловых баз данных.
Шаг 1. Создание пустой базы
В меню «создать» выберите элемент «пустая база данных». Это инструментальное средство создания баз данных в виде заготовок с единственной пустой таблицей.
Рисунок 12 – Кнопка создания пустой базы
Укажите имя файла создаваемой базы и нажмите кнопку «создать»
Рисунок 13 – Окно ввода имени файла базы данных Access
Автоматически произойдет создание таблицы базы данных с названием «Таблица1», которую можно найти на вкладке «все объекты Access»
Рисунок 14 – Внешний вид вкладки «все объекты»
Шаг 2. Создание полей таблицы
В центральной части окна Access открыта активная таблица. Используя выпадающее меню «щелкните для добавления», добавьте поле с типом «Краткий текст».
Рисунок 15 – Меню выбора типов данных
Вам будет предложено отредактировать название поля, введите «Фамилия» и нажмите «Enter».
Рисунок 16 – Редактирование имени поля
Аналогичным образом добавьте еще два поля: «Начало урока» с типом «дата и время» и «Оценка» с типом «числовой».
Шаг 3. Наполнение таблицы данными
Создание информационной базы данных не может считаться выполненным, пока эта база не содержит информации. Наполним данными нашу таблицу.
Под созданными именами полей располагаются пустые строки – записи. Активная в данный момент запись отмечается цветным маркером.
Рисунок 17 – Заполнение таблицы
Заполните их случайными данными о гипотетических учениках так, чтобы у некоторых была оценка «5». Обратите внимание, что для указания даты можно использовать кнопку «календарь», а числовое поле не может оставаться пустым, в нем должен быть хотя бы ноль. После заполнения вернитесь на одну из первых записей и внесите изменения в любое поле.
Шаг 4. Создание запроса пользователя к базе данных
Создайте запрос, результатом которого станет список учеников, получивших оценку «отлично». Для этого в меню «создание» выберите «конструктор запросов» и перетащите в появившуюся пустую область таблицу «Таблица 1»
Рисунок 18 – Конструирование запроса
В нижней части окна в качестве первого поля укажите поле «Фамилия», в качестве второго – «Оценка». В столбце с оценкой укажите условие отбора «=5».
Рисунок 19 – Создание условия отбора
Запрос создан. Чтобы убедиться в корректности его работы, переключитесь в режим таблицы, нажав соответствующую кнопку в правом нижнем углу окна.
Рисунок 20 – Кнопки «режим таблицы», «режим SQL» и «конструктор»
Теперь вы видите не всю исходную таблицу, а только те поля, которые мы указали в запросе, причем записи взяты лишь содержащие оценку «отлично».
Рисунок 21 – Результат выполнения запроса
Если теперь вы выберете для запроса режим отображения «SQL», то увидите код запроса на том самом универсальном языке, который понятен всем базам данных.
Рисунок 22 – SQL-код запроса
Сохраните запрос, нажав кнопку сохранения, расположенную в левом верхнем углу окна программы. При сохранении укажите название «Отличники».
Рисунок 23 – Сохранение запроса
Шаг 5. Создание отчета
Теперь создадим отчет со списком отличников.
В меню «создание» выберите «мастер отчетов», на появившейся форме выберите запрос «Отличники», переместите оба поля в «выбранные поля» и нажмите кнопку «готово».
Рисунок 24 – Создание отчета
В результате должен появиться отчет, похожий на представленный на рисунке 25.
Рисунок 25 – Создание отчета
На этом процесс создания простейшей электронной базы данных завершен.
ВОПРОСЫ И ЗАДАНИЯ
Какая модель данных позволяет связывать элементы данных напрямую в любых комбинациях?
1) иерархическая 2) реляционная 3) сетевая 4) гибридная 5) объектно-ориентированная
Какие модели данных не относятся к концепции навигационных хранилищ? (Выберите 3 правильных ответа)
1) иерархическая 2) реляционная 3) сетевая 4) гибридная 5) объектно-ориентированная
Таблица содержит два поля с типами «AutoNumber» и «Date/Time» соответственно. Какой примерный объем памяти будет занимать эта таблица, если в ней миллиард записей?
1) 8 байт 2) 9 килобайт 3) 10 мегабайт 4) 11 гигабайт 5) 12 терабайт
С каким объектом СУБД непосредственно взаимодействует конечный пользователь при добавлении данных в базу?
1) таблица 2) запрос 3) вопрос 4) форма 5) отчет 6) ответ
Какая комбинация слов наиболее близка к расшифровке аббревиатуры «SQL»?
1) управляемая структура 2) язык управления 3) структурированный запрос 4) языковой вопрос