Информатика

Урок 1: Базы данных

Базы данных. Понятие и определение. СУБД ACCESS

Данный урок знакомит с базовыми представлениями о моделях хранения данных, их различиях, достоинствах и недостатках. В практической части урока при помощи системы управления базами данных Microsoft Access создается простой пример реляционной базы данных.
 

План урока:

Понятие информационной системы и базы данных

Возможности СУБД

Виды баз данных

Интерфейс СУБД Access: режимы «макет» и «конструктор»

Объекты СУБД Access. Таблицы. Запросы. Формы

Типы данных в СУБД Access

Пошаговая инструкция по созданию базы данных в Access

 

Понятие информационной системы и базы данных

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

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

- описать информационные потоки в системе;

- определить систему классификации объектов;

- привести все виды документов к единым форматам;

- создать единое пространство для взаимодействия.

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

Возможности СУБД

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

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

База данных (БД) – это специальным образом организованная совокупность данных, хранящаяся в электронном виде в компьютерной системе.

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

 

Виды баз данных

По способу хранения данных и организации связей между ними, базы данных делятся на несколько видов:

- иерархическая;

- сетевая;

- реляционная;

- объектно-ориентированная;

- гибридная.

1 vidy bazy dannyh

Рисунок 1 – Виды баз данных

Такое разнообразие обусловлено эволюционным характером развития систем управления базами данных, которое неразрывно связано с развитием технических средств ЭВМ. До 60-х годов прошлого века основным носителем информации была магнитная лента, чтение с которой можно было осуществлять только в последовательном режиме. С появлением магнитных дисков стал возможен прямой доступ к любой позиции файла базы данных и зародилась концепция навигационных хранилищ, к которым относятся иерархическая СУБД и сетевая СУБД. В навигационных хранилищах к элементам данных добавляются ссылки на другие данные, а путь к каждому элементу может быть представлен последовательностью переходов по ссылкам.  

В 1970 году британский ученый, сотрудник IBM, Эдгар Франк Кодд предложил модель реляционной баз данных, в которой данные ищутся не по ссылкам, а по содержанию. Вычислительные мощности компьютеров того времени не позволяли в полной мере реализовать основные возможности этой СУБД, но уже в 1990-х годах реляционные системы заняли доминирующую позицию и удерживают ее до сих пор.

В наши дни развиваются так называемые «постреляционные» модели баз данных, к которым относятся объектно-ориентированная и гибридная.

 

Иерархическая база данных

В иерархической модели данные объединены в древовидную структуру, в корневом элементе которой есть ссылки на узлы, расположенные на втором уровне иерархии, а в узлах второго – на узлы третьего, и так далее. Такая конструкция называется ориентированный граф.

2 ierarhicheskaya model dannyh

Рисунок 2 – Иерархическая модель данных

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

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

 

Сетевая база данных

Сетевая модель по способу записи элементов похожа на иерархическую, но связи можно строить между любыми узлами графа, а не только «сверху-вниз».

3 setevaya model dannyh

Рисунок 3 – Сетевая модель данных

Достоинством данной модели является возможность построения взаимосвязей между элементами, не ограничиваясь иерархической или иной строгой топологией.

Недостатки:

- сложность реализации;

- невозможность изменять структуру связей без изменения всех использующих базу программ.

Реляционная база данных

Слово «реляционный» в названии этой модели произошло от латинского «relativus» – относительный. Структура взаимосвязей между элементами в реляционных базах данных представляет собой набор отношений, оформленных в табличной форме.   

4 relyacionnaya model dannyh

Рисунок 4 – Реляционная модель данных

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

Каждая таблица такой базы данных описывает некоторую сущность, поля таблицы – атрибуты этой сущности, а записи отвечают за конкретные экземпляры. Например, в таблице «квартира» полями могут быть: «номер», «этаж», «площадь», «количество комнат», а каждая запись – это конкретная квартира с конкретным номером, этажом и площадью. Ключом в данном случае может служить номер квартиры. Другой сущностью может быть человек, у которого будут свои атрибуты – «имя», «пол», «дата рождения». Ключом будет, например, имя. Для того чтобы «поселить» конкретного человека в конкретную квартиру, нужно связать между собой эти две сущности, для этого в специальной таблице связей делается запись о том, что одно из полей таблицы «человек» будет содержать ключ таблицы «квартира».

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

 

