2 Модели и типы данных
Хранимые в базе данные имеют определенную логическую структуру -иными словами, описываются некотороймоделью представления данных или короче моделью данных (см. п. 1.1.3), поддерживаемой СУБД. К числу классических относятся следующие модели данных:
Иерархическая модель данных (ИМД),
Сетевая модель данных (СМД),
Реляционная модель данных (РМД).
В последние годы появились и стали более активно внедряться на практикемногомерная(ММД) иобъектно-ориентированная (ООМД)модели данных.Разрабатываются также всевозможные системы, основанные на других моделях данных, расширяющих известные модели. В их числе можноназвать объектно-реляционные (ОРМД), дедуктивно – объектно — ориентированные, семантические, концептуальные и ориентированные модели. Некоторые из этих моделей служат для интеграции баз данных, баз знаний и языков программирования.
В некоторых СУБД поддерживается одновременно несколько моделей данных. [27 Хомоненко]
2.1 Иерархическая модель данных
В иерархической модели связи между данными можно описать с помощью упорядоченного графа (или дерева). Упрощенно представление связей между данными в иерархической модели показано на рис. 2.1.
Рис. 2.1. Представление связей в иерархической модели
Для описания структуры (схемы) иерархической БД на некотором языке программирования используется тип данных «дерево».
Тип «дерево» схож с типами данных «структура» языка программирования С и «запись» языка Паскаль. В них допускается вложенность типов, каждый из которых находится на некотором уровне.
Тип «дерево» является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из типов «дерево» состоит из одного «корневого» типа и упорядоченного набора (возможно, пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись». Простая «запись» состоит из одного типа, например числового, а составная «запись» объединяет некоторую совокупность типов, например целое, строку символов и указатель (ссылку). Пример типа «дерево» как совокупности типов показан на рис. 2.2.
Рис. 2.2. Пример типа «дерево»
Корневым называется тип, который имеет подчиненные типы и сам не является подтипом.Подчиненный тип (подтип) являетсяпотомком по отношению к типу, который выступает для него в роли предка (родителя). Потомки одного и того же типа являютсяблизнецами по отношению друг к другу.
В целом тип «дерево» представляет собой иерархически организованный набор типов «запись».
Иерархическая БД представляет собой упорядоченную совокупность экземпляров данных типа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи). Часто отношения родства между типами переносят на отношения между самими записями. Поля записей хранят собственно числовые или символьные значения, составляющие основное содержание БД. Обход всех элементов иерархической БД обычно производится сверху вниз и слева направо.
В иерархических СУБД может использоваться терминология, отличающаяся от приведенной выше (п. 1.1.3). Так, в СУБДIMSпонятию «запись» соответствует термин «сегмент», а под «записью БД» понимается вся совокупность записей, относящаяся к одному экземпляру типа «дерево».
Данные в базе с приведенной схемой (рис. 2.2) могут выглядеть, например, как показано на рис. 2.3.
Рис. 2.3. Данные в иерархической базе
Для организации физического размещения иерархических данных в памяти ЭВМ могут использоваться следующие группы методов:
• представление линейным списком с последовательным распределением памяти (адресная арифметика, левосписковые структуры);
• представление связными линейными списками (методы, использующие указатели и справочники).
К основным операциям манипулирования иерархически организованными данными относятся следующие:
поиск указанного экземпляра БД (например, дерева со значением 10 в поле Отд_номер);
переход от одного дерева к другому;
переход от одной записи к другой внутри дерева (например, к следующей записи типа Сотрудники);
вставка новой записи в указанную позицию;
удаление текущей записи и т. д.
В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контрольцелостности связей. Основное правило контроля целостности формулируется следующим образом: потомок не может существовать без родителя, а у некоторых родителей может не быть потомков. Механизмыподдержания целостности связей между записями различных деревьев отсутствуют.
К достоинствам ИМД относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. ИМД удобна для работы с иерархически упорядоченной информацией.
Недостатком ИМД является ее громоздкость для обработки информации с достаточно сложными логическими связями, а такжесложность понимания для обычного пользователя.
На ИМД основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS, PC/Focus, Tearn-Up и Data Edge, а также российские системы Ока, ИНЭС и МИРИС.
Тема 11 Базы данных
11.1. Понятие базы данных. Системы управления базами данных
Слово «данные» определяется как диалектическая составная часть информации в виде зарегистрированных сигналов. Регистрация данных может быть осуществлена любым физическим методом (механическое перемещение физических тел, изменение их формы или параметров качества поверхности, изменение электрических, магнитных, оптических характеристик, химического состава или характера химических связей, изменение состояние электронной системы и т. д.). Изначально при создании баз данных применялись следующие типы данных:
1) числовые (например, 17; 0,27; 2Е-7);
2) символьные или алфавитно-цифровые (в частности, «потолок», «стол»);
3) даты, которые задаются с помощью специального типа «Дата» или как обычные символьные данные (например, 12.02.2005, 12/02/2005).
Позднее были определены другие типы данных, в том числе:
1) временные и дата-временные, которые применяются для хранения информации о времени и/или дате (например, 5.02.2005, 7:27:04, 23.02.2005 16:00);
2) символьные данные переменной длины, предназначенные для хранения текстовой информации большой длины;
3) двоичные, которые используются для хранения графических объектов, аудио– и видеоинформации, пространственной, хронологической и другой специальной информации;
4) гиперссылки, позволяющие хранить ссылки на различных ресурсах, располагающихся вне базы данных.
База данных – это совокупность определенным образом взаимосвязанных данных, хранящихся в памяти ЭВМ для отображения структуры объектов и их связей в изучаемой предметной области. Она является основной формой организации хранения данных в информационных системах.
Система управления базами данных представляет собой комплекс символьных и программных средств, предназначенных для создания, ведения и организации совместного доступа к базам данных множества пользователей.
Первые СУБД были разработаны фирмами IBM – IMS (1968 г.) и Software AG– ADABA• (1969 г.). В настоящий момент существует большое число различных систем управления базами данных (более нескольких тысяч), и их количество постоянно растет.
Среди основных функций СУБД (функций высшего уровня) можно выделить хранение, изменение и обработку информации, а также разработку и получение различных выходных документов.
К функциям СУБД более низкого уровня относятся:
1) управление данными во внешней памяти;
3) управление транзакциями;
4) ведение журнала изменений в базе данных;
5) обеспечение целостности и безопасности баз данных.
11.2. Иерархическая, сетевая и реляционная модели представления данных
Информация в базе данных некоторым образом структурирована, т. е. ее можно описать моделью представления данных (моделью данных), которые поддерживаются СУБД. Эти модели подразделяют на иерархические, сетевые и реляционные.
При использовании иерархической модели представления данных связи между данными можно охарактеризовать с помощью упорядоченного графа (или дерева). В программировании при описании структуры иерархической базы данных применяют тип данных «дерево».
Основными достоинствами иерархической модели данных являются:
1) эффективное использование памяти ЭВМ;
2) высокая скорость выполнения основных операций над данными;
3) удобство работы с иерархически упорядоченной информацией.
К недостаткам иерархической модели представления данных относятся:
1) громоздкость такой модели для обработки информации с достаточно сложными логическими связями;
2) трудность в понимании ее функционирования обычным пользователем.
Незначительное число СУБД построено на иерархической модели данных.
Сетевая модель может быть представлена как развитие и обобщение иерархической модели данных, позволяющее отображать разнообразные взаимосвязи данных в виде произвольного графа.
Достоинствами сетевой модели представления данных являются:
1) эффективность в использовании памяти компьютера;
2) высокая скорость выполнения основных операций над данными;
3) огромные возможности (большие, чем у иерархической модели) образования произвольных связей.
К недостаткам сетевой модели представления данных относятся:
1) высокая сложность и жесткость схемы базы данных, которая построена на ее основе;
2) трудность для понимания и выполнения обработки информации в базе данных непрофессиональным пользователем.
Системы управления базами данных, построенные на основе сетевой модели, также не получили широкого распространения на практике.
Реляционная модель представления данных была разработана сотрудником фирмы 1ВМЭ. Коддом. Его модель основывается на понятии «отношения» (relation). Простейшим примером отношения служит двумерная таблица.
Достоинствами реляционной модели представления данных (по сравнению с иерархической и сетевой моделями) являются ее понятность, простота и удобство практической реализации реляционных баз данных на ЭВМ.
К недостаткам реляционной модели представления данных относятся:
1) отсутствие стандартных средств идентификации отдельных записей;
2) сложность описания иерархических и сетевых связей.
Большинство СУБД, применяемых как профессиональными, так и непрофессиональными пользователями, построены на основе реляционной модели данных (Visual FoxPro и Access фирмыMicrosoft, Oracle фирмы Oracle и др.).