Базы данных. Система управления базами данных (СУБД).
Вопросы:
· Что такое база данных?
· Классификации баз данных.
· Способы создания компьютерной БД.
· СУБД. Виды СУБД.
· Виды моделей БД.
1. Что такое база данных
В случае, когда накопленная информация хранится в форме каким-либо образом организованных учетных записей или в виде структурированного файла, можно говорить о наличии базы данных (БД).
База данных — поименованная совокупность структурированных данных. (Структурирование данных — это процесс группировки данных по определенным параметрам.)
Примеры баз данных: записная книжка, классный журнал, справочники.
2. Классификации баз данных
I. Классификация по характеру хранимой информации.
Фактографические БД содержат данные, представляемые в краткой форме и строго фиксированных форматах. Такие БД являются аналогами бумажных картотек, например, библиотечного каталога или каталога видеотеки.
Другой тип баз данных – документальные БД. Здесь аналогом являются архивы документов, например, архив судебных дел, архив исторических документов и пр.
II. Классификация по способу хранения данных.
Централизованная БД – вся информация хранится на одном компьютере.
Распределенная БД – используется в локальных и глобальных компьютерных сетях. Разные части базы хранятся на разных компьютерах.
III. Классификация по признаку структуры: иерархические БД, сетевые БД, реляционные (табличные) БД.
Известно, что любую базу данных можно свести к табличной форме.
Наличие компьютерной БД, т. е. файла, хранящего совокупность связанных между собой сведений, подразумевает и наличие программы, которая обрабатывает эти данные (производит поиск, сортировку, редактирование данных). Такая программа называется системой управления базой данных (СУБД).
Без возможности осуществления перечисленных операций база данных становится практически бесполезной. Таким образом, СУБД — это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Компьютерную базу данных можно создать несколькими способами:
• С помощью алгоритмических языков программирования, таких как Basic, Pascal, и т. д. Данный способ применяется для создания уникальных баз данных опытными программистами.
• С помощью прикладной среды, например Visual Basic. Данный способ требует некоторых навыков работы в программных средах и навыков программирования. С его помощью можно создавать базы данных, требующие каких-то индивидуальных особенностей построения. Создание такой базы под силу только опытным пользователям.
• С помощью специальных программных сред, которые называются Системами Управления Базами Данных (СУБД). Работа с такими системами требует навыков работы с компьютером и может быть освоена пользователями в достаточно короткие сроки.
Создание базы данных двумя первыми способами выходит за рамки нашего раздела, поэтому остановимся на третьем способе и поясним, что же такое СУБД.
Система управления базами данных (СУБД) — комплекс программных средств для создания баз данных, хранения и поиска в них необходимой информации.
В настоящее время существует несколько видов СУБД. Наиболее известными и популярными СУБД являются Access, FoxPro и Paradox. Каждая из этих систем обладает своими достоинствами и недостатками. Остановим свой выбор на базе данных Access, которая входит в программный продукт Microsoft Office и является наиболее доступной для изучения в школьном курсе. Прежде чем переходить к работе по созданию базы данных на компьютере, необходимо перейти от информационной модели данных, к модели, ориентированной на компьютерную реализацию.
База данных может быть основана на одной модели или на совокупности нескольких моделей. Любую модель данных можно рассматривать как объект, который характеризуется своими свойствами (параметрами), и над ней, как над объектом, можно производить какие-то действия.
Существуют три основных типа моделей данных — реляционная, иерархическая и сетевая.
Реляционные базы данных являются наиболее эффективными.
РЕЛЯЦИОННАЯ МОДЕЛЬ
Термин «реляционный» (от латинского relatio — отношение) указывает прежде всего на то, что такая модель хранения данных построена на взаимоотношении составляющих ее частей. В простейшем случае она представляет собой двухмерный массив или двухмерную таблицу, а при создании сложных информационных моделей составит совокупность взаимосвязанных таблиц.
Рассмотрим табл. 6.2, в которой хранятся сведения об учениках школы (фамилия, имя, отчество, год рождения, класс, номер личного дела). Каждая строка Такой таблицы называется записью. Каждый столбец в такой таблице называется полем. На основании этой таблицы создадим базу данных школьников и назовем ее «Наша школа».
Таблица 6.2. Наша школа
№ личного дела | Класс | Фамилия | Имя | Отчество | Дата рождения |
К-25 | 8 «Б» | Коноплев | Михаил | Александрович | 13.10.83 |
У-7 | 8 «Б» | Украинская | Татьяна | Леонидовна | 24.08.84 |
И-33 | 10 «А» | Иванова | Елена | Сергеевна | 14.02.81 |
Ф-3 | 9 «Б» | Фонарева | Анастасия | Александровна | 11.11.84 |
Модель данных, как и сама база данных, является объектом, имеющим свои определенные свойства.
Реляционная модель базы данных имеет следующие свойства:
• Каждый элемент таблицы — один элемент данных.
• Все столбцы в таблице являются однородными, т. е. имеют один тип (числа, текст, дата и т. д.).
• Каждый столбец (поле) имеет уникальное имя.
• Одинаковые строки в таблице отсутствуют.
• Порядок следования строк в таблице может быть произвольным и может характеризоваться количеством полей, количеством записей, типом данных.
Рассмотрим приведенный выше пример.
Данные в нем представлены в виде таблицы, которая содержит сведения об учениках школы. Раз мы хотим создать базу данных, то данной таблице необходимо присвоить имя. Пусть она называется «Школа».
В столбцах данной таблицы будем записывать параметры, характеризующие каждого ученика,
а в строках будем записывать сведения об одном конкретном ученике.
Каждый столбец (поле) также должен иметь свое имя. В нашем случае это: номер личного дела, класс, фамилия, имя, отчество, дата рождения.
Имена полей в одной таблице не могут повторяться.
Если вы хотите поместить в таблицу телефоны (домашний и рабочий родителей), вы должны создать два поля с разными названиями, например: Телдом и Телраб.
Над этой моделью базы данных удобно производить следующие действия:
• сортировку данных (например, по алфавиту);
• выборку данных по группам (например, по датам рождения или по фамилиям);
• поиск записей (например, по фамилиям) и т. д.
Реляционная модель данных, как правило, состоит из нескольких таблиц, которые связываются между собой ключами.
Ключ — поле, которое однозначно определяет соответствующую запись.
В нашем примере в качестве ключа может служить номер личного дела учащегося.
В заключение отметим, что в настоящее время реляционная модель является наиболее удобной и применимой моделью хранения данных.
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ
Иерархическая модель базы данных представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня соединяется при помощи связи с одним узлом более высокого уровня.
Узел — информационная модель элемента, находящегося на данном уровне иерархии.
Рассмотрим иерархическую модель на примере базы данных «Наша школа», построенной нами ранее. С точки зрения иерархической модели, она должна принять следующий вид: в состав школы входят классы; параллельные классы делятся по буквам, в состав каждого класса входят конкретные ученики. Модель может быть представлена в виде схемы (рис. 6.5).

