Received: from localhost (maia-1.hub.org [200.46.204.191]) by postgresql.org (Postfix) with ESMTP id 977559FBA92 for ; Fri, 20 Apr 2007 08:15:15 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.191]) (amavisd-maia, port 10024) with ESMTP id 75413-08 for ; Fri, 20 Apr 2007 08:15:02 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from interscan.indicator.com (mail.indicator.be [193.121.199.3]) by postgresql.org (Postfix) with ESMTP id 04FA59FBA7D for ; Fri, 20 Apr 2007 08:15:01 -0300 (ADT) Received: from webaccess.indicator.be ([10.100.1.7]) by interscan.indicator.com with InterScan Message Security Suite; Fri, 20 Apr 2007 13:01:17 +0200 Received: from DOMEXT-MTA by webaccess.indicator.bewith Novell_GroupWise; Fri, 20 Apr 2007 13:14:59 +0200 Message-Id: <4628BCC8.A3DD.0030.0@indicator.be> X-Mailer: Novell GroupWise Internet Agent 7.0.1 Date: Fri, 20 Apr 2007 13:14:49 +0200 From: "Bart Degryse" To: Subject: Re: We all are looped on Internet: request + transport = invariant References: <14110647859.20070413105812@narod.ru><20070413150936.GA31517@phl ogiston.dyndns.org><1684192906.20070419090827@narod.ru><20070419134808.GB14 187@phlogiston.dyndns.org><20070419134808.GB14187@phlogiston.dyndns.org><81 4860828.20070420120819@narod.ru> In-Reply-To: <814860828.20070420120819@narod.ru> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=__Part1F387CB9.0__=" X-imss-version: 2.046 X-imss-result: Passed X-imss-approveListMatch: *@indicator.be X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=1.268 tagged_above=0 required=5 tests=AWL=-0.883, BAYES_50=0.001, FORGED_RCVD_HELO=0.135, HTML_30_40=0.374, HTML_MESSAGE=0.001, UNPARSEABLE_RELAY=0.001, URIBL_SBL=1.639 X-Spam-Level: * X-Archive-Number: 200704/174 X-Sequence-Number: 28174 --=__Part1F387CB9.0__= Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Trees like you seem to suggest are called hierarchies. If you prefer = hierarchies over relationnality you could use a hierarchical database = instead of a relational database. When you search the internet you can = find plenty of information on eg Adabas, GT.M., IMS, DMSII, Focus, Metakit = and many others. >>> Dmitry Turin 2007-04-20 11:08 >>> >you are proposing is to ... break the relational model of SQL No. I'm proposing to add new thinking about relational model (primary i want to write "to add new view", but i remember, that "view" is reserved word in SQL :) ). *onvince yourself, please: create table a ( id num primary key; data float; ); create table b ( id num primary key; ref num references a(id); data float; ); create table c ( id num primary key; link num references b(id); data float; ); insert into a values (1, 12.3); insert into b values (10, 1, 23.4); insert into b values (20, 1, 34.5); insert into b values (30, 1, 45.6); insert into c values (100,10,56.7); insert into c values (101,10,67.8); insert into c values (200,20,78.9); insert into c values (201,20,89.1); insert into c values (300,30,91.2); My suggest is "a.b.c"-request. Output is I wrote about that in http://sql4.by.ru/site/sql40/en/author/introduction_eng.htm=20 http://sql4.by.ru/site/sql40/en/author/determination_eng.htm=20 >to make it look more like XML Understand: XML is not model of data (in my suggest), XML is format of = output. Can you offer better format for output of tree? If you can, write please, i listen. >because of some special purpose application Reception of tree from database is really often case. For example, open several schemes of database (in Erwin, in RationalRose, in other modeller) - scheme is net (count). After that, look at source of server programs, servicing this databases. These programs get part of net (not part of one table!, not part of joined tables! not part of one view!) and put it into program-visualizer. In back direction, server program get tree (records for several tables, = not for one table!) and put it into database. >SQL ... It's ... language, unconcerned with transport I agree. Now it's so. >change the syntax of SQL SQL remains inviolate. I offer addition to it - i offer Tree Manipulation Language. Look once more: create table a ( id num primary key; data float; ); create table b ( id num primary key; ref1 num references a(id); ref2 num references a(id); data float; ); create table c ( id num primary key; lnk1 num references b(id); lnk2 num references b(id); data float; ); insert into a values (1, 12.3); insert into a values (2, 23.4); insert into b values (10, 1, 2, 34.5); insert into b values (20, 1, 2, 45.6); insert into b values (30, 1, 2, 56.7); insert into b values (40, 1, 2, 67.8); insert into c values (100,10,20,78.9); insert into c values (101,10,20,89.1); insert into c values (200,30,40,91.2); insert into c values (201,30,40,88.8) But TML is: a.b/ref1.c/lnk1 --- P.S. I'm very glad to get acquainted with you, and i'm much interesting to talk = with you. Let's to write maximum simply, let's to use maximum simple expressions to understand each other better. Dmitry Turin http://html60.chat.ru ( http://html60.chat.ru/ ) http://sql40.chat.ru ( http://sql40.chat.ru/ ) ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq --=__Part1F387CB9.0__= Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Description: HTML Trees like you seem = to suggest are called hierarchies. If you prefer hierarchies over = relationnality you could use a hierarchical database instead of a = relational database. When you search the internet you can find plenty of = information on eg Adabas, GT.M., IMS, DMSII, Focus, Metakit and many = others.

