Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Доброго всем дня! Столкнулся недавно с проектом, и не уверен в правильности применного там подхода: Имеется приложение (CMS). Как и любая CMS, данная включает в себя некоторое количество модулей. Для каждого модуля в БД заводится своя схема (как правило там 3-4 таблицы). Пример: модуль {news} - схемa {NEWS} модуль {...} - схемa {...} Собственно вопрос: нормально ли это? Или все-таки будет правильнее размещать таблицы в единой схеме? Опыта работы с DB2 нету, но есть с Oracle. При первом взгляде они очень похожи. В оракле под схемой фактически понимается пользователь, который владеет некоторым набором объектов. А что подразумевается под схемой в DB2? Вот тут http://www.ibm.com/developerworks/ru/edu/db2-hellodb2a/section6.html написано: "Схема -– это логическая категоризация объектов базы данных ." С моей точки зрения такой такой подход (разбиение на схемы) неверен, т.к. добавляет много неудобств разработчкку, а фактических плюсов увидеть пока не могу. Помогите, пожалуйста, разобраться. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 12:08 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Константин76 "Схема -– это логическая категоризация объектов базы данных ." Дык правильно написано. какие такие неудобства ты заметил? Хочешь юзай схемы как по принадлежности к пользователю. Хочешь юзай схемы как способ группировки по логическим составляющим твоей предметной области. Хочешь юзай схемы как способ версионности модели данных. и т.д. Т.е. это просто механизм группировки ни к чему не обязывающий. как хочешь так и юзай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 12:33 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
В CMS системе, котрую мне приходится поддерживать (самописка), все таблицы хранятся в одной схеме. Так вот, их там почти 300 %) Это жуть какая-то (с точки зрения ДБА, по крайней мере). С начала проекта нужно разбивать по семам - Вы всё правильно делаете. Так и продолжайте. На первых этапах, да, - это будет немного неудобно для программистов, но когда проект разрастётся, такую категоризацию сложно будет переоценить. Только небольшой совет по именованию. В DB2 в базе хранится ещё кучка системных схем. Чтобы не затеряться там, выберите префикс для своих. Типа: модуль {news} - схемa {CMS.NEWS} модуль {...} - схемa {CMS....} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 12:39 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы и советы.:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2008, 12:52 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Я сейчас админю некую оракловую систему (московского производства; а я в Тюмени), где в одной схеме лежит более тысячи таблиц (и ещё пару систем с несколько меньшим, но тоже большим количеством). Не могу сказать, что это так уж плохо и неудобно, поскольку приложение разбито на подсистемы (их довольно много), а имена базоданновых объектов вообще и таблиц в частности префиксованы именем этих подсистем. Нигде в коде схема не упоминается, что означает, что можно легко сделать дамп одной схемы и загрузить в другую, а это удобно для отладки. Московский разработчик продал свою систему X пользователям-фирмам. Если у какого-то пользователя возникает проблема, тот высылает свой дамп, и разработчик грузит в свою базу. Многосхемная система практически вынуждает указывать схемы в коде, что лишает возможности держать данные нескольких покупателей в одной базе, требует создания отдельных баз. На мой взгляд, это неудобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2008, 10:11 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Victor MetelitsaЯ сейчас админю некую оракловую систему (московского производства; а я в Тюмени), где в одной схеме лежит более тысячи таблиц (и ещё пару систем с несколько меньшим, но тоже большим количеством). Не могу сказать, что это так уж плохо и неудобно, поскольку приложение разбито на подсистемы (их довольно много), а имена базоданновых объектов вообще и таблиц в частности префиксованы именем этих подсистем. Нигде в коде схема не упоминается, что означает, что можно легко сделать дамп одной схемы и загрузить в другую, а это удобно для отладки. Московский разработчик продал свою систему X пользователям-фирмам. Если у какого-то пользователя возникает проблема, тот высылает свой дамп, и разработчик грузит в свою базу. Многосхемная система практически вынуждает указывать схемы в коде, что лишает возможности держать данные нескольких покупателей в одной базе, требует создания отдельных баз. На мой взгляд, это неудобно. там есть и другие неудобства, раздача привилегий на объекты из под владельца и на вторичные ключи....., но, мое мнение, разброс по логическим схемам и жесткая привязка к схеме на больших (более 300 таблиц на схему, а тем боле когда таблиц порядка 1000) БД это +. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2008, 17:20 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Какой смысл жёстко привязываться к схемам, если вы легко можете без этого обойтись? Пишете "схема_таблица" вместо "схема.таблица" - даже количество символов не увеличилось. Да, конечно, этот совет больше подходит для DB2 v9.5, чем для более ранних версий, с их ограничениями длин имён. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2008, 11:03 |
|
||
|
Рационально ли следующее использование схем?
|
|||
|---|---|---|---|
|
#18+
Victor MetelitsaКакой смысл жёстко привязываться к схемам, если вы легко можете без этого обойтись? Пишете "схема_таблица" вместо "схема.таблица" - даже количество символов не увеличилось. Да, конечно, этот совет больше подходит для DB2 v9.5, чем для более ранних версий, с их ограничениями длин имён. попробую "защитить" свою позицию ))) в DB2 мне не приходится заниматься разработкой, а вот в Оракле приходилось, вот что меня привлекало в отдельной схеме: 1. реинжениринг схемы, меньше обектов - меньше проблем; 2. четкое разделение по функциональности и по зоне ответственности; 3. возможность псевдо-версионности при разработке, можно было просто сделать EXP/IMP схемы (правда здесь есть ограничения) 4. больше свободы при именовании объектов, допустим внутри "своей" схемы можно названиями объектов более четко указать функциональность. Наверное, лучше делать так как удобно с учетом эксплуатации и смотреть на конкретную ситуацию. Не вижу я ничего плохого (в Вашем варианте) если разработка всего проекта будет вестись в одной схеме ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2008, 10:58 |
|
||
|
|

start [/forum/topic.php?fid=43&tid=1603683]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 376ms |

| 0 / 0 |