Свойства иерархической модели базы данных:
• несколько узлов низшего уровня связано только с одним узлом высшего уровня;
• иерархическое дерево имеет только одну вершину (корень), не подчиненный никакой другой вершине;
• каждый узел имеет свое имя (идентификатор);
Существует только один путь от корневой записи к более частной записи данных.
В примере с базой данных «Школа» следует обратить внимание на то, что каждый узел в этой схеме удобно описывать в виде таблиц, т. е. применять реляционную модель. Таким образом, базы данных можно описывать совокупностью нескольких моделей.
Рассмотрим достоинства и недостатки двух предложенных моделей для базы данных «Школа» (табл. 6.3).
Таблица 6.3. Сравнительный анализ моделей базы данных «Школа»
Реляционная модель | Иерархическая модель |
Достоинства | |
1. Быстрый поиск данных, так как все данные находятся в одной таблице. Поиск осуществляется по записям. | 1. Удобный переход от одного класса к другому, который организован с помощью кнопок, созданных в базе данных. |
2. Создается только одна таблица, в которой сведения о каждом ученике сохранены в виде отдельных записей. | |
3. Возможность сортировки данных и выборка по заданным условиям. | |
Недостатки | |
1. Переход к отдельному ученику по имени возможен только в последовательности от одной записи к другой или через специальный инструмент — «Поиск». | 1. Необходимо создавать таблицу на каждого ученика в отдельности. |
2. Затруднен поиск и сортировка данных. | |
3. Переход по записям одного уровня невозможен, необходимо выйти на предыдущий уровень и войти в другую ветвь связей. |
СЕТЕВАЯ МОДЕЛЬ
Сетевая модель базы данных похожа на иерархическую. Она имеет те же основные составляющие (узел, уровень, связь), однако характер их отношений принципиально иной. В сетевой модели принята свободная связь между элементами разных уровней. В качестве примера рассмотрим базу данных, хранящую сведения о закреплении учителей-предметников за определенными классами (рис. 6.6). Видно, что один учитель может преподавать в нескольких классах и что один и тот же предмет могут вести разные учителя.

ТИПЫ ДАННЫХ
Данные в одном поле должны быть одного типа. На примере базы данных «Школа», мы можем сделать следующие выводы.
• Поля Фамилия, Имя, Отчество могут быть описаны при помощи текста, состоящего, как правило, из одного слова.
• Поле Дата рождения описывается при помощи даты (не числа).
• Поля № личного дела и Класс также являются текстом.
В поле, содержащее текст, может быть записана разная информация, которая отличается длиной записи, т. е. количеством символов. Под каждое поле в базе данных отводится определенное место в памяти компьютера, поэтому очень важно знать объем информации, который будет записан в данное поле (одно слово или длинный текст). Если вы отведете мало места под поле, то ваши данные не поместятся в базе данных, а если вы отведете много места, то память будет перегружена и база данных будет работать медленно.
При работе с базой данных Access допустимы следующие типы данных:
· текстовый;
· поле MEMO;
· числовой;
· дата/время;
· денежный;
· счетчик;
· логический;
· поле объекта OLE.
ХАРАКТЕРИСТИКИ ТИПОВ ДАННЫХ
Текстовый — одна строка текста (до 255 символов).
Поле MEMO — текст, состоящий из нескольких строк, которые затем можно будет просмотреть при помощи полос прокрутки (досимволов).
Числовой — число любого типа (целое, вещественное и т. д.).
Дата/время — поле, содержащее дату или время.
Денежный — поле, выраженное в денежных единицах (рубли, доллары и т. д.).
Счетчик — поле, которое вводится автоматически с вводом каждой записи.
Логический — содержит одно из значений TRUE (истина) или FALSE (ложно) и применяется в логических операциях.
Поле объекта OLE — содержит рисунки, звуковые файлы, таблицы Excel, документ Word и т. д.


