системы поддержки целостности данных, обеспечивающей непротиворечивое состояние хранимых данных;
системы управления параллельной работой приложений, контролирующей процессы их совместного доступа к базе данных;
системы восстановления, позволяющей восстановить базу данных до предыдущего непротиворечивого состояния, нарушенного в результате сбоя аппаратного или программного обеспечения;
доступного пользователям каталога, содержащего описание хранимой в базе данных информации.
Отличие от файловой системы в случае с базой данных в том, что каждый пользователь по-прежнему имеет собственные приложения, но физическая структура и способ хранения данных контролируется с помощью СУБД.
Обладая указанными выше функциональными возможностями СУБД в общем случае предоставляет всем пользователям избыточную информацию. Для решения этой проблемы в СУБД предлагается другой механизм – создание представлений, - который позволяет любому пользователю иметь свой собственный «взгляд» на базу данных. Язык определения данных включает средства определения представлений, каждое из которых является некоторым подмножеством базы данных.
Помимо упрощения работы за счет предоставления пользователям только действительно нужных им данных, представления обладают некоторыми другими достоинствами.
Обеспечивают дополнительный уровень безопасности. Представления могут создаваться с целью исключения тех данных, которые не должны видеть некоторые пользователи.
Предоставляют механизм настройки интерфейса
базы данных.
Позволяют сохранить внешний интерфейс базы данных непротиворечивым и неизменным даже при внесении
16
изменений в ее структуру – например, при добавлении или удалении полей, изменении связей, разбиении файлов, их реорганизации или переименовании. Если в файл добавляются или из него удаляются поля, не используемые в некотором представлении, то все эти изменения на данном представлении никак не отразятся. Таким образом, представление обеспечивает полную независимость программ от реальной структуры данных, то позволяет устранить важнейший недостаток файловых систем.
Все эти определения имеют несколько общий характер и справедливы для современных мощных многопользовательских СУБД, так как на самом деле реальный объем функциональных возможностей, предлагаемых в некоторой конкретной СУБД, отличается от продукта к продукту.
Например, СУБД для персонального компьютера может не поддерживать параллельный совместный доступ, а управление режимом безопасности, поддержанием целостности данных и восстановлением будет присутствовать только в очень ограниченной степени. Однако современные мощные многопользовательские СУБД представляют собой чрезвычайно сложное программное обеспечение, состоящее из миллионов строк кода и многих томов документации.
17
2. МОДЕЛИ ДАННЫХ. ОТОБРАЖЕНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ. СУЩНОСТИ И СВЯЗИ. МЕТОДЫ АБСТРАГИРОВАНИЯ ДАННЫХ. ИЕРАРХИЧЕСКАЯ, СЕТЕВАЯ, РЕЛЯЦИОННАЯ МОДЕЛИ ДАННЫХ
2.1. Сущности и связи между ними
Основная цель системы управления базами данных заключается в том, чтобы предложить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления ими. Cледовательно, отправной точкой при проектировании базы данных должно быть абстрактное и общее описание информационных потребностей организации, которые должны найти свое отражение в создаваемой базе данных.
При определении базы данных мы уже касались таких понятий как сущность, связь и атрибуты. Дадим более полное определение этих понятий
ТИПЫ СУЩНОСТЕЙ – это объект или концепция, которые характеризуются на данном предприятии как имеющие независимое существовании
Другими словами, тип сущности – это множество объектов реального мира с одинаковыми свойствами. Тип сущности характеризуется независимым существованием и может быть объектом с физическим существованием или объектом с концептуальным существованием. Каждый уникально идентифицируемый экземпляр типа сущности называется просто сущностью (или экземпляром сущности).
СУЩНОСТЬ – это экземпляр типа сущности, который может быть идентифицирован уникальным образом.
18
Каждый тип сущности идентифицируется именем и списком свойств. Несмотря на то, что тип сущности обладает уникальным набором атрибутов, каждая сущность имеет свои собственные значения для каждого атрибута. Тип сущности, существование которого зависит от какого-то другого типа, называется слабым типом сущности (в противоположность сильному типу сущности, который ни от кого не зависит).
АТРИБУТ – это свойство типа сущности или типа связи
СВЯЗЬ – это ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущности.
ДОМЕН АТРИБУТА – набор значений, которые могут быть присвоены атрибуту
Каждый атрибут связан с набором значений, которые называются доменом. Различные атрибуты могут совместно использовать один и тот же домен.
Атрибуты делятся на простые и составные,
однозначные и многозначные, а также производные.
Простой атрибут – это атрибут, состоящий из одного компонента с независимым существованием
СОСТАВНОЙ АТРИБУТ –состоит из нескольких компонентов, каждый из которых характеризуется независимым существованием
ОДНОЗНАЧНЫЙ АТРИБУТ – атрибут, который содержит одно значение для одной сущности
МНОГОЗНАЧНЫЙ АТРИБУТ – атрибут, который содержит несколько значений для одной сущности
Например, у одного и того же отделения компании может быть несколько номеров телефонов
19
ПРОИЗВОДНЫЙ АТРИБУТ – атрибут, который представляет значение, производное от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторому (не обязательно данному) типу сущности.
Например, возраст сотрудника вычисляется по его дате рождения, т.е. атрибут «возраст» производный от атрибута «дата рождения».
При построении моделей концептуального уровня можно использовать язык ER-диаграмм (от англ. Entity-Relationship, т. е. сущность-связь). В них тип сущности изображаются помеченными прямоугольниками (сильный тип сущности – с контуром внутри него), связь – помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а связи между ними.
Ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква М, заменяющая слово "много") и необходимое пояснение. Имя атрибута, который является первичным ключом, подчеркивается.
Между двумя сущностям, например, А и В возможны четыре вида связей.
Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В:
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
А |
|
АВ |
|
|
В |
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример: |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
1 |
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Студент |
|
|
|
Назна- |
|
|
|
Вид |
|
|||
|
|
|
|
|
|
чение |
|
|
|
|
стипендии |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Студент может не «заработать» стипендию, получить обычную или одну из повышенных стипендий.
20