Схема базы данных — это структура базы данных , описанная на формальном языке, обычно поддерживаемая системой управления реляционными базами данных (СУБД). Термин «схема» относится к организации данных как к проекту построения базы данных (в случае реляционных баз данных она разделена на таблицы базы данных ). Формальное определение схемы базы данных — это набор формул (предложений), называемых ограничениями целостности, налагаемыми на базу данных. [ нужна цитация ] Эти ограничения целостности обеспечивают совместимость между частями схемы. Все ограничения выражаются на одном языке. Базу данных можно рассматривать как структуру в реализации языка базы данных . [1] Состояния созданной концептуальной схемы преобразуются в явное отображение — схему базы данных. Здесь описывается, как в базе данных моделируются объекты реального мира .
«Схема базы данных определяет, основываясь на знаниях администратора базы данных о возможных приложениях, факты, которые могут войти в базу данных, или факты, представляющие интерес для возможных конечных пользователей ». [2] Понятие схемы базы данных играет ту же роль, что и понятие теории в исчислении предикатов . Модель этой «теории» близко соответствует базе данных, которую в любой момент времени можно рассматривать как математический объект . Таким образом, схема может содержать формулы, представляющие ограничения целостности специально для приложения и ограничения конкретно для типа базы данных, и все они выражены на одном и том же языке базы данных. [1] В реляционной базе данных схема определяет таблицы , поля , отношения , представления , индексы , пакеты , процедуры , функции , очереди , триггеры , типы , последовательности , материализованные представления , синонимы , ссылки на базу данных, каталоги , схемы XML и другие элементы.
База данных обычно хранит свою схему в словаре данных . Хотя схема определяется на языке текстовых баз данных, этот термин часто используется для обозначения графического изображения структуры базы данных. Другими словами, схема — это структура базы данных, которая определяет объекты в базе данных.
В системе базы данных Oracle термин «схема» имеет несколько иной смысл.
Перечисленные ниже требования влияют на детальную структуру создаваемых схем. Некоторые приложения не требуют соблюдения всех этих условий, но эти четыре требования являются наиболее идеальными.
Предположим, мы хотим, чтобы опосредованная схема интегрировала две базы данных о путешествиях: Go-travel и Ok-flight.
Go-travel
имеет два отношения:
Go-flight(номер рейса, время, еда(да/нет))Go-price(номер рейса, дата, цена)
Ok-flight
имеет только одно отношение:
Ок-рейс(номер рейса, дата, время, цена, прямой рейс(да/нет))
Перекрывающаяся информация в схемах Go-travel и Ok-flight может быть представлена в опосредованной схеме: [3]
Рейс(номер рейса, дата, время, цена)
В контексте баз данных Oracle объект схемы представляет собой логическую структуру хранения данных . [4]
База данных Oracle связывает отдельную схему с каждым пользователем базы данных . [5] Схема включает в себя набор объектов схемы. Примеры объектов схемы включают в себя:
С другой стороны, объекты, не являющиеся схемами, могут включать: [6]
Объекты схемы не имеют однозначного соответствия физическим файлам на диске, в которых хранится их информация. Однако базы данных Oracle хранят объекты схемы логически в табличном пространстве базы данных. Данные каждого объекта физически содержатся в одном или нескольких файлах данных табличного пространства . Для некоторых объектов (таких как таблицы, индексы и кластеры) администратор базы данных может указать, сколько дискового пространства СУБД Oracle выделяет для объекта в файлах данных табличного пространства.
Между схемами и табличными пространствами нет обязательной связи: табличное пространство может содержать объекты из разных схем, а объекты одной схемы могут находиться в разных табличных пространствах. Однако специфика базы данных Oracle требует распознавания платформой неоднородных различий последовательностей, что считается решающим ограничивающим фактором в виртуализированных приложениях. [7]
Схема базы данных — это логический контейнер для структур данных, называемых объектами схемы.
Примерами объектов схемы являются таблицы и индексы.
Схема — это совокупность логических структур данных или объектов схемы.
Схема принадлежит пользователю базы данных и имеет то же имя, что и этот пользователь.
Каждый пользователь владеет одной схемой.
Объекты схемы можно создавать и управлять ими с помощью SQL.
Объекты других типов также хранятся в базе данных, их можно создавать и манипулировать ими с помощью операторов SQL, но они не содержатся в схеме.
Эти объекты включают пользователей базы данных, роли, контексты и объекты каталога.