>>> Dmitry Turin <sql4-en@narod.ru> = 2007-04-20 11:08 >>>
>you are proposing is to ... break the = relational model of SQL

No. I'm proposing to add new thinking about = relational model
(primary i want to write "to add new view", but i = remember, that
"view" is reserved word in SQL :) ).
?onvince = yourself, please:

create table a (
  id   = num      primary key;
  data float;
);<= BR>create table b (
  id   num    &nb= sp; primary key;
  ref  num      = references a(id);
  data float;
);
create table c (
 = id   num      primary key;
  = link num      references b(id);
  data = float;
);
insert into a values (1,     12.3);
= insert into b values (10, 1, 23.4);
insert into b values (20, 1, = 34.5);
insert into b values (30, 1, 45.6);
insert into c values = (100,10,56.7);
insert into c values (101,10,67.8);
insert into c = values (200,20,78.9);
insert into c values (201,20,89.1);
insert = into c values (300,30,91.2);

My suggest is "a.b.c"-request. Output = is

<a     id=3D1   data=3D12.3><= BR>  <b   id=3D10  data=3D23.4>
  &n= bsp; <c id=3D100 data=3D56.7/>
    <c id=3D101 = data=3D67.8/>
  </b>
  <b   = id=3D20  data=3D34.5>
    <c id=3D200 = data=3D78.9/>
    <c id=3D201 data=3D89.1/>
&= nbsp; </b>
  <b   id=3D30  data=3D45.6><= BR>    <c id=3D200 data=3D91.2/>
  </b><= BR></a>

I wrote about that in
http://sql4.by.ru/site/sql40/en/= author/introduction_eng.htm
http://sql4.by.ru/site/sql40/en/author/det= ermination_eng.htm

>to make it look more like XML

Unde= rstand: XML is not model of data (in my suggest), XML is format of = output.
Can you offer better format for output of tree?
If you can, = write please, i listen.

>because of some special purpose = application

Reception of tree from database is really often = case.

For example, open several schemes of database (in Erwin, = in
RationalRose, in other modeller) - scheme is net (count).

Afte= r that, look at source of server programs, servicing this databases.
The= se programs get part of net (not part of one table!, not part of
joined = tables! not part of one view!) and put it into program-visualizer.

I= n back direction, server program get tree (records for several tables, not = for one table!)
and put it into database.

>SQL ... It's ... = language, unconcerned with transport

I agree. Now it's so.

&g= t;change the syntax of SQL

SQL remains inviolate.
I offer = addition to it - i offer Tree Manipulation Language.
Look once = more:

create table a (
  id   num   = ;   primary key;
  data float;
);
create table b = (
  id   num      primary = key;
  ref1 num      references a(id);
=   ref2 num      references a(id);
  = data float;
);
create table c (
  id   num &nb= sp;    primary key;
  lnk1 num   &nbs= p;  references b(id);
  lnk2 num     = references b(id);
  data float;
);
insert into a values = (1,        12.3);
insert into a = values (2,        23.4);
insert into = b values (10, 1, 2, 34.5);
insert into b values (20, 1, 2, 45.6);
ins= ert into b values (30, 1, 2, 56.7);
insert into b values (40, 1, 2, = 67.8);
insert into c values (100,10,20,78.9);
insert into c values = (101,10,20,89.1);
insert into c values (200,30,40,91.2);
insert into = c values (201,30,40,88.8)

But TML is:

a.b/ref1.c/lnk1

= ---

P.S.
I'm very glad to get acquainted with you, and i'm much = interesting to talk with you.
Let's to write maximum simply, let's to = use maximum simple expressions
to understand each other better.

<= BR>Dmitry Turin
http://html60.chat.ru=
http://sql40.chat.ru

<= BR>---------------------------(end of broadcast)---------------------------=
TIP 3: Have you checked our extensive FAQ?

   &nb= sp;           http://www.postgresql.org/docs/= faq
--=__Part1F387CB9.0__=--