Представление об организации баз данных и системах управления базами данных
База данных - именованная совокупность данных, адекватно отображающих состояние объектов и их взаимосвязей в некоторой предметной области и организованных таким образом, что данные могут использоваться для решения многих задач многими пользователями. Предметная область в общем случае складывается из множества реальных объектов, обладающих некоторым набором свойств, - атрибутов.
Чтобы различать объекты в базе данных, каждый объект снабжается идентификатором, который его однозначно определяет. Такой идентификатор принято называть уникальным, или первичным ключом.
Между объектами предметной области могут существовать два типа связей: обязательные и факультативные. Так, между объектами типов ʼʼЭКЗАМЕНʼʼ и ʼʼПРЕДМЕТʼʼ (учебная дисциплина) существует обязательная связь ʼʼПРОВОДИТСЯʼʼ, так как каждый экзамен проводится по некоторому предмету. В то же время для типов ʼʼПРЕДМЕТʼʼ и ʼʼЭКЗАМЕНʼʼ связь ʼʼИМЕЕТʼʼ является факультативной, так как экзамены существуют не по всем предметам.
Структура предметной области в целом представляется в виде множества типов объектов и множества связей между ними. Структура базы данных должна отражать структуру предметной области так, что каждому объекту предметной области соответствует некоторый объект базы данных, а связи между объектами предметной области - связи между соответствующими объектами базы данных.
Существуют централизованные и распределенные базы данных.
v Централизованная база данных хранится в памяти одного компьютера или одной вычислительной системы. Централизованные базы данных часто используются в локальных сетях персональных компьютеров.
v Распределённая база данных состоит из нескольких частей, которые хранятся в памяти различных компьютеров вычислительной сети.
Пользователями базы данных являются прикладные программисты, а также специалисты в конкретной предметной области; последних иногда называют конечными пользователями.
Одно из важных требований к базе данных - интегрированность, которая принято понимать как эффективность работы с ней в среднем по всем категориям пользователей, а не для отдельных пользователей. При реализации требования интегрированности должны учитываться приоритеты пользователей (или задач), частота решения отдельных задач, запросы вычислительных ресурсов и другие факторы, в частности минимизация избыточности (дублирования) данных, поскольку избыточность данных легко можно нарушить их непротиворечивость.
Функционирование базы данных как коллективного информационного ресурса многих пользователей обеспечивает специальная большая программа - система управления базой данных (СУБД), предназначенная для создания коллективной базы данных и её актуализации, загрузки данных, организации эффективного доступа пользователей к данным и управления доступом, сохранения независимости и целостности данных, рационального использования вычислительных ресурсов и других целей. Аналогично тому, как доступ пользователей к ресурсам компьютера возможен только через её ОС, доступ пользователей к базе данных возможен только через СУБД.
Различают СУБД общего назначения (универсальные) и специализированные.
v Универсальные СУБД пригодны для любых предметных областей и любых пользователей и имеют запас функциональных средств, который позволяет производить настройку на работу в конкретных условиях применения с целью повышения эффективности использования.
v Специализированные СУБД предназначены для высокоэффективного конкретного применения.
Взаимодействие прикладных программ и пользователей с СУБД принято называть манипулированием данными. Множества структур данных, ограничений и операций манипулирования данными составляют модель данных. Сегодня наибольшее применение находят иерархическая, сетевая и реляционная модели данных.
Иерархическая модель данных представляет собой множество деревьев, каждое из которых отображает иерархию объектов предметной области относительно одного из объектов, помещенного в корне дерева.
Пример:
Для предметной области ʼʼВузʼʼ бывают построены деревья:
ʼʼВуз - факультеты - кафедры - студенческие группы - студентыʼʼ.
ʼʼВуз - корпуса - этажи - помещения - занятость помещенийʼʼ.
ʼʼКафедра - занимаемые помещения - преподаватели - учебные дисциплины - группы - виды занятий - учебные часы и виды контроля успеваемостиʼʼ и так далее.
Иерархическая модель данных отличается простотой, но обладает большой информационной избыточностью. Большая избыточность информации приводит к излишней загрузке памяти ЭВМ и опасности нарушения целостности данных.
Вынужденная информационная избыточность иерархической модели данных объясняется тем, что она отображает лишь связи типа ʼʼодин ко многимʼʼ и не отображает часто встречающиеся в реальности связи типа ʼʼмногие ко многимʼʼ.
Недостаток иерархической модели устраняется в сетевой модели данных, отображающей объекты предметной области и их взаимосвязи в виде графа: объектам отвечают вершины графа, а связям - рёбра.
Сетевая модель - это представление данных сетевыми структурами типов записи и связанных отношениями 1:1, 1:∞, ∞:1, ∞:∞, то есть в этой модели теоретически возможны связи всех объектов модели со всеми объектами. Использование сетевой модели ускоряет доступ к информации, но так как каждый элемент должен содержать ссылки на все другие элементы, то такие базы данных требуют больших ресурсов памяти.
Реляционная модель. От Relation - отношение. Реляционная модель опирается на систему понятий реляционной алгебры. В реляционной модели информация представляется в виде прямоугольных таблиц. Каждая таблица состоит из строк и столбцов и имеет уникальное имя внутри базы данных.
Каждый столбец таблицы имеет уникальное для своей таблицы имя. Таблица не может не иметь ни одного столбца. Столбцы в таблицы называются полями, строки называются записями. Таблица может не содержать ни одной записи. В каждой таблице реляционной модели должен быть столбец или совокупность столбцов, значения которых однозначно идентифицируют каждую строку таблицы. Этот столбец или их совокупность называются первичным ключом.
Внешний ключ - это столбец или совокупность столбцов значение которого однозначно характеризует значение первичного ключа другой таблицы.
В случае если таблица удовлетворяет требованию уникальности первичного ключа, то такая таблица принято называть отношением. В реляционной модели все таблицы должны быть преобразованы в отношения связанные между собой внешними ключами.