|
|
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Понимаю, что бизнес не стоит на месте - все растет, все развивается, но как же нам разработчикам учитывать изменения схем данных? Вот и сегодня, мне за 2 дня до отпуска, сказали что нужно внести изменения в тарифный план (план разрабатываем не мы и повлиять на него никак не можем - ведем его для корректного формирования стоимости наших услуг). Но проблема в том, что якобы маленькие изменения в цифрах, на самом деле являются изменениями в существующей схеме данных и там работы не на пару дней. Я понимаю, когда ну раз в 2 года, а лучше раз 5 лет, что-то в схеме данных можно незначительно поменять и скорректировать старые документы под новую схемы, чтобы на них не повлияли изменения, но когда это происходит минимум раз в полгода и когда изменения схемы влекут за собой наслоения "сохранений" старых документов под новые схемы - это становиться адом! Поделитесь пожалуйста опытом борьбы с таким явлением. Есть ли какие либо способы или шаблоны проектирования такого безобразия!? ) Хочется в отпуск... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2013, 23:58 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Как бороться технически или организационно? Технические варианты: 1) Делать запасные поля. 2) Вместо добавления полей делать дополнительную таблицу, связанную с исходной как 1:[0-1]. 3) Использовать сериализованные поля. Например ,строковое поле с содержимым вида "param1=value1;param2=value2". 4) Использовать EAV и подобные структуры. Естественно, любой из вариантов нужно применять осторожно и к месту. Организационные: 1) Добиться, чтобы о будущих изменениях предупреждали не за 2 дня до запуска, а еще на этапе планирования. 2) Начать разбираться в предметной области лучше. Цитирую нашего DBA (который еще и немалую часть БД проектирует и в предметной области понятие имеет) - "хвостом чую, они здесь еще вот это захотят" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:08 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoft, в предметной области - съедим и мамонта, но к сожалению, зависимости параметров тарифном плане никак не связаны с предметной областью, а лишь с фантазиями и какими-нибудь периодами у методолога той компании, которая нам план спускает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:14 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoft, поля в данном случае никах на схему данных не влияют - на схему данных влияют добаления или убавления зависимостей у у частвующих в БД сущностей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:15 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Еще вариант - оторвать бизнес-зависимости от зависимостей в СУБД. Написать свой код (например, хранимые процедуры), реализующий проверку этих бизнес-зависимостей. Дать права на изменение данных только через этот код/хранимки. Есть минус - может резко ухудшиться быстродействие/производительность модификации данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:31 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoft, еав - ничего не меняет в данном случае - это лишь методология проектирования и на изменения в схеме БД он требует таких же усилий как и при стандартном подходе проектирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:31 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spmiksoft, еав - ничего не меняет в данном случае - это лишь методология проектирования и на изменения в схеме БД он требует таких же усилий как и при стандартном подходе проектированияЗависит от того, что именно понимать под схемой БД. Физическая схема в EAV не изменяется при изменении логической. Впрочем, настаивать не буду, вам к своим условиям виднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:33 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoftЕще вариант - оторвать бизнес-зависимости от зависимостей в СУБД. Написать свой код (например, хранимые процедуры), реализующий проверку этих бизнес-зависимостей. Дать права на изменение данных только через этот код/хранимки. Есть минус - может резко ухудшиться быстродействие/производительность модификации данных. проблема в том чтобы отображать эти зависимости в интерфейсе - а при подходе с сохраненной процедурой ничего не выйдет - она лишь будет отдавать/проверять вставку изменения данных определенной структуры сущности...а ежели и структура сущности данных меняется от плана к плану... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:35 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
да, и при этом необходимо чтобы, документы, выписываемые задним числом, правильно обрабатывались новой схемой и считали по старым данным! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:38 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spпроблема в том чтобы отображать эти зависимости в интерфейсе - а при подходе с сохраненной процедурой ничего не выйдет - она лишь будет отдавать/проверять вставку изменения данных определенной структуры сущности...а ежели и структура сущности данных меняется от плана к плану...Вводите скрипты более высокого уровня. Что-то типа как SQL по отношению к процедурным языкам. Впрочем, реализация может оказаться сложнее, чем каждый раз править код руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:39 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spда, и при этом необходимо чтобы, документы, выписываемые задним числом, правильно обрабатывались новой схемой и считали по старым данным!Это уже возможно, имхо, только после "человеческого" анализа совместимости старых данных и новой схемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:41 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoftspда, и при этом необходимо чтобы, документы, выписываемые задним числом, правильно обрабатывались новой схемой и считали по старым данным!Это уже возможно, имхо, только после "человеческого" анализа совместимости старых данных и новой схемы. при нечеловеческих извращениях методолога!?)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 00:58 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoft, если бы мы являлись бы разработчиками тарифного - плана - проблем бы не было - учли бы, домыслили или додумали бы все, но ...есть страшный сволочь методолог в конторе, которая нам спускает план и в разговорах с ним выяснилось - а нету никакой схемы - он типа с потолка хочу тут добавлю, а тут убавлю за счет изобретения условно-подчиненных связей - к примеру, если поставщик Иванов и сегодня пятница и еще и полнолуние - то 1, а если лимузин и на заборе написано х..й то - 2 - а мы то эти связи должны зафиксировать, спроектировать и воплотить! И вот такие у него ассоциации возникают каждый раз при смене тарифов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 01:03 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spИ вот такие у него ассоциации возникают каждый раз при смене тарифов...А что если однажды отказать ему на основании "потому что гладиулос" ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 01:37 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spПонимаю, что бизнес не стоит на месте - все растет, все развивается, но как же нам разработчикам учитывать изменения схем данных? ... Поделитесь пожалуйста опытом борьбы с таким явлением. Есть ли какие либо способы или шаблоны проектирования такого безобразия!? ) Хочется в отпуск... Разделить данные и бизнес-логику (БЛ) БЛ - обязана меняться, данные - нет. В частности для вашей задачи нужно спроектировать БД, т.о. чтобы в БД хранились "метаданные" для конструктора тарифных планов. А расчет тарифного плана вынести в код ЯП. Т.е. В БД храниться биллинговая информация. В БД хранятся "методанные" для конструктора тарифов Конструктор тарифов на основе биллинговых данных и "методанных" по тарифам заполняет данные "начисления за услугу". Основная сложность здесь в проектировании схемы для "методанных" для конструктора тарифов. Где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 07:27 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Спасибо sp, затронул очень жизненную тему Data Livetime Cycle. Сталкиваюсь с аналогичной проблемой регулярно 3 раза в год. Регулярность и предсказуемость позволяют планировать внесение изменений и требуют постоянно людские затраты, которые в принципе не возможно избежать. Бизнес с этим согласен и на операционном уровне проблемой не является. Проблема же в моём понимании, это очень большие людские затраты на выявление всех Impacts, и большие на внесение изменений и поддержку накопленный данных. Из всех в этом топике спонтанно приведённых решений нет ни одного приемлемого для моего случая. Для понимания, почему, необходим более глубокий анализ проблемы. Описанные проблема и решения застрагивают только поверхностные изменения в схеме. Что есть схема? Разбиение по таблицам и полям. Другими словами проекция модели данных на физическое представление в базе. Отсюдого видны разные классы изменений: 1. Изменения в схеме модель данных не затрагивают: таблица разделилась, индексы добавились, партиционирование и т. д. Есть много очевидных и простых решений. 2. Модель дополнилась/урезалась атрибутами и изменения переносятся в схему. 3. Изменилась модель данных. Возможно даже что при этом проекция(схема) не меняется. Вот именно последней класс самый ресурсоёмкий. К нему я отношу и проблемы scm. Инмон в работе dw 2.0 тему затрагивает а вот конкретных готовых под ключ решений я пока не видал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 10:40 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
О, mikron, заглянь и сюда, плиз: Теоретический вопрос про неизбежность deadlock-ов (последнее сообщение) . :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 10:56 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
mikron, в нашем случае операции изменения затрагивают ваши пункты 2 и 3 Я уже решил для себя вообще создавать отдельные сущности тарифных планов и объединять их с помощью "наследования" в БД, а на клиенте при выборе даты будет загружаться нужный экземпляр тарифного плана в плане клиентских компонентов и серверных данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:13 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Честно говоря, не очень понимаю, почему нельзя сделать структуру данных тарифного плана, которая может пережить любое извращение методолога. Тарифный план - это, грубо говоря, n-мерный куб, измерения которого заданы набором интервалов неких численных параметров. И в чем тут проблема? Отображать n-мерный куб? Добавить измерение n+1 к n-мерному кубу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:29 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, мне сложно представить о каком кубе вы ведете речь, но о своем коне я вам поведаю - в нашем тарифном плане есть куча атрибутов плана списочного характера с кучей бизнес правил -типа: тут мы читаем, тут не читаем если выбрано то, а тут мы вообще рыбу заворачиваем.. т.е эти атрибуты имеют множественные зависимости и сложную бизнес-логику При изменении тарифов зачастую меняются связи и бизнес логика, редко изменяется и сам список атрибутов. Все это нужно отобразить на клиенте и естественно проверить в БД. Ну у меня никак куб не получается - только конь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:36 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spНо проблема в том, что якобы маленькие изменения в цифрах, на самом деле являются изменениями в существующей схеме данных и там работы не на пару дней.Если изменения на самом деле маленькие, то налицо недостаток модели, которая не может отразить эти маленькие изменения. Если изменения реально большие, то почему бы их не сделать? Неразумно жаловаться, что у вас много заказов и вы слишком хорошо зарабатываете :-) То есть в итоге нужно с одной стороны делать лучше модель, с другой - уметь обосновывать затраты. Был бы интересен пример, когда с точки зрения заказчика изменения маленькие, а с точки зруния разработчика они выливаются в огромную работу "и вообще надо всё переделать". Чаще всего я вижу, что это следстивия плохих моделей, в частности следствие незначительной экономии времени при создании модели БД и/или архитектуры приложения (например, категорическое нежелание делить систему на уровни, типа замапили классы на таблицы каким нибуть ORM, и порядок, а при элементарном изменении объектной модели начинаются охи-ахи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:46 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spПри изменении тарифов зачастую меняются связи и бизнес логика, редко изменяется и сам список атрибутов.Ну вообще это довольно рутинные операции. Ну добавился аттрибут, и что? Скриптик на добавление аттрибутов, изменение ХП таким образом, что бы клиент мог работать со старой и новой базой, потом изменение клиента, использование этих новых аттрибутов. Может, не один день, но и не месяц работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:49 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Расскажу о реальной эволюции крохотной части БД, с которой пришлось столкнуться. Итак, биллинговая система - расчеты с населением за газ. Вопрос цены. 1. Давным-давно, когда система начинала проектироваться, цена была выбита на огромном камне для всего СССР, и не было величины постояннее. Поэтому сначала это была константа в коде. 2. Затем цена стала расти со временем. Появилась таблица PRICES(DATE_ACCEPT, DATE_FROM, PRICE) (две даты - для учета изменений задним числом: в каком отчетном периоде учитывается, с какой расчетной даты пересчитывается). Константа в коде заменилась на функцию get_price(ADATE_ACCEPT, ADATE_FROM), внутри нее сидело обращение к таблице. 3. Затем ученые придумали бытовые счетчики, и, чтобы поощрить население их ставить, сделало цену по счетчикам ниже, чем без них. Программисты поматерились, и ответили на это тремя важными шагами: а) у функции get_price добавили параметр ABONENT_ID. Теперь функция внутри себя лезла в параметры абонента и смотрела, есть ли у него счетчик. б) в зависимости от этого, она по-разному обращалась к таблице PRICES. Туда вроде бы добавили поле PRICE_BY_METER с ценой для счетчиков. Или ввели логический признак WITH_METER и помножили строки. Или вообще сделали новую таблицу. Я специально напускаю в этом месте туману, поскольку уже не помню подробностей, и это правильно. Потому что: в) ...подробности отныне и навеки остались внутри функции get_price. Все прямые SQL-обращения к таблицам PRICE и им подобным были запрещены. 4. Затем цены стали зависеть от многоквартирности дома. Добавили таблицу (или поля, не помню). 5. Затем это отменили, и ввели особые цены для отопления, и для его отсутствия. Добавили таблицу (-..-). 6. Затем вспомнили про автономное отопление в многоквартирных домах, и ввели для него особые цены. Добавили таблицу (-..-). 7. Затем ввели целых десять цен, в зависимости от годового объема потребления газа. Добавили таблицу (-..-). 8. Надо ли говорить, что все эти категории цен продолжали расти со временем. Записи множились. ...А весь остальной код на все это не обращал внимания. Вызывал себе функцию get_price, и все. Ее формат вызова не менялся: get_price(ADATE_ACCEPT, ADATE_FROM, ABONENT_ID). Внутри get_price был большой некрасивый CASE, и, в зависимости от заданного периода и данных абонента, шли обращения к нужным полям нужных таблиц. Но об этом знала только get_price. Мораль: нужно предвидеть, где будут частые изменения в будущем, и максимально программно изолировать этот кусок от остального кода. Как учил товарищ Гради Буч, сложность системы определяется не количеством объектов, а количеством и характером связей между ними. Упрощайте логические связи, не допускайте лишних обращений одних подсистем в потроха к другим. И тогда отдельные подсистемы можно будет переделывать быстро и легко, без ущерба для остальных. Замечание по производительности. Результаты расчетов хранятся в отдельной таблице - расчетной ведомости, которая слегка денормализована: в нее подтянуты фактические значения цен и других параметров, использовавшихся при расчете. Поэтому при формировании отчетов не нужно снова многократно вызывать функцию get_price, которая, конечно, получилась слегка громоздкой, а берутся сохраненные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:54 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
alexeyvg, никакой модели нет - иначе бы я не писал этот топик - если бы была модель и все изменения происходили в рамках этой модели - вообще бы вопрос не стоял! В том то и дело что при каждом изменении речь идет об изменении модели. "Если изменения на самом деле маленькие..." - я же по русски написал что эти маленькие изменения в цифрах влекут за собой БОЛЬШИЕ изменения в схеме - или вы невнимательно читаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:58 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
alexeyvgspПри изменении тарифов зачастую меняются связи и бизнес логика, редко изменяется и сам список атрибутов.Ну вообще это довольно рутинные операции. Ну добавился аттрибут, и что? Скриптик на добавление аттрибутов, изменение ХП таким образом, что бы клиент мог работать со старой и новой базой, потом изменение клиента, использование этих новых аттрибутов. Может, не один день, но и не месяц работы. читайте все с самого начала! Про атрибуты речь вообще нигде не шла! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:59 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherМораль: нужно предвидеть, где будут частые изменения в будущем, и максимально программно изолировать этот кусок от остального кода. Как учил товарищ Гради Буч, сложность системы определяется не количеством объектов, а количеством и характером связей между ними. Упрощайте логические связи, не допускайте лишних обращений одних подсистем в потроха к другим. И тогда отдельные подсистемы можно будет переделывать быстро и легко, без ущерба для остальных.Вот именно, +1 Любая логика изолируется в одном месте, это касается как расчётов, так и вообще всего остального. Для примера, мне сразу всё понятно, если в средней или крупной системе работа с классами доступа к СУБД пишется непосредственно в прикладном коде. После этого жалобы "ну для этого всё надо переписывать" воспринимаются с подозрением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 11:59 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
sp"Если изменения на самом деле маленькие..." - я же по русски написал что эти маленькие изменения в цифрах влекут за собой БОЛЬШИЕ изменения в схеме - или вы невнимательно читаете?А, то есть это вы имели в виду, что итоговые значения поменяются немного, а то, что изменения кода большие - это все понимают? Ну так я и пишу - если заказчик понимает, что изменения кода большие, то в чём проблема? Больше работы - больше денег. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:02 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spКот Матроскин, мне сложно представить о каком кубе вы ведете речь, но о своем коне я вам поведаю - в нашем тарифном плане есть куча атрибутов плана списочного характера с кучей бизнес правил -типа: тут мы читаем, тут не читаем если выбрано то, а тут мы вообще рыбу заворачиваем.. т.е эти атрибуты имеют множественные зависимости и сложную бизнес-логику При изменении тарифов зачастую меняются связи и бизнес логика, редко изменяется и сам список атрибутов. Все это нужно отобразить на клиенте и естественно проверить в БД. Ну у меня никак куб не получается - только конь! Можете привести пример описания тарифного плана? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:06 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spalexeyvg, никакой модели нет - иначе бы я не писал этот топик - если бы была модель и все изменения происходили в рамках этой модели - вообще бы вопрос не стоял! В том то и дело что при каждом изменении речь идет об изменении модели.Начнём с того, что модель есть всегда, даже если программист не подозревает о её наличии. Далее, есть модель бизнеса, которая постоянно меняется, а есть модель данных, то есть модель БД. Так вот, задача разработчика - сделать модель данных такой, что бы её изменения были минимальны при изменении модели бизнеса. Я собственно об этом говорил. Естественно, я не утверждаю, что вы сделали плохую модель данных, может быть на самом деле изменения бизнес-модели таковы, что нужно постоянно очень сильно менять модель данных. Это просто предположение, просто призываю вас обратить на это внимание. Вы же зачем то создали этот топик, не просто же поплакаться? Вот я вам предложил 2 варианта решения проблемы - совершенствовать модель и совершенствовать отношения с заказчиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:09 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
sp, Поделитесь пожалуйста опытом борьбы с таким явлением. Есть ли какие либо способы или шаблоны проектирования такого безобразия!? ) Никаких шаблонов или способов нет. Надо просто проектировать приложения гибко, так, чтобы оно допускало некоторые вольности, а не тупо по ТЗ шпарило. Я часто реализую в приложениях некие "гибкие модели" вместо прямой реализации постановки. Они в частности реализуют и постановку, но могут больше. Иногда прокатывает, и не надо делать очередную переделку. Конечно, это не всегда бывает. Ну и обратное — иногда приструнить фантазии маркетологов вполне допустимо. Обычно очень хорошо помогает внутренняя тарификация работ по IT. Как только люди видят, сколько будет стоить переделка ПО, они все начинают видеть в другом свете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:13 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
miksoftspmiksoft, еав - ничего не меняет в данном случае - это лишь методология проектирования и на изменения в схеме БД он требует таких же усилий как и при стандартном подходе проектированияЗависит от того, что именно понимать под схемой БД. Физическая схема в EAV не изменяется при изменении логической. Впрочем, настаивать не буду, вам к своим условиям виднее. Это все не сильно лечит. Схему может менять и не надо будет, но приложение-то дописывать все равно надо. Вообще, технические средства тут особенно не помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:17 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spmiksoft, если бы мы являлись бы разработчиками тарифного - плана - проблем бы не было - учли бы, домыслили или додумали бы все, но ...есть страшный сволочь методолог в конторе, которая нам спускает план и в разговорах с ним выяснилось - а нету никакой схемы - он типа с потолка хочу тут добавлю, а тут убавлю за счет изобретения условно-подчиненных связей - к примеру, если поставщик Иванов и сегодня пятница и еще и полнолуние - то 1, а если лимузин и на заборе написано х..й то - 2 - а мы то эти связи должны зафиксировать, спроектировать и воплотить! И вот такие у него ассоциации возникают каждый раз при смене тарифов... Ещё раз, выставить ему раз счет на работы — сразу присмиреет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:20 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher, ваш пример хорош, но не для нашего случая - у нас логика выбора каждого из параметров зависит от значений в других параметрах и она меняется во времени... у вас то всего один пустячек - выбрать цену а у нас все из таких пустячков состоит и при том что у вас структуры за get_price остаются постоянными а они у нас меняются.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:31 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
alexeyvgsp"Если изменения на самом деле маленькие..." - я же по русски написал что эти маленькие изменения в цифрах влекут за собой БОЛЬШИЕ изменения в схеме - или вы невнимательно читаете?А, то есть это вы имели в виду, что итоговые значения поменяются немного, а то, что изменения кода большие - это все понимают? Ну так я и пишу - если заказчик понимает, что изменения кода большие, то в чём проблема? Больше работы - больше денег. Изменение не кода, а структуры БД! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:32 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
MasterZivmiksoftЗависит от того, что именно понимать под схемой БД. Физическая схема в EAV не изменяется при изменении логической. Впрочем, настаивать не буду, вам к своим условиям виднее. Это все не сильно лечит. Схему может менять и не надо будет, но приложение-то дописывать все равно надо. Вообще, технические средства тут особенно не помогут.ИМХО изменение схемы одинаково для EAV или классической схемы. В конце концов, изменение таблиц и констрейнов такое же изменение таблиц метаданных, как и изменение метаданных в EAV, только в одном случае таблицы метаданных будут системные, в другом пользовательские, ну и язык изменений может отличаться. Фактически EAV выгоден в том случае, когда бизнес-модель не меняется, когда изменения сводятся к некоему количественному изменению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:32 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, к сожалению приструнить товарища из другой конторы мы не можем - они нам хлеб дают!)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:34 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spalexeyvgА, то есть это вы имели в виду, что итоговые значения поменяются немного, а то, что изменения кода большие - это все понимают? Ну так я и пишу - если заказчик понимает, что изменения кода большие, то в чём проблема? Больше работы - больше денег. Изменение не кода, а структуры БД!"Код" подразумевается весь набор исходников, в том числе описания таблиц и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:34 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spMasterZiv, к сожалению приструнить товарища из другой конторы мы не можем - они нам хлеб дают!))Что значит приситрунить не можем??? Если они дают хлеба меньше, чем нужно для реализации их хотелок, то они совсем не благодетели. Вот тут важно искусство работы с заказчиком - нужно ему доказать, что для изменений, которые он требует, нужно столько-то трудозатрат. Что бы он поверил и у него не было больше вопросов по стоимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:37 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
alexeyvgspalexeyvg, никакой модели нет - иначе бы я не писал этот топик - если бы была модель и все изменения происходили в рамках этой модели - вообще бы вопрос не стоял! В том то и дело что при каждом изменении речь идет об изменении модели.Начнём с того, что модель есть всегда, даже если программист не подозревает о её наличии. Далее, есть модель бизнеса, которая постоянно меняется, а есть модель данных, то есть модель БД. Так вот, задача разработчика - сделать модель данных такой, что бы её изменения были минимальны при изменении модели бизнеса. Я собственно об этом говорил. Естественно, я не утверждаю, что вы сделали плохую модель данных, может быть на самом деле изменения бизнес-модели таковы, что нужно постоянно очень сильно менять модель данных. Это просто предположение, просто призываю вас обратить на это внимание. Вы же зачем то создали этот топик, не просто же поплакаться? Вот я вам предложил 2 варианта решения проблемы - совершенствовать модель и совершенствовать отношения с заказчиком. Эх молодость.. наивность... Мы уже столько лет в этом бизнесе, что про модель и все ньюансы сами кого хочешь полечить можем))) Проблема в том что - данный тарифный план это абсолютная вольность методолога - у него нет никаких ограничений и рамок! Ему нужно варьировать цену при различных условиях - вот он и варьирует их условиями и параметрами так как ему вздумается без всякой схемы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:38 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, План привести не могу по некоторым причинам но обрисовать его в общем могу так: в плане есть около 15 постоянных списочных параметров с коэффициентами, не имеющими никакой привязки к предметной области! а также имеется с 10 параметров условно постоянных. Методолог эти параметры тусует как ему вздумается - к примеру: если изделие из такого-то цеха и поставляется в такой регион - коэффициент 1 для параметра #1. Если параметр #1 имеет значение 1 и покупатель не плательщик НДС и из Лондона - то параметр №2 = 0.5 Не шучу! все так и представлено - важно в этом процессе - конечная стоимость, а она формируется такими вот правилами и значениями! В следующей версии Лондона может и не быть вообще и второе правило переписано так: если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:46 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spКот Матроскин, План привести не могу по некоторым причинам но обрисовать его в общем могу так: в плане есть около 15 постоянных списочных параметров с коэффициентами, не имеющими никакой привязки к предметной области! а также имеется с 10 параметров условно постоянных. Методолог эти параметры тусует как ему вздумается - к примеру: если изделие из такого-то цеха и поставляется в такой регион - коэффициент 1 для параметра #1. Если параметр #1 имеет значение 1 и покупатель не плательщик НДС и из Лондона - то параметр №2 = 0.5 Не шучу! все так и представлено - важно в этом процессе - конечная стоимость, а она формируется такими вот правилами и значениями! В следующей версии Лондона может и не быть вообще и второе правило переписано так: если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2!!! обычные бизнес правила (тем более что базовое множество определено явно из 25 переменных) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:49 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spКот Матроскин, План привести не могу по некоторым причинам но обрисовать его в общем могу так: в плане есть около 15 постоянных списочных параметров с коэффициентами, не имеющими никакой привязки к предметной области! а также имеется с 10 параметров условно постоянных. Методолог эти параметры тусует как ему вздумается - к примеру: если изделие из такого-то цеха и поставляется в такой регион - коэффициент 1 для параметра #1. Если параметр #1 имеет значение 1 и покупатель не плательщик НДС и из Лондона - то параметр №2 = 0.5 Не шучу! все так и представлено - важно в этом процессе - конечная стоимость, а она формируется такими вот правилами и значениями! В следующей версии Лондона может и не быть вообще и второе правило переписано так: если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2!!! Ну замечательно, не вижу тут особых проблем. на каждый из Ваших параметров делаем "кубик". Итого тарифный план состоит из 3 основных таблиц 1. Параметры-"кубики" 2. Измерения кубов (N:1 c параметрами) 3. Диапазоны измерений (N:1 c измерениями) Первый кейс описывается (для цеха N6 и региона N18, Лондон считаем городом № 83 ) Параметры ID параметраназвание параметра 1Параметр1 2 Параметр2 Измерения ID измеренияID параметра ссылка на обьект измерения тип (и/или) дефолтное значение 1 1 Номер цеха И 0 2 1 Номер региона И 0 3 2 Покупатель - Плательщик НДС И 0 4 2 Город покупателя И 0 5 2 Параметр1 И 0 диапазоны ID диапазона ID измерения Начало диапазона Конец диапазона значение 1 1 66 1 2 2 18 18 1 3 3 11 0.5 4 4 83 83 0.5 55 110.5 Если тип измерения И - проверяем что все отобранные диапазоны дают одно и то же значение, если ИЛИ - просто берем значение из первого отобранного диапазона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 13:30 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
[quot sp]alexeyvgЭх молодость.. наивность... Мы уже столько лет в этом бизнесе, что про модель и все ньюансы сами кого хочешь полечить можем))) Проблема в том что - данный тарифный план это абсолютная вольность методолога - у него нет никаких ограничений и рамок! Ему нужно варьировать цену при различных условиях - вот он и варьирует их условиями и параметрами так как ему вздумается без всякой схемы! Так не надо эту схему (расчет тарифных планов) хранить в БД :-) Храните "метаданные" для расчета тарифных планов. Алгоритм расчета либо выносите в ЯП, либо создайте "конструктор" тарифных планов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 13:56 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
alexeyvgИМХО изменение схемы одинаково для EAV или классической схемы. Как раз наоборот. в EAV добавление нового атрибута -- штатное действие, выполняемое пользователем системы. Без него -- это установка новой версии ПО, выполняемая программистом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 14:26 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spесли изделие из такого-то цеха и поставляется в такой регион - коэффициент 1 для параметра #1. Если параметр #1 имеет значение 1 и покупатель не плательщик НДС и из Лондона - то параметр №2 = 0.5 Не шучу! все так и представлено - важно в этом процессе - конечная стоимость, а она формируется такими вот правилами и значениями! В следующей версии Лондона может и не быть вообще и второе правило переписано так: если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2!!! Ничего особенного в этом я не вижу. Только я бы не стал моделировать все это структурами БД, а реализовал в каком-то месте прикладного кода. Со всей историей правил, диапазонами действия во времени и т.д. Особый вопрос - проверка полноты правил, то есть охвата всех возможных комбинаций параметров. "Если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2". А если не Пупкин, или Пупкин но не кожа в Цехе № 2, то что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 15:44 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, и того надо завести кубик 25 в степени 25!? т.е. предусмотреть все варианты скрещиваний!?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 16:10 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Cane Cat Fisher Ничего особенного в этом я не вижу. Только я бы не стал моделировать все это структурами БД, а реализовал в каком-то месте прикладного кода. Со всей историей правил, диапазонами действия во времени и т.д. Особый вопрос - проверка полноты правил, то есть охвата всех возможных комбинаций параметров. "Если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2". А если не Пупкин, или Пупкин но не кожа в Цехе № 2, то что? бывает альтернативный перечень, а бывает просто - ничто! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 16:12 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spКот Матроскин, и того надо завести кубик 25 в степени 25!? т.е. предусмотреть все варианты скрещиваний!?? Зачем "кубик 25 в степени 25"? По примеру же видно, что заводятся только реальные зависимости-измерения, а не потенциальные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 17:16 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spПлан привести не могу по некоторым причинам но обрисовать его в общем могу так: в плане есть около 15 постоянных списочных параметров с коэффициентами, не имеющими никакой привязки к предметной области! а также имеется с 10 параметров условно постоянных. Методолог эти параметры тусует как ему вздумается - к примеру: если изделие из такого-то цеха и поставляется в такой регион - коэффициент 1 для параметра #1. Если параметр #1 имеет значение 1 и покупатель не плательщик НДС и из Лондона - то параметр №2 = 0.5 Не шучу! все так и представлено - важно в этом процессе - конечная стоимость, а она формируется такими вот правилами и значениями! В следующей версии Лондона может и не быть вообще и второе правило переписано так: если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2!!!Так, отлично. То есть модель постоянна, постоянное количество таблиц и аттрибутов, меняется только код в процедуре расчёта, и всё? spЭх молодость.. наивность...Спасибо за комплимент :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 17:55 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
2 sp: Прочитай внимательно старый топик . spда, и при этом необходимо чтобы, документы, выписываемые задним числом, правильно обрабатывались новой схемой и считали по старым данным! Как раз по его мотивам: надо вести версионность алгоритмов. Это значит, в базе должны храниться как старые, так и новые версии алгоритмов расчета (хранимых процедур с разными именами), должна быть структура, в которой хранится, на какой период времени какой алгоритм действует, и должна быть сводная ХП, которая по дате расчета берет нужные версии расчетных ХП разных алгоритмов и считает по ним в сумме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 18:57 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spКот Матроскин, План привести не могу по некоторым причинам но обрисовать его в общем могу так: в плане есть около 15 постоянных списочных параметров с коэффициентами, не имеющими никакой привязки к предметной области! а также имеется с 10 параметров условно постоянных. Методолог эти параметры тусует как ему вздумается - к примеру: если изделие из такого-то цеха и поставляется в такой регион - коэффициент 1 для параметра #1. Если параметр #1 имеет значение 1 и покупатель не плательщик НДС и из Лондона - то параметр №2 = 0.5 Не шучу! все так и представлено - важно в этом процессе - конечная стоимость, а она формируется такими вот правилами и значениями! В следующей версии Лондона может и не быть вообще и второе правило переписано так: если это цех №1 и материал кожа, а начальник смены сегодня Пупки - параметр #2 = 2!!! Если (вами названные) списочные параметры содержат не очень большое количество значений в каждом списке, то попробуйте вместо всех если то иначе ....(рыбу заворачивали) составить таблицу решений: ПСпис.1,ПСпис.2,.....,ПСпис.15,ПУслПост1,ПУслПост2,....,ПУслПост10 = какойто окончательный или промежуточный результат с которым можно воити в другую таблицу решений. Если одна или несколько таких таблиц покрывают львиную долю случаев алгоритм упрощается невероятно и дайте любителю по фантазировать с вариантами инструмент заполнения подобных таблиц. Про версионность алгоритмов вам уже писали. p.s. большой опыт ассемблера и особенно ковыряние в чужём коде с кучей логики давно заставил обязательно пробовать сначала такой вариант, т.е. зарание просчитать всё что можно просчитать заранее. А что не удаётся вынести в кучу мелких с поддержкой версионности модулей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 20:43 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Гхостик, спасибо за ссылку -искал но не нашел - не те термины подставил. Почитаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 00:00 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Спасибо, буду разбираться.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 00:00 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
pureproft, да мы тоже после 3го изменения сели просчитывать варианты - но у нас фантазии на такие выкрутасы не работали!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 00:02 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
sp... маленькие изменения в цифрах, на самом деле являются изменениями в существующей схеме данных и там работы не на пару дней. Охрентительно! Да что же это за база данных такая, если для изменения пары-тройки циферок надо схему менять ? Схему вашей БД ф студию ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 12:53 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Тролль Лейбус, почитайте выше - схемы в том то и речь, что нету! - она каждый раз разная - основная таблица мало изменяется, зато таблицы справочников меняются очень сильно в плане изменения количества связей - бизнес-правила у методолога меняются в зависимости от его настроения, состояния атмосферы, желания пойти в туалет ну и остальное можете сами добавить...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 13:23 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Пример почти из жизни. Для тех, кто не знает, как это бывает. Есть в системе процедуры вычисления стоимости доставки какой-то транспортной компанией. Соответственно, есть небольшая кучка справочников, с этим связанная. Куда старательно перенесены данные и алгоритм вычисления из документов этой компании. Исходные данные (например) масса груза/размеры/пункт доставки. И вот в какой-то момент транспортную компанию решают сменить. Новая компания, разумеется, все по другому и по своему считает. С исходными данными тип используемой стандартной тары/расстояние/требуемое время доставки. Приходится в базу и софт вписывать новые схемы и новые модули вычисления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 14:18 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Inkelyad, Ну в том-то и дело, что в нормально спроектированной БД при изменении бизнес-правил меняются только алгоритмы вычислений хранимых процедур (ну может еще несколько функций). Но уж никак не таблички и взаимосвязи между ними. Например, встал методолог не с той ноги (или у методологички сложные дни) - програмер покивал головой (мол, усё сделаем), залез в хранимую процедурку (ALTER PROCEDURE ...) и глядь - через полдня усё действительно готово - процедурка выдаёт другой результат в соответствии с изменившимися правилами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 16:34 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Long Live Torrent Trackers !Ну в том-то и дело, что в нормально спроектированной БД при изменении бизнес-правил меняются только алгоритмы вычислений хранимых процедур (ну может еще несколько функций). Но уж никак не таблички и взаимосвязи между ними. Это только скудость фантазии. В жизни конечно все не так. Без машины времени в принципе нельзя знать заранее как повернёт бизнес завтра. Смотри пример выше. На первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. А следуюшим этапом будет вобще переход с расчёта за поездку к оплате за перевезённуё тонну. А вы всё будете пытатся засунуть модели бизнеса в устаревшее представление модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 18:45 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
mikronЭто только скудость фантазии. В жизни конечно все не так. Без машины времени в принципе нельзя знать заранее как повернёт бизнес завтра. Это у вас буйство фантазии, а не у меня скудость. mikronНа первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. А следуюшим этапом будет вобще переход с расчёта за поездку к оплате за перевезённуё тонну. Если ЭТО условие влечет за собой изменение схемы вашей БД, то отсюда вывод - вам противопоказано заниматься проектированием БД. И вам лучше не приближаться ни к какой БД вообще (ну может быть только к той, которая read only). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 07:47 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Long Live Torrent Trackers !Например, встал методолог не с той ноги (или у методологички сложные дни) - програмер покивал головой (мол, усё сделаем), залез в хранимую процедурку (ALTER PROCEDURE ...) и глядь - через полдня усё действительно готово - процедурка выдаёт другой результат в соответствии с изменившимися правилами. Если возможно алгоритмы расчета тех же тарифных планов держать в исключительно в коде и каждый раз их дорабатывать силами программистов - это халява. Зачастую задача стоит так, чтобы эти алгоритмы настраивали пользователи, их можно было легко посмотреть в системе, и т.д. Т.е. хранить в базе нужно не данные для алгоритма, а сам алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 15:32 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Long Live Torrent Trackers !Это у вас буйство фантазии, а не у меня скудость. Сразу видна молодая горячая кровь. Это не буйство, это опыт. А с моей то фантазией или скорее её ущербностью я даже пытатся не буду предугадать. Я ещё раз повторю свою тезу: в принципе нельзя знать заранее как повернёт бизнес завтра. Можно пытатся минимировать риски возможных сценариев развития событий. Но только бизнес знает эти риск, и он же должен принимать решения о целесообразности каких либо действий. А программистов -астрологов, -провидцев и -гадателей надо ставить перед выбором профессии. [quot Long Live Torrent Trackers !]mikronmikronНа первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. А следуюшим этапом будет вобще переход с расчёта за поездку к оплате за перевезённуё тонну. Если ЭТО условие влечет за собой изменение схемы вашей БД, то отсюда вывод - вам противопоказано заниматься проектированием БД. И вам лучше не приближаться ни к какой БД вообще (ну может быть только к той, которая read only). Я уже понял что вы специалист ооочень широкого профиля. Программист-астролог-аудитор-тренер. Да чего уж там, без лишней скромности - икар. Покажите как вы проведёте изменение системы не внося изменений в схему бд при условии mikronНа первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 15:59 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
mikronПокажите как вы проведёте изменение системы не внося изменений в схему бд при условии mikronНа первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. Есть несколько способов это сделать - начиная от универсальных справочников-классификаторов и кончая EAV. Другой вопрос что непонятно зачем именно такое ограничение (не изменять структуру). Говорить имеет смысл о минимизации изменений вообще, код + структура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 23:31 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
> На первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. Разработчиков, которые думают, что перемещение грузов может происходить посредством телепортации, нужно увольнять за профнепригодность. Без вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 00:16 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621> На первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. Разработчиков, которые думают, что перемещение грузов может происходить посредством телепортации, нужно увольнять за профнепригодность. Без вариантов. Увы, уважаемый mikron никак не может успокоиться и взять себя в руки (молодая горячая кровь). Он все порывается по каждому чиху изменять схему БД. Тара не рассматривалась как критерий, а теперь рассматривается - выход один - срочно менять схему БД ! Изменился цвет бутылок с зелёного на коричневый - спасёт только изменение схемы БД. Бутылки были литровые, а стали двухлитровые - менять, менять схему БД ! Подозреваю, что на работе он так всё же не делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 11:02 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
> Подозреваю, что на работе он так всё же не делает. Imho беспочвенные подозрения. Чел вполне искренен. Вообще, положение вещей в проектировании баз данных напоминает тезис о кухарке, которая может управлять государством. Конечно, на кнопки её можно научить нажимать. Но будет ли она при этом понимать, какие задачи решает и есть ли у задач альтернативные решения? Дейт написал великолепную книгу. В ней не хватает буквально нескольких глав, которые определили бы ключевые парадигмы. Что есть сущность и процесс, какова между ними разница? Каковы практические критерии атомарности? Каким образом формализуются определения сущностей и процессов? Что представляет собой жизненный цикл сущностей и процессов? Были бы написаны ответы на эти вопросы, 99% сообщений в форуме бы не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 21:32 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинmikronПокажите как вы проведёте изменение системы не внося изменений в схему бд при условии пропущено... Другой вопрос что непонятно зачем именно такое ограничение (не изменять структуру). Говорить имеет смысл о минимизации изменений вообще, код + структура. Это был персоналный вопрос астрологу любителю. Он утверждал что изменения схемы не требуются даже если аттрибут "тара" в системы не учитывается. Вот из какого астралного канала он собирался брать ету информацию я и хотел от него услышать. Ждёмсс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 11:27 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
[Long Live Torrent Trackers !] + [guest_20040621] Если вы хотите обсуждать меня и мою работу то я в принципе и не против, но идите в отделный топик и оплодотворяте там себя духовно. http://www.sql.ru/forum/question-answer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 11:35 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
> идите Дружище, всё просто: вы не говорите, что мне делать, я не говорю, куда вам идти. Легко запомнить. Что до вашей работы, ты вы льстите себе, думая, что её кому-то интересно обсуждать: ваши комментарии сказали о её качестве гораздо больше, чем вы хотели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 01:48 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621Дружище, всё просто: вы не говорите, что мне делать, я не говорю, куда вам идти. Легко запомнить. Что до вашей работы, ты вы льстите себе, думая, что её кому-то интересно обсуждать: ваши комментарии сказали о её качестве гораздо больше, чем вы хотели. Во первых у меня нету друзей придурков и умственноотсталых. Во вторых: вы же обсуждаете, но мне это не льстит. Но и в третьих, ваше говнометание хотя и оффтоп но создаёт фон, котоый только подчёркивает мой проффесионализм. Топик конечно жалко, но вас же это не остановит, так что продолжайте, хоть мне на ПР сработаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 11:06 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
> у меня нету друзей придурков и умственноотсталых. Это хорошо. Если бы вы чуть лучше знали русский язык, то отметили бы для себя интересный факт. Назвать быдло быдлом - просто. Сложнее - создать у адресата подозрение подвоха, явно не идентифицируемого, заставить его быть агрессивным. Что и было блестяще проделано. Причём, очень компактно и эффективно. Домашнее задание: определить, каким образом ваша реакция сыграла против вас. > вы же обсуждаете, но мне это не льстит. Не выдавайте желаемое за действительное. Лезть в код каждого олигофрена - жизни не хватит. Пишу я исключительно для того, чтобы ваша самооценка соответствовала вашей квалификации. У вас в голове, не у окружающих. > котоый только подчёркивает мой проффесионализм. Дружище, вы бредите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 15:21 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621> На первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. Разработчиков, которые думают, что перемещение грузов может происходить посредством телепортации, нужно увольнять за профнепригодность. Без вариантов. конечно.. eav для ВСЕГО - решит все проблемы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 16:02 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621> вы же обсуждаете, но мне это не льстит. Не выдавайте желаемое за действительное. Пишу я исключительно для того, чтобы ваша самооценка соответствовала вашей квалификации. У вас в голове, не у окружающих. Значит реч всё же обо мне. Кто вы такой что бы оценивать мою квалификацию? и на основании чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 17:24 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
> Значит реч всё же обо мне. Не совсем. Речь о том, что быдлокодеры должны очень осторожно выбирать время, место и аудиторию для словоизлияния. > Кто вы такой что бы оценивать мою квалификацию? и на основании чего? Дружище, вас не должно беспокоить, кто я. Ник guest_20040621 на sql.ru - это бренд. Несмотря на анонимность. Многие из пользователей могли бы пенять на мою несдержанность или излишнюю эмоциональность, но никто - на отсутствие профессиональных знаний. Вообще, вы бы пользовались какой-нибудь тулзой для проверки орфографии и пунктуации, - хотя бы встроенной в браузер. Неприятно читать писанину безграмотного двоечника. К слову о коде, да? - научитесь говорить на родном языке, чтобы был повод оценивать ваши навыки владения машинными языками. Мне не интересен контакт с вами. Всё, что считал необходимым до вас донести, донёс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 18:01 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Значит реч всё же обо мне. Не совсем. Речь о том, что быдлокодеры должны очень осторожно выбирать время, место и аудиторию для словоизлияния. > Кто вы такой что бы оценивать мою квалификацию? и на основании чего? Дружище, вас не должно беспокоить, кто я. Ник guest_20040621 на sql.ru - это бренд. Несмотря на анонимность. Многие из пользователей могли бы пенять на мою несдержанность или излишнюю эмоциональность, но никто - на отсутствие профессиональных знаний. Вообще, вы бы пользовались какой-нибудь тулзой для проверки орфографии и пунктуации, - хотя бы встроенной в браузер. Неприятно читать писанину безграмотного двоечника. К слову о коде, да? - научитесь говорить на родном языке, чтобы был повод оценивать ваши навыки владения машинными языками. Мне не интересен контакт с вами. Всё, что считал необходимым до вас донести, донёс. "guest_20040621 - это бренд" я даже больше скажу - это как лакмусовая бамажка. Вопрос остался открытым: кто скрывается за "брендом"? соберём факты: В этот топик вы написали 5 раз. По теме топика - 0. советы отделу кадров, "говнокодеры", пользователи, последние считают профессионалом, не сдержан, излишне эмоционален, пренебрежительное отношение к разработчикам, выраженное графоманство, убеждён что глупость написанная орфографически верно обязать быть верной. Могу предположить что вы работаете в тех. поддержке или очень смежной/схожей специальности. Я угадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 20:44 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621Всё, что считал необходимым до вас донести, донёс. Если ты нёс но не что не донёс значит ты ничего не принёс. (С) Я понимая вашу дилему: по теме вам сказать нечего а без темы кому нужны вы и ваши жизненные советы. С другой стороны я уже так много отвечаю на ваши посты, что просто сбежать уже не вежливо. Пожалуйста, продожайте изливатся мудростью. @ модераторам, пожалуйста отдайте нам эту площадку на пару дней , а потом потрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 21:17 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Экий настырный юноша-мазохист. ОК, переведём разговор в практическую плоскость. Мои ответы для вас будут стоить $800/академический час, минимальный контракт - пятидневная рабочая неделя. Дайте знать, когда будете готовы платить. Время для вас смогу выбрать где-нибудь ближе к концу года. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 22:46 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621Экий настырный юноша-мазохист. ОК, переведём разговор в практическую плоскость. Мои ответы для вас будут стоить $800/академический час, минимальный контракт - пятидневная рабочая неделя. Дайте знать, когда будете готовы платить. Время для вас смогу выбрать где-нибудь ближе к концу года. С тех поддержкой не совсем угадал. С практической точки зрения расценки скорее похожи на элитную проститутку. Выкладывайте своё CV что бы не было недоразумений. Если вы нам понравитесь мы вас наймём на неделю и сделаем нам всем хорощий подарок к новому году. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2013, 23:52 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Дружище, это минимально разумные деньги, за которые я готов что-то писать. Только всё немного не так, как вы себе представляете. Не я вам буду рассказывать, что я знаю и умею, а вы постараетесь заинтересовать меня своими задачами. Сумеете - что, если честно, сомнительно - будем считать, что вам повезло. Нет - как это обычно бывает - пойдёте туда же, куда все обычно и идут. Можете начинать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 00:25 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Если действительно сможете заинтересовать, - готов работать бесплатно при условии свободного распространения исходного кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 02:07 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621 & mikron Ребята, давайте жить дружно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 11:56 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
> Ребята, давайте жить дружно! Никаких проблем. Видите ли, жутко раздражает, когда без каких бы то ни было причин люди начинают делиться тем, чего у них нет и никогда не было. Раздражает неадекватная самооценка. Раздражают стереотипы. Чел - не первый, кто пренебрежительно отнесся к анонимному нику, хотя - это очевидно - даже пятьсот легальных аккаунтов не добавят пользователю знаний. Из мелочей складывается общая оценка. Намерения специально кого-то обидеть нет. Чтобы вы, mikron, не бродили в потемках, вот вам пример интересной задачи. Есть индекс международной безопасности iSi. Предложите методику, позволяющую автоматизировать его расчет. Намеренно определил задачу максимально расплывчато, чтобы не ограничивать вашу фантазию. Факультативно: попробуйте сформулировать, чем интересна эта задача. И - традиционно - домашнее задание. Очень простое. "Мысли у него были маленькие-маленькие, коротенькие-коротенькие, пустяковые-пустяковые", - Назовите автора и произведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 18:43 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spПоделитесь пожалуйста опытом борьбы с таким явлением. Есть ли какие либо способы или шаблоны проектирования такого безобразия!? )1. когда Заказчик грит "у меня в таблице Контрагентов будет только три номера телефона, зуб даю" - я автоматом создаю подчиненную таблицу "один-ко-многим", а не добавляю три поля в таблицу контрагентов 2. для расчета тарифов реализовал N-мерную матрицу в БД, после этого - что цифирки меняйте, что количество параметров... как-то так... грят, еще можно доки сохранять одним xml-полем... без изменения структуры БД доки можно ваять хоть по одному новому каждый час :) никогда не видел, только слышал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 23:02 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
sp...обрисовать его в общем могу так: в плане есть около 15 постоянных списочных параметров с коэффициентами, не имеющими никакой привязки к предметной области! а также имеется с 10 параметров условно постоянных. не вижу проблемы... 1. многомерная матрица/куб в БД (в моей реализации это было дерево+ЕАВ) 2. создание нового тарификатора на основании предыдущего (для упрощения ввода новых цифирь и параметров) 3. "запоминание" периода действия "тарификатора" фсе... документы никакие не меняются, структура БД не меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2013, 23:18 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Ну ладно. Для "разминки". один тарифный документ , еще один . Изначально система была заточена, скажем, под второй. Можно наброски схемы, которая потом легко и просто может быть использована и с первым? И, самое главное, это понять можно ли будет? Или новому человеку придется понимать, как все эти таблицы Универсального Вычислителя Тарифов между собой связаны и работают? И да, в этих документах только кажется, что все каким-то закономерностям следует. В реальности выясняется, что есть какие-то населенные пункты вроде Байконура, которые в эти 'закономерности' не укладываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 16:08 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
InkelyadНу ладно. Для "разминки". один тарифный документ , еще один . Изначально система была заточена, скажем, под второй. Можно наброски схемы, которая потом легко и просто может быть использована и с первым? И, самое главное, это понять можно ли будет? Или новому человеку придется понимать, как все эти таблицы Универсального Вычислителя Тарифов между собой связаны и работают? И да, в этих документах только кажется, что все каким-то закономерностям следует. В реальности выясняется, что есть какие-то населенные пункты вроде Байконура, которые в эти 'закономерности' не укладываются.не увидел проблем... набросок схемы не можно, увы и ах, моя вам не подойдет, сидеть над вашей задачей - оно денег стоит, это не на 5 мнут троллинга на форуме подсказка уже дана - N-мерная матрица/куб - дерзайте, спрашивайте, обсуждайте пысы: если прог не может реализовать реальность в своих терминах/схемах, то зачем нам такой прог? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 18:53 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Chop не вижу проблемы... Но в то же время Chopв моей реализации это было ....+ЕАВ) Наличие ЕАВ, скорее всего, все же есть нечто вызывающее обеспокоенность. Ну, в самом деле, юзается же РСУБД, а не ЕАВСУБД. Как бы получается ухищрение, узкое место в общем случае ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:14 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Inkelyad, Не вижу, с чем тут не справиться приведенной мной схеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:29 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинInkelyad, Не вижу, с чем тут не справиться приведенной мной схеме. Проблема не в этом. Справится можно. Проблема в том, что потом универсальную схему несколько труднее понимать и использовать, чем схему, 'заточенную' по термины конкретного способа вычисления тарифа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2013, 09:57 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Я тоже не вижу проблем, если спокойно применить эволюционный подход. Сделайте для каждого варианта нормальную реляционную схему. Если постановка расширяется, меняется - сделайте новые поля, или новые таблицы. Организуйте код, чтобы "диспетчеризация" старых-новых полей-таблиц сидела строго в одном месте сервисного слоя системы. Работайте только через этот слой. Преимущества: каждый отдельный кусок БД остается простым, понятным, реляционным - со справочниками, связями, декларативным контролем целостности и т.д. Не боится расширения в любую сторону. Все это, как и мнения предыдущих ораторов, доказывает: нет ничего сложного в работе, которую не обязан делать сам :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2013, 12:20 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Long Live Torrent Trackers !Inkelyad, Ну в том-то и дело, что в нормально спроектированной БД при изменении бизнес-правил меняются только алгоритмы вычислений хранимых процедур (ну может еще несколько функций). Но уж никак не таблички и взаимосвязи между ними. Например, встал методолог не с той ноги (или у методологички сложные дни) - програмер покивал головой (мол, усё сделаем), залез в хранимую процедурку (ALTER PROCEDURE ...) и глядь - через полдня усё действительно готово - процедурка выдаёт другой результат в соответствии с изменившимися правилами. а кто constraints будет ослеживать? как на клиенте логику менять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 14:10 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Long Live Torrent Trackers !guest_20040621> На первом этапе может тара вобще не рассматривалась как критерий и не учитывалась. Разработчиков, которые думают, что перемещение грузов может происходить посредством телепортации, нужно увольнять за профнепригодность. Без вариантов. Увы, уважаемый mikron никак не может успокоиться и взять себя в руки (молодая горячая кровь). Он все порывается по каждому чиху изменять схему БД. Тара не рассматривалась как критерий, а теперь рассматривается - выход один - срочно менять схему БД ! Изменился цвет бутылок с зелёного на коричневый - спасёт только изменение схемы БД. Бутылки были литровые, а стали двухлитровые - менять, менять схему БД ! Подозреваю, что на работе он так всё же не делает. уподдерживаю предыдущих товарищей - вы товарисч - Троль - если у вас меняется схема данных а вы ее не меняете в БД, а все держите в коде - подпускать вас к проектированию БД опасно - у вас нет представления зачем нужны БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 14:14 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Ivan Durakконечно.. eav для ВСЕГО - решит все проблемы :) +1, и Эксель его лучший брат!))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 14:16 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
ChopspПоделитесь пожалуйста опытом борьбы с таким явлением. Есть ли какие либо способы или шаблоны проектирования такого безобразия!? )1. когда Заказчик грит "у меня в таблице Контрагентов будет только три номера телефона, зуб даю" - я автоматом создаю подчиненную таблицу "один-ко-многим", а не добавляю три поля в таблицу контрагентов тут все понятно и банально.. Chop2. для расчета тарифов реализовал N-мерную матрицу в БД, после этого - что цифирки меняйте, что количество параметров... т.е. если у меня 24 параметра и многие из них списочные с иерархическими зависимостями от других параметров - вы предлагаете строить (затрудняюсь как называется такое...) 24х24Х...... куб или как его там получится???? Chopкак-то так... грят, еще можно доки сохранять одним xml-полем... без изменения структуры БД доки можно ваять хоть по одному новому каждый час :) никогда не видел, только слышал :) В этом варианте вам и БД не нужна - держите все в коде! - БД нужна для хранения непротиворичивых и целостных данных, а в случае с xml - это просто текст а не БД! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 14:21 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Chopне вижу проблемы... 1. многомерная матрица/куб в БД (в моей реализации это было дерево+ЕАВ) 2. создание нового тарификатора на основании предыдущего (для упрощения ввода новых цифирь и параметров) 3. "запоминание" периода действия "тарификатора" фсе... документы никакие не меняются, структура БД не меняется я вам таки ее добалю...) параметры - не просто одинокие цыхверки - а справочники с иерархическими зависимостями между другими справочниками-списками Интересно как вы ничего не будете менять если меняются связи и условия в этих иерархических зависимостях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 14:23 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherЯ тоже не вижу проблем, если спокойно применить эволюционный подход. Сделайте для каждого варианта нормальную реляционную схему. Если постановка расширяется, меняется - сделайте новые поля, или новые таблицы. Организуйте код, чтобы "диспетчеризация" старых-новых полей-таблиц сидела строго в одном месте сервисного слоя системы. Работайте только через этот слой. Преимущества: каждый отдельный кусок БД остается простым, понятным, реляционным - со справочниками, связями, декларативным контролем целостности и т.д. Не боится расширения в любую сторону. Все это, как и мнения предыдущих ораторов, доказывает: нет ничего сложного в работе, которую не обязан делать сам :-) Спасибо за конструктивный и рациональный ответ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2013, 14:32 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spChop2. для расчета тарифов реализовал N-мерную матрицу в БД, после этого - что цифирки меняйте, что количество параметров...т.е. если у меня 24 параметра и многие из них списочные с иерархическими зависимостями от других параметров - вы предлагаете строить (затрудняюсь как называется такое...) 24х24Х...... куб или как его там получится????я как-то не интересовался какой там куб получается NxN или MxM, ни мне, ни БД до этого никакого дела нет, это не имеет никакого значения :) в БД как было 3-4 (уже не помню, сколько точно) таблицы, так и остается структура БД тоже неизменна, а сколько параметров понадобиться Пользователю туда вогнать - решает Пользователь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2013, 16:32 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spChopне вижу проблемы... 1. многомерная матрица/куб в БД (в моей реализации это было дерево+ЕАВ) ... фсе... документы никакие не меняются, структура БД не меняетсяя вам таки ее добалю...) параметры - не просто одинокие цыхверки - а справочники с иерархическими зависимостями между другими справочниками-списками Интересно как вы ничего не будете менять если меняются связи и условия в этих иерархических зависимостях?параметр он параметр и есть, подозреваю, что под "параметр - справочник" вы подразумеваете, что каждый элемент справочника используется как параметр ничего от этого не меняется, вместо текстового/цифрового значения будет стоять ссылка, только и всего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2013, 16:39 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Chopпараметр он параметр и есть, подозреваю, что под "параметр - справочник" вы подразумеваете, что каждый элемент справочника используется как параметр ничего от этого не меняется, вместо текстового/цифрового значения будет стоять ссылка, только и всего Нет - вы неправильно подозреваете: параметр-список это список, значение которого выбирается в зависимости от текущих значений нескольких связанных параметров-списков. К примеру: если сегодня день недели (список дней недели) - пятница и руководит цехом Иванов (список руководителей цеха) и сегодня 3я фаза лунного цикла (список фаз) то в суп добавить 1.5767 мг соли. При других значениях зависимостей - другое значение соли - список. Да, еще и при этом каждое значение в списках "день недели", "руководители цеха", "фазы луны" имеют свои весовые коэффициенты, которые участвуют в расчете других параметров.! Как вам такая каша!?) думаете выдумываю - нет! утрирую -да!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2013, 10:59 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
spChopпараметр он параметр и есть...Нет - вы неправильно подозреваете: параметр-список это список, значение которого ... Как вам такая каша!?) думаете выдумываю - нет! утрирую -да!)то, что вы рассказали, и есть взаимосвязанные списки параметров... нет там никакой каши... не думаю, что вы выдумываете - вполне нормальная ситуация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2013, 13:42 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
mikronНо и в третьих, ваше говнометание хотя и оффтоп но создаёт фон, котоый только подчёркивает мой проффесионализм Писать грамотно сначала научись, проФФесионал ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 16:27 |
|
||
|
Как бороться с частыми изменениями схемы данных?
|
|||
|---|---|---|---|
|
#18+
Long Live Torrent Trackers !Писать грамотно сначала научись, проФФесионал ... Связь между "грамотно писать" и "професионал" распространяется наверно только на журналистов. Алберт Энштейн был например легастеником. Но помимо лигастении есть ещё и другие аномалии. твои случай больше похож на графоманию . И когда будеш читат, загляни в смежным слинкованые темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 15:46 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1541103]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
103ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 312ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...