powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / с математических аппаратом для описания преобразования реляционной схемы в XML
25 сообщений из 50, страница 2 из 2
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32259378
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО если речь идет о реляционных СУБД - то это правда - там любая таблица действительно должна быть реляционной - по определинию . Однако если под РСУБД подразумевается SQL-СУБД, то таблица может быть инереляционный. Как это парадоксально не звучит, но SQL-системы, являясь реляционно-полными, не являются реляционно-...мммм...строгими.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32259406
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если "Будет, всякая таблица в РДБМС реляционная по определению. Других там не бывает.", то любой XML с полпинка запихивается в такую "РСУБД". :)
Для каждого тега заводим свою колонку в таблице, а значения пишем в строке этой таблицы. При этом там, где идёт "вложение" тэгов делаем дубли для верхних уровней. Там, где можно, объединяем значения тэгов в одну строку, а где нельзя, просто добавляем новую запись таблицы и все остальные поля оставляем IS NULL. Поскольку XML суть текстовый документ, то все поля тектового же типа.

Короче, такую программку вполне можно наваять за пару дней. Вполне себе будет XML в таблицу запихивать и даже обратно выдавать, если в ограничения сервера на количество колонок в таблице не упрётся. Вот только какова её практическая ценность?

Кстаи, можно напридумывать и другие варианты. Например просто создаём таблицу из одного поля типа текст, а дальше строк XML тупо и цинично пишем в строки таблицы. Чем не отображение? Был файл XML, стала таблица "РСУБД". :) Ещё один вариант, который применяется при использвании метатаблиц. Таблица из трёх полей. Первое, текст - имя тега, второе тоже текст - значение, третье показывает уровень вложенности. Правда это будет работать, если считать, что все XML строго соответсвуют спецификации и перекрёстно тэги закрыться не могут (на практике же дело обстоит несколько по другому, поскольку текстовый формат файла никак это не ограничивает, а умение программистов писать программы в соответсвии со спецификациями и стандартами это отдельная песня :) ).
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32259516
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю, что это не по теме, но вдруг кому-нибудь будет интересно? Статья про XML - "...держите его подальше от вашей базы данных, если можете..."
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32260216
n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
n
Гость
ОПРЕДЕЛЕНИЕ.Реляционной схемой отношения будем называть конечно множество атрибутов 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-схемой, то может быть смоделировано и Реляционным отношением. т.е в этом смысле эти две модели данных эквивалентны.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32260275
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильная статья. Понятно, что это очередной рекламный слоган - не более. Вначале - рекламная кампания "XML - это хорошо", затем "платформа .NET поддерживает XML". Все испугаются - "без XML жить нельзя" - и перейдут на .Net. Хотя главное там (в этой .Net), я думаю,вовсе и не XML. Просто через незнакомый пользователям термин проще продвигать свой продукт...
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32260292
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2n :

Ну да. Давайте дадим определения так, чтобы было удобно и все получалось.
И все будет хорошо.
Вот Вам XML :
<?xml version="1.0" encoding="windows-1251"?>
<Пользователи>
<Вася age="22">Пупкин</Вася>
<Петя Возраст="26">Иванов</Петя>
<Маша Age="18">Петрова</Маша>
</Пользователи>

Это XML. К нему даже DTD можно написать...
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32260584
с127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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-схемой, то может быть смоделировано и Реляционным отношением. т.е в этом смысле эти две модели данных эквивалентны.

Чтоб сказать "т.е в этом смысле эти две модели данных эквивалентны" нужно было в предыдущем предложении добавить: "и наоборот".
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32260597
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 документ правильней впихнуть в реляционную БД, где каждому тэгу из схемы соответствует своя таблица.

Да, как ты обеспечишь взаимоисключаемость заданных значений в своей таблице?
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32260859
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, господа теоретики. Видимо вы плохо знаете эту самую реляционную теорию. Я тут покопался в книжках и понял, почему не всякая таблица будет реляционной.
С точки зрения реляционной алгебры изначально оговаривается, что порядок ледования записей в таблице произвольный. То есть, при выполнении всех операций мы исходим из того, что для данных в таблице и выполняемых над ними операций неважно в каком порядке они записаны. Если нужен какой-то определённый порядок, то мы применяем соответсвующие способы сортировки, но это уже за пределами собственно реляционной модели.

