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