|
|
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
zeon11, А ВИПРОС их переключает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 21:32 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
zeon11еревья нужны не для того, чтобы подчеркнуть чью-то подчинённость, а для удобства группировки по каким-то признакам. Я использую их в том числе и для групповых операций. Например, в один клик меняешь параметр у тысяч записей. для этого нужна обычная группировка по любому признаку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 22:13 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
zeon11Например, в один клик меняешь параметр у тысяч записей. Один и тот же параметр у тысяч записей... Разве это не нарушение третьей НФ?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 22:38 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
iscrafmzeon11еревья нужны не для того, чтобы подчеркнуть чью-то подчинённость, а для удобства группировки по каким-то признакам. Я использую их в том числе и для групповых операций. Например, в один клик меняешь параметр у тысяч записей. для этого нужна обычная группировка по любому признаку. Да, так и придётся делать, если набор данных не структурирован заранее разработчиком по признаку подчинённости. Если-же он структурирован, то почему-бы этим не воспользоваться? И тут есть следующие обстоятельства: 1.Если я работаю с плоским списком, я должен его полностью поднять с сервера на клиента, на клиенте произвести группировку (ну например, в гриде), после этого на сервер послать запрос на UPDATE. И не факт, что этот запрос будет всегда простым и быстрым. 2.C деревом, если оно есть, немного проще - не обязательно тянуть всех детей (внуков, правнуков и т.д.) на клиента, достаточно отправить запрос вида Код: sql 1. Ну, и всё-таки наличие дерева (или деревьев) в справочнике говорит о проработке разработчиком предметной области. Пользователю немного удобнее работать с деревом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 04:25 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovzeon11Например, в один клик меняешь параметр у тысяч записей. Один и тот же параметр у тысяч записей... Разве это не нарушение третьей НФ?.. А где нарушение? Таблица, например, ТОВАРЫ. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. По полям XUNIT, XMAKER таблица нормализована, по полю NDS - не нормализована. Но кто не денормализовывал, пусть кинет в меня камень. Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 05:22 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, И тут, согласен, несомненно нарушение 3НФ было-бы, если мы жёстко определили, что у XPARENT=33 НДС должен быть только 18%. но это не так. После выполнения Код: sql 1. мы можем поменять НДС у любой записи в группе на отличное от 18. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 06:03 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
zeon11 Деревья нужны не для того, чтобы подчеркнуть чью-то подчинённость, а для удобства группировки по каким-то признакам. Я использую их в том числе и для групповых операций. Например, в один клик меняешь параметр у тысяч записей. Какое дерево не для ... "подчинённость"? Красное? Все же "Дерево" имеет значение, чтобы, скорее всего, "лазить по нему". Т.е. именно извлекать информацию предполагающее хождение по узлам. В реляционной БД - иерахические запросы или там рекурсивные. Группировка к таковым, вроде не относится. Для группировки, скорее всего, не обязательно мылить деревьями. Если в таблице фамилии и зарплаты, то для того чтобы узнать какая общая зарплата (группировка) привистовывать сюда дерево, вроде, преждевременно. Полноценные иерархические структуры все же в иерархических БД. Там Вы можете лазить по деревьям: язык БД навигационный. А в реляционной БД и иерахичекие запросы не всегда были. И в реляционной алгебре их нет. И то что это у Вас иерархия, Вы может как-то с помощью внешних ключе намекнуть, а не указать явно: мол Дерево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 11:31 |
|
||
|
Деревья SQL
|
|||
|---|---|---|---|
|
#18+
zeon11И тут есть следующие обстоятельства: 1.Если я работаю с плоским списком, я должен его полностью поднять с сервера на клиента, на клиенте произвести группировку (ну например, в гриде), после этого на сервер послать запрос на UPDATE. И не факт, что этот запрос будет всегда простым и быстрым. не совсем понял. Если никто не хочет смотреть на содержимое группы (также как и на содержимое ветки дерева), то просто условие в том же update задается.. кстати: zeon112.C деревом, если оно есть, немного проще - не обязательно тянуть всех детей (внуков, правнуков и т.д.) на клиента, достаточно отправить запрос вида Код: sql 1. таким образом "вытаскиваете" только содержимое узла, на котором установлен курсор. Но обычно пользователей интересует представление типа "Страховые компании, в том числе ДМС, ОМС и т.д." Т.е. в "дереве" должно выполняться рекурсивное чтение. В это случае простейшим условием не обойтись в реляционной структуре. Пример ниже в данном случае проекция проекта выполнена на подпапку в таком указанным вами условием не обойтись. PARENTID= и т.п. подходит только для самых элементарных случаев. zeon11всё-таки наличие дерева (или деревьев) в справочнике говорит о проработке разработчиком предметной области. конечно не говорит, чаще информация нужна в многомерном представлении все же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 11:51 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39091677&tid=1540450]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 265ms |

| 0 / 0 |

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