Схема базы данных

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Схема базы данных включает в себя описание содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных[1].

Постоянные данные в среде базы данных включают в себя схему и базу данных. Система управления базами данных (СУБД) использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных[1].

Схема базы данных MediaWiki

Схема базы данных (от англ. Database schema) — её структура, описанная на формальном языке, поддерживаемом СУБД. В реляционных базах данных схема определяет таблицы, поля в каждой таблице (обычно с указанием их названия, типа, обязательности), и ограничения целостности (первичный, потенциальные и внешние ключи и другие ограничения).

Схемы в общем случае хранятся в словаре данных. Хотя схема определена на языке базы данных в виде текста, термин часто используется для обозначения графического представления структуры базы данных[2].

Основными объектами графического представления схемы являются таблицы и связи, определяемые внешними ключами.

Схема как объект базы данных[править | править код]

Есть и другое понятие схемы в теории баз данных.

Схема (SCHEMA)[3] является одним из основных объектов базы данных Oracle Database. Близкое понятие (RIS Schema) существует в RIS-интерфейсе доступа к базам данных. SCHEMA также появилась и в Microsoft SQL Server 2005 и формально определяется как набор объектов в базе данных[4].

В Oracle схема привязывается только к одному пользователю (USER) и является логическим набором объектов базы данных. Схема создаётся при создании пользователем первого объекта, и все последующие объекты, созданные этим пользователем, становятся частью этой схемы.

Схема может включать другие объекты, принадлежащие этому пользователю:

  • таблицы
  • последовательности
  • хранимые программы
  • кластеры
  • связи баз данных
  • триггеры
  • библиотеки внешних процедур
  • индексы
  • пакеты
  • хранимые функции и процедуры
  • синонимы
  • представления
  • снимки
  • объектные таблицы
  • объектные типы
  • объектные представления

Существуют и подобъекты схемы, такие как:

  • столбцы: таблиц и представлений
  • секции таблиц
  • ограничения целостности
  • триггеры
  • пакетные процедуры и функции и другие элементы, хранимые в пакетах (курсоры, типы и т. п)

Существуют объекты, независимые от схемы:

  • каталоги
  • профили
  • роли
  • сегменты
  • табличные области
  • пользователи

Oracle Database[править | править код]

В Oracle Database понятия «схема» и «пользователь» нераздельно слились воедино. Формально два разных слова «user» и «schema» используются в Oracle для обозначения одного и того же: «схемы-пользователя». Документация на этот счет говорит, что «при заведении пользователя CREATE USER автоматически создается схема с таким же именем». С другой стороны, отдельных манипуляций со схемами в Oracle не предусмотрено (команда CREATE SCHEMA в Oracle не создает схему, как можно было бы подумать), вот и выходит, в системе понятий Oracle «схема» = «пользователь».

Для разработчика же эти два понятия не идентичны. Так, схема представляет собой своего рода контейнер хранимых в БД объектов, несущий традиционно двойную функциональную нагрузку: как средства организации данных (объектов в базе много, но не всем приложениям все они интересны) и как средство защиты данных от посторонних приложений. Пользователь же, по своей изначальной идее — это конкретное лицо, которое может подключаться к СУБД для работы с теми или иными данными, проверяться на наличие полномочий, контролироваться на предмет совершаемых действий и т. д.

Уровни схемы базы данных[править | править код]

Примечания[править | править код]

  1. 1 2 ГОСТ Р ИСО МЭК ТО 10032-2007: Эталонная модель управления данными (идентичен ISO/IEC TR 10032:2003 Information technology — Reference model of data management)
  2. What is schema? — A Word Definition From the Webopedia Computer Dictionary. Дата обращения: 24 ноября 2008. Архивировано 23 февраля 2009 года.
  3. Основные объекты Oracle — Книги по базам данных Архивировано 13 апреля 2010 года.
  4. Схемы баз данных SQL Server 2005, разделение пользователей и схем — AskIt.RU. Дата обращения: 7 апреля 2010. Архивировано 19 ноября 2010 года.