Достоинства реляционной модели данных:

– независимость данных от программ их обработки;

– простота понимания структуры таблиц;

– наличие универсального языка запросов.

­    

Недостатки:

– не всегда данные удобно представлять в табличном виде;

­– дополнительный расход памяти;

– низкая производительность в некоторых задачах.

 

Объектно-ориентированная база данных

В объектно-ориентированной модели данных сущности хранятся в виде совокупности объектов, с тем определением термина «объект», которое принято в объектно-ориентированном программировании:

– объекты имеют сложную структуру, гораздо более сложную, чем просто строки в таблице;

– большая часть данных внутри объекта недоступна извне напрямую, а только через специализированный интерфейс доступа;

– объекты могут создаваться и уничтожаться;

– поддерживается механизм наследования, когда объект-потомок может получать свойства объекта-предка.  

5 obiektno orientirovannaya model dannyh

Рисунок 5 – Объектно-ориентированная модель данных

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

Главное достоинство такой СУБД – «бесшовная» интеграция с современными подходами к написанию программ.

Главный недостаток – низкая производительность.

Гибридная база данных

Гибридная СУБД – это попытка объединить реляционную модель и объектно-ориентированный подход.

6 gibridnaya model dannyh

Рисунок 6 – Гибридная модель данных

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

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

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

Следующая часть урока будет посвящена знакомству с реляционными базами данных на примере СУБД Access.

 

Интерфейс СУБД Access: режимы «макет» и «конструктор»

Программ для создания баз данных существует очень много, еще больше программ написано для использования баз данных. В этом уроке выбор был сделан в пользу Access – широко распространенной и доступной для понимания начинающими СУБД.

Система управления базами данных Microsoft Access является частью пакета программ Microsoft Office и позволяет создавать реляционные базы данных и приложения для работы с ними, используя интегрированный и простой в освоении язык Visual Basic for Application (VBA), либо вовсе без программирования, благодаря наличию богатого инструментария, включающего в себя:

– конструктор таблиц;

– редактор оконных форм;

– построитель запросов на языке SQL;

– мастер отчётов.

Работать в Microsoft Access можно в нескольких режимах представления рабочей области, существенно различаются между собой два из них: режим макета и «конструктор».

Выбор режима осуществляется на ленте быстрого доступа, как показано на рисунке.

7 rezhimy predstavlenia rabochei oblasti

Рисунок 7 – Режимы представления рабочей области Microsoft Access

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

8 rezhim maketa

Рисунок 8 – Режим макета

Режим «конструктор» дает больший контроль над структурой формы. Некоторые операции можно выполнить только в этом режиме.

9 rezhim konstruktor

   Рисунок 9 – Режим «конструктор»

 

Объекты СУБД Access. Таблицы. Запросы. Формы

Функциональные возможности систем управления базами данных, с пользовательской точки зрения, определяются перечнем создаваемых объектов. Возможности СУБД Access включают следующие объекты:

– таблицы;

– запросы;

– формы;

– отчеты.

Таблицы в СУБД Access, как и в любой другой реляционной модели данных, являются ключевым элементом, вокруг которого строится вся архитектура базы и логика ее работы.   

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

Формы реализуют интерфейс взаимодействия с конечным пользователем услуг базы данных. Их предназначение – привести данные в удобный для восприятия формат, а также предоставить инструменты для внесения изменений в базу. Формы могут содержать элементы управления (кнопки, чекбоксы, меню) и элементы ввода-вывода данных (текстовые поля, списки, графики, рисунки и т. д.). За создание форм в СУБД Access отвечает инструмент «мастер форм».    

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

 

Типы данных в СУБД Access

При формировании полей в таблицах используются различные типы данных, от правильного выбора которых зависит корректность и эффективность ее работы. Если, например, речь идет об электронных текстовых данных, то важно заранее определиться с допустимым размером строк. Выделив слишком мало позиций для символов, можно не уместить какую-то строку. Другая крайность – выделение слишком большого количества места – стремительно раздувает объем базы данных. Использование динамически изменяемых по размеру полей повышает вычислительную нагрузку, снижая быстродействие.

