|
|
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Ишь, куда вас понесло... Сейчас мы тихий-мирный топик превратим в очередную арену сражений сторонников различных концептуальных подходов. Подписываюсь под словами softwarer'а. Вот был я ну совсем тупой и ляпнул: "Могу сказать, что из этих отдельных таблиц можно сотворить поля со списками с динамическим обновлением (научили как), а также строить всякие запросы. Дерево займет много места на форме (по сравнению с 3 ComboBox'ами), да и не научился я пока с деревьями работать." Теперь чуть умнее стал и теперь мне все равно - деревом или 3 (4, 5,...) комбобоксами. Теперь я буду смотреть как мне таблицы логичнее сделать, а не как бы их под удобный интерфейс подстроить. 2 mcureenab >Одно дело - наши желания, другое - наши возможности. Если дизтопливо оставляет пятна на краске, то нужно либо бензиновый двигатель ставить, либо краску менять и т.п.. Нет, имхо, двигатель для машины более важная деталь, чем тип краски. Если человек выбирает двигатель по критерию оставляет ли соответствующее топливо пятна на краске... Ну это как если бы я выбрал в качестве СУБД FoxPro 2.6 потому, что там есть пятнашки и можно поиграть, если мозги закипели. Что-то не туда нас понесло. К делу. В одном из предыдущих постов я, кажется, соврал: "Насколько я знаю, в MapInfo нет ключей объектов." Вот кусок ответа Denis Popov из топика "Хранение картографической информации" (на этом же форуме): "Т.е. вся "картинка", статика, находится не в БД, а в БД не хранится геоинформация, только привязка идентификаторов объектов MapInfo к данным." Так что, кажется, есть у объектов MapInfo "ключи". Можно попробовать. Значит, получается, в базе можно хранить идентификаторы объектов MapInfo, но обновлять их ручками или писать навороченную процедуру проверки таблиц MapInfo, проверки всех объектов (в т.ч. и созданных) во всех слоях, сливания полученных значений идентификаторов в таблицу БД? Не могу объяснить, но предчувствую какие-то грабли при таком подходе. Хотя с другой стороны, выгружаем же мы в MapInfo таблицы из БД – и ничего. 2 mcureenab >Могу предположить, что картографические объекты проще и эффективнее хранить в виде BLOB в формате, который непосредственно воспринимает MapInfo. Что же мне теперь - на SQL Server переходить? Из того, что более-менее мне доступно, BLOB'ы есть только там. >По координатам точки найти район, в котором эта точка находится. В этом случае выгружаем в MapInfo карту районов, и запрашиваем у него id района в котором находится данная точка. MapInfo наверняка такие функции имеет. Вот видите, еще недавно вы утверждали абстрактность понятия точки, а контексте текущей задачи оно очень даже пригодилось. Повторюсь, тут вот в чем закавыка – не знаем мы координаты точки! Написал автор "в пойменных лесах среднего течения Дона". Карту какого района выводить? Среднее течение Дона – это не в одном районе, и даже не в одной области. Только если я отрисую в слоях все объекты и буду знать их идентификаторы - тогда см. предыдущий абзац. З.Ы. Пока я на работе пишу ответы на предыдущие посты - тут уже столько успевают за день понаписать, что мне приходится дописывать в 2 раза больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 00:32 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Бред tchingiz Бред softwarer Первое и самое главное. Запомните это, распечатайте, повесьте на стену и ежедневно проверяйте, пока не прочувствуете на подсознательном уровне: Структура данных в БД никоим образом не должна зависеть от пользовательского интерфейса программы равно как и наоборот Увязывать их - одна из самых больших глупостей, которые могут быть сделаны проектировщиком. Весьма не профессиональное высказывание. Удружил "начинающему". Вы намекаете что структуры данных должны зависеть от пользовательского интрефейса и это, якобы удешевит проект, продукт и весь жизненный цикл? Ровно наоборот. Я намекаю, что пользовательский интерфейс должен зависеть от концептуальной модели данных (то есть полностью ей определяться), и, соответственно, логическая модель не должна отличаться от концептуальной. Далеко не очевидно из Ваших намеков про "удружить начинающему" что Вы не имели ввиду "зависимость структуры данных от интерфейса". Начинающим вроде меня тяжело разобраться отрицание фразы (Структура данных в БД никоим образом не должна зависеть от пользовательского интерфейса программы равно как и наоборот) == структура данных в БД должна зависеть от пользовательского интерфейса программи или пользовательский интерфейс должен зависеть, от структуры данных БД. /* Заметьте, Вы, в ходе беседы, как то плавно "структуру данных БД" заменили на "концептуальную модель". Считается, что такая подмена корректна? */ Более того, я и сейчас, после уточнения струдом понимаю, какэто пользовательский интерфейс должен зависеть от структуры данных БД. Это чтоли на реляционной БД должен быть один интерфейс, а на иерархической - другой? Я то грешным делом думал, что ГУИ надо писать по возможности независимым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 03:49 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer mcureenabЕсли коротко - моя твоя не понимай. Моя говорит в общем стандартную вещь - конструкция двигателя автомобиля не должна зависеть от цвета его кузова, равно как и наоборот. Если я - пользователь - говорю "хорошая машина, все замечательно, вот только сделайте мне две дверцы вместо четырех" - инженеры не должны "заодно" менять инжектор на дизель. может не совсем в таком виде, но зависимость конечно же есть . Если в первую очередь рождается кузов (интерфейс), как концепт. Под него и движок подбирается. softwarer"Как хранить данные" и "как отобразить данные" - два разных вопроса, в поиске ответа на который рассматриваются принципиально разные факторы. это очень взаимосвязано. Особенно в последнее время, в связи с повышением пользовательского приоритета в сторону интерфейсов. softwarerМежду ответами на эти вопросы нет и не может быть прямой связи (косвенно они, конечно, связаны через общую задачу и общий фрагмент модели). Как простая иллюстрация к отсутствию прямой связи - если клиент скажет "не хочу дерево, хочу комбобоксы" - никто не должен бежать к архитектору БД с криком "режь свою иерархическую таблицу натрое". конечно же есть связь :) Попытки постоить какие-либо интерфейсы на неподходящей для них структуре данных выглядят ужасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:16 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДТеперь я буду смотреть как мне таблицы логичнее сделать, а не как бы их под удобный интерфейс подстроить. Пользователям тоже так отвечаете на вопросы, почему чтобы сделать простую операцию нужно так извратиться? Зато какие таблицы логичные. :) Интерфейс и структура данных - неразрывны. А в последнее время - тем более. Идет борьба интерфейсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:36 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
iscrafmможет не совсем в таком виде, но зависимость конечно же есть . Если в первую очередь рождается кузов (интерфейс), как концепт. Под него и движок подбирается. С моей точки зрения "в первую очередь рождается идея, а уж потом под нее подбираются кузов, движок и все остальное". Если размышлять в терминах "сначала рождается кузов" - то есть классический восходящий подход - то есть ровно два варианта: либо на самом деле проектировщик таки видит в голове общую картину, просто сосредоточился на одной из нижних деталей, либо же имеем все прелести восходящего подхода, которые вчера описывал коллега mcureenab - "каждый сделал свое, теперь думаем, как же это состыковать". Связь тут конечно есть, но связь, а не зависимость. Разница между этими понятиями - примерно как между понятиями "родственник" и "потомок". iscrafm softwarer"Как хранить данные" и "как отобразить данные" - два разных вопроса, в поиске ответа на который рассматриваются принципиально разные факторы. это очень взаимосвязано. Особенно в последнее время, в связи с повышением пользовательского приоритета в сторону интерфейсов. Прошу не считать персональным наездом, но - "это очень взаимосвязано" там, где используются откровенно убогие фреймворки. Как простой пример в общей для нас области - есть пример "убогого фреймворка" - компонент TTable. Если попытаться применить его к нетривиальной задаче - действительно окажется, что либо мы один в один отображаем структуру данных сервера, либо тратим кучу усилий, а результат еще хуже. Стоит начать использовать менее убогий TQuery - и жесткая зависимость пропадает. Также жесткая зависимость пропадает, если на сервере используем вьюху или хранимку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:50 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
iscrafmПользователям тоже так отвечаете на вопросы, почему чтобы сделать простую операцию нужно так извратиться? Не стоит приписывать другим одноклеточное мышление. iscrafmИнтерфейс и структура данных - неразрывны. Тогда понятно, почему ваш фреймворк никого кроме вас не интересует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:53 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer Сахават ЮсифовДа бросьте. Это для меня нехарактерно. Я, если Вы еще не заметили, жуткий зануда. Простите за нескромный вопрос, Вы уверены, что с той стороны логина - именно Вы и примерно в том же состоянии, в котором обычно пишете в форум? Состояние было перегретым, не не настолько. Я собственно имел ввиду только один вопрос - как дать возможность пользователю находу, безболезненно менять структуру РБД (собственно говоря ввести новые свойства для НЕКОТОРЫХ объектов) с автоматическим отражением в пользовательском интерфейсе. Тут три подхода. 1. Добавить новое свойство в существующую таблицу. (ALTER) 2. EAV. 3. Ввести новое свойство (набор), как новую таблицу связанную с основной один<->один. Т.е., каждая таблица = множество таблиц с одним или несколько своствами + таблица описания спецификаций (из каких таблиц состоят таблицы). Поразмыслив над + и - всех трех (а может и еще какие есть) вариантов, остановился на 3. Про это так громко сказал. (Вещь то тривиальная, но требует переопределение select, insert, update, delete. Как - это другой вопрос) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:57 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer Как простой пример в общей для нас области - есть пример "убогого фреймворка" - компонент TTable. Если попытаться применить его к нетривиальной задаче - действительно окажется, что либо мы один в один отображаем структуру данных сервера, либо тратим кучу усилий, а результат еще хуже. Стоит начать использовать менее убогий TQuery - и жесткая зависимость пропадает. Также жесткая зависимость пропадает, если на сервере используем вьюху или хранимку. Вы привели пример замены интерфейса. TTable, TQuery - это интерфейсы . Если нужен именно TTable... Естественно Вы задумаетесь как спроектировать структуру данных, чтобы система нормально работала с требуемым интерфейсом. Т.е. "убогость" какого-то там фреймворка здесь не причем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 10:58 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer iscrafmПользователям тоже так отвечаете на вопросы, почему чтобы сделать простую операцию нужно так извратиться? Не стоит приписывать другим одноклеточное мышление. А Вы как отвечаете? Вы системы с интерфейсами строите? softwarer iscrafmИнтерфейс и структура данных - неразрывны. Тогда понятно, почему ваш фреймворк никого кроме вас не интересует. что за бред, перегрелись? Если Вы до него не доросли, то не стоит судить по себе о других. К тому же тема совсем другая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 11:02 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
iscrafm softwarer iscrafmПользователям тоже так отвечаете на вопросы, почему чтобы сделать простую операцию нужно так извратиться? Не стоит приписывать другим одноклеточное мышление. А Вы как отвечаете? Вы системы с интерфейсами строите? softwarer iscrafmИнтерфейс и структура данных - неразрывны. Тогда понятно, почему ваш фреймворк никого кроме вас не интересует. что за бред, перегрелись? Если Вы до него не доросли, то не стоит судить по себе о других. К тому же тема совсем другая. Просто, наверное, определенная часть контингента не занималась практическими делами, а только теоретизирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 11:07 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Я думаю, что структура БД сама по себе нафик никакому заказчику не интересна. Рассмотрим БД как черный ящик, к которому подключено: 1) Пользовательский интерфейс для ввода и просмотра информации "по записям". Короче - ввод первичных документов. 2) Различная отчетность, от первички до OLAP. 3) API промежуточных итогов (могут являться исходными данными для других расчетов) - то есть требование к мгновенности получения. 4) Системы пакетной загрузки / выгрузки данных (например биллинг, синхронизация, консолидация). Разные пункты диктуют разную структуру БД, и на деле всегда получается компромис. Задача грамотного архитектора - минимизировать число внутренних трансформаций данных. Потому как любая трансформация - это код, а значит ошибки и стоимость поддержки. Остальные аргументы - религия. Так что совпадение интерфейса и структуры БД - это только плюс, при условии, что остальные пункты не страдают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 11:59 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДТак что, кажется, есть у объектов MapInfo "ключи". Можно попробовать. Значит, получается, в базе можно хранить идентификаторы объектов MapInfo, но обновлять их ручками или писать навороченную процедуру проверки таблиц MapInfo, проверки всех объектов (в т.ч. и созданных) во всех слоях, сливания полученных значений идентификаторов в таблицу БД? Не могу объяснить, но предчувствую какие-то грабли при таком подходе. Хотя с другой стороны, выгружаем же мы в MapInfo таблицы из БД – и ничего. ИМХО, тебе надо получше познакомиться с инструментом, который собираешься использовать, тогда и вопросы многие отпадут. КД2 mcureenab >Могу предположить, что картографические объекты проще и эффективнее хранить в виде BLOB в формате, который непосредственно воспринимает MapInfo. Что же мне теперь - на SQL Server переходить? Из того, что более-менее мне доступно, BLOB'ы есть только там. Сегодня на канале ВЕСТИ рассказывали как американские чуваки в супермаркеты ходят. Если чувак не нашёл нужный ему товар, то он лучше не купит ничего, чем будет искать аналог... Ну нету типа с именем BLOB, есть другие достаточно ёмкие типы. Наконец двоичные данные можно просто во внешних файлах хранить даже не привязывая их к БД. КД>По координатам точки найти район, в котором эта точка находится. В этом случае выгружаем в MapInfo карту районов, и запрашиваем у него id района в котором находится данная точка. MapInfo наверняка такие функции имеет. Вот видите, еще недавно вы утверждали абстрактность понятия точки, а контексте текущей задачи оно очень даже пригодилось. Повторюсь, тут вот в чем закавыка – не знаем мы координаты точки! Написал автор "в пойменных лесах среднего течения Дона". Карту какого района выводить? Среднее течение Дона – это не в одном районе, и даже не в одной области. Только если я отрисую в слоях все объекты и буду знать их идентификаторы - тогда см. предыдущий абзац. Придумай алгоритм. Я так понимаю, если есть понятие "Пойменный лес среднего течения Дона", то в картографической подсистеме должны быть объекты, которые обозначают эту территорию на карте, а раз так, то можно найти карты где эта территория обозначена или даже создать новую карту покрытия этой территории интересующими нас объектами. Например, можно взять карту плотности расселения мышей полёвок, выделить на ней регион "Пойменный лес среднего течения Дона" и получить карту совместного проживания змей и мышей. Т.е. изначально в системе не прописана организация географических объектов из предметной области приложения. В зависимости от решаемой задачи мы находим множество объектов с общими геометрическими свойствами и выводим их на карте. Полученный результат мы можем сохранить в виде карты, или другого структурированного описания, но можем каждый раз вычислять заново учитывая новые сведения. Если в картографической системе нет понятия "Пойменный лес среднего течения Дона", то описание не формализовано в картографических терминах. В этом случае нужно описать регион в картографической подсистеме. После этого работа сведётся к операциаям над геометрическими фигурами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 14:43 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer mcureenabВ самом незатейливом случае, я перетаскиваю на форму таблицу Country и сдаю работу. А кто Вам сказал, что это таблица? Перетащили? Хорошо. Сдали работу? Хорошо. После чего я меняю только БД, и угадайте с трех раз - будет Ваш exe-шник работать со вьюхой Country или нет? Ну я так не играю!.. Из контекста я полагал, что Country это всё же таблица, а не представление. А подмена таблицы представлением или даже синонимом операция далеко не безобидная, не прозрачная для приложения. Это у математиков всё есть реляционное отношение, а в реализации мы имеем дело не с абстрактными отношениями, а с конкретными таблицами, запросами, представлениями, вычисляемыми полями, индексами, планами и т.д. и т.п. со своими особенностями, капризами и закидонами. Даже замена СУБД как правило требует доработок в логике системы. Ну ладно. Я думаю, со временем мы получим мощные инструметны и архитектуры позволяющие полностью абстрагировать GUI и бизнес логику от структуры данных. Уже сейчас объектные технологии позволяют инкапсулировать подробности реализации внутри объекта или компонента. Кто то использует их, кто то работает по старинке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 15:14 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовЯ собственно имел ввиду только один вопрос - как дать возможность пользователю находу, безболезненно менять структуру РБД Сахават, согласитесь, что это отдельная большая тема, которую можно и интересно обсудить, но не стоит делать этого в топике, посвященного другому вопросу. К названному мной принципу (который постепенно стал основной темой обсуждения) этот вопрос отношения не имеет в силу того, что "зависимость структуры БД и интерфейса" не зависит от того, были ли свойства добавлены изначально, позже или вообще "на ходу", в любом случае у нас есть либо жесткая связь, и тогда изменение однозначно сказывается в соответствующем изменении интерфейса, либо гибкая - и тогда нужна дополнительная настройка "как именно это изменение скажется в интерфейсе", хотя бы на уровне "показывать новую колонку в гриде или нет". Лично я в такой задаче использовал первый подход, но выбор имхо зависит от контекста - легко назвать ситуации, в которых предпочтительно то или иное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:01 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
iscrafmВы привели пример замены интерфейса. TTable, TQuery - это интерфейсы . Ну если Вам угодно использовать именно такой термин, почему бы и нет? Но я бы просил больше думать о сути. iscrafmЕсли нужен именно TTable... Естественно Вы задумаетесь как спроектировать структуру данных, чтобы система нормально работала с требуемым интерфейсом. Т.е. "убогость" какого-то там фреймворка здесь не причем. Ровно наоборот. "Убогость фреймворка TTable" вызывает необходимость "проектировать структуру данных с учетом его убогости". Напротив, "неубогий фреймворк TQuery" убирает зависимость структуры данных и интерфейса, позволяя сделать гибкую развязку между ними. Разумеется, ее можно делать и другими способами, например, как я называл выше, через view (отметим - view не относится к "структуре данных"). iscrafmА Вы как отвечаете? Если предположить, что я где-то "плохо отвечал" - это причина высказать претензию мне. Желательно, предметную - с указанием, какие именно фразы чем именно недопустимы. И совершенно не причина приписывать хрен знает какую глупость коллеге КД . iscrafmчто за бред, перегрелись? Если Вы до него не доросли, Если я не дорос, это мелочь. А если вспомнить, какой бурный энтузиазм ваше решение вызывало во всех темах, где Вы его рекламировали - это уже тенденция. iscrafmК тому же тема совсем другая. Cогласен, другая. Давайте оставим ее, и Вы попытаетесь найти какие-либо объективные аргументы в поддержку своего тезиса о тесной связи структуры и интерфейса. Пока он голословен (аргументирован двумя-тремя утверждениями класса "ссылка на личный опыт", который "другая тема"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:13 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
mcureenabНу я так не играю!.. Из контекста я полагал, что Country это всё же таблица Стоп-стоп-стоп. Я начал с того, что привел Вам объекты и попросил назвать - что их них таблицы, что представления. Вы эту просьбу не выполнили, а теперь вдруг что-то "полагали"....... mcureenabА подмена таблицы представлением или даже синонимом операция далеко не безобидная, не прозрачная для приложения. Не безобидная, но прозрачная для приложения. Ее "обидность" лечится все на том же сервере. В том, что касается физики, безусловно согласен, но тем не менее, подобные операции достаточно часто нужны и достаточно часто выполняются - это уже статистика ответов по форумам. mcureenabДаже замена СУБД как правило требует доработок в логике системы. Даже "Замена СУБД" - вещь на порядки более капитальная по последствиям, нежели названная подмена. mcureenabЯ думаю, со временем мы получим мощные инструметны и архитектуры позволяющие полностью абстрагировать GUI и бизнес логику от структуры данных. Подходящие инструменты существуют давным-давно, объектные технологии тут совершенно не при чем, как впрочем и во всех других архитектурных вопросах. Вопрос исключительно в том, какие принципы закладываются в реализацию. Утрированно - если Вы используете только запросы вида select * from Table, значит задачу вида "показать эти данные вместе" Вы сможете решить только сведя их в одну таблицу. Если Вы готовы пойти на использование join - Вы уже свободны в выборе, связь теряет жесткость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:22 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer"неубогий фреймворк TQuery" убирает зависимость структуры данных и интерфейса, позволяя сделать гибкую развязку между ними. Разумеется, ее можно делать и другими способами, например, как я называл выше, через view :) softwarer iscrafmА Вы как отвечаете? Если предположить, что я где-то "плохо отвечал" - это причина высказать претензию мне. Желательно, предметную - с указанием, какие именно фразы чем именно недопустимы. И совершенно не причина приписывать хрен знает какую глупость коллеге КД . Вы о чем? я вроде ничего коллеге КД не приписывал, кроме его собственных слов. softwarer iscrafmчто за бред, перегрелись? Если Вы до него не доросли, Если я не дорос, это мелочь. А если вспомнить, какой бурный энтузиазм ваше решение вызывало во всех темах, где Вы его рекламировали - это уже тенденция. Вы хоть подскажите, где я рекламой занимаюсь, а то я и не знаю :) Хотя в чем-то Вы правы. Я имею ввиду энтузиазм, который я измеряю в лицензиях и реализованных проектах. Внешними разработчиками конечно. softwarer iscrafmК тому же тема совсем другая. Cогласен, другая. Давайте оставим ее, и Вы попытаетесь найти какие-либо объективные аргументы в поддержку своего тезиса о тесной связи структуры и интерфейса. Пока он голословен (аргументирован двумя-тремя утверждениями класса "ссылка на личный опыт", который "другая тема"). Оставим и это тоже. Одно дело раскрывать очевидные вещи на лекциях студентам, другое - мусолить их на форуме, где в общем-то состоявшиеся разработчики присутствуют. Если Вы проектируете интерфейс системы и структуру баз данных, которые она использует, независимо друг от друга, то это Ваше личное дело. Успехов. У меня под требуемый интерфейс проектируется соответствующая структура. Данные в отрыве от интерфейсов не живут, с ними работают люди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:44 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифовкак дать возможность пользователю находу, безболезненно менять структуру РБД Элементарно - вводим метауровень, пользователь видит и меняет только его, метауровень автоматом отображается на РБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:49 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
> Элементарно Погорячились. > вводим метауровень Нотация? > пользователь видит и меняет только его Откуда желание дать пользователю вообще что-то менять? Зачем? Ничего полезного юзер своими кривыми ручонками в принципе сделать не может. > метауровень автоматом отображается на РБД И полУчите в результате огромную кучу дерьма, которую базой данных в принципе нельзя будет назвать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:57 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer Сахават ЮсифовЯ собственно имел ввиду только один вопрос - как дать возможность пользователю находу, безболезненно менять структуру РБД Сахават, согласитесь, что это отдельная большая тема, которую можно и интересно обсудить, но не стоит делать этого в топике, посвященного другому вопросу. Согласен. Надо один раз показать универсальную альтернативу для EAV обладающей ее плюсами, но без ее недостатков. Думаю, что п 3. является хорошей альтернативой. А там, пусть делают как хотят. Я ж не для себя. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 16:59 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
iscrafmВы о чем? я вроде ничего коллеге КД не приписывал, кроме его собственных слов. Не путайте пожалуйста "его собственные слова" с "объективным бредом, который Вы, возможно, искренне полагаете смыслом его собственных слов". iscrafmВы хоть подскажите, где я рекламой занимаюсь, Занимались, года два назад. Примерно так же, как допустим приснопамятный Alex Rovdo всюду совал свой Versant. iscrafmХотя в чем-то Вы правы. Я имею ввиду энтузиазм, который я измеряю в лицензиях и реализованных проектах. Внешними разработчиками конечно. Это, к сожалению, трудно оценить со стороны с приемлимой трудоемкостью. iscrafmОставим и это тоже. OK. iscrafmОдно дело раскрывать очевидные вещи на лекциях студентам, другое - мусолить их на форуме, где в общем-то состоявшиеся разработчики присутствуют. Хм. Любопытно, в чем именно сложность - то ли "состоявшиеся разработчики тупее студентов", то ли "вещи оказываются вовсе не очевидными"..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 17:07 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
модЭлементарно - вводим метауровень, пользователь видит и меняет только его, метауровень автоматом отображается на РБД. Есть общеизвестный пример реализации подобного подхода, называется 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 17:08 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
> Есть общеизвестный пример реализации подобного подхода, называется 1С Кроме кривых поделок Вы действительно больше ничего не видели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 17:17 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarer mcureenabНу я так не играю!.. Из контекста я полагал, что Country это всё же таблица Стоп-стоп-стоп. Я начал с того, что привел Вам объекты и попросил назвать - что их них таблицы, что представления. Вы эту просьбу не выполнили, а теперь вдруг что-то "полагали"....... Ах вот Вы о чём... Относительно оператора select таблицы и представления формально (в частности на этапе компиляции) неразличимы. Но как только дело доходит до выполнения всплывает всё. Если идентификатор отношения БД использовать для изменения данных, то разница между таблицей и представлением тут же проявляется и я не видел способа её полнолностью скрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 17:18 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
softwarerНе путайте пожалуйста "его собственные слова" с "объективным бредом, который Вы, возможно, искренне полагаете смыслом его собственных слов". чтобы Вас в сторону не несло, я процитирую КДТеперь я буду смотреть как мне таблицы логичнее сделать, а не как бы их под удобный интерфейс подстроить. Вы о чем? softwarer iscrafmВы хоть подскажите, где я рекламой занимаюсь, Занимались, года два назад. Примерно так же, как допустим приснопамятный Alex Rovdo всюду совал свой Versant. Покажите, если так осведомлены, а то не понятно о чем Вы. softwarer iscrafmОдно дело раскрывать очевидные вещи на лекциях студентам, другое - мусолить их на форуме, где в общем-то состоявшиеся разработчики присутствуют. Хм. Любопытно, в чем именно сложность - то ли "состоявшиеся разработчики тупее студентов", то ли "вещи оказываются вовсе не очевидными"..... просто неприлично взрослым людям объяснять, что твердую пищу (данные) тяжело засунуть в тюбик из под зубной пасты (интерфейс). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 17:49 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34558405&tid=1543998]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
16ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 523ms |

| 0 / 0 |
