Простые и структурированные файлы
Модель данных простого файла
Структура
- Заголовок (названия столбцов)
- Данные (просто текст)
Пример
ФИО,Предмет,Оценка
Иванов И.И.,Java,4
Иванов И.И.,Базы данных,5
Петров П.П.,Java,5
Петров П.П.,Базы данных,4
Модель данных структурированного файла
Структура
- Заголовок (названия столбцов, типы и длины)
- Данные (записи одинаковой структуры)
Пример
ФИО           Предмет     Оценка
String, 14    String, 12  Number, 1
Иванов И.И.   Java          4
Иванов И.И.   Базы данных   5
Петров П.П.   Java          5
Петров П.П.   Базы данных   4
Достоинства
-  Простота чтения
-  В структурированном файле можем быстро находить строчку по номеру
Недостатки
-  Сложность поиска
-  Сложность обработки
-  Сложность хранения данных разны типов
-  Нет проверки целостности (но можно проверять количество столбцов или добавить модуль чтения и записи типизированных файлов)
Реализации
-  Данные на перфокартах
-  dBase
-  Excel / LibreOffice Calc
Файловые системы
Файловая модель данных
Представление данных
-  Файл – одна запись
-  Каталоги – подчиненные записи
Пример
-  Иванов И.И./Данные – ФИО, адрес, etc
-  Иванов И.И./Оценки/Java – 4
-  Иванов И.И./Оценки/Базы данных – 5
-  Петров П. П./Данные – ФИО, адрес, etc
-  Иванов П. П./Оценки/Java – 5
-  Петров П. П./Оценки/Базы данных – 4
Достоинства
-  Структурирование данных
-  Простота реализации
Недостатки
-  Сложно извлекать требуемые данные
-  Нет проверки целостности
-  Большое количество файлов
Реализации
-  FATx, ExtX, NTFS, APFS
-  DOM
Иерархические базы данных
Иерархическая модель данных
Представление данных
-  Дерево записей
-  Отношения родитель – ребенок
Пример
 
Достоинства
-  Проверка целостности записей и отношений
-  Последовательное расположение записей
-  Эффективность реализации
Недостатки
-  Представление только древовидных данных
-  Нет отношения многие-ко-многим
Реализации
-  IBM Information Management System
-  Windows registry
Сетевые базы данных
Сетевая модель данных
Представление данных
-  Ориентированный граф записей
-  Отношения владелец – запись
Пример
 
Достоинства
-  Представление всех типов связей
-  Возможность описания структуры
-  Эффективность реализации
Недостатки
-  Сложность реализации
-  Жесткое ограничение структуры
Реализации
-  Integrated Data Store
-  Integrated Database Management System
-  TurboIMAGE
Реляционные базы данных
Реляционная модель данных
Структура
-  Данные хранятся в таблицах
-  Проверка целостности заданных связей
-  Связи задаются в запросах
Пример
 
Достоинства
-  Представление всех типов связей
-  Гибкая структура данных
-  Математическая модель
Недостатки
-  Сложность реализации
-  Сложность представления иерархических данных
-  Сложность составления эффективных запросов
Реализации
Объектные базы данных
Объектная модель данных
Структура
-  Сущность – объект
-  Связь – поле
-  Ограничения целостности – определение объекта
Пример
 
Достоинства
-  Простота представления объектов
-  Гибкая структура данных
-  Логичное направление ссылок
Недостатки
-  Сложность реализации
-  Сложность миграции схемы
-  Малая распространенность
Реализации
-  Oracle Database Objects
-  ObjectDB
NoSQL
Документ-ориентированные
Представление данных
-  Слабоструктурированные документы
-  Выборка по свойствам
Пример
 
Ключ-значение
Представление данных
-  Ключ
-  Произвольное значение
Пример
 
Другие
Табличные
-  Одна большая таблица
-  Хранится построчно
Столбчатые
-  Одна большая таблица
-  Хранится по столбцам
Графовые
-  Граф объектов
-  Данные в узлах
-  Данные на ребрах
Достоинства
-  Большой выбор
-  Гибкость
-  Скорость работы
Недостатки
-  Множество вещей делается в коде
-  Нет оптимизатора
-  Легко ошибиться