Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Не пинайте ногами, но ответа на вопрос не смог найти пересмотрев не один десяток книг по MS SQL (работаю с 2008) и форум. Все ограничиваются историей про то, что раньше схема была тождественна имени пользователи и что схемы можно использовать для разграничения доступа и что за схемами большое и светлое будущее. Никаких рекомендаций связанных с выбором схем при проектировании БД не обнаружил. Например: при проектировании БД торговой информационной системы можно схемой разделить таблицы по типам : справочники, регистры, журналы документов, табличные части документов... А можно по смыслу : управление ассортиментом, товародвижение, ценообразование ... А может они вообще не нужны - только кола больше становится ? Какие будут рекомендации ? Есть умные книжки ? Читать умею. Модератор: Тема перенесена из форума "Проектирование БД". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 01:25 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Схемы нужны прежде всего для управления правами доступа. А не для типизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:20 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:24 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Владимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права. Можно. Аналогия приблизительна как зачем view-ы, если есть select-ы. Схема нужна, чтобы отделить владение объекта от конкретного пользователя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:30 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Владимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.Может, можно провести такую аналогию: Роли - это группы пользователей. Схемы - это группы ресурсов. Честно говоря, сам никогда схемами не пользовался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:33 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Владимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права. Схемы дают твоей машине дополнительный руль. Можно в принципе и без них, но сними удобнее. Еще схемы играют важную роль в цепочках владения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:34 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
alexeyvgВладимир М.А мне вот тоже не совсем понятно... А роли для чего? Можно и ими рулить права.Может, можно провести такую аналогию: Роли - это группы пользователей. Схемы - это группы ресурсов. Честно говоря, сам никогда схемами не пользовался. Самое смешное, что сам я пользуюсь схемами... утилитарно, так сказать. Есть схема test, в которой создаются объекты, тестируются и после успешного результата переносятся в схему dbo. Но это разделение ресурсов, а не доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:53 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Хотя конечно назначая права на схемы различным пользователям можно очень удобно разруливать эти права... Я думаю, что понимание придёт после того, как испытаешь это на практике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 10:56 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Схема в MSSQL Server 2005, 2008 - пространство имен, которому можно дать определенные разрешения. Смотрите первоисточник . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 11:18 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Владимир М.Хотя конечно назначая права на схемы различным пользователям можно очень удобно разруливать эти права... Я думаю, что понимание придёт после того, как испытаешь это на практике. Т.е. если я правильно понял, то желательно, чтобы схемы отображала реальное "жизненное" разделение возможных служебных обязанностей пользователей. Получается правильнее делить по смыслу : управление ассортиментом, товародвижение, ценообразование ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2009, 13:36 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Вот прочитал и ничего не понял... тоже порылся, поискал, но так и не нашел зачем эти схемы нужны, особенно в sql server 2008, ими могут владеть пользователи и они имеют список пользователей, притом для чего они вообще не ясно... есть роли, в которых можно манипулировать данными раздавать права, зачем тогда схемы? вообще хоть один пример приведите где их применяют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 14:44 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
SandistВот прочитал и ничего не понял... тоже порылся, поискал, но так и не нашел зачем эти схемы нужны, особенно в sql server 2008, ими могут владеть пользователи и они имеют список пользователей, притом для чего они вообще не ясно... есть роли, в которых можно манипулировать данными раздавать права, зачем тогда схемы? вообще хоть один пример приведите где их применяют? А теперь подумайте, что должно произойти с объектом, которым владеет пользователь, при удалении этого пользователя из базы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 18:35 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Glory, неужели аннигилироваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 00:00 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
И что теперь, если я программист и создал валом ХП, теперь меня увольняют и удаляют логин, следовательно все мои ХП увольняются со мной? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:09 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
SandistИ что теперь, если я программист и создал валом ХП, теперь меня увольняют и удаляют логин, следовательно все мои ХП увольняются со мной? :-) По вашей логике - да По логике со схемой данных - нет, у схемы меняется владелец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:17 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
SandistИ что теперь, если я программист и создал валом ХП, теперь меня увольняют и удаляют логин, следовательно все мои ХП увольняются со мной? :-) это и есть мечта девелопера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:19 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Короче есть реальный ответ чем что можно сделать схемой и нельзя ролью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:20 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
а теперь представь что тебе надо написать процедуру которая ведет себя по разному для разных пользователей... при участие схем это разруливается на уровне системы, а без схем - только на уровне процедуры.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:21 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
SandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью? Нельзя удалить пользователя, если он владеет объектом Схема - это контейнер для объектов Роль - это контейнер для пользователей Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ? Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:26 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
GlorySandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью? Нельзя удалить пользователя, если он владеет объектом Схема - это контейнер для объектов Роль - это контейнер для пользователей Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ? Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ? Однако пользователь может входить одновременно в разные роли, а объект только в одну схему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:53 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
WizandrGlorySandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью? Нельзя удалить пользователя, если он владеет объектом Схема - это контейнер для объектов Роль - это контейнер для пользователей Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ? Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ? Однако пользователь может входить одновременно в разные роли, а объект только в одну схему А в схему могут входить множество типов объектов, а роль - всего два. И что дальше ? Вы пытаетесь сравнивать контейнеры разных типов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2009, 13:56 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
GlorySandistКороче есть реальный ответ чем что можно сделать схемой и нельзя ролью? Нельзя удалить пользователя, если он владеет объектом Схема - это контейнер для объектов Роль - это контейнер для пользователей Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ? Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ? А если, например, таблица бух.платежи нужна еще и финансистам, а иногда и директору, а не только бухгалтерам? Все равно по бумажке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 13:18 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
По-моему, логическая цепочка, обуславливающая присутствие схем в MS SQL такова: 1. Изначальный (до SQL Server 2005) постулат о наименовании объектов в виде: [DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject] причем - ObjectOwner = пользователь базы (database user). Очевидны недостатки - если какой-то пользователь когда-то умудрился создать объект, который оказался необходимым и используемым, то имя этого пользователя оказывается увековеченным в базе (удалить его нельзя). 2. Для 2005-го сервера идеологию "владельца - пользователя" расширили до "схемы" - самостоятельной сущности, грубо говоря "группы объектов", которая в свою очередь имеет владельца. Обходится недостаток жесткой привязки имени объекта к владельцу объекта - пользователю базы (владелец схемы может быть сменен и после этого удален), появляются некоторые (не совсем критичные, на мой взгляд) теоретические удобности (разбиение объектов по схемам, назначение прав "кучей" - на все объекты, входящие в схему). Главное - сохраняется правило наименования объектов, что позволяет достигнуть более-менее безболезненного перехода с предыдущих версий. Мое мнение - главная необходимость наличия схем - в совместимости с предыдущими версиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 14:36 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
SoftRainПо-моему, логическая цепочка, обуславливающая присутствие схем в MS SQL такова: 1. Изначальный (до SQL Server 2005) постулат о наименовании объектов в виде: [DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject] причем - ObjectOwner = пользователь базы (database user). Очевидны недостатки - если какой-то пользователь когда-то умудрился создать объект, который оказался необходимым и используемым, то имя этого пользователя оказывается увековеченным в базе (удалить его нельзя). 2. Для 2005-го сервера идеологию "владельца - пользователя" расширили до "схемы" - самостоятельной сущности, грубо говоря "группы объектов", которая в свою очередь имеет владельца. Обходится недостаток жесткой привязки имени объекта к владельцу объекта - пользователю базы (владелец схемы может быть сменен и после этого удален), появляются некоторые (не совсем критичные, на мой взгляд) теоретические удобности (разбиение объектов по схемам, назначение прав "кучей" - на все объекты, входящие в схему). Главное - сохраняется правило наименования объектов, что позволяет достигнуть более-менее безболезненного перехода с предыдущих версий. Мое мнение - главная необходимость наличия схем - в совместимости с предыдущими версиями.Мне кажется, ошибочно рассматривать схему с точки зрения одной частной реализации SQL Server (фирмой Microsoft). Дело в том, что схема - понятие, включённое (и давно) в стандарт SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 14:51 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
iapМне кажется, ошибочно рассматривать схему с точки зрения одной частной реализации SQL Server (фирмой Microsoft). Дело в том, что схема - понятие, включённое (и давно) в стандарт SQL Согласен, конечно, я не спорю, что схемы имеют теоретическое обоснование. Ведь и до 2005 их наличие, хотя и в неуклюжей реализации, было обусловлено (наверное как раз стандартами языка SQL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 15:08 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
GloryСхемы нужны прежде всего для управления правами доступа. А не для типизации. правильно. но если из молотка (sql 2000) сделать молоток, похожий на лопату (sql 2005/2008), то очень даже удобно и копать будет. Glory Как вы, например, будете давать права на объекты относящиеся к проекту "Отдел кадров" ? Будете каждый раз сверять список этих объектов в свойствах роли и на бумажке ? зачастую распределение прав более глубокое чтение/просмотр, поэтому сделать кого-то владельцем схемы маловато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 15:34 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
Схема очень похожа на пространство имен в программировании. Вы можете создать два объекта с одинаковым именем но в разных схемах. Удобно групировать объекты, если есть понимание зачем вам это нужно. Можно работать с группой объектов, например при нарезке прав. Пример использования - схема sys. Отделяет системные объекты от пользовательских. Да и вам может понадобиться создать ещё один набор объектов с именами которые уже есть в этой же базе. Например одинаковые наборы таблиц для разных филлиалов. Но в целом - похоже что это просто ещё одна степень свободы группировки, которую совсем необязательно применять, оссбенно если на уровне архитектуры приложения не понятно, зачем это нужно. Рекомендаций, кроме как игнорировать до появления необходимости воспользоваться, нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 15:35 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
M0us зачастую распределение прав более глубокое чтение/просмотр, поэтому сделать кого-то владельцем схемы маловато. Нет, ну на схему можно абсолютно все те же права, что и на объекты давать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 18:13 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
SoftRainM0us зачастую распределение прав более глубокое чтение/просмотр, поэтому сделать кого-то владельцем схемы маловато. Нет, ну на схему можно абсолютно все те же права, что и на объекты давать. Да, наверно я со своей "колькольни" сужу. Просто когда вам в наследство достается не очень чистая БД (старые неиспользуемые объекты, таблицы, куча систем, обращающихся к БД тем или иным способом в режиме 24/7, различное клиентское ПО, куча левых грантов в том числе на table-objects), то вот так просто взять и раскидать все по схемам нереально :) С момента перехода на 2005-й мы уже давно постепенно все чистим и систематизируем, переводим на разные схемы по мере возможности. Хотя соглашусь, что проект "с нуля" будет отлично работать по схемам при грамотном проектировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2009, 18:59 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
M0us ... то вот так просто взять и раскидать все по схемам нереально :) Хотя соглашусь, что проект "с нуля" будет отлично работать по схемам при грамотном проектировании. Тоже так думаю, хотя может быть в теории и не так трудно раскидать существующую базу по схемам, честно говоря, не задумывался серьезно, какие последствия для проектов, написанных под единственной схемой "dbo" могут возникнуть, и оправданы ли в итоге будут полученные плюсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 14:01 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
понимаю что тема поднята из гроба. тем не менее. думая про схему ее смысл пришла аналогия с папками если роль аналогична группе пользователей то схема аналогична папке. выдавая пермишнс на папку мы выдаем права доступа на все обьекты внутри папки. что скажете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2019, 11:51 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
отсюда вытекает ответ на вопрос " а смысл использования схемы?" такой же какой имеют папки при организации доступа к файлам. и правилам разграничения доступа к файлам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2019, 11:52 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
схема позволяет задать права доступа к группе обьектов непривязываясь к конкретным обьектам. мы выдаем права доступа к схеме. а потом привязывая обьект к схеме мы получаем на этот обьект нужные права. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2019, 11:54 |
|
||
|
Зачем нужны схемы БД ?
|
|||
|---|---|---|---|
|
#18+
sql7, Ну да, соглашусь. Или, к примеру - DWH - различные схемы нужны, дабы отделять уровни пирога и модули, логически организовывать подсистемы БД, ну и управлять безопасностью. К примеру - организуется схема [DataMart]., кладем в нее все витрины, - звезды-снежинки, и только она видна потребителю Хранилища - кубу или BI-приложению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2019, 15:09 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1687298]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 454ms |

| 0 / 0 |