Так вот, если мы подразумеваем, что в каком порядке записи положили, в том и возьмём, то это уже не реляционная таблица данных.

Теперь смотрим на XML. Там структура потоковая, то есть, порядок следования данных есть часть модели представления данных. Мы можем, конечно, ввести поле, которое будет указывать номер записи, но это будет уже вне собственно реляционной модели представления данных.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32261640
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Дмитрий Мыльников

--С точки зрения реляционной алгебры изначально оговаривается, что порядок ледования записей в таблице произвольный.
--Теперь смотрим на XML. Там структура потоковая, то есть, порядок следования данных есть часть модели представления данных

если ты внимательно почитаешь спецификации на XML, то там порядок данных в списке тоже не гарантируется.
Все зависит от конкретного парсера.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32261744
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку XML - язык, то он состоит из "слов". Ok? То есть, теоретически мы можем весь XML-документ записать в одну такую большую строку. При этом если встретилось "слово", открывающее "тэг", то мы ожидаем, что за ним обязательно последует некоторый набор "слов", которые в языке определены для для этого открывающего "слова". Как минмиум будет закрывающее "слово".

То есть, понятие "порядок" на самом деле в формальном описании XML присутствует и является достаточно важным.

А вот в реляционной алгебре даже порядок полей в таблице не важен. Важно только само "отношение", то есть связь между этими полями в строку таблицы.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32261757
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 vdimas

>Не, ну это не серьезно...

Я что-то в твоем вопросе не нашел требования серьезности. Кстати некоторые реальные системы на таком принципе и построены. Тут где-то по-соседству обсуждалось.

>Так что угодно можно впихнуть в одну таблицу.

Именно это и требовалось доказать. Похоже пришли к общему мнению.

2 Дмитрий Мыльников

>С точки зрения реляционной алгебры изначально оговаривается, что порядок ледования записей в таблице произвольный. То есть, при выполнении всех операций мы исходим из того, что для данных в таблице и выполняемых над ними операций неважно в каком порядке они записаны. Если нужен какой-то определённый порядок, то мы применяем соответсвующие способы сортировки, но это уже за пределами собственно реляционной модели.

Совершенно верно, упорядоченность в множествах не требуется. Итак, с множествами мы разобрались, теперь переходим к упорядоченным множествам как частному случаю первых. Как разберемся - сразу поймем, что отношения (читай таблицы) на упорядоченных множествах просто частный случай отношений на произвольных множествах и поэтому тоже находятся в пределах реляционной модели.

>Так вот, если мы подразумеваем, что в каком порядке записи положили, в том и возьмём, то это уже не реляционная таблица данных.

Заключение в принципе правильное, но вот посылка подкачала: мы ничего такого не подразумеваем.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32262240
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто тут некоторые написали:
"ТЕОРЕМА 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.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32263032
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Дмитрий Мыльников

Там доказательство обрезалось по-моему, а из самой формулировки не видно, что есть что. По-моему на роль носителя порядка больше подходит RelationItem. Доказательство и так почти очевидно. XML - дерево, дерево легко ложится в таблицу, даже если присутствует несколько типов вершин, полей можно позаводить сколько нужно, так что проблем вроде нет.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32263537
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе да, идеальный XML можно представить как дерево.
Его даже можно отобразить в талицу так, чтобы потом можно было вернуть к исходному виду. Вопрос только, с помощью чего мы это сделам? С помощью стандартных механизмов РСУБД, либо с помощью надстройки над этой РСУБД. Например, мне бы очень хотелось увидеть SQL запрос, который вернёт это самое дерево.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32263554
n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
n
Гость
ОПРЕДЕЛЕНИЕ. Реляционной схемой отношения будем называть конечно множество атрибутов 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>
КОНЕЦ

Замечание: При доказательстве утверждений неявно использовалась теорема о том, что всякое конечное множество может быть упорядоченно.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264240
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Дмитрий Мыльников

