русский
Germany.ruForen → Архив Досок→ Programmierung

DataSet - за пределами реляций?

545  
Murr патриот12.12.10 21:24
Murr
NEW 12.12.10 21:24 
Ситуация следующая.
Есть база под MS SQL, мигрировавшая с 7 до 2005/2008. Используемые возможности - чуть выше чем допускает 7-ка.
В базе есть табличка Tree, организующая данные в виде дерева. Основной момент - табличка имеет ссылку на саму себя... оно и понятно - дерево же по-другому в базе не организуется.
Теперь делаем из этой базы DataSet... обычный стандартный DataSet, стандартными средствами MS Studio 2005.
Ссылки на себя для таблички Tree в этом DataSet'е нету.
Вопросик такой - кто-нибудь вводил подобные ссылки в датасеты? Какие там проблемы возникают и как с ними разбирались?
Ах, да... предполагается, что датасет, в его XML форме, будет использоваться не совсем стандартно, потому самоссылочная таблица ну очень нужна...
#1 
voxel3d патриот13.12.10 09:20
voxel3d
NEW 13.12.10 09:20 
in Antwort Murr 12.12.10 21:24
Можно сделать отдельной таблицей ID, ParentID, если требуется наличие внешних ключей
Dropbox - средство синхронизации и бэкапа файлов.
#2 
Zlatogorov посетитель13.12.10 13:04
NEW 13.12.10 13:04 
in Antwort Murr 12.12.10 21:24
Ну и в чём проблема ? Есть ID и ParentID вот пусть и референсируют.
#3 
Murr патриот13.12.10 14:46
Murr
NEW 13.12.10 14:46 
in Antwort voxel3d 13.12.10 09:20
Оно почти так и сделано - IDs, ParentID и еще пара полей используемых для ускорения выборки и обратных ссылок на данные.
см. ниже
#4 
Murr патриот13.12.10 14:51
Murr
13.12.10 14:51 
in Antwort Zlatogorov 13.12.10 13:04
Ну и в чём проблема ?
------
Проблема в том, что тулузка от билли не берет данную ссылку из базы.
Таблицу - берет, большинство реляций - берет, но эту - самоссылочную... и Я подозреваю,
что и с другими циклическими ссылками будет так же...
Ручками Я ее конечно добавлю, но как поведет себя вся схема - не знаю.
Вот и спрашиваю - кто пробовал подобные реляции?
#5 
Zlatogorov посетитель13.12.10 22:03
NEW 13.12.10 22:03 
in Antwort Murr 13.12.10 14:51
parentId объявлена как foreign key ?
Самоссылочные таблицы использую достаточно часто , как раз для структур типа "дзерево".
#6 
Murr патриот14.12.10 01:44
Murr
NEW 14.12.10 01:44 
in Antwort Zlatogorov 13.12.10 22:03
parentId объявлена как foreign key
------
Разумеется. И соответствующая реляция в базе есть...
Хотя... надо перепроверить... может пропустил какой из скриптов...
использую достаточно часто
------
Чисто в базе или в ДотНетовском датасете? Меня интересует именно датасет...
#7 
Zlatogorov посетитель14.12.10 09:03
NEW 14.12.10 09:03 
in Antwort Murr 14.12.10 01:44
Последнее время в .NET редко что пишу, но надо поставить ВС - перепроверить, но когда писал - всё без проблем былло.
#8 
Murr патриот14.12.10 17:07
Murr
14.12.10 17:07 
in Antwort Zlatogorov 14.12.10 09:03
Ok. Буду надеяться что сработает...
Но с билли - хрен его знает - в одной версии - сработает, в следующей - отвалится...
#9 
Zlatogorov посетитель14.12.10 21:40
NEW 14.12.10 21:40 
in Antwort Murr 14.12.10 17:07
Ну не стоит сгущать краски, всё в шарпее нормально :) Писал достаточно крупные проекты на нём , всё работает до сих пор.
#10 
Murr патриот14.12.10 23:48
Murr
NEW 14.12.10 23:48 
in Antwort Zlatogorov 14.12.10 21:40
всё в шарпее нормально
------
Все нормально - это когда берешь документацию, читаешь, пишешь и работает.
Ни в одной биллиной поделке такого нет - где-нибудь да найдется что-то дохнущее...
Простейший пример - DCOM сервер. Вроде никаких проблем быть не должно... но вот
вызов методов сервера, имплементированного на VCL/C++Builder - не проходит...
достаточно крупные проекты
------
Угу... Правда термин "крупный проект" несколько расплывчат... (осторожно - провокация
холли вар)
2Алл. Еще вопросик по датасету - кто-нибудь знает где есть полная спецификация XSD?
И сторонний опен-соурсе С# тоол для его построения? Ну или любой опен-соурсе тоол
для дампа структуры ДБ? Что-то у меня не все получается дампнуть без прямой выборки
из SYSObjects...
#11 
Zlatogorov посетитель15.12.10 09:16
15.12.10 09:16 
in Antwort Murr 14.12.10 23:48, Zuletzt geändert 15.12.10 10:42 (Zlatogorov)
Сервера дкомы, оле и проее это вечная головная боль. И билдер я б для них не брал, борланд всётаки :)
На счёт XSD прикол заценил, W3C смотри, там все спецухи.
С# тулл для XSD - зачем , на выходе всё равно ХМЛ . Схемы в эклипсе достаточно удобно делать.
А крупный проэкт для меня это от 3 MJ :)
#12 
Murr патриот15.12.10 21:15
Murr
NEW 15.12.10 21:15 
in Antwort Zlatogorov 15.12.10 09:16
И билдер я б для них не брал, борланд всётаки
------
Эээ... пока выполняется связка - борланд-борланд - все работает без проблем.
Это как раз отличие от мелкософта...
W3C смотри, там все спецухи
------
Неа... XSD датасета - мелкософтофский вариант... даже не знаю открытый или нет.
Собственно по тому и спрашивал.
зачем , на выходе всё равно ХМЛ
------
Это у большинства. У меня - SQL, C# и т.п. Затем и хочется иметь полную спецификацию.
Правда у меня есть подозрение, что билли слегка перестарался с XSD - там нет полной
информации для полной трансформации SQL<->C#...
Схемы в эклипсе достаточно удобно делать.
------
Вполне может быть. Когда-то давно именно Жаба была использована, чтобы создать
генератор pure ASP кода. Сейчас, правда, уже не вижу смысла снова садиться на Жабу
- С# достаточен для задач... но как всегда в биллиных поделках есть куча нюансов.
В частности - часть библиотек работает с сервером только через сетевые соединения.
На какой-нибудь локальный pipe их не переключить...
#13 
Zlatogorov посетитель15.12.10 21:20
15.12.10 21:20 
in Antwort Murr 15.12.10 21:15
Ну тогда рефлектор в помощь. В своё время много классов шарпеевских им перелопатил, в познавательных целях.
#14 
Murr патриот15.12.10 21:25
Murr
NEW 15.12.10 21:25 
in Antwort Zlatogorov 15.12.10 21:20
Нее, спасибо... Я его сейчас разберу на части, выловлю баги, найду как обойти...
Ну а в следующей версии все с начала... нафиг-нафиг - не так сложно запросить
sysobjects напрямую...
#15