Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Система управления базами данных: иерархические, сетевые и реляционные. Объектные базы данных.
Система управления базами данных (СУБД) – это важнейший компонент АИС, основанной на базе данных. СУБД необходима для создания и поддержки базы данных информационной системы в той же степени, как для разработки программы на алгоритмическом языке – транслятор. Программные составляющие СУБД включают в себя ядро и сервисные средства (утилиты). Ядро СУБД – это набор программных модулей, необходимый и достаточный для создания и поддержания БД, то есть универсальная часть, решающая стандартные задачи по информационному обслуживанию пользователей. Сервисные программы предоставляют пользователям ряд дополнительных возможностей и услуг, зависящих от описываемой предметной области и потребностей конкретного пользователя. Классификация СУБД. В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования БД. Рассмотрим какие из имеющихся на рынке программ имеют отношение к БД и в какой мере они связаны с базами данных. К СУБД относятся следующие основные виды программ: · полнофункциональные СУБД; · серверы БД; · клиенты БД; · средства разработки программ работы с БД. Базы данных (БД) – это данные, организованные в виде набора записей определенной структуры и хранящиеся в файлах, где, помимо самих данных, содержится описание их структуры. Система управления базами данных(СУБД) – система, обеспечивающая ввод данных в БД, их хранение и восстановление в случае сбоев, манипулирование данными, поиск и вывод данных по запросу пользователя. По моделям представления, базы данных делятся на: - иерархические; - сетевые; - реляционные; - объектно-реляционные.
Иерархические базы данных – это самая первая модель представления данных, в которой все записи базы данных представлены в виде дерева, с соотношением предок-потомок (рис. 30). Фактически данные отношения реализуются в виде указателей на предков и потомков, содержащихся в самой записи. Такая модель представления данных связана с тем, что на ранних этапах, базы данных часто использовались для планирования производственного процесса: каждое выпускаемое изделие состоит из узлов, каждый узел из деталей и т.д. Для того, чтобы знать сколько деталей каждого вида надо заказать, строилось дерево. Поскольку список составных частей изделия представлял собой дерево, то для его хранения в базе данных наилучшим образом подходила иерархическая модель организации данных.
Рис. 30. Иерархическая база данных.
Однако иерархическая модель не является оптимальной. Допустим, что один и тот же тип болтов используется в автомобиле 300 раз в различных узлах. При использовании иерархической модели, данный тип болтов будет фигурировать в базе данных 1 раз, а 300 раз (в каждом узле - отдельно). В данном случае, будет прослеживаться дублирование информации. Чтобы устранить этот недостаток была введена сетевая модель представления данных. Сетевая база данных – это база данных, в которой одна запись может участвовать в нескольких отношениях предок-потомок (рис. 31). Т.е. фактически, база данных представляет собой не дерево, а граф.
Рис. 31. Сетевая база данных.
Физически данная модель также реализуется за счет хранящихся внутри самой записи указателей на другие записи, только, в отличие от иерархической модели, число этих указателей может быть произвольным. И иерархическая и сетевая модели достаточно просты, однако они имеют общий недостаток: для того, чтобы получить ответ даже на простой вопрос, программист должен был написать программу, которая просматривала базу данных, двигаясь по указателям от одной записи к другой. Написание программы занимало некоторое время, и часто к тому моменту, когда такая программа была написана, необходимость в получении данных уже не требовалась. Поэтому в середине 80-х годов 20 века произошел практически повсеместный переход к реляционным базам данных.
В реляционной базе данных вся информации представляется в виде таблиц, и любые операции над данными – это операции над таблицами. Таблицы строят из строк и столбцов. Строки – это записи, а столбцы представляют собой структуру записи (каждый столбец имеет определенный тип данных и длину данных). Строки в таблице не упорядочены – не существует первой или десятой строки. Однако поскольку на строки необходимо как-то ссылаться, то вводится понятие «первичный ключ». Первичный ключ – это столбец, значение которого во всех строках разные. Используя первичный ключ, можно однозначно ссылаться на любую строку таблицы. Первичный ключ может состоять и из нескольких столбцов (составной первичный ключ). Некоторые СУБД требуют в явном виде указать первичный ключ таблицы, а некоторые позволяют пользователю не задавать для таблицы первичный ключ – в таком случае СУБД сама добавляет в таблицу столбец – первичный ключ, не отображаемый на экране (так, например, в СУБД Oracle у любой таблицы существует псевдо-столбец ROWID, формируемый Oracle, который содержит уникальный адрес каждой строки). Отношения предок-потомок в реляционных БД реализуются при помощи внешних ключей. Внешний ключ – это столбец таблицы, значения которого совпадают со значениями первичного ключа некоторой другой таблицы. Так, например, на рис. 32 столбец «Ответственный» таблицы «Мероприятия» является внешним ключом для таблицы «Сотрудники» (первичный ключ – столбец «Фамилия»).
Рис. 32. Отношения предок-потомок в реляционных базах данных.
Важным моментом является также использование значения NULL в таблицах реляционной базе данных. NULL – это отсутствующее значение, отсутствие информации по данной позиции. Не допускается использование 0 или пробела вместо NULL: понятно, что «нулевой» объем продаж – это не тоже самое, что «неизвестный» объем продаж. По этой же причине, ни одно значение NULL не равно другому значению NULL. В реляционной базе данных, при запросах, группировке, сравнениях, и т.д., значения NULL обрабатываются особым образом.
Объектно-реляционные базы данных появились в последнее время у значительного числа производителей СУБД (Oracle, Informix, PostgreSQL) и сочетают в себе реляционную модель данных с концепциями объектно-ориентированного программирования (полиморфизм, инкапсуляция, наследование). Объектные базы данных (также объектно-ориентированные системы управления базами данных) являются системой управления базами данных, в которых информация представлена в виде объектов, используется в объектно-ориентированном программировании. Объектные базы данных отличаются от реляционных баз данных, являющихся таблично-ориентированными. Объектно-реляционные базы данных являются гибридом обоих подходов. Объектные базы данных были рассмотрены в начале 1980-х годов. Билет номер 8 |
Последнее изменение этой страницы: 2017-04-13; Просмотров: 1600; Нарушение авторского права страницы