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