Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зачем нужны схемы БД ? / 25 сообщений из 35, страница 1 из 2
10.02.2009, 01:25
    #35807068
ЗвездаYo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Не пинайте ногами, но ответа на вопрос не смог найти пересмотрев не один десяток книг по MS SQL (работаю с 2008) и форум.
Все ограничиваются историей про то, что раньше схема была тождественна имени пользователи и что схемы можно использовать для разграничения доступа и что за схемами большое и светлое будущее. Никаких рекомендаций связанных с выбором схем при проектировании БД не обнаружил.

Например: при проектировании БД торговой информационной системы можно схемой разделить таблицы по типам : справочники, регистры, журналы документов, табличные части документов...
А можно по смыслу : управление ассортиментом, товародвижение, ценообразование ...
А может они вообще не нужны - только кола больше становится ?

Какие будут рекомендации ?
Есть умные книжки ? Читать умею.

Модератор: Тема перенесена из форума "Проектирование БД".
...
Рейтинг: 0 / 0
10.02.2009, 10:20
    #35807373
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Схемы нужны прежде всего для управления правами доступа. А не для типизации.
...
Рейтинг: 0 / 0
10.02.2009, 10:24
    #35807383
Владимир М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.
...
Рейтинг: 0 / 0
10.02.2009, 10:30
    #35807404
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Владимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.
Можно. Аналогия приблизительна как зачем view-ы, если есть select-ы.
Схема нужна, чтобы отделить владение объекта от конкретного пользователя
...
Рейтинг: 0 / 0
10.02.2009, 10:33
    #35807412
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Владимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.Может, можно провести такую аналогию:
Роли - это группы пользователей.
Схемы - это группы ресурсов.

Честно говоря, сам никогда схемами не пользовался.
...
Рейтинг: 0 / 0
10.02.2009, 10:34
    #35807418
--__Александр__--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Владимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.
Схемы дают твоей машине дополнительный руль. Можно в принципе и без них, но сними удобнее.
Еще схемы играют важную роль в цепочках владения.
...
Рейтинг: 0 / 0
10.02.2009, 10:53
    #35807491
Владимир М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
alexeyvgВладимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.Может, можно провести такую аналогию:
Роли - это группы пользователей.
Схемы - это группы ресурсов.

Честно говоря, сам никогда схемами не пользовался.
Самое смешное, что сам я пользуюсь схемами... утилитарно, так сказать.
Есть схема test, в которой создаются объекты, тестируются и после успешного результата переносятся в схему dbo.
Но это разделение ресурсов, а не доступа.
...
Рейтинг: 0 / 0
10.02.2009, 10:56
    #35807500
Владимир М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Хотя конечно назначая права на схемы различным пользователям можно очень удобно разруливать эти права... Я думаю, что понимание придёт после того, как испытаешь это на практике.
...
Рейтинг: 0 / 0
10.02.2009, 11:18
    #35807560
Sim.On
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Схема в MSSQL Server 2005, 2008 - пространство имен, которому можно дать определенные разрешения. Смотрите первоисточник .
...
Рейтинг: 0 / 0
10.02.2009, 13:36
    #35808100
ЗвездаYo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Владимир М.Хотя конечно назначая права на схемы различным пользователям можно очень удобно разруливать эти права... Я думаю, что понимание придёт после того, как испытаешь это на практике.
Т.е. если я правильно понял, то желательно, чтобы схемы отображала реальное "жизненное" разделение возможных служебных обязанностей пользователей.
Получается правильнее делить по смыслу : управление ассортиментом, товародвижение, ценообразование ...
...
Рейтинг: 0 / 0
19.12.2009, 14:44
    #36375332
Sandist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Вот прочитал и ничего не понял... тоже порылся, поискал, но так и не нашел зачем эти схемы нужны, особенно в sql server 2008, ими могут владеть пользователи и они имеют список пользователей, притом для чего они вообще не ясно... есть роли, в которых можно манипулировать данными раздавать права, зачем тогда схемы? вообще хоть один пример приведите где их применяют?
...
Рейтинг: 0 / 0
19.12.2009, 18:35
    #36375554
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
SandistВот прочитал и ничего не понял... тоже порылся, поискал, но так и не нашел зачем эти схемы нужны, особенно в sql server 2008, ими могут владеть пользователи и они имеют список пользователей, притом для чего они вообще не ясно... есть роли, в которых можно манипулировать данными раздавать права, зачем тогда схемы? вообще хоть один пример приведите где их применяют?
А теперь подумайте, что должно произойти с объектом, которым владеет пользователь, при удалении этого пользователя из базы ?
...
Рейтинг: 0 / 0
21.12.2009, 00:00
    #36376787
Guest000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Glory, неужели аннигилироваться?
...
Рейтинг: 0 / 0
21.12.2009, 13:09
    #36377383
Sandist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
И что теперь, если я программист и создал валом ХП, теперь меня увольняют и удаляют логин, следовательно все мои ХП увольняются со мной? :-)
...
Рейтинг: 0 / 0
21.12.2009, 13:17
    #36377402
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
SandistИ что теперь, если я программист и создал валом ХП, теперь меня увольняют и удаляют логин, следовательно все мои ХП увольняются со мной? :-)
По вашей логике - да
По логике со схемой данных - нет, у схемы меняется владелец
...
Рейтинг: 0 / 0
21.12.2009, 13:19
    #36377404
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
SandistИ что теперь, если я программист и создал валом ХП, теперь меня увольняют и удаляют логин, следовательно все мои ХП увольняются со мной? :-)

