Что именно подразумевается под схемой?Могут ли хранимые процедуры и таблицы иметь другую схему? - PullRequest
1 голос
/ 28 июня 2011

Что именно подразумевается под схемой?Могут ли хранимые процедуры и таблицы иметь другую схему?Как я могу указать структуру через схему?хранится ли идентификация объекта по схеме?

Ответы [ 3 ]

2 голосов
/ 28 июня 2011

Это субъективно. Википедия Расскажите нам,

В реляционной базе данных схема определяет таблицы, поля, отношения, представления, индексы, пакеты, процедуры, функции, очереди, триггеры, типы,последовательности, материализованные представления, синонимы, ссылки на базы данных, каталоги, Java, схемы XML и другие элементы.

.., что противоречит ответу @ niktrs, поскольку он явно исключает процедуры из схемы.

Часто мне приходилось применять ограничение базы данных, для которого СУБД не поддерживает (например, требовал бы подзапрос в ограничении CHECK), и я прибегал к удалению разрешений на обновление из базовой таблицы и предоставлению«вспомогательный» хранимый процесс, который должен использоваться для обновления таблицы.В этих обстоятельствах я могу утверждать, что хранимый процесс является частью схемы.

На практике, если в SO я попросил спрашивающего: «Пожалуйста, опубликуйте свою схему», и они разместили свой сохраненный процесс (еслиэто было актуально для вопроса) тогда я бы не стал жаловаться;)

2 голосов
/ 28 июня 2011

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

Читать дальше http://en.wikipedia.org/wiki/Database_schema

ОБНОВЛЕНИЕ: Хранимые процедуры неправильно упоминаются как не являющиеся частью схемы базы данных.

Правильный ответ на один день.

1 голос
/ 28 июня 2011

Схема в SQL Server похожа на «пространство имен» в .net.Он был реализован правильно только после SQL Server 2005, поэтому я не буду вдаваться в древнюю историю

Схема также ссылается на определения таблиц, ключи и т. Д. В общем использовании.Это то, что вы подразумеваете под "структурой", я думаю.Это значение является отдельным и отличается от смысла пространства имен

Схема в смысле пространства имен означает, что вы можете иметь таблицы, скажем, в схеме данных, но хранимые процедуры в схеме WebGUI или схеме Desktop.WebGUI.GetOrders будет ссылаться на таблицу Data.Order.

Одним из преимуществ этого является более простая защита: вы ДЕЙСТВУЕТЕ на схеме, а не на Объектах

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