>В принципе да, идеальный XML можно представить как дерево.
Его даже можно отобразить в талицу так, чтобы потом можно было вернуть к исходному виду. Вопрос только, с помощью чего мы это сделам? С помощью стандартных механизмов РСУБД, либо с помощью надстройки над этой РСУБД. Например, мне бы очень хотелось увидеть SQL запрос, который вернёт это самое дерево.

select * from tree_table;

Результирующее множество содержит информацию, позволяющую однозначно восстановить дерево, при наличии всех необходимый полей в таблице разумеется. Иными словами результат и есть искомое дерево.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264350
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, ну ты конечно очень умный. :) Если уж на то пошло, то зачем вообще тогда говродить огород с таблицами, деревьями и прочими прибамбасами? Почему-бы не работать с тем же бинарным предсатвлением в чистом виде? Вывел себе на экран дамп памяти и читай. Прямо как в фильме "Матрица". :) (я, кстати, над этим эпизодом долго смеялся).

Какая мне, господин теоретик, польза от select * from tree_table ?! Мне ведь нужно информацию получить и отбразить в виде, удобочитаемом для человека! Ну и что он в результате этого запроса прочитает? Кстати, в случае и с XML, и с реляционными таблицами мы всегда имеем вполне себе удобочитаемое представление, а вот когда одно в другое отобразим, то увы.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264780
Balashov Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы информацию "отбразить в виде, удобочитаемом для человека" пользуйте XSL :-)
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264810
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, Денис, привет!

Мы тут выясняем по поводу отображаемости XML в реляционную модель и обратно. С практической точки зрения отобразить можно (но мне не совсем понятно зачем :) ). А с теоретической вышел небольшой спор. Возник вопрос, а всякая ли таблица будет реляционной? :)
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264938
Balashov Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы ваще зашли не туда. Вы путаете тёплое с мягким. XML это всего лишь средство обмена данными. Кроссплатформенное. Строить на нём базы данных это примерно также как колесо обозрения использовать для постройки вездехода.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264941
Balashov Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы ваще зашли не туда. Вы путаете тёплое с мягким. XML это всего лишь средство обмена данными. Кроссплатформенное. Строить на нём базы данных это примерно также как колесо обозрения использовать для постройки вездехода.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32264945
Balashov Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы ваще зашли не туда. Какой нафик математический аппарат?? XML - это всего лишь кроссплатформенное средство обмена данными. ВСЁ. Строить на нем базы данных - это как использовать колесо обозрения для постройки вездехода. Выглядеть будет масштабно, но практического смысла никакого.
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32265060
n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
n
Гость
"XML - это всего лишь кроссплатформенное средство обмена данными. ВСЁ."

в задаче он и используется как средство обмена . но только вот возможность такого обмена ( преобразования) надо математически описать ( доказать) .
...
Рейтинг: 0 / 0
с математических аппаратом для описания преобразования реляционной схемы в XML
    #32265727
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Дмитрий Мыльников

- не нужно путать сами данные и их представление. Есть способы хранения и есть способы представления (отображения).

- в XML тоже можно легко представить данные так, что они станут нечитаемыми для человека.

- чтоб сделать данные совсем уж читаемыми для человека предлагаю вернуться к карандашу и бумаге (а в перспективе - к живописи на скалах), а не пользоваться какими-то там компьютерами. Вот подумайте, много даст. И много людей освободится. (C)

Тут уточнение второго пункта от чингиза: в XML невозможно представить данные так, чтоб они стали читаемыми для человека. Это шутка.

2 n

>в задаче он и используется как средство обмена . но только вот возможность такого обмена ( преобразования) надо математически описать ( доказать) .

А зачем, ты что, диплом пишешь, охота тебе этим занимться? Для того, чтоб доказать возможность такого преобразования необходимо (но не достаточно) 2 вещи: записать строго RDBMS или ее подмножество и записать строго XML в одинаковых терминах, например в терминах теории множеств. Сразу станет понятно как доказывать теорему. В твоем доказательстве XML как-то не очень понятно записан, но по идее вроде все правильно.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / с математических аппаратом для описания преобразования реляционной схемы в XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]