Лекция 2_Модели данных
.pdfМодели данных
Понятие модели данных
Модель данных – система взаимосвязанных понятий и правил, предназначенную для описания структур и свойств данных, используемых (хранимых и обрабатываемых) в информационной системе*.
*предполагается, что такая информационная система пользуется услугами некоторой СУБД. Поэтому можно также сказать, что модель данных задает способ описания схемы базы данных.
Альтернативное определение модели данных:
Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с
которой взаимодействует пользователь. Упомянутые объекты позволяют моделировать структуру данных, а операторы поведение данных.
Реализация заданной модели данных – это физическое воплощение на реальной машине компонентов абстрактной машины, которые в совокупности составляют эту модель.
1
Модели данных
Состав модели данных
В состав развитой модели данных входят:
•Способы описания структуры данных:
-какие базовые (примитивные) типы данных можно использовать,
-каким образом строить сложные структуры данных из более простых;
•Способы описания взаимосвязей между объектами данных;
•Средства задания ограничений целостности;
•Способы конструирования операций, которые можно использовать в рамках модели данных.
2
Модели данных
Идентификация объектов данных
Методы идентификации можно условно разделить на следующие категории:
• По естественным признакам объекта реального мира, который описывается объектом данных.
Примером естественных идентификаторов может служить трехбуквенный код аэропорта, номер бронирования или биометрические свойства.
• По искусственному значению (суррогату), которое генерируется информационной системой. /
Заметим, что суррогатный идентификатор, созданный в одной системе, может использоваться как естественный идентификатор в другой. В качестве примера можно назвать номер документа, идентифицирующего личность.
• По связи объекта с другим, уже идентифицированным объектом.
Этот метод полезен для того, чтобы различить объекты, которые в рамках модели невозможно различить другим способом. Например, «правое переднее колесо легкового автомобиля» идентифицирует колесо по его месту. Поскольку колеса взаимозаменяемы, в рамках модели они могут описываться совпадающими значениями всех атрибутов.
3
Модели данных
Идентификация и изменяемость объектов
Выбор метода идентификации особенно важен для проектирования базы данных и информационной системы, ее использующей. Для моделей данных важно наличие какого-либо идентификатора, а не его природа.
Если же способ идентификации не выделен, то единственным способом проверки на равенство является проверка на совпадение значений всех элементов данных.
В таких моделях данных объекты, различающиеся значением хотя бы одного элемента, считаются различными. Следовательно, в таких моделях объекты изменяться не могут. Можно заменить объект на другой, но изменить невозможно.
При проектировании системы очень важно правильно выбрать способ идентификации, позволяющий взаимно-однозначно сопоставлять объекты реального мира с их представлениями в информационной системе.
4
Модели данных
Навигация и поиск по значениям
•Навигационный доступ (переходы от одного объекта к другим происходят с помощью ссылок)
Навигационный доступ использует явно заданные связи между объектами, например от текущего обрабатываемого объекта можно перейти к другому объекту по идентификатору, значение которого содержится в одном из атрибутов текущего объекта. Этот способ поиска характерен для объектноориентированных моделей данных, в том числе для объектно-ориентированных языков программирования.
• Поиск по значениям (ассоциативный поиск)
Результатом поиска по значениям обычно является набор объектов данных, удовлетворяющих условиям поиска. Такой поиск может не использовать заранее заданные связи, и часто результат содержит несколько объектов данных. Этот способ часто используется в декларативных языках запросов, в том числе и в теоретической реляционной модели, и в используемых на практике системах управления базами данных, в которых реализован язык запросов SQL.
* Не существует четкого различия между способами поиска, и многие модели допускают использование операций того и другого класса. Поэтому выбор способа поиска является не только свойством модели, но и отражает стиль программирования приложений.
5
Модели данных
Гранулярность доступа. Объекты и коллекции объектов
Гранулярность доступа определяет, что является единицей обмена при доступе к данным. Операции, определенные в модели данных, могут быть ориентированы на обработку отдельных объектов данных или на массовую обработку. Как правило, хотя и не обязательно, навигационный доступ предполагает обработку отдельных объектов данных, а поиск по значениям чаще всего предполагает массовую обработку.
Свойство гранулярности модели данных определяет, каким образом происходит взаимодействие между сервером базы данных и приложением и, следовательно, должно учитываться при проектировании приложения.
Системы, ориентированные на обработку отдельных объектов данных, как правило, оказываются неэффективными при массовой обработке, и обратно, системы, достигающие очень высокой производительности при массовой обработке, могут быть крайне неэффективны, если они используются для обработки большого количества отдельных объектов
6
Модели данных
Модели и развитие БД
Модель данных простого файла Структура
•Заголовок
•Данные (просто текст)
7
Модели данных
Модели и развитие БД
Модель данных структурированного файла Структура
•Заголовок (названия столбцов, типы и размер данных)
•Данные (просто текст)
8
Модели данных
Модели и развитие БД
Простые и структурированные файлы
Достоинства
•Простота чтения
Недостатки
•Сложность поиска
•Сложность обработки
•Сложность изменения
•Сложность хранения разных типов
•Нет проверки целостности
Реализации
•Excel
•dBase-подобные СУБД
9
Модели данных
Модели и развитие БД
Файловая модель данных Представление данных
•Файл – одна запись
•Каталоги – подчиненные записи
10