это и есть мечта девелопера
...
Рейтинг: 0 / 0
21.12.2009, 13:20
    #36377408
Sandist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
Короче есть реальный ответ чем что можно сделать схемой и нельзя ролью?
...
Рейтинг: 0 / 0
21.12.2009, 13:21
    #36377411
`ё
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
а теперь представь что тебе надо написать процедуру которая ведет себя по разному для разных пользователей... при участие схем это разруливается на уровне системы, а без схем - только на уровне процедуры..
...
Рейтинг: 0 / 0
21.12.2009, 13:26
    #36377424
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
SandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью?
Нельзя удалить пользователя, если он владеет объектом
Схема - это контейнер для объектов
Роль - это контейнер для пользователей
Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ?
Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ?
...
Рейтинг: 0 / 0
21.12.2009, 13:53
    #36377488
Wizandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
GlorySandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью?
Нельзя удалить пользователя, если он владеет объектом
Схема - это контейнер для объектов
Роль - это контейнер для пользователей

Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ?
Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ?
Однако пользователь может входить одновременно в разные роли, а объект только в одну схему
...
Рейтинг: 0 / 0
21.12.2009, 13:56
    #36377498
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
WizandrGlorySandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью?
Нельзя удалить пользователя, если он владеет объектом
Схема - это контейнер для объектов
Роль - это контейнер для пользователей

Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ?
Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ?
Однако пользователь может входить одновременно в разные роли, а объект только в одну схему
А в схему могут входить множество типов объектов, а роль - всего два. И что дальше ?
Вы пытаетесь сравнивать контейнеры разных типов
...
Рейтинг: 0 / 0
23.12.2009, 13:18
    #36382014
Guest000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
GlorySandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью?
Нельзя удалить пользователя, если он владеет объектом
Схема - это контейнер для объектов
Роль - это контейнер для пользователей
Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ?
Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ?
А если, например, таблица бух.платежи нужна еще и финансистам, а иногда и директору, а не только бухгалтерам?
Все равно по бумажке...
...
Рейтинг: 0 / 0
23.12.2009, 14:36
    #36382246
SoftRain
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
По-моему, логическая цепочка, обуславливающая присутствие схем в MS SQL такова:

1. Изначальный (до SQL Server 2005) постулат о наименовании объектов в виде:
[DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject]
причем - ObjectOwner = пользователь базы (database user).

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

2. Для 2005-го сервера идеологию "владельца - пользователя" расширили до "схемы" - самостоятельной сущности, грубо говоря "группы объектов", которая в свою очередь имеет владельца. Обходится недостаток жесткой привязки имени объекта к владельцу объекта - пользователю базы (владелец схемы может быть сменен и после этого удален), появляются некоторые (не совсем критичные, на мой взгляд) теоретические удобности (разбиение объектов по схемам, назначение прав "кучей" - на все объекты, входящие в схему). Главное - сохраняется правило наименования объектов, что позволяет достигнуть более-менее безболезненного перехода с предыдущих версий.

Мое мнение - главная необходимость наличия схем - в совместимости с предыдущими версиями.
...
Рейтинг: 0 / 0
23.12.2009, 14:51
    #36382300
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
SoftRainПо-моему, логическая цепочка, обуславливающая присутствие схем в MS SQL такова:

1. Изначальный (до SQL Server 2005) постулат о наименовании объектов в виде:
[DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject]
причем - ObjectOwner = пользователь базы (database user).

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

2. Для 2005-го сервера идеологию "владельца - пользователя" расширили до "схемы" - самостоятельной сущности, грубо говоря "группы объектов", которая в свою очередь имеет владельца. Обходится недостаток жесткой привязки имени объекта к владельцу объекта - пользователю базы (владелец схемы может быть сменен и после этого удален), появляются некоторые (не совсем критичные, на мой взгляд) теоретические удобности (разбиение объектов по схемам, назначение прав "кучей" - на все объекты, входящие в схему). Главное - сохраняется правило наименования объектов, что позволяет достигнуть более-менее безболезненного перехода с предыдущих версий.

Мое мнение - главная необходимость наличия схем - в совместимости с предыдущими версиями.Мне кажется, ошибочно рассматривать схему с точки зрения одной частной реализации SQL Server (фирмой Microsoft).
Дело в том, что схема - понятие, включённое (и давно) в стандарт SQL
...
Рейтинг: 0 / 0
23.12.2009, 15:08
    #36382373
SoftRain
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужны схемы БД ?
iapМне кажется, ошибочно рассматривать схему с точки зрения одной частной реализации SQL Server (фирмой Microsoft).
Дело в том, что схема - понятие, включённое (и давно) в стандарт SQL

Согласен, конечно, я не спорю, что схемы имеют теоретическое обоснование. Ведь и до 2005 их наличие, хотя и в неуклюжей реализации, было обусловлено (наверное как раз стандартами языка SQL).
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зачем нужны схемы БД ? / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]