Изменения

Перейти к: навигация, поиск

Развитие баз данных

251 байт добавлено, 19:36, 4 сентября 2022
м
rollbackEdits.php mass rollback
Предложена и реализована IBM в 1966.
==== Представление данных ====
Теперь мы храним дерево записей, при этом для каждой записи мы знаем ее тип и структуру. Таким образом исчезает проблема с ошибками в типах хранящихся данных. Так же для каждой записи имеет имеется произвольное количество подчиненных записей (детей).
* Дерево записей
* Отношения родитель – ребенок (как каталоги и подкаталоги)
Уметь хранить графы объектов в памяти очень полезно. Предложена в 1985. Сейчас такие базы данных в основном реализуются через слой трансляции в реляционную базу.
====Структура====
Структура аналогична тому, как этот обьект объект хранится в памяти. Это и явзяется является основным преймуществом преимуществом данной модели.
* Сущность – объект
* Связь – поле
==== Пример ====
Здесь в рамки определены обведены определения структуры обьектовобъектов, а стрелкой обозначены ссылки от одного объекта к другому.
[[Файл:Intro object.png|400px]]
=== Достоинства ===
* Простота представления объектов (из-за ориентированности модели данных на данную задачу)
* Гибкая структура данных (так как можем хранить произвольные обьектыобъекты)
* Логичное направление ссылок (соответственно направлению в объектах)
* Сложность реализации (так как стандартный способ - трансляция в реляционную модель)
* Сложность миграции схемы (что будет с объектами в базе, если мы захотим добавить им поле)
* Малая распространенность(в основном используются через ORM)
=== Реализации ===
* Выборка по свойствам
==== Пример ====
В ракми рамки обведены содержания отдельных документов. Как видно из примера они могут существенно отличаться.
[[Файл:Intro history document.png|400px]]
Имеем маленькие значения и хотим их быстро идентифицировать по ключам. Если хотим ссылки - храним в значении массивы ключей. В данной модели мы умеем только по ключу доставать небольшое значение.
==== Представление данных ====
Представляет собой ассоциативный массив.
* Ключ
* Произвольное значение
 
==== Пример ====
Здесь в рамки обведено определение ассоциативного массива.
 
[[Файл:Intro history keyvalue.png|400px]]
1632
правки

Навигация