|
|
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
mcureenabЧем гибче связь, чем больше степеней свободы и состояний она допускает, тем больше усилий нужно прилагать для её создания, тестирования и сопровождения. Мне кажется, это утверждение обусловлено некоторой путаницей в понятиях. Попробую объяснить. Давайте явно договоримся о терминологии: есть классы (то, что обычно подразумевается в ЯП - тип данных, если угодно компонент, обладающий определенными возможностями) и есть объекты (конкретные, созданные и настроенные экземпляры типа данных "класс"). Гибкость - это характеристика класса, не объекта. Гибкость означает примерно следующее: "а я могу создать и такую связь, и такую связь, и вот такую связь, и даже вот так вывернутую, просунутую, и трижды завязанную на конце связь". Гибкие классы в общем случае сложнее создавать, но эта трудоемкость входит в трудоемкость создания фреймворка, и не имеет отношения к трудоемкости его использования. Это же относится к тестированию, сопровождению итд. Использование гибкого класса по трудоемкости мало отличается от использования для той же цели аналогичного негибкого класса. Можно не слишком отступив от истины сказать, что если для настройки объекта негибкого класса следует задать значения N свойств, то для аналогичной настройки объекта гибкого класса следует выбрать вариант поведения и настроить те же N свойств (то есть в сумме получается - настроить N+1 свойство). Разницы в трудоемкости тестирования - никакой (следует выполнить те же самые N тестов и проверить результаты). А вот в стоимости сопровождения проявляются преимущества гибкой связи: для решения задач, которые при гибком фреймворке решаются простейшей донастройкой, при негибком требуются нехилые усилия. Собственно, эти преимущества проявляются и при начальной разработке, но там они могут быть смикшированы искусным проектированием - в то время как в ходе сопровождения возникают задачи, "не очень ложащиеся" в исходную модель. mcureenabОтображение данных, как правило самая простая наименее ограниченная задача. И? Во всех примерах, которые я приводил, данные не только и не столько отображались. В том числе в том примере, в котором Вы ставили крестик. mcureenabКомпоненты допускающие изменение данных наиболее сложная и капризная часть системы, в частности, требования к нормализации реляционных отношений исходят именно от задач изменения данных. Вспомните тот же пример, в котором Вы ставили крестик. Где там капризная часть? В обоих случаях для модификации вызывается одна и та же ХП, в тексте которой не меняется ни один байт. Нормализация... какая нормализация? Об этом думает программист ХП; тот программист, который делает формы, от "нормализации" ну нисколько не зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 18:25 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
andr_kМужики, блин, а почему так получается: умные люди, которым однозначно нравится их работа, начинают собачиться друг с другом до конца не вникнув в то, что говорит их собеседник? Порой одни и те же понятия называются разными словами. Может, глоссарий какой-нибудь сделать, что-ли? Ведь очевидно, что программер, работавший только на Oracle Forms, никогда не найдет общего языка с программером, работавшим только на Delphi, и оба они не найдут общего языка с программерами, работавшими на Java и .Net в трехзвенке. Разные архитектуры, разные ЯП, разные классы задач приводят к разным структурам для одних и тех же данных. Сомневаюсь, что от выбора архитектуры или инструмента структура реляционной БД претерпит принципиальные изменения. В деталях, да, возможно. Где то придётся изменить тип данных. Где то создать дополнительные таблицы для хранения промежуточных изменений и служебных даннных. Где то выполнить денормализацию. Ощутимо отличаются реляционный и объектноориентированный подход к конструированию БД. Но объектную модель легко преобразовать в реляционную (теряя при этом семантику объектной модели). Т.е. речь идёт скорее о выразительных средствах и дополнительной семантике, чем о принципиальном изменении структуры БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 18:27 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
andr_kПлюс производительность системы требует пересмотра структур. Требует. И как правило оставляет неизменным интерфейс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 18:27 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
А если будете использовать Oracle Spatial в 10, то он сам сгенерит структуру данных, плюс обеспечит аналитическими сетевыми функциями. Да и с MapInfo он дружит. А для MS SQL 2000, по-старой инф-ии, еще нужен модуль от MapInfo и аналитические сетевые функции нужно будет самому писать. Проще идти тогда по OpenSource. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 18:36 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Для КД andr_kА если будете использовать Oracle Spatial в 10, то он сам сгенерит структуру данных, плюс обеспечит аналитическими сетевыми функциями. Да и с MapInfo он дружит. А для MS SQL 2000, по-старой инф-ии, еще нужен модуль от MapInfo и аналитические сетевые функции нужно будет самому писать. Проще идти тогда по OpenSource. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 18:37 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
guest_20040621Бред, я думал, Вы понимаете русский язык. ОК, сами напросились. Вы тупы до безобразия. Сделайте одолжение, не адресуйте мне Ваши умозаключения. Я даже объяснять не буду, почему они тупые, - просто примите это как факт. P.S. А университеты такие бросайте. Ничему хорошему Вас там не научат. P.P.S. Модератору: извините, не удержался. Ничто не расстраивает меня больше, чем человеческая тупость. P.P.P.S. Прочитавшим: приношу извинения за сообщение, не соответствующее теме обсуждения. Не ерничайте (С), модератор Вас любит. Несмотря на отсутсвие у Вас каких-либо знаний в областях, обсуждаемых на этом форуме. Вот и в этом случае сказать Вам оказалось нечего, и от досады пришлось сослаться на тупость собеседника. PPPSSS Да и "прочитавшие" Вас не осудят, можете не извиняться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 18:42 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
andr_kМужики, блин, а почему так получается: умные люди, которым однозначно нравится их работа, начинают собачиться друг с другом до конца не вникнув в то, что говорит их собеседник? Порой одни и те же понятия называются разными словами. Издержки письменного общения :( При личной встрече они бы сначала слегка поругались, а потом за 10 минут выяснили что говорят об одном andr_k Может, глоссарий какой-нибудь сделать, что-ли? Ведь очевидно, что программер, работавший только на Oracle Forms, никогда не найдет общего языка с программером, работавшим только на Delphi, и оба они не найдут общего языка с программерами, работавшими на Java и .Net в трехзвенке. Разные архитектуры, разные ЯП, разные классы задач приводят к разным структурам для одних и тех же данных. Да запросто договорятся, физика то везде одна и та же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 19:00 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
То Alexey Kudinov Да хохма в том, что КД просто задал вопрос про домашний ГИС, а "мужики-то не знали". Вы правы: за пивом общение лучше получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 19:05 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
iscrafmделайте так, кто же запрещает. Зачем MVC? да фиг его знает, Вы пользуетесь, Вы и отвечайте. Всем нужно деньги зарабатывать, в том числе на MVC, Bold и т.п. К тому же не нужно рассматривать понятие интерфейс как набор полей и кнопочек на форме. При действительно реальных изменениях интерфейса не поможет Вам MVC, полезете в базу. Что значит при реальных изменениях интерфейса? Интерфейс сам по себе радикально не меняется просто так. Значит есть ТЗ по изменению функционала, в результате которого и будет меняться интерфейс и возможно структура БД. iscrafm Анатолий Иванов Интересно, а как определить точный и обязательный критерий предусмотренности структуры данных для древовидного их представления? Не подскажете ли? Я же не знаю какую структуру данных Вы делаете для древовидного представления. Мне по минимуму достаточно сслылки на Parent. Что Вам - понятия не имею. Понятно, что не знаете. Я к тому и веду, что из структуры данных не обязательно вытекает ее иерархическое визуальное представление. iscrafm Анатолий Иванов Внимание вопрос: причем тут структура БД? Правильно, ни при чем. "Требуемая информация" не равно "структура БД". Внимание, ответ! Не причем. Речь идет об интерфейсах. В том то все и дело, что для изменении интерефейса структура БД не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 22:17 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Анатолий Иванов не хочется повторяться, почитайте выше, все разжевано до безобразия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 10:53 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Prince-1777 Я предпочитаю проектировать от данных, так как повсюду бардак и про поведение надо клянчить у предметников, а данные можно и самому проанализировать :) Пока копируете кем-то уже созданные модели (в виде "накладных" и "платежек") может и "анализируете". Если идти от поведения - то же самое. Копируем чьи-то БП, может и анализируем. Просто по моим наблюдениям, данные более статичны, чем поведение, менее подвержены изменениям. Я говорю про здесь и сейчас. Может со временем все поменяется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 10:59 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Prince-1777 Сахават Юсифов Prince-1777 Я предпочитаю проектировать от данных, так как повсюду бардак и про поведение надо клянчить у предметников, а данные можно и самому проанализировать :) Пока копируете кем-то уже созданные модели (в виде "накладных" и "платежек") может и "анализируете". Если идти от поведения - то же самое. Копируем чьи-то БП, может и анализируем. Просто по моим наблюдениям, данные более статичны, чем поведение, менее подвержены изменениям. Я говорю про здесь и сейчас. Может со временем все поменяется... Предсавьте что нет никаких чужих БП, и Вы создаете среду для описания любого БП. И тогда увидете как все меняется разом, уплывают привычные статические вещи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 15:25 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2007, 18:58 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Знаете, я теперь стал задумываться о том, что вообще много какой информации можно хранить иерархически (т.е. изначально определить ее как таковую). Вот только нужно ли? Есть какие-н. общие алгоритмы, правила и т.д. на темы: является ли информация иерархической? если да, нужно ли это отражать в БД (т.е., нужно ли будет это пользователю?). Тут ведь и структура БД меняется, и интерфейс. У кого какие случаи бывали? Поделитесь, плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 18:26 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Хранят не информацию, а данные. Иерархическая организация это частный случай сетевой организации, но реляционные БД вообще говоря не содержат сведений об организации и подчинении объектов. Первичные и внешние ключи определяют только некие инварианты системы, но не отвечают за отношения подчинения объектов. Фактически связи записей реляционной БД кодируются в SQL запросах и могут быть любыми, в том числе и бессмысленными. В контексте твоего первого поста можно рассматривать структуры данных, которые состоят из однотипных или разнотипных элементов. Но не факт, что однотипные элементы (так же как и разнотипные элементы) будут иметь строго иерархическую организацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 04:46 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Ну это все понятно. Но я не об этом спрашивал, а о том, что данные можно считать "линейными" (не состоящими в отношениях подчиненности) или "иерархическими". И, если поразмышлять, то многие данные, которые ранее казались безусловно линейными, можно посчитать и иерархическими. По какому пути пойти? Это уже даже вне контекста моего первого поста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 10:28 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Зависит от решаемой задачи. Если наличие подчинения существенно, мы включаем его в модель данных. Проще вообще не заморачиваться этим вопросом, поскольку достаточно определить ассоциации или свяи объектов, а уж выстрояться они в дерево или нет, дело десятое. Важнее определить отношения типа "целое-часть" или "нечто есть". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 11:49 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
mcureenab пишет: > реляционные БД вообще говоря не содержат сведений об организации и > подчинении объектов. Реляционные БД, как и любые другие БД, могут содержать любую информацию, любые данные. О чем угодно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 13:23 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
MasterZiv mcureenab пишет: > реляционные БД вообще говоря не содержат сведений об организации и > подчинении объектов. Реляционные БД, как и любые другие БД, могут содержать любую информацию, любые данные. О чем угодно. Posted via ActualForum NNTP Server 1.4 Но реляционная СУБД не использует их для решения задач. т.е. если у меня в реляционной БД хранится дерево объектов, мне придётся в SQL запросе явно написать предикаты, которые позволят СУБД вернуть искомый набор данных в нужном порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 01:55 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Попробуйте просто ответить на вопрос: имеет ли какая-то информация (данные) иерархичный характер? Стоит ли учитывать эту особенность в СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 18:36 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
Дык без иерархии куда: как минимум база-таблица-строка или база-объект-поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2008, 19:14 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
:) Ну, а серьезно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 06:36 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КД:) Ну, а серьезно? Не следует связи притягивать за уши. Например, для почтовой службы чем не иерархия типа целое-часть: Страна,Область,Город,Улица,Дом,Квартира,Абонент. Однако в другой задаче нужно добавить Подъезд,Этаж. А деда Мороза почта найдёт вообще без адреса. В картографии Страна,Область,Город,Район,Улица,Дом всего лишь стили оформления полигонов, которые между собой никак не связаны, а только отображаются совместно на тех или иных слоях карты.И в самом деле, при изменении границ Города, изображения домов никуда не перемещаются, хотя почтовые адреса этих домов могут измениться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 08:30 |
|
||
|
Плюсы и минусы иерархического способа хранения данных
|
|||
|---|---|---|---|
|
#18+
КДмногие данные, которые ранее казались безусловно линейными, можно посчитать и иерархическими. По какому пути пойти? Объекты могут состоять (редко), а могут и не состоять(чаще) между собой в отношении иерархии. А вот классификаторы объектов можно считать всегда иерархическими (а линенейный класификатор как частный случай иерархиии). Соответственно такому подходу проектируется и софт и UI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2008, 09:54 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34565949&tid=1543998]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
4ms |
| others: | 252ms |
| total: | 421ms |

| 0 / 0 |
