DBMS uses at least one communicational format of data, because it can't transfer generally without any format (it's banality). And if we force to use wide-spread format instead of personal format of DBMS, then we remove gasket, which convert from personal format into wide-spread format. This is very actual, because applied specialists, automating own activity without programmer, can not adjust libraries of such gaskets as php, perl, etc.
Both output, and input of data is most natural as XML-text, because it is accessable for man to direct perception and editing (unlike binary formats). This is demonstratively reflected in modern tendency to use XML for communication between heterogeneous user agents. And SQL/XML-functions are also un-necessary.
In case of joining of tables, tag get name of table, mentioned first after word 'from'. Selection of tree for output is executed in the same way, as for inserting into xml-field.
DML | output |
select @id, @data from tab; |
<tab id=3 data=12.3> <tab id=7 data=23.4> <tab id=10 data=34.5> <tab id=25 data=45.6> |
select tab2/@data2, tab1/@data1 from tab1, tab2 where tab2/@fld2=tab1/@fld1; |
<tab1 data2=3 data1=12.3> <tab1 data2=7 data1=23.4> <tab1 data2=10 data1=34.5> <tab1 data2=25 data1=45.6> |
select * from a.b.c; |
<a id=1 data=12.3> <b id=10 data=23.4> <c id=100 data=56.7/> <c id=101 data=67.8/> </b> <b id=20 data=34.5> <c id=200 data=78.9/> <c id=201 data=89.1/> </b> <b id=30 data=45.6> <c id=200 data=91.2/> </b> </a> |
select '<?xml-stylesheet type="text/xsl" href="a.xsl"?>'; |
<?xml-stylesheet type="text/xsl" href="a.xsl"?>' |
DBMS must use at least one communication protocal, because it can't work generally without it (it's also trivial). And if we force to use wide-spread protocal instead of proprietary protocal, we remove gasket, which convert from proprietary protocal into wide-spread protocal. Once again this is very actual, because applied specialists, automating own activity without programmer, can not adjust libraries of such gaskets as php, perl, etc.
The most widely-used protocol is HTTP from all protocols (http, ftp, smtp, pop3, etc), so it's necessary to use it. If user agent (for example, browser) requires to closed data (oneped data is only data of user 'anonymous'), then DBMS asks login also through HTTP. Picture can be value of field, but its URL instead of picture is sent into output as value of this field for separate HTTP-request of user agent.
Accordingly program-terminal ('SqlPlus.exe' for Oracle, 'PgSql.exe' for Postgres, 'iSql.exe' for InterBase, etc.) also uses HTTP.
To create answer for user, database can use not only own data, but also can call data in other databases from trigger (XML makes database of different manufacturers compatible; if fields username and password of table sys are equal null, then database sends as 'anonymous').
|
|