Выбор подходящего формата для хранения числовых данных тоже имеет свои тонкости: поле для целых чисел не может хранить дробную часть, округление «математическое» и «банковское» имеют разные правила.

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

Основные типы данных СУБД Access, их описание и примеры использования приведены в таблице.

10 osnovnye tipy dannyh subd acess

Пошаговая инструкция по созданию базы данных в Access

Существует два основных способа создания базы данных в Access: с использованием готового шаблона или вручную, «с нуля».

Примером создания базы данных с помощью шаблона может служить выбор одного из поставляемых вместе с программой Access шаблонов, доступных непосредственно из меню «создать».

11 predustanovlennye shablony baz dannyh

Рисунок 10 – Предустановленные шаблоны баз данных

Выбрав один из предложенных шаблонов, мы получим простейшую базу, состоящую из одной-двух таблиц. Но это будут полноценные таблицы, с полями, ключами и связями. Например, схема данных для шаблона «учащиеся» выглядит так:

12 shema dannyh shablonnoi bazy

   Рисунок 11 – Схема данных шаблонной базы «учащиеся»

Схема демонстрирует размещение в базе двух видов сущностей – «учащиеся» и «опекуны». Сущности эти связаны между собой по полю «учащийся» таблицы «опекуны», которое ссылается на ключ «ИД» таблицы «учащиеся». Тип связи «один ко многим».

Далее опишем порядок создания базы данных вручную, по шагам.

Обычно, первым шагом в разработке БД является создание сервера базы данных, но в нашем случае этого не требуется, так как Access, установленный в операционную систему, уже содержит в себе сервер файловых баз данных.

 

Шаг 1. Создание пустой базы

В меню «создать» выберите элемент «пустая база данных». Это инструментальное средство создания баз данных в виде заготовок с единственной пустой таблицей.

13 knopka sozdania pustoi bazy

   Рисунок 12 – Кнопка создания пустой базы

Укажите имя файла создаваемой базы и нажмите кнопку «создать»

14 okno vvoda imeni faila bazy dannyh

   Рисунок 13 – Окно ввода имени файла базы данных Access

Автоматически произойдет создание таблицы базы данных с названием «Таблица1», которую можно найти на вкладке «все объекты Access»

15 vneshnii vid vkladki

   Рисунок 14 – Внешний вид вкладки «все объекты»

 

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

В центральной части окна Access открыта активная таблица. Используя выпадающее меню «щелкните для добавления», добавьте поле с типом «Краткий текст». 

16 menu vybora tipov dannyh

   Рисунок 15 – Меню выбора типов данных

Вам будет предложено отредактировать название поля, введите «Фамилия» и нажмите «Enter».

17 redaktirovanie imeni polya

Рисунок 16 – Редактирование имени поля

Аналогичным образом добавьте еще два поля: «Начало урока» с типом «дата и время» и «Оценка» с типом «числовой».

 

Шаг 3. Наполнение таблицы данными

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

 Под созданными именами полей располагаются пустые строки – записи. Активная в данный момент запись отмечается цветным маркером.

18 zapolnenie tablicy

Рисунок 17 – Заполнение таблицы

Заполните их случайными данными о гипотетических учениках так, чтобы у некоторых была оценка «5». Обратите внимание, что для указания даты можно использовать кнопку «календарь», а числовое поле не может оставаться пустым, в нем должен быть хотя бы ноль. После заполнения вернитесь на одну из первых записей и внесите изменения в любое поле.

 

Шаг 4. Создание запроса пользователя к базе данных

Создайте запрос, результатом которого станет список учеников, получивших оценку «отлично». Для этого в меню «создание» выберите «конструктор запросов» и перетащите в появившуюся пустую область таблицу «Таблица 1»

19 konstruirovanie zaprosa

Рисунок 18 – Конструирование запроса

В нижней части окна в качестве первого поля укажите поле «Фамилия», в качестве второго – «Оценка». В столбце с оценкой укажите условие отбора «=5».

20 sozdanie uslovia

Рисунок 19 – Создание условия отбора

Запрос создан. Чтобы убедиться в корректности его работы, переключитесь в режим таблицы, нажав соответствующую кнопку в правом нижнем углу окна.

