Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекция 2_Модели данных

.pdf
Скачиваний:
3
Добавлен:
17.06.2023
Размер:
1.1 Mб
Скачать

Модели данных

Понятие модели данных

Модель данных – система взаимосвязанных понятий и правил, предназначенную для описания структур и свойств данных, используемых (хранимых и обрабатываемых) в информационной системе*.

*предполагается, что такая информационная система пользуется услугами некоторой СУБД. Поэтому можно также сказать, что модель данных задает способ описания схемы базы данных.

Альтернативное определение модели данных:

Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с

которой взаимодействует пользователь. Упомянутые объекты позволяют моделировать структуру данных, а операторы поведение данных. ​

Реализация заданной модели данных – это физическое воплощение на реальной машине компонентов абстрактной машины, которые в совокупности составляют эту модель.

1

Модели данных

Состав модели данных

В состав развитой модели данных входят:

Способы описания структуры данных:

-какие базовые (примитивные) типы данных можно использовать,

-каким образом строить сложные структуры данных из более простых;

Способы описания взаимосвязей между объектами данных;

Средства задания ограничений целостности;

Способы конструирования операций, которые можно использовать в рамках модели данных.

2

Модели данных

Идентификация объектов данных

Методы идентификации можно условно разделить на следующие категории:

• По естественным признакам объекта реального мира, который описывается объектом данных.

Примером естественных идентификаторов может служить трехбуквенный код аэропорта, номер бронирования или биометрические свойства.

• По искусственному значению (суррогату), которое генерируется информационной системой. /

Заметим, что суррогатный идентификатор, созданный в одной системе, может использоваться как естественный идентификатор в другой. В качестве примера можно назвать номер документа, идентифицирующего личность.

• По связи объекта с другим, уже идентифицированным объектом.

Этот метод полезен для того, чтобы различить объекты, которые в рамках модели невозможно различить другим способом. Например, «правое переднее колесо легкового автомобиля» идентифицирует колесо по его месту. Поскольку колеса взаимозаменяемы, в рамках модели они могут описываться совпадающими значениями всех атрибутов.

3

Модели данных

Идентификация и изменяемость объектов

Выбор метода идентификации особенно важен для проектирования базы данных и информационной системы, ее использующей. Для моделей данных важно наличие какого-либо идентификатора, а не его природа.

Если же способ идентификации не выделен, то единственным способом проверки на равенство является проверка на совпадение значений всех элементов данных.

В таких моделях данных объекты, различающиеся значением хотя бы одного элемента, считаются различными. Следовательно, в таких моделях объекты изменяться не могут. Можно заменить объект на другой, но изменить невозможно.

При проектировании системы очень важно правильно выбрать способ идентификации, позволяющий взаимно-однозначно сопоставлять объекты реального мира с их представлениями в информационной системе.

4

Модели данных

Навигация и поиск по значениям

Навигационный доступ (переходы от одного объекта к другим происходят с помощью ссылок)

Навигационный доступ использует явно заданные связи между объектами, например от текущего обрабатываемого объекта можно перейти к другому объекту по идентификатору, значение которого содержится в одном из атрибутов текущего объекта. Этот способ поиска характерен для объектноориентированных моделей данных, в том числе для объектно-ориентированных языков программирования.

• Поиск по значениям (ассоциативный поиск)

Результатом поиска по значениям обычно является набор объектов данных, удовлетворяющих условиям поиска. Такой поиск может не использовать заранее заданные связи, и часто результат содержит несколько объектов данных. Этот способ часто используется в декларативных языках запросов, в том числе и в теоретической реляционной модели, и в используемых на практике системах управления базами данных, в которых реализован язык запросов SQL.

* Не существует четкого различия между способами поиска, и многие модели допускают использование операций того и другого класса. Поэтому выбор способа поиска является не только свойством модели, но и отражает стиль программирования приложений.

5

Модели данных

Гранулярность доступа. Объекты и коллекции объектов

Гранулярность доступа определяет, что является единицей обмена при доступе к данным. Операции, определенные в модели данных, могут быть ориентированы на обработку отдельных объектов данных или на массовую обработку. Как правило, хотя и не обязательно, навигационный доступ предполагает обработку отдельных объектов данных, а поиск по значениям чаще всего предполагает массовую обработку.

Свойство гранулярности модели данных определяет, каким образом происходит взаимодействие между сервером базы данных и приложением и, следовательно, должно учитываться при проектировании приложения.

Системы, ориентированные на обработку отдельных объектов данных, как правило, оказываются неэффективными при массовой обработке, и обратно, системы, достигающие очень высокой производительности при массовой обработке, могут быть крайне неэффективны, если они используются для обработки большого количества отдельных объектов

6

Модели данных

Модели и развитие БД

Модель данных простого файла Структура

Заголовок

Данные (просто текст)

7

Модели данных

Модели и развитие БД

Модель данных структурированного файла Структура

Заголовок (названия столбцов, типы и размер данных)

Данные (просто текст)

8

Модели данных

Модели и развитие БД

Простые и структурированные файлы

Достоинства

Простота чтения

Недостатки

Сложность поиска

Сложность обработки

Сложность изменения

Сложность хранения разных типов

Нет проверки целостности

Реализации

Excel

dBase-подобные СУБД

9

Модели данных

Модели и развитие БД

Файловая модель данных Представление данных

Файл – одна запись

Каталоги – подчиненные записи

10