Реляционные базы данных
Виды баз данных
Дадим основное определение. База данных - это реализованная с помощью компьютера информационная структура (модель), отражающая состояние объектов и их отношения.
Следует учесть, что это определение не является единственно возможным. Информатика в отношении определений чаще всего не похожа на математику с ее полной однозначностью. Если подойти к понятию “база данных” с чисто пользовательской точки зрения, то возникает другое определение: база данных - совокупность хранимых операционных данных некоторого предприятия. Все дело в том, какой аспект доминирует в рассмотрении; в данной главе первое из определений более уместно.
Поскольку основу любой базы данных составляет информационная структура, базы данных делят на три рассмотренные выше типа: табличные (реляционные), сетевые, иерархические.
Опыт использования баз данных позволяет выделить общий набор их рабочих характеристик:
• полнота - чем полнее база данных, тем вероятнее, что она содержит нужную информацию (однако, не должно быть избыточной информации);
• правильная организация - чем лучше структурирована база данных, тем легче в ней найти необходимые сведения;
• актуальность - любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта;
• удобство для использования - база данных должна быть проста и удобна в использовании и иметь развитые методы доступа к любой части информации.
Соответственно возможностям организации реляционных, иерархических и сетевых информационых структур, существуют и аналогичные виды баз данных. В них данные представлены в формах, адекватных соответствующим структурам. Однако иерархические и сетевые базы данных являются гораздо менее распространенными, чем реляционные и не могут быть реализованы с помощью наиболее популярных СУБД, входящих в состав программного обеспечения ЭВМ, поэтому на них далее останавливаться не будем.
Наиболее распространенными в практике являются реляционные базы данных. Название “реляционная” (в переводе с английского relation - отношение) связано с тем, что каждая запись в таблице содержит информацию, относящуюся только к одному конкретному объекту.
Всякое отношение должно иметь свое имя. Пусть есть отношение с названием “Альбомы группы”. В этом случае структура базы данных, состоящая из одной таблицы, запишется так: Альбомы группы (название альбома, год выпуска, тип альбома, фирма). Однако чаще база данных строится на основе нескольких таблиц, связанных между собой через общие атрибуты. Пусть, например, в базе данных “Рок-энциклопедия” содержатся две таблицы - 2, а и 2, б.
Таблица 2, а Музыкальные альбомы групп
Код альбома | Код группы | Название альбома | Год выпуска | Тип альбома | Фирма |
Help! | Lp (English) | Pariophone | |||
Led Zeppelin 4 | l97l | Lp | Atlantic | ||
Led Zeppelin 4 - | Lp | Atlantic | |||
Flash Gordon | Soundtrack | EMI |
Таблица 2, б Рок группы
Код группы | Название группы | Страна | Дата создания | Дата распада |
The Bealles | Англия | I970 | ||
Led Zeppelin 4 Flash Gordon | Англия Англия | 199I | - - |
Эти две таблицы связаны между собой общим полем “Код группы”. Поле “Код альбома” в таблице 2, а создается для того, чтобы отличать альбомы друг от друга. Это очень важно, так как в таблице могут находиться альбомы с одинаковыми названиями.
Необходимость использования больше одной таблицы станет заметной, если объединить эти таблицы в одну (табл. 2.4).
Таблица 3. Объединение таблиц 2
Название группы | Страна | Дата создания | Дата распада | Название альбома | Год выпуска | Тип альбома | Фирма |
The Beatles | Англия | I970 | With the Beatles | Lp | Pariophone | ||
The Beatles | Англия | I970 | Please, please me | Lp | Pariophone | ||
The Beatles | Англия | I970 | Rubber soul | Lp | Pariophone |
Из таблицы 3 видно, что при внесении в нее данных об альбомах определенной группы каждый раз приходится дублировать информацию первых четырех полей таблицы. Многократное сохранение в БД одних и тех же данных (название группы, страна, дата создания, дата распада) приведет к неэффективному использованию памяти, к тому же существенно возрастет вероятность ошибок при вводе данных. Разбив же данные по таблицам, можно в значительной степени избежать этих трудностей.
Через связь, определенную между этими таблицами, можно узнать
• сколько альбомов выпустила группа;
• выпускались ли альбомы у фирмы EMI;
• в каком году было выпущено максимальное количество альбомов и т.п.
Реляционные базы данных удобны еще и тем, что для получения ответов на различные запросы существует разработанный математический аппарат, который называется исчислением отношений или реляционной алгеброй. Ответы на запросы получаются путем “разрезания” и “склеивания” таблиц по строкам и столбцам. При этом ясно, что ответы также будут иметь форму таблиц.
Надо отметить, что база данных - это, собственно, хранилище информации и не более того. Однако, работа с базами данных трудоемкая и утомительная. Для создания, ведения и осуществления возможности коллективного пользования базами данных используются программные средства, называемые системами управления базами данных (СУБД).