|
|
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
BelyУ меня строкой будет - как раз банка в которой лежит отдельно перец, отдельно сахар. Really? Вот тут Вы теряете связь с оракловой базой. В справочниках у Вас строка - это отдельная перчинка и отдельная сахаринка (которые Вы добавляете и удаляете), а "сахар" и "перец" - категории. Bely2) Tablespace - я бы сказал, что tablespace - это скорее КУХНЯ, т.е. помещение, где все находится. Причем, может находиться неоднородное - как продукты, так и кастрюли, мясорубки, цветы на подокойнике. Шкаф - тот же самый контейнер для неоднородных предметов. Что существенно, он не содержит отделимых подконтейнеров (давайте не будем про отделимые топором :) и поэтому является аналогом такого же "минимального контейнера" в базе - tablespace. Кухня - это, скорее, аналог БД, хотя здесь уже аналогии получаются зыбкими; можно по-разному играть словами, но смысла уже не будет. Bely3) Если я начну рассуждать по житейски - то я могу много нового внести в проектирование баз данных. Верно. И я согласен, что к аналогиям надо подходить с осторожностью - и не пытаться "действовать просто потому, что по аналогии". Однако, для объяснения той или иной концепции удачные аналогии уместны, а данная представляется мне удачной. BelyНапример, я могу сделать вывод, что старые таблицы надо время от времени удалять и создавать новые - заполняя их тем же данными. Это будет делаться по аналогии с выходом на пенсию и передачей дел молодому сотруднику. Странная аналогия. Я бы скорее сказал, что аналогией выхода на пенсию будет "время от времени надо выкидывать старое железо, перенося базы на новое". Скажете, это далеко от реальности? BelyПродолжать? Смотря какие цели Вы ставите. Если обосновать "любым инструментом можно воспользоваться плохо, особенно если поставить перед собой такую задачу", то незачем. BelyЯ думаю, что лучше обходиться без аналогий, всетаки. Это уже вопрос договоренностей о стиле беседы. BelyВсе достаточно подкованы в математике и базах, чтобы обойтись без ненужных пружинок и веревочек. Как Вам сказать..... у людей разные системы мышления и восприятия. Это факт, который стоит учитывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 11:10 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Bely egorychДобавлю, если не внапряг: вы-же дома у себя не кладёте в один ящик носки и гвозди, почему!!! вы позволяете себе такой подход в отношении Базы Данных!А у вас под каждый вид крупы дома отдельный шкаф? Один шкаф под овсянку, другой под рис, третий под манку, четвертый под перец, пятый под лавровый лист... так? Не стоит приводить житейские аналогии там где им не место. Согласен, не совсем удачная аналогия, но если развит эту мысль то сдесь идет спор о том, что удобнее, хранить продукты каждый вид в своем контейнере (физически разделять хранилище), или на разных полочках (организовывать логическое разделение внутри одного физического хранилища - шкафа). Еще раз повторю, ИМХО, оба подхода имеют право на существование, но не вижу однозначных плюсов или минусов, что бы выбрать один из подходов как "единственно верный". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 11:24 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
softwarer BelyНапример, я могу сделать вывод, что старые таблицы надо время от времени удалять и создавать новые - заполняя их тем же данными. Это будет делаться по аналогии с выходом на пенсию и передачей дел молодому сотруднику.Странная аналогия. Я бы скорее сказал, что аналогией выхода на пенсию будет "время от времени надо выкидывать старое железо, перенося базы на новое". Скажете, это далеко от реальности?Для меня хранение житейских предметах в ящиках - странная аналогия. В жизни - никто не будет хранить грязные носки вместе с хлебом, потому что носки пахнут. А в БД разнотипное (существенно) может храниться в базе в одной таблице (например EAV значения). Биты - они не пахнут... softwarer BelyПродолжать?Смотря какие цели Вы ставите. Если обосновать "любым инструментом можно воспользоваться плохо, особенно если поставить перед собой такую задачу", то незачем.Я хочу сказать, что аналогии можно употреблять только чтобы сделать обяснение более доступным, а в качестве доказательства почему "так надо делать" - это неприемлемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 11:57 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
BelyСреди этих - это один справочник. А среди 160 категорий, которые я привел в файле - можно выделить около 30 разнотипных справочников, которые логически разные. Значит будет 30 справочников. BelyВопрос не про конкретные атрибуты, а про то где хранить значения. Как поля таблицы, типа unsigned int. BelyСлишком смелое утверждение для неизвестных требований неизвестной истсемы. Дак приводите целиком требования... BelyВопрос стоит не про расширение списка - это делается легко и непринужденно при любом подходе, а про увеличение свойств. А что "одна таблица на все" спасет от изменения требований? softwarerПример, кстати, не очень удачный. Во-первых, неудачный сам по себе, во-вторых, плохо соответствующий обсуждаемому вопросу. Возможно... Я ж не в школе, теорему доказывать... авторИ самый главный вопрос -- ограничения целостности... А с этим то что делать... Или это кажется несущественным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 13:06 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
СержВозможно... Я ж не в школе, теорему доказывать...Не которые ответы меня вводят в недоумение - может, всетаки, вспомнить как в школе было? Напрячся чутка... подумать... СержЗначит будет 30 справочников. Как поля таблицы, типа unsigned int. Дак приводите целиком требования... А с этим то что делать... Или это кажется несущественным. Это вы вобще про что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 13:24 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Серж авторИ самый главный вопрос -- ограничения целостности... А с этим то что делать... Или это кажется несущественным. Проверка целостности может быть реализована (двигаясь от клиента к БД): 1) На клиенте 2) На сервере приложений 3) На интерфейсных ХП 4) На триггерах 5) На констрейтах Вопрос какие проверки можно/нельзя проводить в случае того или иного решения? Как было сказано в ходе дискуссии выше только в 5-ом пункте накладываются некоторые ограничения в схеме "Все в одном" например нельзя для разных типов справочников ставить различную реакцию Restrict/Set Null/Set Default. Насколько это существенно решать Вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 13:38 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
BelyВ жизни - никто не будет хранить грязные носки вместе с хлебом, потому что носки пахнут. Вполне верная аналогия, которую стоит развить дальше. Хлеб можно заворачивать в целлофан, и запах носок станет неважен. Гвозди из тех же носок не так сложно вытряхивать перед одеванием. Итого - хранить их вместе можно, как можно хранить разнотипные записи в одной таблице. Но то и другое - дополнительный геморрой (заворачивать в целлофан, вешать "эксклюзивные" триггеры...) BelyЯ хочу сказать, что аналогии можно употреблять только чтобы сделать обяснение более доступным, а в качестве доказательства почему "так надо делать" - это неприемлемо. Безусловно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 13:43 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
softwarer BelyЯ хочу сказать, что аналогии можно употреблять только чтобы сделать обяснение более доступным, а в качестве доказательства почему "так надо делать" - это неприемлемо.Безусловно.Вот поэтому реплику egorsДобавлю, если не внапряг: вы-же дома у себя не кладёте в один ящик носки и гвозди, почему!!! вы позволяете себе такой подход в отношении Базы Данных!я рассматриваю как неверное использование аналогий, о чем и сказал. Мама мне в детстве говорила... или Сержант в армии учил... - это не доводы при проектировании ИС. Это лишь внутренние тараканы конкретного индивидуума, такие же как лично мне приятно видеть более компактные модели данных без лишнего нагромождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 13:51 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
BelyВот поэтому реплику ..... я рассматриваю как неверное использование аналогий, о чем и сказал. Я бы согласился, если бы это был стержневой аргумент, но я рассматриваю эту фразу скорее как попутное замечание - типа "вот так, и вот так, и вот так, и вообще даже вот такая кухонная аналогия..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 13:58 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Bely... такие же как лично мне приятно видеть более компактные модели данных без лишнего нагромождения. Вы знаете, а так сразу стала понятна Ваша позиция. И научную базу сразу перестало быть нужным подводить. По поводу вот этого-же: Я почему!!! вы позволяете себе такой подход в отношении Базы Данных! думаю, действительно, мне стоит извиниться. Извиняюсь за излишнюю эмоциональность высказывания, тараканы вырвались наружу :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 14:49 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
egorych Bely... такие же как лично мне приятно видеть более компактные модели данных без лишнего нагромождения. Вы знаете, а так сразу стала понятна Ваша позиция. И научную базу сразу перестало быть нужным подводить.Дело в том, что я считаю эти два подхода - примерно равноценными. А в таком случае из двух вещей выбирается одна - уже на основе личных предпочтений. Главное действовать именно так, а не наоборот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 15:55 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
egorychНа самом деле, может, наоборот, сильно облегчить жизнь при написании интерфейса к этим справочникам, т.к. позволит нарисовать одну универсальную форму для всех справочников Нет разницы - универсальная форма может параметр 'форматировать' в имя таблицы-справочника. ps: 4 года назад принимал решение разбивать на ~15 таблиц-справочников {id, name} вместо одной {id, type, name} и обработку параметра type преобразовывать в обработку имени_таблицы - производительность улучшилась в разы (справочники разрослись) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 18:43 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Есть однотипные но слегка разнящиеся сущности. А почему не рассмотреть схему - общее в общей таблице, отличное в отдельных связанных по 1:1? Плюсы в одной таблице ( либо предлагаемое выше) Delete from ALL_Справочники WHERE год-такой-то Update owner=Vasya where owner=Petya //Петя уволился итд А уж селект... Есть однотипные но слегка разнящиеся сущности. Ну и надо выбрать все те что удовлетворяют определенным критерриям -- например все документы Иванова И И что он сделал в 2005 году. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 05:08 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Аноним564Плюсы в одной таблице ( либо предлагаемое выше) Delete from ALL_Справочники WHERE год-такой-то Update owner=Vasya where owner=Petya //Петя уволился итд А уж селект...1. Если строки справочника принадлежат кому-то, то это уже не справочник, а записная книжка. Справочник - принадлежит ВСЕМ. 2. Если надо разделять доступ к справочнику, то можно ввести понятие ГРУППА. у которой есть права доступа к определенным строкам. Если человек уволился - его исключили из группы, а другого назначили. 3. Операция переназначения владельца (ведущего менеджера) для организаций (в CRM), для проекта, для документов - вполне достойна быть выделена в ОТДЕЛЬНУЮ операцию, которую можно реализовать с помощью процедуры или еще как-нибудь. На такую операцию - по хорошему надо назначать отдельные права. 4. Если в справочнике есть владелец, права доступа - то это ОДНОЗНАЧНО в отдельную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 11:19 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Аноним564Есть однотипные но слегка разнящиеся сущности. - речь ранее шла, в общем-то о справочниках простейшего вида, полноценными сущностями не являющимися (по крайней мере пока) Аноним564А почему не рассмотреть схему - общее в общей таблице, отличное в отдельных связанных по 1:1? - потому что реализация такой связи потребует написания большого количества кода, поддерживающего ссылочную целостность и непротиворечивость данных, нетривиального и сложного в сопровождении, несопоставимого с поддержкой нескольких, изначально разделённых таблиц с обычными констраинтами и внешними ключами. Повторное использование кода, это конечно, хорошо, но заходить в этом направлении дальше необходимого всё-же не стоит. По мере развития программы от версии к версии "однотипные, но слегка разнящиеся" сущности постепенно превращаются в "слегка похожие", а потом и в "совершенно разные", общее у которых получается ID и Name. Позаботиться о будущем никогда не вредно, ещё при написании версии 1.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 11:43 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Estets Серж P.S. Все таки интересно посмотреть на перечень 190 справочников только из двух полей. Например документооборот, у каждого документа есть признаки: 1-Внешний 2-внутренний 1-Входящий 2-Исходящий 1-Бумажный 2-Электронный 1-Передан по почте 2-Курьером 3-По сети итд. итп. часть полей чисто справочная, от установки других зависит процесс обработки документов. Это, скорее, домены, чем справоники. И лежать должны в доменах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2008, 11:41 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
BelyСержBelyКаждая категория - это отдельный справочник. Большинство из них - это варианты ответа в анкетах для операторов Call-центра под разные проекты. В таком виде мало понятно, что они из себя представляют... например, 9 строк с приставкой SPORT_ SPORT_COMMON 21 SPORT_FIRM_TYPE 3 SPORT_FISHING 12 SPORT_OTHER_TYPES 12 SPORT_SERVICE_TYPE 5 SPORT_SUMMER_TOURISM 22 SPORT_TRENAJORS 11 SPORT_WEAPON 15 SPORT_WINTER_TOURISM 9 Это 9 справочников? И что он содержат?Это 9 справочников - содержание анкеты по ассортименту спортивных магазинов. содержат перечень ассортимента и характеристик. Возможен множественный выбор признаков. часть из этих категорий - выложено в файле. Рассматривая ваши 190 справочников не увидел здесь одной таблицы в упор - тут 2 таблицы: -категории (SPORT_COMMON, SPORT_FIRM_TYPE...) -список значений для категории(Ракетки, мячи, сетки и др. для большого тенниса, Продажа товаров для спорта и отдыха...) зачем 190 справочников или все в одной таблице ... не пойму!!! проблема в постановке и анализе задачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 16:46 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
spРассматривая ваши 190 справочников не увидел здесь одной таблицы в упор - тут 2 таблицы: -категории (SPORT_COMMON, SPORT_FIRM_TYPE...) -список значений для категории(Ракетки, мячи, сетки и др. для большого тенниса, Продажа товаров для спорта и отдыха...) зачем 190 справочников или все в одной таблице ... не пойму!!! проблема в постановке и анализе задачи!Еще раз. Есть 9 типов анкет: Авто, Одежда Обувь, Медицина, Спорт, Парикмахерские итд. Анкетирование проходит торговых точек. В каждой торговой точке заполняется одна (или несколько) анкет. В каждой анкете - есть вопросы, которые специфичны для этого типа. Например: Авто: кол-во машиномест в сервисе (число) Запчастями к каким машинам продают (список из 30 фирм: ВАЗ, ГАЗ, Мерседес, Опель итд.) Какие запчасти продают (список из 20 видов: стекла, магнитолы, глушители, шины итд.) итп. Общепит: Тип кухни (Грузинская, Японская, Русская, Европейская, Без специализации итд.) Тип обслуживания (с официантами, бармены, самообслуживание) Есть живая музыка (Да/Нет) Есть винная карта (Да/Нет) итп. Очевидно, что для хранения вариантов ответов нужно использовать справочники. Если под каждый вопрос создавать отдельный справочник (Запчасти к каким машинам продают, Тип кухни, Какие запчасти продают, Тип обслуживания итд.), то потребуется создать 190 справочников. Альтернатива - создать одну таблицу для всех вопросов и специальное поле, которое указывает к какому вопросу относится вариант ответа. вторая таблица, про которую Вы говорите - это таблица связи анкеты с вариантами ответов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 17:08 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
spРассматривая ваши 190 справочников не увидел здесь одной таблицы в упор - тут 2 таблицы: -категории (SPORT_COMMON, SPORT_FIRM_TYPE...) -список значений для категории(Ракетки, мячи, сетки и др. для большого тенниса, Продажа товаров для спорта и отдыха...) зачем 190 справочников или все в одной таблице ... не пойму!!! проблема в постановке и анализе задачи!Точнее так. Можно один этот справочник разбить на две таблицы (у нас так и есть). Но кардинально это ничего не меняет. главное, что варианты ответов все лежат в одной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 17:13 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
BelyspРассматривая ваши 190 справочников не увидел здесь одной таблицы в упор - тут 2 таблицы: -категории (SPORT_COMMON, SPORT_FIRM_TYPE...) -список значений для категории(Ракетки, мячи, сетки и др. для большого тенниса, Продажа товаров для спорта и отдыха...) зачем 190 справочников или все в одной таблице ... не пойму!!! проблема в постановке и анализе задачи!Точнее так. Можно один этот справочник разбить на две таблицы (у нас так и есть). Но кардинально это ничего не меняет. главное, что варианты ответов все лежат в одной таблице. ну так из анализа данных и видно что это не 199 справочников - это один справочник с категориями и реализовывать его в 199 таблицах - глупость и вопрос о реализации его в одной или в 199 таблицах неактуален ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 19:15 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
spну так из анализа данных и видно что это не 199 справочников - это один справочник с категориями и реализовывать его в 199 таблицах - глупость и вопрос о реализации его в одной или в 199 таблицах неактуаленИ в результате получаем возможность прицепить к анкете АВТО ответ "Тип кухни: Японская", что является бредом. PS: понятно, что из двух зол приходится выбирать меньшее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 10:29 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
softwarerBelyУ нас для таких супер простых вариантов есть таблица SIMPLE_LIST, где есть поле NAME, ID, CATEG_NAME Когда-то, году в 94-м, я работал примерно так же, на клиппере. Потом, когда пришел на Oracle, задал вопрос - а почему бы не сложить простые справочники таким манером. В ответ на что получил просьбу назвать хотя бы одно осмысленное преимущество такой вот "кучи малы" (под неосмысленными я понимаю, например, экономию нескольких килобайт дискового пространства). Попробовал - и не смог. Так до сих пор и не могу, одни минусы. Выгода, собственно, одна - не требуется изменять структуру базы под каждый чих. Так проще как клиентам, так и разработчику (как фирме, а не человеку), особенно если проходится поддерживать десяток-другой разных версий одного и того же продукта. Не надо морочиться со структурой базы при переносе кода из одной версии в другую, ибо и с кодом заморочек хватает. А добавлять подобные справочники приходится достаточно часто (порою в рамках фиксов/патчей), что бы для каждой такой мелочи дожидаться, скажем, релиза, в котором меняется структура базы. И, кстати, да. Самый распостраненный вариант использования таких справочников - EAV. А что делать? Говорит заказчик - хотим этот атрибут через неделю (в лучшем случае)! И что делать? Тащить изменение структуры через все пространства (разработка - тестовое - выпуск) за одну неделю? Не, я видал, конечно, таких героев, но вообще - в топку. EAV имеет вои недостаки (точнее сказать - у него одни только недостатки), но все перекрывается одним достоинтством - скоростью добавления атрибутов. Впрочем, мы уже спорили по этому поводу, но без особого успеха.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 12:05 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Николай1Выгода, собственно, одна - не требуется изменять структуру базы под каждый чих. Добавление справочника имеет смысл только тогда, когда на него кто-то будет ссылаться, а это в нормальном варианте - уже "изменение структуры базы". Итого, чтобы этот аргумент имел смысл, БД ещё и не должна использовать человеческих внешних ключей, подменяя их тем или иным "суперуниверсальным механизмом ссылок чего угодно на что угодно". А в этом случае становится довольно странно видеть "обычные таблицы", особенно если учитывать, что о скорости работы и удобстве написания бизнес-логики речи уже не идёт, а вот для добавления в них атрибутов "требуется изменять структуру базы под каждый чих". Итого получаем, что аргумент имеет смысл только в рамках "общего универсального движка" или на прямом пути к нему. Плюсы и минусы такого подхода... изучены. Религиозный подход фиксов-патчей-релизов я не совсем понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 23:36 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
softwarerНиколай1Выгода, собственно, одна - не требуется изменять структуру базы под каждый чих. Добавление справочника имеет смысл только тогда, когда на него кто-то будет ссылаться, а это в нормальном варианте - уже "изменение структуры базы". Итого, чтобы этот аргумент имел смысл, БД ещё и не должна использовать человеческих внешних ключей, подменяя их тем или иным "суперуниверсальным механизмом ссылок чего угодно на что угодно". А в этом случае становится довольно странно видеть "обычные таблицы", особенно если учитывать, что о скорости работы и удобстве написания бизнес-логики речи уже не идёт, а вот для добавления в них атрибутов "требуется изменять структуру базы под каждый чих". Итого получаем, что аргумент имеет смысл только в рамках "общего универсального движка" или на прямом пути к нему. Плюсы и минусы такого подхода... изучены. Религиозный подход фиксов-патчей-релизов я не совсем понял. Гм. Что же в нем непонятного? Есть большой продукт, который стоит у большого количества клиентов и регулярно (раз в месяц) централизовано обновляется (это, допустим, версия). Если надо сделать что-то срочное, то выпускается фикс. Срок его выпуска - 1 день. Всего есть (упрощенно) три пространства - разработка, тестирование и выпуск. При нормальной разработке сначала все делается в пространстве разработки, потом результат переностится в пространство тестирования, потом - в выпуск. При экстренных изменениях все сразу делается в пространстве выпуска, а потом возвращается "обратно" в разарботку и тестирование. Еще есть десяток клиентов у которых есть свои, более другие, версии. Со своим зоопарком пространств (правда покороче). Ну и представьте, какой объем работы надо будет проделать, если, вдруг, придется изменять структуру базы. Как минимум - это столько же, сколько делается при изменении кода (хотя что-то мне подсказывает, что больше). Ну и надо учесть, что баз обычно больше, чем пространств и достаточно часто практикуется переключение с одной базы на другую по мере надобности. "А теперь у них у всех - разная структура". Что касается использования новых справочников, то я об этом уже писал - EAV. И, таки, да, движок. Добавляем классификатор (тот самый, универсальный), дополнительный атрибут и - телемаркет. Пользователь может работать. Если этот реквизит нужен только на экране и при печати, то ничего кодировать не нужно вообще. Если где-то еще, то надо написать это самое "еще". Не понимаю, кстати, религиозных выпадов типа, "тогда все надо сложить в одну таблицу" или "тогда все в EAV". Зачем? В EAV попадает только то, что a) нужно срочно б) не требует никакой обработки, кроме ввода, отображения и печати. Остальное лежит в "обычных" таблицах. Кстати, далеко не все данных из таких "справочников" сохраняются в базе. Некоторые могут использоваться исключительно для управления некими процессами. Например - операций экспорта/импорта, для указания соответствия внутренних и внешних кодировок. Что же касается пресловутой "ссылочной целостности", то проблемы, порожденные ее отсутствием, составляют, хорошо если 5% от общего числа проблем приложения (из моей более чем 15 летней практики сопровождения тиражных продуктов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 13:05 |
|
||
|
Однотипные таблицы
|
|||
|---|---|---|---|
|
#18+
Belyspну так из анализа данных и видно что это не 199 справочников - это один справочник с категориями и реализовывать его в 199 таблицах - глупость и вопрос о реализации его в одной или в 199 таблицах неактуаленИ в результате получаем возможность прицепить к анкете АВТО ответ "Тип кухни: Японская", что является бредом. PS: понятно, что из двух зол приходится выбирать меньшее... где вы такое увидели из моего поста??? там если есть КАТЕГОРИЯ (тут я мигаю вам глазом) авто , то там и будет вашая "японская", а в категории про кухню (тут я опять мигаю вам глазом) будет все что относится к кухне - это же иерархический справочник КАТЕГОРИЯ-ПОДКАТЕГОРИИ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 14:19 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35910528&tid=1542889]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 469ms |

| 0 / 0 |