21 knopki rezhim tablicy konstruktor

Рисунок 20 – Кнопки «режим таблицы», «режим SQL» и «конструктор»

Теперь вы видите не всю исходную таблицу, а только те поля, которые мы указали в запросе, причем записи взяты лишь содержащие оценку «отлично».

22 rezultat vypolnenia zaprosa

Рисунок 21 – Результат выполнения запроса

Если теперь вы выберете для запроса режим отображения «SQL», то увидите код запроса на том самом универсальном языке, который понятен всем базам данных.

23 sql kod zaprosa

   Рисунок 22 – SQL-код запроса

Сохраните запрос, нажав кнопку сохранения, расположенную в левом верхнем углу окна программы. При сохранении укажите название «Отличники».

24 sohranenie zaprosa

Рисунок 23 – Сохранение запроса

 

Шаг 5. Создание отчета

Теперь создадим отчет со списком отличников.

В меню «создание» выберите «мастер отчетов», на появившейся форме выберите запрос «Отличники», переместите оба поля в «выбранные поля» и нажмите кнопку «готово».

25 sozdanie otcheta

   Рисунок 24 – Создание отчета

В результате должен появиться отчет, похожий на представленный на рисунке 25.

26 sozdanie drugogo otcheta

   Рисунок 25 – Создание отчета

На этом процесс создания простейшей электронной базы данных завершен.

 

ВОПРОСЫ И ЗАДАНИЯ

Вопрос: 1
Какая модель данных позволяет связывать элементы данных напрямую в любых комбинациях?
1иерархическая
2реляционная
3сетевая
4гибридная
5объектно-ориентированная
Ответить
3
Вопрос: 2
Какие модели данных не относятся к концепции навигационных хранилищ? (Выберите 3 правильных ответа)
1иерархическая
2реляционная
3сетевая
4гибридная
5объектно-ориентированная
Ответить
245
Вопрос: 3
Таблица содержит два поля с типами «AutoNumber» и «Date/Time» соответственно. Какой примерный объем памяти будет занимать эта таблица, если в ней миллиард записей?
18 байт
29 килобайт
310 мегабайт
411 гигабайт
512 терабайт
Ответить
4
Вопрос: 4
С каким объектом СУБД непосредственно взаимодействует конечный пользователь при добавлении данных в базу?
1таблица
2запрос
3вопрос
4форма
5отчет
6ответ
Ответить
4
Вопрос: 5
Какая комбинация слов наиболее близка к расшифровке аббревиатуры «SQL»?
1управляемая структура
2язык управления
3структурированный запрос
4языковой вопрос
Ответить
3
Допущено ошибок:
Оценка:
Подробнее
Ваши ответы:
1 вопрос:

Какая модель данных позволяет связывать элементы данных напрямую в любых комбинациях?
1) иерархическая 2) реляционная 3) сетевая 4) гибридная 5) объектно-ориентированная
2 вопрос:

Какие модели данных не относятся к концепции навигационных хранилищ? (Выберите 3 правильных ответа)
1) иерархическая 2) реляционная 3) сетевая 4) гибридная 5) объектно-ориентированная
3 вопрос:

Таблица содержит два поля с типами «AutoNumber» и «Date/Time» соответственно. Какой примерный объем памяти будет занимать эта таблица, если в ней миллиард записей?
1) 8 байт 2) 9 килобайт 3) 10 мегабайт 4) 11 гигабайт 5) 12 терабайт
4 вопрос:

С каким объектом СУБД непосредственно взаимодействует конечный пользователь при добавлении данных в базу?
1) таблица 2) запрос 3) вопрос 4) форма 5) отчет 6) ответ
5 вопрос:

Какая комбинация слов наиболее близка к расшифровке аббревиатуры «SQL»?
1) управляемая структура 2) язык управления 3) структурированный запрос 4) языковой вопрос
Посмотреть ответы
Правильные ответы:
1 вопрос: сетевая
2 вопрос: реляционная
2 вопрос: гибридная
2 вопрос: объектно-ориентированная
3 вопрос: 11 гигабайт
4 вопрос: форма
5 вопрос: структурированный запрос