|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
ИМХО если речь идет о реляционных СУБД - то это правда - там любая таблица действительно должна быть реляционной - по определинию . Однако если под РСУБД подразумевается SQL-СУБД, то таблица может быть инереляционный. Как это парадоксально не звучит, но SQL-системы, являясь реляционно-полными, не являются реляционно-...мммм...строгими. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 09:45 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Ну если "Будет, всякая таблица в РДБМС реляционная по определению. Других там не бывает.", то любой XML с полпинка запихивается в такую "РСУБД". :) Для каждого тега заводим свою колонку в таблице, а значения пишем в строке этой таблицы. При этом там, где идёт "вложение" тэгов делаем дубли для верхних уровней. Там, где можно, объединяем значения тэгов в одну строку, а где нельзя, просто добавляем новую запись таблицы и все остальные поля оставляем IS NULL. Поскольку XML суть текстовый документ, то все поля тектового же типа. Короче, такую программку вполне можно наваять за пару дней. Вполне себе будет XML в таблицу запихивать и даже обратно выдавать, если в ограничения сервера на количество колонок в таблице не упрётся. Вот только какова её практическая ценность? Кстаи, можно напридумывать и другие варианты. Например просто создаём таблицу из одного поля типа текст, а дальше строк XML тупо и цинично пишем в строки таблицы. Чем не отображение? Был файл XML, стала таблица "РСУБД". :) Ещё один вариант, который применяется при использвании метатаблиц. Таблица из трёх полей. Первое, текст - имя тега, второе тоже текст - значение, третье показывает уровень вложенности. Правда это будет работать, если считать, что все XML строго соответсвуют спецификации и перекрёстно тэги закрыться не могут (на практике же дело обстоит несколько по другому, поскольку текстовый формат файла никак это не ограничивает, а умение программистов писать программы в соответсвии со спецификациями и стандартами это отдельная песня :) ). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 10:01 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Я понимаю, что это не по теме, но вдруг кому-нибудь будет интересно? Статья про XML - "...держите его подальше от вашей базы данных, если можете..." ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 10:57 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
ОПРЕДЕЛЕНИЕ.Реляционной схемой отношения будем называть конечно множество атрибутов A1, A2, …, An и обозначать R. ОПРЕДЕЛЕНИЕ.Схемой реляционной базы данных будем называть множество схем реляционных отношений и обозначать R(R1, R2, ,.. ). Пусть D1,D2,...,DN - некоторые множества, которые мы будим в дальнейшем называть доменами. ОПРЕДЕЛЕНИЕ.Реляционным отношением r будим называть множество упорядоченных n-ок. <d1,d2,...,dn> где d1 принадлежит D1,.... ОПРЕДЕЛЕНИЕ.Реляционной базой данных будем называть множество реляционных отношений и обозначать r(r1,r2,..,rn) ОПРЕДЕЛЕНИЕ.Схемой XML-Документа будем называть пару <{Ai|I=1..m}, <Ai, Aj> > т.е множество атрибутов(наименований узлов) и отношение на этом множестве. ОПРЕДЕЛЕНИЕ.XML-документом будем называть множество пар {<di,dj>| di принадлежит DI, dj принадлежит Dj ТЕОРЕМА 1. Любое реляционное отношение r может быть отображено в xml-документ. ДОКАЗАТЕЛЬСТВО: проведем конструктивным образом т.е предложим алгоритм такого ппреобразования. Вводим атрибуты A1, A2,An – из реляционной модели и атрибут AR – наименование отношения r тогда X={{A1,..,An,AR}, <AR,Ai> | I =1..n ТЕОРЕМА 2. Любой xml докумет может быть отображен на r отношение. ДОКАЗАТЕЛЬСТВО: Вводим три атрибута Name, Value, RelationItem R={ <Name, Value, RelationItem> } PS Выводы. То, что сможет быть смоделировано XML-схемой, то может быть смоделировано и Реляционным отношением. т.е в этом смысле эти две модели данных эквивалентны. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 16:21 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Правильная статья. Понятно, что это очередной рекламный слоган - не более. Вначале - рекламная кампания "XML - это хорошо", затем "платформа .NET поддерживает XML". Все испугаются - "без XML жить нельзя" - и перейдут на .Net. Хотя главное там (в этой .Net), я думаю,вовсе и не XML. Просто через незнакомый пользователям термин проще продвигать свой продукт... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 16:48 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2n : Ну да. Давайте дадим определения так, чтобы было удобно и все получалось. И все будет хорошо. Вот Вам XML : <?xml version="1.0" encoding="windows-1251"?> <Пользователи> <Вася age="22">Пупкин</Вася> <Петя Возраст="26">Иванов</Петя> <Маша Age="18">Петрова</Маша> </Пользователи> Это XML. К нему даже DTD можно написать... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 16:55 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2 vdimas >Так уж прямо в одну? >Можно подробности? create table t ( id int not null default autoincrement primary key, parent int references t(id), i int, r double, d decimal (..,..) t timestamp, c varchar(....), b blob, .... ); потом внутри этой таблицы используя parent создаешь: домены, записи как список доменов, таблицы как множество записей, БД как множество таблиц и т.д. примерно как предлагает n. А БД более общая (точнее не менее общая) конструкция, чем XML документ, если она поместилась в одну таблицу, то XML документ тоже поместитится. 2 n Красиво. Но: >X={{A1,..,An,AR}, <AR,Ai> | I =1..n скобку забыл закрыть. Что такое X, оно нигде не встречается ни до ни после. Вообще теорема не выглядит доказанной, наверное вместе со скобкой что-то пропало. Но смысл доказательства ясен. >{<di,dj>| di принадлежит DI, dj принадлежит Dj опять скобка не закрыта, опять не закончено доказательство, они что там, съедаются? >Выводы. То, что сможет быть смоделировано XML-схемой, то может быть смоделировано и Реляционным отношением. т.е в этом смысле эти две модели данных эквивалентны. Чтоб сказать "т.е в этом смысле эти две модели данных эквивалентны" нужно было в предыдущем предложении добавить: "и наоборот". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 00:15 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2 с127 create table t ( id int not null default autoincrement primary key, parent int references t(id), i int, r double, d decimal (..,..) t timestamp, c varchar(....), b blob, .... ); Не, ну это не серьезно... Так что угодно можно впихнуть в одну таблицу. При наличии строгой схемы, XML документ правильней впихнуть в реляционную БД, где каждому тэгу из схемы соответствует своя таблица. Да, как ты обеспечишь взаимоисключаемость заданных значений в своей таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 01:41 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Ага, господа теоретики. Видимо вы плохо знаете эту самую реляционную теорию. Я тут покопался в книжках и понял, почему не всякая таблица будет реляционной. С точки зрения реляционной алгебры изначально оговаривается, что порядок ледования записей в таблице произвольный. То есть, при выполнении всех операций мы исходим из того, что для данных в таблице и выполняемых над ними операций неважно в каком порядке они записаны. Если нужен какой-то определённый порядок, то мы применяем соответсвующие способы сортировки, но это уже за пределами собственно реляционной модели. Так вот, если мы подразумеваем, что в каком порядке записи положили, в том и возьмём, то это уже не реляционная таблица данных. Теперь смотрим на XML. Там структура потоковая, то есть, порядок следования данных есть часть модели представления данных. Мы можем, конечно, ввести поле, которое будет указывать номер записи, но это будет уже вне собственно реляционной модели представления данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 10:59 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2Дмитрий Мыльников --С точки зрения реляционной алгебры изначально оговаривается, что порядок ледования записей в таблице произвольный. --Теперь смотрим на XML. Там структура потоковая, то есть, порядок следования данных есть часть модели представления данных если ты внимательно почитаешь спецификации на XML, то там порядок данных в списке тоже не гарантируется. Все зависит от конкретного парсера. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 19:01 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Поскольку XML - язык, то он состоит из "слов". Ok? То есть, теоретически мы можем весь XML-документ записать в одну такую большую строку. При этом если встретилось "слово", открывающее "тэг", то мы ожидаем, что за ним обязательно последует некоторый набор "слов", которые в языке определены для для этого открывающего "слова". Как минмиум будет закрывающее "слово". То есть, понятие "порядок" на самом деле в формальном описании XML присутствует и является достаточно важным. А вот в реляционной алгебре даже порядок полей в таблице не важен. Важно только само "отношение", то есть связь между этими полями в строку таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2003, 01:04 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2 vdimas >Не, ну это не серьезно... Я что-то в твоем вопросе не нашел требования серьезности. Кстати некоторые реальные системы на таком принципе и построены. Тут где-то по-соседству обсуждалось. >Так что угодно можно впихнуть в одну таблицу. Именно это и требовалось доказать. Похоже пришли к общему мнению. 2 Дмитрий Мыльников >С точки зрения реляционной алгебры изначально оговаривается, что порядок ледования записей в таблице произвольный. То есть, при выполнении всех операций мы исходим из того, что для данных в таблице и выполняемых над ними операций неважно в каком порядке они записаны. Если нужен какой-то определённый порядок, то мы применяем соответсвующие способы сортировки, но это уже за пределами собственно реляционной модели. Совершенно верно, упорядоченность в множествах не требуется. Итак, с множествами мы разобрались, теперь переходим к упорядоченным множествам как частному случаю первых. Как разберемся - сразу поймем, что отношения (читай таблицы) на упорядоченных множествах просто частный случай отношений на произвольных множествах и поэтому тоже находятся в пределах реляционной модели. >Так вот, если мы подразумеваем, что в каком порядке записи положили, в том и возьмём, то это уже не реляционная таблица данных. Заключение в принципе правильное, но вот посылка подкачала: мы ничего такого не подразумеваем. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2003, 03:24 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Просто тут некоторые написали: "ТЕОРЕМА 1. Любое реляционное отношение r может быть отображено в xml-документ. ДОКАЗАТЕЛЬСТВО: проведем конструктивным образом т.е предложим алгоритм такого ппреобразования. Вводим атрибуты A1, A2,An – из реляционной модели и атрибут AR – наименование отношения r тогда X={{A1,..,An,AR}, <AR,Ai> | I =1..n ТЕОРЕМА 2. Любой xml докумет может быть отображен на r отношение. ДОКАЗАТЕЛЬСТВО: Вводим три атрибута Name, Value, RelationItem R={ <Name, Value, RelationItem> } PS Выводы. То, что сможет быть смоделировано XML-схемой, то может быть смоделировано и Реляционным отношением. т.е в этом смысле эти две модели данных эквивалентны." Так вот первая теорема верна, а вторая нет, потому что в XML Value может состоять их других R. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2003, 12:34 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2 Дмитрий Мыльников Там доказательство обрезалось по-моему, а из самой формулировки не видно, что есть что. По-моему на роль носителя порядка больше подходит RelationItem. Доказательство и так почти очевидно. XML - дерево, дерево легко ложится в таблицу, даже если присутствует несколько типов вершин, полей можно позаводить сколько нужно, так что проблем вроде нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2003, 03:00 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
В принципе да, идеальный XML можно представить как дерево. Его даже можно отобразить в талицу так, чтобы потом можно было вернуть к исходному виду. Вопрос только, с помощью чего мы это сделам? С помощью стандартных механизмов РСУБД, либо с помощью надстройки над этой РСУБД. Например, мне бы очень хотелось увидеть SQL запрос, который вернёт это самое дерево. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2003, 12:35 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
ОПРЕДЕЛЕНИЕ. Реляционной схемой отношения будем называть конечно множество атрибутов A1, A2, …, An и обозначать R. ОПРЕДЕЛЕНИЕ. Схемой реляционной базы данных будем называть множество схем реляционных отношений и обозначать R(R1, R2, ,.. ). Множество реляционных схем R будем обозначать буквой В. Пусть D1,D2,...,DN - некоторые множества, которые мы будим в дальнейшем называть доменами. ОПРЕДЕЛЕНИЕ. Реляционным отношением r будим называть множество упорядоченных n-ок. <d1,d2,...,dn> где d1 принадлежит D1,d2 принадлежит D2,..,dn принадлежит Dn. ОПРЕДЕЛЕНИЕ. Схемой XML-Документа будем называть пару X= <{Ai|I=1..m}, <Ai, Aj> > т.е множество атрибутов(наименований узлов) и отношение на этом множестве. Множество схем XML-документов будем обозначать А. ОПРЕДЕЛЕНИЕ. XML-документом будем называть множество пар x={<di,dj>| di принадлежит Di, dj принадлежит Dj} УТВЕРЖДЕНИЕ 1. Любое реляционное отношение r со сохемой R может быть отображено в xml-документ x со схемой X т.е существует отображение R2X: В->А( Отображение множества реляционных схем в множество схем XML-документов будем обозначать R2X). Предложим алгоритм такого отображения(R2X). Документ строится согластно сл алгоритма: НАЧАЛО Вводим атрибуты A1, A2,An – из реляционной модели R = {A1,A2,..,An}и атрибут AR – наименование отношения r тогда X={{A1,..,An,AR}, <AR,Ai> | I =1..n} и каждый кортеж отношения r= (d1,d2,..,dn) отображается в { <AR,d1>,<AR,d2>,..,<AR,dn>} . Множество всех кортежей отобразятся в xml-документ. КОНЕЦ УТВЕРЖДЕНИЕ 2.Любой xml-Документ x со схемой X может быть отображен на реляционное отношение r со схемой R т.е существует отображение X2R: А->В( Отображение множества реляционных схем в множество схем XML-документов будем обозначать R2X). Предложим алгоритм такого отображения (X2R). Документ строится согластно сл алгоритма: НАЧАЛО 1) Схему R отношения строим следующим образом R={ID, Name, Value, ParentID} 2) Каждом отношению <di,dj> ставим в соответствие 2 картежа <IDi, Name di, Value di, null>, <IDj, Name dj, Value dj, IDi> КОНЕЦ Замечание: При доказательстве утверждений неявно использовалась теорема о том, что всякое конечное множество может быть упорядоченно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2003, 12:48 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2 Дмитрий Мыльников >В принципе да, идеальный XML можно представить как дерево. Его даже можно отобразить в талицу так, чтобы потом можно было вернуть к исходному виду. Вопрос только, с помощью чего мы это сделам? С помощью стандартных механизмов РСУБД, либо с помощью надстройки над этой РСУБД. Например, мне бы очень хотелось увидеть SQL запрос, который вернёт это самое дерево. select * from tree_table; Результирующее множество содержит информацию, позволяющую однозначно восстановить дерево, при наличии всех необходимый полей в таблице разумеется. Иными словами результат и есть искомое дерево. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2003, 01:51 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Не, ну ты конечно очень умный. :) Если уж на то пошло, то зачем вообще тогда говродить огород с таблицами, деревьями и прочими прибамбасами? Почему-бы не работать с тем же бинарным предсатвлением в чистом виде? Вывел себе на экран дамп памяти и читай. Прямо как в фильме "Матрица". :) (я, кстати, над этим эпизодом долго смеялся). Какая мне, господин теоретик, польза от select * from tree_table ?! Мне ведь нужно информацию получить и отбразить в виде, удобочитаемом для человека! Ну и что он в результате этого запроса прочитает? Кстати, в случае и с XML, и с реляционными таблицами мы всегда имеем вполне себе удобочитаемое представление, а вот когда одно в другое отобразим, то увы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2003, 19:10 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Чтобы информацию "отбразить в виде, удобочитаемом для человека" пользуйте XSL :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 10:26 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
О, Денис, привет! Мы тут выясняем по поводу отображаемости XML в реляционную модель и обратно. С практической точки зрения отобразить можно (но мне не совсем понятно зачем :) ). А с теоретической вышел небольшой спор. Возник вопрос, а всякая ли таблица будет реляционной? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 10:49 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
вы ваще зашли не туда. Вы путаете тёплое с мягким. XML это всего лишь средство обмена данными. Кроссплатформенное. Строить на нём базы данных это примерно также как колесо обозрения использовать для постройки вездехода. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 12:17 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
вы ваще зашли не туда. Вы путаете тёплое с мягким. XML это всего лишь средство обмена данными. Кроссплатформенное. Строить на нём базы данных это примерно также как колесо обозрения использовать для постройки вездехода. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 12:19 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
Вы ваще зашли не туда. Какой нафик математический аппарат?? XML - это всего лишь кроссплатформенное средство обмена данными. ВСЁ. Строить на нем базы данных - это как использовать колесо обозрения для постройки вездехода. Выглядеть будет масштабно, но практического смысла никакого. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 12:21 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
"XML - это всего лишь кроссплатформенное средство обмена данными. ВСЁ." в задаче он и используется как средство обмена . но только вот возможность такого обмена ( преобразования) надо математически описать ( доказать) . ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 13:31 |
|
с математических аппаратом для описания преобразования реляционной схемы в XML
|
|||
---|---|---|---|
#18+
2 Дмитрий Мыльников - не нужно путать сами данные и их представление. Есть способы хранения и есть способы представления (отображения). - в XML тоже можно легко представить данные так, что они станут нечитаемыми для человека. - чтоб сделать данные совсем уж читаемыми для человека предлагаю вернуться к карандашу и бумаге (а в перспективе - к живописи на скалах), а не пользоваться какими-то там компьютерами. Вот подумайте, много даст. И много людей освободится. (C) Тут уточнение второго пункта от чингиза: в XML невозможно представить данные так, чтоб они стали читаемыми для человека. Это шутка. 2 n >в задаче он и используется как средство обмена . но только вот возможность такого обмена ( преобразования) надо математически описать ( доказать) . А зачем, ты что, диплом пишешь, охота тебе этим занимться? Для того, чтоб доказать возможность такого преобразования необходимо (но не достаточно) 2 вещи: записать строго RDBMS или ее подмножество и записать строго XML в одинаковых терминах, например в терминах теории множеств. Сразу станет понятно как доказывать теорему. В твоем доказательстве XML как-то не очень понятно записан, но по идее вроде все правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 02:18 |
|
|
start [/forum/topic.php?fid=32&msg=32261757&tid=1546838]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 244ms |
total: | 353ms |
0 / 0 |