Введение в базы данных
1.2.3 Модели данных
Базы данных удобно проектировать в рамках одной или нескольких моделей данных, определяющих тот набор средств, который может быть использован. Более точно, модель данных это система допустимых типов данных и связей, а также набор предусмотренных типов смыслов, включающих как минимум ограничения целостности и метаданные.
Модель модели принято называть метамоделью. Модель данных —это метамодель для описания набора реализуемых моделей предметной области. Таким образом, по отношению к данным базы модель данных это метаметамодель.
По Дейту, реляционная модель состоит из трех частей:
- структурной,
- целостной,
- манипуляционной.
Эти аспекты можно выделить в любой модели данных, но не всегда они реализуются явно.
Например, в реляционной модели структурная часть образуется отношениями и связями между ними. Единственная структура данных в реляционной модели это рассмотренные выше n-арные отношения, связанные бедным набором связей типов и . Подробно эта модель будет рассмотрена в следующих лекциях.
В реализациях СУБД модель данных определяет ещё и способ хранения данных. Современные СУБД используют не менее трёх моделей. Чаще всего это реляционная, одна из объектных и иерархическая модель. Иерархии реализуются расширениями языка базы и часто появляются в связи с использованием XML.
СУБД Cache в этом плане совершенно уникальна. Она использует три модели — объектную, реляционную и иерархическую. Иерархии в ней появляются не только в рамках XML. Персистентный базисный язык Cache, называемый ObjectScript, позволяет работать с древесными данными. Отсутствие в иерархической модели словаря, то есть некоторая незавершённость иерархической модели, предоставляет пользователю широкие возможности для творчества, недоступные в других системах.
Только в Cache можно на практике и без организации отображений показать связи между упомянутыми тремя моделями данных и самому построить другие модели.
Именно поэтому в книге так широко используется Cache.
1.2.4 Файловые системы и базы данных
Для долговременного хранения больших объемов данных в настоящее время используют файловые системы и базы данных. И хотя данные в базе хранятся тоже в файлах, механизмы хранения данных в файловой системе и базе данных существенно отличны. Поэтому файловые системы и базы данных имеют различные области применения.
В первом приближении можно считать, что базы данных — это надстройка над файловой системой, обеспечивающая работу со сложными структурами данных без явного использования операций с файлами. Система управления базами данных (СУБД) —это программная система, обеспечивающая создание и администрирование базы данных, поддержание целостности содержащихся в ней данных, надежное и эффективное использование ресурсов, предоставление доступа для приложений и пользователей. Эквивалентный английский термин —Data Base Management System (DBMS).
Упрощённое представление базы данных показано на рисунке 1.4. Вы помните, что словарь хранит метаданные базы. Можно считать его дополнительной базой или схемой метаданных, главным пользователем которой является основная база данных. Человек не может манипулировать данными словаря непосредственно, а только через изменение схемы основной базы.
СУБД в настоящее время демонстрируют значительные преимущества в скорости перед базами на основе обычных файловых систем. В самом деле, в последних файл имеет жёстко заданную структуру записи, и потому каждый набор записей хранится в отдельном файле. При упорядочении записей или выполнении дефрагментации файла затрачивается очень много процессорного времени.