Два разных определения схемы базы данных - PullRequest
1 голос
/ 28 апреля 2010

a) Я нашел два определения схемы:

FIRST - набор информации, которая описывает таблицу, называется схемой, и схемы используются для описания конкретных таблиц в базе данных, кака также целые базы данных (и отношения между таблицами в них, если таковые имеются).

SECOND - Схема базы данных - это способ логически группировать объекты, такие как таблицы, представления, хранимые процедуры и т. д. Думайте о схеме какконтейнер объектов.

Я предполагаю, что два описания описывают совершенно разные понятия, которые просто случайно используют одно и то же имя?

b)

Схема базы данных - это способ логически группировать объекты, такие как таблицы, представления, хранимые процедуры и т. Д. Думайте о схеме как о контейнере объектов.

Если я правильно понимаю приведенное выше определение, тогда схема базы данныхпохож на пространство имен, с той лишь разницей, что мы можем назначить права доступа к схеме базы данных, в то время как то же самое нельзя сделать с пространствами имен?

спасибо

1 Ответ

1 голос
/ 28 апреля 2010

Да, это может сбивать с толку. Как правило, в контексте реляционных баз данных ваша схема - это совокупность структур вашей базы данных - ваших таблиц, представлений, ключей, ограничений и т. Д. В зависимости от того, кого вы спрашиваете, это может включать или не включать триггеры, пользовательские функции, пользовательские типы, хранимые процедуры и т. п., но я также объединяю их в качестве объектов схемы.

В контексте конкретных систем управления реляционными базами данных (например, MSSQL, Postgres) схема представляет собой логическую группу объектов базы данных. Он служит двум целям: 1) как вы заметили, он действует как пространство имен и позволяет группировать связанные объекты базы данных, а также уменьшает конфликт имен; 2) вы можете назначить параметры безопасности для схемы в целом, а не назначать разрешения для объектов схемы по отдельности.

Терминологическое столкновение иногда сбивает с толку, но намеренное. Обычно имеет смысл говорить о подмножествах всей вашей схемы , а также назначать разрешения и работать с поведением этих подмножеств - и база данных поддерживает это, позволяя группировать эти подмножества в их собственные схемы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...