|
|
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
А как обеспечить сабж, если оперативная таблица (структура дерева) ссылается на разные справочники? Я ж не могу внешний ключ построить одновременно по нескольким таблицам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2006, 15:55 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZ ....оперативная таблица (структура дерева) ссылается на разные справочники? Ты думаешь, кто-нибудь представляет твою структуру? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 14:47 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZ Я ж не могу внешний ключ построить одновременно по нескольким таблицам. А что мешает использовать комбинированные ключи(т.е. из нескольких столбцов, один из которых в частности овечает за таблицу к которой цепляется данная запись) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 15:18 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
А древовидные структуры не пробовали применять ) (ржунимагу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 16:39 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Ivan A Kostko parovoZZ Я ж не могу внешний ключ построить одновременно по нескольким таблицам. А что мешает использовать комбинированные ключи(т.е. из нескольких столбцов, один из которых в частности овечает за таблицу к которой цепляется данная запись) ??? А можно здесь поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 13:01 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
имеется ввиду следующее Код: plaintext 1. 2. 3. В принципе, можно в оперативной таблице создать для каждого справочника своё поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 13:37 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Может, тебе ссылку на КАЖДУЮ табличку хранить? Те, на которые ссылки нет - будут Null содержать. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2006, 20:06 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
mv Может, тебе ссылку на КАЖДУЮ табличку хранить? Те, на которые ссылки нет - будут Null содержать. -1 5000 сообщений и такое написать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 10:50 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
фиолетовым - твои справочники желтым - дерево зеленым - базовый системный объект от которого наследуются сущности(в данном случае твои справочники). Наследование реализуется в виде связи 1-к-1 (почитай, поищи по форуму - неоднократно обсуждалось). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 11:05 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Деревья отдельно, каталог 'всего' отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 14:58 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Чёрт, поиск не работает. Сервак что ли перегружен? Я дурак или как. Мне не понятно, как в зелёной таблице указать, что запись ссылается на какую-то из фиолетовых таблиц, пусть даже и один-к-одному? Грубо говоря есть объект. У него есть адрес, телефон и т.д. Это одна таблица. Есть системы на этих объектах - телевидение, освещение и т.д. Это другая. Ну и т.д. Как отделить мух от котлет в одном поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 21:05 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZЯ дурак или как. Мне не понятно, как в зелёной таблице указать, что запись ссылается на какую-то из фиолетовых таблиц, пусть даже и один-к-одному? Грубо говоря есть объект. У него есть адрес, телефон и т.д. Это одна таблица. Есть системы на этих объектах - телевидение, освещение и т.д. Это другая. Ну и т.д. Как отделить мух от котлет в одном поле? Зеленая таблица ни на что не ссылается. (Направления внешних ключей видны по направлениям стрелок :) ). Ссылки объектов друг на друга (отношения ID-ParentID) определены в желтой таблице. В этой таблице как ID, так и ParentID ссылаются на зеленую таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 22:19 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2006, 22:26 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Ну хорошо. Я нашёл из зелёной таблицы ID и Name. Но как мне теперь определить, к какой сущности относится эта запись? Это объект, система (см. выше) или что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 09:05 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZНу хорошо. Я нашёл из зелёной таблицы ID и Name. Но как мне теперь определить, к какой сущности относится эта запись? Это объект, система (см. выше) или что-то другое? Вопрос который вы задали на самом деле ключевой в подобного рода схемах. Немного переусердствовав можно получить таблицу-мусорник, где есть все, но понять что обозначает каждая строка невозможно. Дзен состоит в том, что такой вопрос и задавать не нужно :) Вам была нужна ссылочная целостность - схема Романа ее обеспечивает. Если ваша СУБД не поддерживает FK на view, предложеный вариант это лучшее, что вы можете сделать. Альтернатива - триггера или какие-то иные внешние проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 11:31 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZНо как мне теперь определить, к какой сущности относится эта запись? Обычно в "системный объект" вводят поле ObjectType, но оно используется исключительно как метаинформация для среднего звена(клиента) и в реализации ссылочной целостности роли не играет. Например, сценарий может быть таким: 1.На клиенте в дереве кликаем на какой то узел дерева 2.Получаем ObjectType узла. 3.По ObjectType понимаем какую форму нужно открыть для редактирования и какую хп вызвать для получения данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 12:43 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Роман Дынник parovoZZНо как мне теперь определить, к какой сущности относится эта запись? Обычно в "системный объект" вводят поле ObjectType, но оно используется исключительно как метаинформация для среднего звена(клиента) и в реализации ссылочной целостности роли не играет. Например, сценарий может быть таким: 1.На клиенте в дереве кликаем на какой то узел дерева 2.Получаем ObjectType узла. 3.По ObjectType понимаем какую форму нужно открыть для редактирования и какую хп вызвать для получения данных.ещё пол-шага и EAV у системного объекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 13:24 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Petro123ещё пол-шага и EAV у системного объекта? Что такое EAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 17:30 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
>>>EAV нашел. Нет, здесь как раз таки без схемы "универсального каталога". EAV подойдет когда на стадии проектирования нельзя определить все сущности и их атрибуты. Так же подойдет в качестве реализации так называемых расширенных атрибутов. Но если на стадии проектирования все сущности и их атрибуты известны, EAV не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 17:36 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Все сущности и все аттрибуты не могут быть сразу известны в приципе, если проектируется система с предметной областью более 1 журнала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 17:37 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Ну, а чем плоха схема "на каждый справочник своё поле в оперативной таблице"? В неиспользуемых ссылках будет 0 или 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 21:02 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Валентин КВсе сущности и все аттрибуты не могут быть сразу известны в приципе, если проектируется система с предметной областью более 1 журнала. Конкретизирую: известны при проектировании на стадии очередного цикла разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 23:33 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZНу, а чем плоха схема "на каждый справочник своё поле в оперативной таблице"? В неиспользуемых ссылках будет 0 или 1. Не понимаю (если только речь не идет о "модели Тенцера", она же EAV, она же универсальный каталог), нарисуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 23:35 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Роман Дынник mv Может, тебе ссылку на КАЖДУЮ табличку хранить? Те, на которые ссылки нет - будут Null содержать. -1 5000 сообщений и такое написать... :) новый критерий оценки бумагомарания придуман - количество сообщений. Браво! Иногда такое прочитаешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 23:42 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Роман Дынник Валентин КВсе сущности и все аттрибуты не могут быть сразу известны в приципе, если проектируется система с предметной областью более 1 журнала. Конкретизирую: известны при проектировании на стадии очередного цикла разработки. дык, хоть горшком обзови. На стадии очередного цикла у листа дерева - записано: Сущность : Паровоз Атрибуты : - Длинна - Ширина Спроектировали систему. Заказчик хочет жлбавить атрибут - Цена. Вот тебе и EAV нужен, чтобы не перепроетировать опять сначала (или DDL не делать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2006, 10:39 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Роман Дынник parovoZZНу, а чем плоха схема "на каждый справочник своё поле в оперативной таблице"? В неиспользуемых ссылках будет 0 или 1. Не понимаю (если только речь не идет о "модели Тенцера", она же EAV, она же универсальный каталог), нарисуй. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2006, 13:15 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
да ничем не плоха, кроме того что нет наследования в РСУБД (а зачем ОНО вообще в РСУБД?) ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2006, 15:38 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Petro123кроме того что нет наследования в РСУБД (а зачем ОНО вообще в РСУБД?) ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! наследование при проектировании РСУБД есть, правда не в таком виде как мы его привыкли воспринимать в языках программирования. ...И оно реально необходимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 09:27 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZ Ну, а чем плоха схема "на каждый справочник своё поле в оперативной таблице Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. плоха своей избыточностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 09:31 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Petro123дык, хоть горшком обзови. На стадии очередного цикла у листа дерева - записано: Сущность : Паровоз Атрибуты : - Длинна - Ширина Спроектировали систему. Заказчик хочет жлбавить атрибут - Цена. Вот тебе и EAV нужен, чтобы не перепроетировать опять сначала (или DDL не делать) Смотря какая система. Предположим каталог товаров, тогда для приведенного примера, я бы сказал допущена ошибка проектирования. Не выделена базовая сущность товар с атрибутами наименование, цена... а вот длина, ширина - возможно и пойдут в расширенные атрибуты (в EAV). В последствии, в новых циклах разработки, очень часто EAV-атрибуты и сущности качуют в "нормальную" реляционную схему с наследованием на 1-к-1, если в этом есть разумное зерно и эти атрибуты поддаются обобщению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 22:09 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
Роман ДынникВ последствии, в новых циклах разработки, очень часто EAV-атрибуты и сущности качуют в "нормальную" реляционную схему с наследованием на 1-к-1 Здесь есть одно НО - программы для совместной работы с EAV и "нормальной" реляционной схемой сложнее, чем просто чистый EAV. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2006, 11:49 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
parovoZZА как обеспечить сабж, если оперативная таблица (структура дерева) ссылается на разные справочники? Я ж не могу внешний ключ построить одновременно по нескольким таблицам. А дерево + категоризация не подойдет? Например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2006, 21:14 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
как раз пару дней назад озадачился похожим вопросом. Есть одна главная таблица, содержащая список ID и один общий для всех параметр. Код: plaintext Далее, есть три таблицы, содержащие ID и некоторые другие специфичные параметры Код: plaintext 1. 2. ID в этих таблицах должны входить в главную таблицу. Теперь требуется, что-бы по указанному ID запрос возвращал данные как из главной таблицы, так и из соответствующей подчиненной. Т.е. например для ID = 6 вернулась таблица Код: plaintext а для ID = 458 запрос вернул Код: plaintext Я пока думаю, что ссылочную целостность можно проверять триггерами, а сам запрос завернуть в ХП, которая ищет ID в подчиненных таблицах, и делает соответствующий запрос к той таблице, где нашелся искомый ID. Т.е. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Насколько это близко/далеко от того, как это делается по науке ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2006, 08:58 |
|
||
|
Ссылочная целостность в древовидных структурах
|
|||
|---|---|---|---|
|
#18+
модЗдесь есть одно НО - программы для совместной работы с EAV и "нормальной" реляционной схемой сложнее, чем просто чистый EAV. Я бы не сказал что они намного сложнее, а для поддержки даже проще, просто EAV идет в них как механизм расширения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 09:21 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1544874]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 496ms |

| 0 / 0 |
