|
|
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
Пару лет назад написали WEB-приложение (Apache, Oracle, modplsql) по нефтянке. Модульная структура приложения, все что можно по интерфейсу также хранится в базе. Приложение средних размеров, порядка сотни таблиц, но мы совсем не заморачивались на нормализации и лог-журналах (не до того было, да и сервер был слаабенький). За это время у пользователей возникло множество хотелок. Часть из них реализовали, часть запланировали в новой версии... Старый сервер сдох (оказалось, что приложение всем понравилось и только официально зарегестрированных пользователей около 250), купили новый около года назад, может не очень крутой, но заметно лучше старого. Теперь проектируется база средних размеров для WEB-приложения. Сохраняем такую же модульную структуру, большинство таблиц ложится в конкретные модули, хотя и может использоваться в других. Таблиц будет заметно больше, чем раньше. Проблема: Как грамотно реализовать систему наименований? Мои смешные варианты: Вариант 1. Разделить модули по отдельным схемам, плюс основная схема для всяких административных примочек. Но наш АБД говорит, что так не делается. Тем более при кажущемся нам большом количестве таблиц, - это не так уж и много. Плюс возникнут легкие проблемы с DAD. Вариант 2. В названии каждой таблицы, кроме всего прочего, использовать префикс с названием модуля. Так как храним мы довольно специализированные данные, есть вероятность что мы можем уйти за ограничение на длину названия (или оно больше 32 символов?). P/S/ Может быть я неправильно назвала тему, возможно есть другие варианты, не связанные с именованием таблиц. Я слышала что-то про NAMESPACE, но пока в дебрях документации к моему случаю привязать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 10:21 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
у нас все лежит в одной схеме,добавляем префикс в зависимости от предметной области или назначения.Например,все таблицы справочников начинаются с ref, все таблицы налогового учета-с tax_, бухгалтерского учета с acc_ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 11:10 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
Тут главное, чтобы была какая-либо система наименований и все ее придерживались. Какая именно - это уже дело вкуса. Лично я предпочитаю, чтобы таблицы были сгруппированы по именам "основной сущности", к к-й они относятся Т.е. Loans , Loans Statuses, Loans Comments, Loans Tranches и т.п. Тоже самое и с другими объектами БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 11:19 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
есть вероятность что мы можем уйти за ограничение на длину названия (или оно больше 32 символов?). Маленькая поправка - ограничение на размер наименования объекта в Oracle - 30 символов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 11:56 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
То есть у всех обычно все лежит в одной схеме. Тогда можно маленький вопрос, а сколько это таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 12:02 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
Shtockу нас все лежит в одной схеме,добавляем префикс в зависимости от предметной области или назначения.Например,все таблицы справочников начинаются с ref, все таблицы налогового учета-с tax_, бухгалтерского учета с acc_ А есть строгое соглашение, что все префиксы имеют длину три символа, или это совсем не обязательно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 12:40 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
просто в три буквы получалось всегда,я думаю никто не запрещает и до четырех довести.Русские мы-любые мысли мы можем тремя буквами выразить. Ну у меня порядка 450.В Новой афине например (абс такая) в схеме od я видел и 900 и более таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 13:01 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
Спасибо, значит будем работать в одной схеме и сочинять префиксы, вот только в три буквы уложиться уже не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 13:12 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
а пример можно,что не укладывается?На самом деле проблема с несколькими схемами - надо давать гранты не только на select, но и на reference... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2006, 13:30 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
Были случаи, когда не укладывалось в первом приближении, но потом изгалялись, что-то сокращали и все получалось, но случаются названия по 29 символов. Например, результирующая таблица по пропласткам по скважине в модуле технологические режимы. Аналогичная таблица в покупном программном продукте называется WELL_LOG_RESULT_SUBLAYERS (25 символов). Добавляем префикс для модуля TRG_ (29 символов). У меня в другой задаче было, например справочник затрат входящих логистических схем, или справочник груп входящих логистических схем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 07:47 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
Мы не используем ни префиксы, ни схемы. Сущности именуем в единственном числе, к примеру, Account вместо Account s А отношение к конкретным модулям определено в используемом нами case-средстве - на каждый модуль свой package. Сущности истории имеют суффикс History. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 09:53 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
префиксы TAB_ - обычные нормальные таблицы. CALC_ - для хранения результатов вычислений SUM_ - для хранения просуммированных (свернутых) результатов PIVOT_ - для храрнения результатов сводных запросов DICT_ - словари/справочники MIDAS_ - таблицы с копиями данных из системы MIDAS больной черной AS400 суффикс History - для хранения данных за все даты (история по датам) корни (между префиксами и суффиксом) из одного слова Account Customer Balance Deal Deam из нескольких слов DealGroup DealSubGroup DealDuration DealProlongation вот такая собственно хрень о паре сотен таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 13:17 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
ZankaВариант 1. Разделить модули по отдельным схемам, плюс основная схема для всяких административных примочек. Но наш АБД говорит, что так не делается. Ваш АБД знает не все. Для примера может посмотреть в Oracle E-Business Suite, и втирать уже им, что так не делается :) Так делается, есть свои плюсы и свои минусы. Основной плюс - инкапсуляция; доступ модуля к внутренностям другого модуля регулируется грантами. Основной минус - жесткая завязка на имена схем. Резюмируя - подход хорош для действительно больших приложений, когда вероятно, что оно будет крутиться на своем, отдельном экземпляре. ZankaВариант 2. В названии каждой таблицы, кроме всего прочего, использовать префикс с названием модуля. Я использую этот подход и довольно хорошего мнения о нем. Просто для примера преимуществ - сейчас у нас на одном сервере развернута схема для разработки и три не то четыре для тестирования - все одной структуры, и все спокойно живут. Zankaесть вероятность что мы можем уйти за ограничение на длину названия (или оно больше 32 символов?). Есть такая вероятность. Она всегда есть, и без префиксов тоже. Неприятно, но что поделаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 14:19 |
|
||
|
Система наименований таблиц
|
|||
|---|---|---|---|
|
#18+
softwarerВаш АБД знает не все. Для примера может посмотреть в Oracle E-Business Suite, и втирать уже им, что так не делается :). Все-таки наш АБД кое-что знает. Он уточнял, собираемся ли мы разграничить таким способом доступ к данным, но мы сказали ему, что изначально такая задача не ставится. softwarerподход хорош для действительно больших приложений, когда вероятно, что оно будет крутиться на своем, отдельном экземпляре. Наше приложение, хоть и небольшое, крутится на своем, отдельном экземпляре. Просто когда общий сервер загибался наши заказчики выбили для задачи отдельный сервер, а мы теперь стоим на его страже :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 09:50 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1544832]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 479ms |

| 0 / 0 |
