Thread: We all are looped on Internet: request + transport = invariant

We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Usage of database consist of
request and transportation of results into visualizer.
We all are looped on Internet, thus visualizer should be remoted.

The most general format for data is XML.
We also need to choose transport protocol:
the most widespread is HTTP.
SQL could send data so.

Now SQL don't make this, thus we need one more language (php,etc).
It's very, very bad for un-experienced user.

We dream, that we simplify SQL by reject of this feature,
but really we only carry un-triviality into other language.
Un-triviality is saved !

But in addition to un-triviality, you have place of dock
between SQL and other language.


I offer the following way:
http://sql40.by.ru/site/sql40/en/author/introduction_eng.htm
http://sql40.by.ru/site/sql40/en/author/determination_eng.htm
Representation of data as tree (instead of as matrix) is not aim itself,
it's sideline-result.



Re: We all are looped on Internet: request + transport = invariant

From
Andrew Sullivan
Date:
On Fri, Apr 13, 2007 at 10:58:12AM +0300, Dmitry Turin wrote:
> The most general format for data is XML.

Surely not.  In particular, XML is actually miserably bad at
capturing certain kinds of relations between items.  It's in fact
this assumption that has made this conversation seem like we're
talking past one another.

> Now SQL don't make this, thus we need one more language (php,etc).
> It's very, very bad for un-experienced user.

So what?  If a user has no experience, and wants to do something new,
why should they not have to do some work to learn how to do those
things?  SQL is not so fantastically hard that you can't learn it. 
Indeed, I'm pretty sure that if someone as foolish as I can learn it,
anyone can.

A


-- 
Andrew Sullivan  | ajs@crankycanuck.ca
If they don't do anything, we don't need their acronym.    --Josh Hamilton, on the US FEMA


Re: We all are looped on Internet: request + transport = invariant

From
sql4-en@narod.ru
Date:
>In particular, XML is actually miserably bad at capturing certain kinds of relations between items.

Write examples, please.

P.S. By the way, XML is mentioned as tool for traffic (for transport).
But i agree to forget about that to learn what are you imply in your
quoting.

>SQL is not so fantastically hard

You don't understand, i speak not about SQL!

Problem consist of transportation data, received by SQL, into external
world. As i already wrote, it's very difficalt for users (in practice)
to use libraries of additional language (php , perl, etc) for that.

I offer to put one feature into SQL to avoid mentioned libraries.

>why should they not have to do some work to learn how to do those things?

For what user agonizes, if it's possible to avoid torments?
Assembler turns Fortran by this reason.





Re: We all are looped on Internet: request + transport = invariant

From
"Andrej Ricnik-Bay"
Date:
On 4/19/07, sql4-en@narod.ru <sql4-en@narod.ru> wrote:

> Problem consist of transportation data, received by SQL, into external
> world. As i already wrote, it's very difficalt for users (in practice)
> to use libraries of additional language (php , perl, etc) for that.
>
> I offer to put one feature into SQL to avoid mentioned libraries.
And you offer latex and all other kind of things, too?

That's the whole issue:  you don't understand.  SQL is for
information retrieval, presentation thereof is and should (for
a clean design) be independent of the retrieval.  There's
already a highly popular database out there that breaks
and "enhances" standards.  And there are tools available
that will take tabular textual data and convert it into other
file formats;  no need to turn postgres into an egg-laying
wool-bearing milk-sow.


Re: We all are looped on Internet: request + transport = invariant

From
Andrew Sullivan
Date:
On Thu, Apr 19, 2007 at 09:08:27AM +0300, sql4-en@narod.ru wrote:

> >In particular, XML is actually miserably bad at capturing certain
> >kinds of relations between items.
> 
> Write examples, please.
> 
> P.S. By the way, XML is mentioned as tool for traffic (for transport).
> But i agree to forget about that to learn what are you imply in your
> quoting.

That's irrelevant to what you are proposing, because what you are
proposing is to alter SQL -- or at least, PostgreSQL -- to break the
relational model of SQL in order to make it look more like XML.

An obvious example of the way XML is not _good_ at expressing kinds
of relations is that it simply doesn't have a way of expressing
foreign key relations.  If you want that sort of thing, you write a
DTD that somehow says two things go together; but it can't enforce
it, because that has to be left to the implementation.  Moreover,
since you seem to want to make this perfectly generalizable to any
XML at all, what you really are saying is that you'll give up the
feature.  

Every time someone helpfully comes along and says that SQL doesn't
"really need" this or that feature because of some special purpose
application that they have dreamed up, I have exactly the same
reaction: those proposing picked a SQL database because it's what
they had, rather than what they need.  This case is no exception. 
You have so far completely failed to explain why any of what you are
proposing ought to be stored in PostgreSQL in the first place.  What
is wrong with flat files?  Or bdb?  Or something like that?  Not
every datum belongs in a relational database.

More importantly. . .

> You don't understand, i speak not about SQL!
> 
> Problem consist of transportation data, received by SQL, into external
> world. 

. . .you have completely missed the point of SQL, then.  It's a
special-purpose language, unconcerned with transport, that is there
to perform queries on relational data.  If you want some magic
transport thing that doesn't need a special library to get it out of
Postgres (and you seem here to have completely overlooked that you
_always_ have to have one: someone who won't learn DBI and won't
learn SQL sure as heck isn't gonna learn enough C to program libpq,
which is actually how you talk to the PostgreSQL back end), then
write that.  Don't bollocks up the back end and change the syntax of
SQL to achieve what is, IMNVHO, a really bad idea.

A

-- 
Andrew Sullivan  | ajs@crankycanuck.ca
Users never remark, "Wow, this software may be buggy and hard 
to use, but at least there is a lot of code underneath."    --Damien Katz


Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
>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

<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>

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

>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://sql40.chat.ru



Re: We all are looped on Internet: request + transport = invariant

From
Richard Huxton
Date:
Dmitry Turin wrote:
>> 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
> 
> <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>
> 
> I wrote about that in
> http://sql4.by.ru/site/sql40/en/author/introduction_eng.htm
> http://sql4.by.ru/site/sql40/en/author/determination_eng.htm
> 
>> 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.

Your format seems to have thrown away all type information. How do I 
know with the "id=200" that 200 is an int rather than a byte or string?

Also, how do we add the new table?

CREATE TABLE d (  aref  num references a,  bref  num references b,  cref  num references c
);

>> because of some special purpose application
> 
> Reception of tree from database is really often case.

Well it's sometimes the case. I'm not sure you've given any evidence 
that *most* (or even many) accesses to a database want to retrieve a 
simple tree. And only a tree - presumably your alternative access method 
doesn't let me grab "nets" (directed graphs, possibly cyclic).

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

So - not a tree?

> 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.

Also not trees (necessarily)

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

I'm not sure that anyone is clear why you just don't write this as a 
simple php/perl/ruby/whatever script? There are libraries that will 
output XML for you in most of these I'd suspect, and if not it's just an 
afternoon's work.

I mean, your application is written in *some* language, isn't it?

--   Richard Huxton  Archonet Ltd


Re: We all are looped on Internet: request + transport = invariant

From
"Bart Degryse"
Date:
Trees like you seem to suggest are called hierarchies. If you prefer hierarchies over relationnality you could use a
hierarchicaldatabase instead of a relational database. When you search the internet you can find plenty of information
oneg Adabas, GT.M., IMS, DMSII, Focus, Metakit and many others.<br /><br />>>> Dmitry Turin
<sql4-en@narod.ru>2007-04-20 11:08 >>><br />>you are proposing is to ... break the relational model
ofSQL<br /><br />No. I'm proposing to add new thinking about relational model<br />(primary i want to write "to add new
view",but i remember, that<br />"view" is reserved word in SQL :) ).<br />?onvince yourself, please:<br /><br />create
tablea (<br />  id   num      primary key;<br />  data float;<br />);<br />create table b (<br />  id   num     
primarykey;<br />  ref  num      references a(id);<br />  data float;<br />);<br />create table c (<br />  id  
num     primary key;<br />  link num      references b(id);<br />  data float;<br />);<br />insert into a values
(1,    12.3);<br />insert into b values (10, 1, 23.4);<br />insert into b values (20, 1, 34.5);<br />insert into b
values(30, 1, 45.6);<br />insert into c values (100,10,56.7);<br />insert into c values (101,10,67.8);<br />insert into
cvalues (200,20,78.9);<br />insert into c values (201,20,89.1);<br />insert into c values (300,30,91.2);<br /><br />My
suggestis "a.b.c"-request. Output is<br /><br /><a     id=1   data=12.3><br />  <b   id=10  data=23.4><br
/>   <c id=100 data=56.7/><br />    <c id=101 data=67.8/><br />  </b><br />  <b   id=20 
data=34.5><br/>    <c id=200 data=78.9/><br />    <c id=201 data=89.1/><br />  </b><br />  <b  
id=30 data=45.6><br />    <c id=200 data=91.2/><br />  </b><br /></a><br /><br />I wrote about
thatin<br /><a
href="http://sql4.by.ru/site/sql40/en/author/introduction_eng.htm">http://sql4.by.ru/site/sql40/en/author/introduction_eng.htm</a><br
/><a
href="http://sql4.by.ru/site/sql40/en/author/determination_eng.htm">http://sql4.by.ru/site/sql40/en/author/determination_eng.htm</a><br
/><br/>>to make it look more like XML<br /><br />Understand: XML is not model of data (in my suggest), XML is format
ofoutput.<br />Can you offer better format for output of tree?<br />If you can, write please, i listen.<br /><br
/>>becauseof some special purpose application<br /><br />Reception of tree from database is really often case.<br
/><br/>For example, open several schemes of database (in Erwin, in<br />RationalRose, in other modeller) - scheme is
net(count).<br /><br />After that, look at source of server programs, servicing this databases.<br />These programs get
partof net (not part of one table!, not part of<br />joined tables! not part of one view!) and put it into
program-visualizer.<br/><br />In back direction, server program get tree (records for several tables, not for one
table!)<br/>and put it into database.<br /><br />>SQL ... It's ... language, unconcerned with transport<br /><br />I
agree.Now it's so.<br /><br />>change the syntax of SQL<br /><br />SQL remains inviolate.<br />I offer addition to
it- i offer Tree Manipulation Language.<br />Look once more:<br /><br />create table a (<br />  id   num      primary
key;<br/>  data float;<br />);<br />create table b (<br />  id   num      primary key;<br />  ref1 num      references
a(id);<br/>  ref2 num      references a(id);<br />  data float;<br />);<br />create table c (<br />  id   num     
primarykey;<br />  lnk1 num      references b(id);<br />  lnk2 num      references b(id);<br />  data float;<br />);<br
/>insertinto a values (1,        12.3);<br />insert into a values (2,        23.4);<br />insert into b values (10, 1,
2,34.5);<br />insert into b values (20, 1, 2, 45.6);<br />insert into b values (30, 1, 2, 56.7);<br />insert into b
values(40, 1, 2, 67.8);<br />insert into c values (100,10,20,78.9);<br />insert into c values (101,10,20,89.1);<br
/>insertinto c values (200,30,40,91.2);<br />insert into c values (201,30,40,88.8)<br /><br />But TML is:<br /><br
/>a.b/ref1.c/lnk1<br/><br />---<br /><br />P.S.<br />I'm very glad to get acquainted with you, and i'm much interesting
totalk with you.<br />Let's to write maximum simply, let's to use maximum simple expressions<br />to understand each
otherbetter.<br /><br /><br />Dmitry Turin<br /><a href="http://html60.chat.ru/">http://html60.chat.ru</a><br /><a
href="http://sql40.chat.ru/">http://sql40.chat.ru</a><br/><br /><br />---------------------------(end of
broadcast)---------------------------<br/>TIP 3: Have you checked our extensive FAQ?<br /><br />               <a
href="http://www.postgresql.org/docs/faq">http://www.postgresql.org/docs/faq</a><br/> 
Hi Richard,

On Fri, 2007-04-20 at 12:14 +0100, Richard Huxton wrote:
> I'm not sure that anyone is clear why you just don't write this as a 
> simple php/perl/ruby/whatever script? There are libraries that will 
> output XML for you in most of these I'd suspect, and if not it's just an 
> afternoon's work.
> 
> I mean, your application is written in *some* language, isn't it?

It appears that Dmitry wants that an application, written in whatever
language, will issue an SQL query (or maybe a TML "query" such as
"a.b.c") and get back the XML.  He's not concerned about loss of
datatype information because from his perspective the application will
just "present" the XML and similarly he's not concerned about DDL
features because TML is a "transport" mechanism.

I hope I haven't totally misrepresented Dmitry's words, but it seems he
wants to create a universal "database to web" interface language, so
that you and I won't have to deal with the pesky complications of
retrieving data in C with libpq or with PHP, Python and what not
libraries or "adapters", and then have to transform that data for
display to the user.

However, IMHO this appears to be rather simplistic and not completely
grounded in actual experience.  In other words, Dmitry, have you written
a TML parser or a libpq prototype that given a TML "query" produces the
XML and tested it with datatypes other than integer and float.  Or do
you have feedback from actual average users that TML is indeed easier to
use than SQL?

Two other items to think about.  One is that the scheme apparently
requires that tables be defined in a special way, but no indication is
given as to how this will be accomplished or ensured that it is correct.
Second is how does TML handle relational manipulations such as
restriction, projection or aggregation.  It appears TML is primarily for
joins.

Lastly, Dmitry, I think you'll be better off discussing this in
comp.databases.theory.

Joe



Re: We all are looped on Internet: request + transport = invariant

From
Richard Huxton
Date:
Joe wrote:
> Hi Richard,
> 
> On Fri, 2007-04-20 at 12:14 +0100, Richard Huxton wrote:
>> I'm not sure that anyone is clear why you just don't write this as a 
>> simple php/perl/ruby/whatever script? There are libraries that will 
>> output XML for you in most of these I'd suspect, and if not it's just an 
>> afternoon's work.
>>
>> I mean, your application is written in *some* language, isn't it?
> 
> It appears that Dmitry wants that an application, written in whatever
> language, will issue an SQL query (or maybe a TML "query" such as
> "a.b.c") and get back the XML.  He's not concerned about loss of
> datatype information because from his perspective the application will
> just "present" the XML and similarly he's not concerned about DDL
> features because TML is a "transport" mechanism.
> 
> I hope I haven't totally misrepresented Dmitry's words, but it seems he
> wants to create a universal "database to web" interface language, so
> that you and I won't have to deal with the pesky complications of
> retrieving data in C with libpq or with PHP, Python and what not
> libraries or "adapters", and then have to transform that data for
> display to the user.

OK, but I'm still not seeing how this avoids me having to use 
PHP/Perl/etc anyway. I mean, I'm going to need some application logic at 
some point, in which case who cares whether the RDBMS has this specific 
layout as a format. I can see how it might be useful as a library, but 
then there are libraries that provide plenty of XML formatting.

--   Richard Huxton  Archonet Ltd


Hi Richard,

On Fri, 2007-04-20 at 13:50 +0100, Richard Huxton wrote:
> OK, but I'm still not seeing how this avoids me having to use 
> PHP/Perl/etc anyway. I mean, I'm going to need some application logic at 
> some point, in which case who cares whether the RDBMS has this specific 
> layout as a format. I can see how it might be useful as a library, but 
> then there are libraries that provide plenty of XML formatting.

But if TML catches on so that "even a caveman can do it" *, i.e., query
a database from just a browser, then you and I (and most everyone on
this list) will be out of a job and PHP/Perl/etc. will be relegated to
the dustbin of programming languages.  [Sorry, couldn't resist :-) ]

Joe

* see http://en.wikipedia.org/wiki/Geico



Re: We all are looped on Internet: request + transport= invariant

From
Achilleas Mantzios
Date:
Just some thoughts on the matter:

Dmitry, you should acknowledge the fact that in databses you have two kinds of
hierarchies:
a) The hierarchy denoted by the referential constraints between tables which
constitute a Directed Graph (DG), with tables as nodes and FKeys as arrows.
b) Hierarchies applying to data, e.g.
create table ppl (
id serial PRIMARY KEY,
name text not null,
parentid integer REFERENCES ppl(id)
); (with GOD himself having parentid = null :).

I think that the second type is of interest at the application level.
(For system applications however, such as DB mirroring the first type of table
hierarchy is important as well).

Speaking of postgresql there is a fine package by the GiST/tsearch creators,
contrib/ltree whose main task is to provide the primitives
(functions/operators) for tree manipulation.

Dont know if i am irrelevant in this thread, but i hope i helped a little bit.

--
Achilleas Mantzios


Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
>How do I know with the "id=200" that 200 is an int rather than a byte or string?

Field (of database) and attribute (of tag) are put into one-to-one
correspondence.
Thus datatype of attribute is datatype of field (which is specified
during "create table" or "alter table").

>how do we add the new table?

by DDL, of course.
TML don't create/alter/drop table/index.

>accesses to a database want to retrieve a simple tree

It's difficult to bring inverse example - when it's necessary to get
records of only one table. Really, in life (not in math problems).

>your alternative access method doesn't let me grab "nets" (directed graphs, possibly cyclic)

Yes.
You must inquere records of two tables (nodes and bonds) separately.

>> 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.
>Also not trees (necessarily)

No. Server program inqueries tree (as part of graph).

>why you just don't write this as a simple php/perl/ruby/whatever script?

Not me.
Not programmer.
I speak about appied specialists (physicists, biologists, etc), which
can NOT do that.
Join of SQL and php (using libraries) is problem for them.

>it's just an afternoon's work

Not for mentioned people.



Re: We all are looped on Internet: request + transport = invariant

From
Andrew Sullivan
Date:
On Fri, Apr 20, 2007 at 05:49:08PM +0300, Dmitry Turin wrote:

> I speak about appied specialists (physicists, biologists, etc), which
> can NOT do that.

> >it's just an afternoon's work
> 
> Not for mentioned people.

I think part of the reason I'm sceptical of your plan is that every
physicist or biologist I ever knew, who had anything to do with
storing large volumes of data, all knew a great deal of Perl.  What
they didn't know, they got the computer-support staff (that was my
job) to build for them.  People who work with data have to learn to
use the tools for processing it.  Nobody ever suggests that stats is
just too hard, so we should make an easy-stats course that just
covers the teeny bit that (say) biologists need to know.  That seems
to be what you are suggesting be done to SQL.  

Now, anyone who knows anything about biology -- or physics, for that
matter -- knows that you actually have to have a good handle on stats
to do any interesting work.  You don't need everything economists
use, though, so you don't learn those bits.  Similarly, I don't
expect a biologist to learn (for instance) the Net::DNS modules for
Perl.  That doesn't mean they can get away without learning a bit
about XML, Perl, and Pg.pm.  

Anyway, I've said enough on this topic.  When you have the start of a
user library that implements your proposal, perhaps you can post it
to -hackers for the response you'll get there.

A

-- 
Andrew Sullivan  | ajs@crankycanuck.ca
When my information changes, I alter my conclusions.  What do you do sir?    --attr. John Maynard Keynes


Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
>have you written a TML parser

No.
I want, that you and other people help me in that.

>do you have feedback from actual average users,
>that TML is indeed easier to use than SQL?

Yes.
TML was born in discuss with these users
(mainly nucleus physicists, optics , molecular biologists, zoologist
and ecologist)

>scheme apparently requires, that tables be defined in a special way

No.
Table must be created in traditional way (by "create table, alter
table") and not through browser.
User must use "create table", etc in database-terminal like "psql.exe".

> you'll be better off discussing this in comp.databases.theory

There are two reason to discuss TML in this forum:
1. postgres is my favorite database,
2. discussion not in theory forum, but in forum of real database
approach to realization in greater degree.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru



Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
> he wants to create a universal "database to web" interface language, so
> that you and I won't have to deal with the pesky complications of
> retrieving data in C with libpq or with PHP, Python and what not
> libraries or "adapters", and then have to transform that data for
> display to the user.

Yes.
Especially about adapters !

>OK, but I'm still not seeing how this avoids me having to use
>PHP/Perl/etc anyway.

TML stored function get XML from external world (DBMS listen port #80),
work, than make output of other XML into external world.
Transport is executed through HTTP.

>who cares whether the RDBMS has this specific layout as a format.

I want to answer, but i don't understood phrase "layout as a format".
Please, explain your question.

>I can see how it might be useful as a library

I don't see, how to use TML as library :)

>there are libraries that provide plenty of XML formatting

Once more: XML is side effect! If you know better format for tree,
please describe it.

Gold is ejection of shim (gasket): php, perl, etc.




Dmitry Turin
http://html6.by.ru
http://sql4.by.ru



Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
>every physicist or biologist ... knew a great deal of Perl

They spend own time and force for that.
Next generation will not have this need.

>they got the computer-support staff (that was my job)

And your money.
Besides money, they spend own time to explain task to you.

>People ... have to learn

They must nothing, they are forced

>That doesn't mean they can get away without learning a bit about ... Perl

Why?



Dmitry Turin
http://html60.by.ru
http://sql40.by.ru



Re: We all are looped on Internet: request +transport = invariant

From
"Bart Degryse"
Date:
A hierarchical is specialized in managing data which is hierarchically structured, while a relational database is not.
Maybe this analogy is clearer: If you want to fly you could attach wings to your sportscar, but it's more logical to use a plane.

>>> Dmitry Turin <sql4-en@narod.ru> 2007-04-20 16:21 >>>
>you could use a hierarchical database instead of a relational database

why ?
why is impossible to make addition for relational database?

Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
"Bart Degryse"
Date:
If these people really work with hierarchically structured data, let them try a hierarchical database (even though PostgreSQL is your favourite database). They will profit 100fold from the advantages such a database has for such data. I now several biologists specialized in taxonomy (which is by nature hierarchically structured) and they all use a hierarchical database for their data.
If these people want to output relational data in a hierarchical way (eg XML), they will have to learn sql (to manage their data in a relational database) and some xml library (in Perl, PHP, ASP or whatever they like most) to transform what the database outputs into the way they want it to look. Especially such people are quick learners and stating they can't do that is simply unbelievable. Anyway there should always be some IT guy in the neighbourhood to help them out. I suppose that would be you.
Once again, don't try to let your sportscar fly. While it probably can be done, using a plane is so much more logical.

>>> Dmitry Turin <sql4-en@narod.ru> 2007-04-20 17:59 >>>
TML was born in discuss with these users
(mainly nucleus physicists, optics , molecular biologists, zoologist
and ecologist)

Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Good day, Joe.

>> Table must be created in traditional way (by "create table, alter
>> table") and not through browser.
>> User must use "create table", etc in database-terminal like "psql.exe".
> By "in a special way" I meant that tables have referential constraints
> to other tables and they appear to rely on synthetic keys.

Referential constraints must be created also in traditional way and
also not through browser (by "psql.exe").

>your examples have invalid PG SQL

Yes, i know.
I copy this examples from my page
http://sql40.chat.ru/site/sql40/en/author/introduction_eng.htm
(i wrote this page for all DBMS in general).

>I would change your examples to use less abstract
> data, like department/employee,  customer/product/order/order_line

This will not help.
To my mind, forum of real database is place,
when i can find programmer, which can (and maybe would like) add parser to database.
We all together can make that, i hope to that.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru



Re: We all are looped on Internet: request+transport = invariant

From
"Bart Degryse"
Date:
I'll continue with the analogy
It is not impossible to attach wings to a sportscar. When you do, you will probably get the sportscar flying.
However:
1. Why would you even try, if airplanes (which are designed from scratch to fly) already exist. Just use them
2. If you try nevertheless, is getting your car to fly worth the effert it will cost. It might fly in the end, but it will never be a Phantom (or whatever plane you prefer). Making something that can fly, requires you to focus on that from scratch. A car was never designed to fly. So basically a flying car will still be a car and not a plane.
 
So, since hierarchical databases do exist, why even bother trying to transform a relational database into something that resembles a hierarchical database. A real hierarchical will always be better suited to do the job than your addition to a relational database will be, simply because the hierarchical database was designed from scratch to do just that.


>>> Dmitry Turin <sql4-en@narod.ru> 2007-04-23 12:07 >>>
Good day, Bart.

> A hierarchical is specialized in managing data which is
> hierarchically structured, while a relational database is not.

You don't answer to question
(why is impossible to make addition for relational database?).


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru

Hi Dmitry,

On Mon, 2007-04-23 at 11:20 +0300, Dmitry Turin wrote:
> >I would change your examples to use less abstract
> > data, like department/employee,  customer/product/order/order_line
> 
> This will not help.
> To my mind, forum of real database is place,

"What we got here is ... failure to communicate."

I may be wrong, but I suspect most of the people in this forum take a
look at

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;
);

or even

create table a ( id   integer     primary key, data float);
create table b ( id   integer     primary key, ref  integer     references a(id), data float);
create table c ( id   integer     primary key, link integer     references b(id), data float);

and your attempts to derive XML from them and ask questions like "how
will this help me in my day-to-day job" and "what do a, b and c
represent or are analogous to?" and all they'll see is a hierarchy of
some sort (as evident by several of the responses) and they'll dismiss
it because they have to deal with more complex relationships and the
relational model allows them to express such connections.

OTOH, if you were to take a real-life example, and show you can generate
XML from your proposed TML, I contend that then you'd find more people
receptive to your ideas or at least able to criticize them from more
concrete viewpoints.

Take a look for example at Philip Greenspun's "SQL for Web Nerds".  It's
dated and its examples are based on Oracle syntax, but it's based on a
real web application.  Show us what TML can do for the users, bboard and
classified_ads tables
(http://philip.greenspun.com/sql/data-modeling.html), and how it can
answer the simple and complex queries in the next two chapters (or as I
said, pick a real-life example of your own) and then maybe we'll have a
more fruitful conversation.

Joe



Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:


Fwd: Re[2]: We all are looped on Internet: request+transport = invariant

From
Dmitry Turin
Date:
Good day, Bart.

> I'll continue with the analogy

Let's suppose, that you want to compare rational and hierarchical
DBMS instead of discussion about removing gaskets
(by the way, hierarchical DBMS also need gasket between itself and
external world).
Because TML should integrated inside rational DBMS,
I think, this comparison is useful too.

First, let's accept convention to not use metaphore.
It would be better, if we compare concrete details.

Bart, under your influence i want to download and
try hierarchical DBMS, which you list
(Adabas, GT.M., IMS, DMSII, Focus, Metakit).
That is so much important,
because my wish to add TML to PG is growing :)

Excuse me, Bart, our institution use only OS "Windows",
thus at first stage let conduct comparison between TML and
hierarchical DBMS only for "Windows".

Several revisions:
1. "Adabas" is this
http://www.softwareag.com/Corporate/products/adabas/download/default.asp
(ada51.zip, 31Mb)?
2. "GT.M" exists only form Unix-like OS.
3. "IMS, DMSII, Focus" - i don't find link to download
4. "Metakit" is this
http://www.softlookup.com/download.asp?id=6904
(metakit-2.01.tar.gz, 607 Kb).
Our users consider, that it is no database in general.
I agree with them.

Are you agree to make comparison in discussion with me?


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Good day, Joe.

>> >I would change your examples to use less abstract
>> > data, like department/employee, customer/product/order/order_line

J> I contend that then you'd find more people
J> receptive to your ideas or at least able to criticize them from more
J> concrete viewpoints.

I expected, that you already read
http://sql4.by.ru/site/sql40/en/author/wave_eng.htm
(i added output into this paper).
Case of "department/employee" is "Example 1" on this paper.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Good day, Joe.

J> "Fictional" is IMO not a good choice for
J> describing aggregates, because it means "a story that is not true",
J> whereas an SQL aggregate is something that is "true" (in the
J> mathematical sense) but is "derived" from other values.

It means, that TML and DDL aggregates have different sense.

J> (I'm not sure what the special symbols mean -- maybe what you need first
J> is a syntax reference for TML)

http://sql4.by.ru/site/sql40/en/author/tree_eng.htm

J> sum of the employees salaries?

yes.
"amount" is quantity of employees

J> How do I see employees in just one department?

department[id="1"].employee >>;

or

department[name="Technical"].employee >>;

J> How do I see a single employee?

employee[id="31"] >>;

or

employee[name="Tomson"] >>;  -- maybe several employee with surname Tomson

J> How do I see all employees that have a salary greater than 3500

department.employee[salary>3500] >>;

J> ordered by their names?

Now sorting for output is absent.
I'm not sure, that it's necessary,
but i already thought about this and continue to think.

J> How do I actually retrieve SUM(salary)

Declare field "sum" as not fictional.

You can always declare field "sum" as not fictional and
put sign "#" before field to prevent output of field.

J> GROUP BY department?

It is always "group by", because it is field of record "department"

P.S.
If you don't like to put sign "#" before field "sum",
or you don't like absence of sorting NOW
(it's possible, that i add sorting),
then remember, that advantage is absence of gasket
(php, etc) between DBMS and external world.
That is more important for un-experienced users.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: Fwd: Re[2]: We all are looped on Internet:request+transport = invariant

From
Dmitry Turin
Date:
BD> Please stop using my personal email adsress in CC or BCC.
BD> Forum related mails should only be send to the forum!

I promise

BD> Several revisions:
BD> 1. "Adabas" is this
BD> http://www.softwareag.com/Corporate/products/adabas/download/default.asp
BD> (ada51.zip, 31Mb)?
BD> 2. "GT.M" exists only form Unix-like OS.
BD> 3. "IMS, DMSII, Focus" - i don't find link to download
BD> 4. "Metakit" is this
BD> http://www.softlookup.com/download.asp?id=6904
BD> (metakit-2.01.tar.gz, 607 Kb).
BD> Our users consider, that it is no database in general.
BD> I agree with them.

BD> Are you agree to make comparison in discussion with me?

And what's about comparison ?


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Richard Huxton
Date:
Dmitry Turin wrote:
> Good day, Joe.
> 
>>>> I would change your examples to use less abstract
>>>> data, like department/employee, customer/product/order/order_line
> 
> J> I contend that then you'd find more people
> J> receptive to your ideas or at least able to criticize them from more
> J> concrete viewpoints.
> 
> I expected, that you already read
> http://sql4.by.ru/site/sql40/en/author/wave_eng.htm
> (i added output into this paper).
> Case of "department/employee" is "Example 1" on this paper.

I'd not expect people to read lengthy articles on a general-questions 
mailing list, but I've skimmed at least as far as example 2.

1. What does it mean for one flight to be contained within another? I 
can see how one flight might follow another, but not contained. Do you 
not need some new object "flight_chain" or similar?

2. Surely a flight should contain two cities (since it connects two 
cities). Alternatively, the <city> needs to indicate to which it's 
referring either as <startcity>/<endcity> or <city fromto="start"> or 
similar.

3. How am I constructing these queries? The whole point was so I didn't 
have to learn SQL, yes? Unfortunately, the syntax for these queries 
isn't obvious enough to me that I can see how to write them without some 
form of query-builder, or reference manual.

4. How am I using these queries? I'm still not clear what use it is to 
have XML without a schema. Let's say I want to build a holiday website. 
How does this TML setup avoid me having to write any php/perl/etc?

--   Richard Huxton  Archonet Ltd


Hi Dmitry,

On Tue, 2007-04-24 at 15:31 +0300, Dmitry Turin wrote:
> J> How do I see employees in just one department?
> 
> department[id="1"].employee >>;
> 
> or
> 
> department[name="Technical"].employee >>;

How is that any different or better than a standard SQL SELECT (or to
use another context, a Tutorial D statement)?

> J> How do I see a single employee?
> 
> employee[id="31"] >>;
> 
> or
> 
> employee[name="Tomson"] >>;
>    -- maybe several employee with surname Tomson

What if I want to see specific columns of the employee row or see the
name of the department that Tomson works in or the name of Tomson's
manager?

> J> How do I actually retrieve SUM(salary)
> 
> Declare field "sum" as not fictional.
> 
> You can always declare field "sum" as not fictional and
> put sign "#" before field to prevent output of field.

This "fictional" attribute of yours implies a change to SQL DDL.

> J> GROUP BY department?
> 
> It is always "group by", because it is field of record "department"

That is only in *your* view of the data.  What if someone comes along
and wants to do SELECT name, SUM(salary) FROM employee GROUP BY name?
Or GROUP BY date_trunc('year', hire_date)?

The point is that SQL has been refined (although some may disagree :-)
over the past quarter century to answer this and many other questions
and I don't see how TML improves on that (for an enhanced answer to SQL,
take a look at Tutorial D).  And XML is *not* the only answer to viewing
or even "transporting" data.  Some people prefer a tabular
representation, others may prefer a hierarchical view, and yet others
want to see a chart (and even the same person may prefer a different
view for various purposes or at various times).

And there's nothing wrong with Perl, PHP, Python and the myriad
interface languages.  That's what "free" software is all about.  The
POSTGRES UCB project had a language called PostQUEL, which may have been
technically superior to SQL, but market forces (unfortunately not all
"free") pushed Postgres95 and then PostgreSQL to adopt the latter in
preference to PostQUEL.  Maybe one day we'll have one (or two) interface
languages to PostgreSQL that 80% of the users will use, but it will not
be because you or I or even the PG Global Dev Group leaders say it's
"better" or "it's necessary", but because thousands of users may agree
and converge on those choices.

Joe



Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Good day, Joe.

>> J> How do I see employees in just one department?
>> department[id="1"].employee >>;
>> department[name="Technical"].employee >>;
J> How is that any different or better than a standard SQL SELECT

by absence of gasket (php, its library; perl, its library; etc)

J> XML is *not* the only answer to viewing or even "transporting" data.

it's nothing more simply: offer your decision !!

J> others want to see a chart

it's nothing more simply: offer format for data, on which chart will be created !!

J> And there's nothing wrong with Perl, PHP, Python and the myriad
J> interface languages.

I said many times, what is wrong:
applied users can not join sql and perl, can not use libraries,
and can not adjust web-server.

J> I don't see how TML improves

It characterizes not analysed situation, but you.

J> Some people prefer a tabular representation

<tablename field1= field2= field3= >
<tablename field1= field2= field3= >
<tablename field1= field2= field3= >
<tablename field1= field2= field3= >
<tablename field1= field2= field3= >

---

>> J> How do I see a single employee?
>> employee[id="31"] >>;
>> employee[name="Tomson"] >>;
J> I want to see specific columns of the employee row

Mark other fields (columns) by sign "#" to prevent output of them.
NOW there is no construction like
employee#[need_field]
i.e. to forbid all field and to allow necessary columns ("need_field").
Probably i add that.

J> or see the name of the department that Tomson works

department.#employee[name="Tomson"] >>;

or

#employee[name="Tomson"].department >>;

J> or the name of Tomson's manager?

Let table "employee" has additional field "manager"
create table employee { id         num      primary key, name       string, salary     num, department num
referencesdepartment (id), manager    bool
 
};

Request is (look at
http://sql4.by.ru/site/sql40/en/author/determination_eng.htm,
paragraph "Buckle")

(employee[manager=true].#department.#employee[name="Tomson"],
employee[manager=true name="Tomson"]) >>;

or

(#employee[name="Tomson"].#department.employee[manager=true],
employee[manager=true name="Tomson"]) >>;

If you seggest other scheme of data, i will write query for it.

J> This "fictional" attribute of yours implies a change to SQL DDL.

You are worried about technical realization or ideological orthodoxy ?
Or maybe about anything else ?

J> if someone comes along and wants to do
J> SELECT name, SUM(salary) FROM employee GROUP BY name?

create view x as SELECT name, SUM(salary) FROM employee GROUP BY name;
x >>;

J> thousands of users may agree and converge on those choices.

1. Not users, but programmers.
2. Needs are produced also, as goods and capital goods.    Karl Marks  For example, look at yourself.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Richard Huxton
Date:
Don't forget to cc: the list.

Dmitry Turin wrote:
> Good day, Richard.
> 
>>> http://sql4.by.ru/site/sql40/en/author/wave_eng.htm
> RH> example 2
> RH> 1. I can see how one flight might follow another, but not contained. Do you
> RH> not need some new object "flight_chain" or similar?
> 
> No !
> Fork is possible, several flights might follow another,
> thus several flights should be inside another.

1. One flight is not "contained" within another though. I board one 
plane, fly, get off, board another, fly, ... - they are sequential not 
contained. If you're trying to represent multiple options you should 
really have something like:
<flight_chain ...>  <flight_options>    <flight...>    <flight...>  These three flights represent options
<flight...> </flight_options>
 
</flight_chain>
How do I get such a structure from a TML query?

2. If you nest flights then you'll be forced to repeat data, surely? 
Multiple routes could end up mentioning flight id=123 several times and 
each time have to repeat all possible options from it.

> RH> 2. Alternatively, the <city> needs to indicate to which it's
> RH> referring either as <startcity>/<endcity> or <city fromto="start"> or
> RH> similar.
> 
> What is 'either as <startcity>/<endcity> or <city fromto="start">' ?

Looking at the resultset, how do I know whether a mentioned city is:
1. the start point of a flight
2. the end point of a flight

> RH> 3. How am I constructing these queries?
> 
> There are five documents on
> http://sql4.by.ru/site/sql40/en/author/index_eng.htm
> 
> RH> The whole point was so I didn't have to learn SQL, yes?
> 
> Nearly: sorting by first section of tree
> (maybe by second section and so on after that)
> is not seggested now
> (user can sort, for examle, in browser by XSL).

Hang on, XSL is *not* easier to understand than SQL.

> RH> syntax for these queries isn't obvious enough to me
> 
> What is not-obvious -
> tree notation or work with fields inside section (record) in tree ?
> If all of them, what is more not-obvious ?

The syntax of your queries is not obvious. I haven't read your guide, 
but you did say that the whole point was *not* to have to learn 
languages. If I'm going to learn only one query language, it'll be SQL 
because everything uses it.

> RH> 4. what use it is to have XML without a schema.
> 
> What is 'XML without a schema' ?
> XML is not stored thing, it is a transport form for scheme.

Umm - xml schemas, that describe valid data for an xml document. 
http://www.w3.org/XML/Schema
http://www.xml.com/pub/a/2001/12/12/schemacompare.html

> RH> How does this TML setup avoid me having to write any php/perl/etc?
> 
> Any inquired tree

An "inquired tree" how? I'm sat here at my laptop, and I want to get a 
list of flights into a spreadsheet I'm doing for my boss.
1. How do I create my TML query (assuming I haven't read the TML manual, 
because if I can read manuals then SQL is viable)?
2. How do I get my query from my laptop to my database server?
3. How do I get results into the spreadsheet?
> (in reduction case - inquired one table or one view),
> which is finished by '>>' at the end,
> is in output automatically (port #80, HTTP protocol,
> http://sql4.by.ru/site/sql40/en/author/inout_eng.htm
> and
> http://sql4.by.ru/site/sql40/en/author/introduction_eng.htm#http).

You trimmed the first part of my question: "Let's say I want to build a 
holiday website. How does this TML setup avoid me having to write any 
php/perl/etc?"

I'm a small travel agent, and I want to let customers see what flights I 
can offer them. We're going to need a form that lets people choose from 
a list of start and end cities, pick a date and see a list of flights 
(sorted by cost, or length or some such). At present I'll build that 
with e.g. PHP + SQL => PostgreSQL. What part of the process does TML 
make easier?

--   Richard Huxton  Archonet Ltd


Hi Dmitry,

On Wed, 2007-04-25 at 10:47 +0300, Dmitry Turin wrote:
> J> And there's nothing wrong with Perl, PHP, Python and the myriad
> J> interface languages.
> 
> I said many times, what is wrong:
> applied users can not join sql and perl, can not use libraries,
> and can not adjust web-server.

I strongly disagree.  I have not taken any formal courses on PHP, HTML,
Apache or Python, and I only took a couple of week-long courses on SQL
ages ago (Perl I don't care for).  Yet I've learned enough on my own to
"join" them and use their libraries and put up a website.  And I believe
there are others on this list and elsewhere that have done so, to
varying degrees.  And yet others may require the assistance of a
technical specialist or a full-time programming team, but what's wrong
with that?

> J> thousands of users may agree and converge on those choices.
> 
> 1. Not users, but programmers.
> 2. Needs are produced also, as goods and capital goods.
>      Karl Marks
>    For example, look at yourself.

We are on diametrically opposed sides of that argument, but it's
off-topic, so I'll leave it alone.

Joe



Good day, Richard.

RH> <flight_chain ...>
RH>    <flight_options>
RH>      <flight...>
RH>      <flight...>  These three flights represent options
RH>      <flight...>
RH>    </flight_options>
RH> </flight_chain>

Tag <flight_options> is un-necessary (in point of view of DBMS theory).

RH> 2. If you nest flights then you'll be forced to repeat data, surely?
RH> Multiple routes could end up mentioning flight id=123 several times and
RH> each time have to repeat all possible options from it.

Yes.
Remember, this is not manner of storing data in DBMS.
This is manner to visualize for man.

RH> I know whether a mentioned city is:
RH> 1. the start point of a flight
RH> 2. the end point of a flight

"city.flight" - city is start point,
"flight.city" - city is end point

>> Nearly: sorting by first section of tree
>> (maybe by second section and so on after that)
>> is not seggested now
>> (user can sort, for examle, in browser by XSL).

RH> Hang on, XSL is *not* easier to understand than SQL.

Yes.
This means, that it's necessary to develop TML
(or HTML:
http://lists.w3.org/Archives/Public/public-html/2007Apr/1380.html).

>> RH> syntax for these queries isn't obvious enough to me
>> 
>> What is not-obvious -
>> tree notation or work with fields inside section (record) in tree ?
>> If all of them, what is more not-obvious ?

RH> If I'm going to learn only one query language, it'll be SQL
RH> because everything uses it.

'tablename >>;' is better, than to learn php, perl, its library

>> XML is not stored thing, it is a transport form for scheme.
RH> Umm - xml schemas, that describe valid data for an xml document.
RH> http://www.w3.org/XML/Schema
RH> http://www.xml.com/pub/a/2001/12/12/schemacompare.html

Term "scheme" means "database scheme" to me :)

RH> I'm sat here at my laptop, and I want to get a
RH> list of flights into a spreadsheet I'm doing for my boss.

Your boss will itself solve "task of travelling-salesman" ?
By eyes ?

RH> 1. How do I create my TML query (assuming I haven't read the TML manual,
RH> because if I can read manuals then SQL is viable)?

You start browser and open html-document on site of "list of flights".
Html-documents send XML data to Postgres (to site).
Postgres start function with name "main"
http://sql4.by.ru/site/sql40/en/author/inout_eng.htm
Function execute TML-request (it's made by authors of site !),
and Postgres send results to your browser.
You copy from browser into spreadsheet.

Thus you don't need to write request.
You will write TML-request, if you will author of site.

RH> 3. How do I get results into the spreadsheet?

It depends of data model:
if your get tree - there is no way in general case (i think),
if your get records of only one table/view:

create view x as
select city.name as start, city.name as end, flight.t1, flight.t2, day
from city, flight;
x >>;

then you get

<x start="A" end="B" t1="5.00"  t2="7.00"  day="monday">
...
<x start="K" end="L" t1="15.00" t2="17.00" day="sunday">

RH> How does this TML setup avoid me having to write any
RH> php/perl/etc?"

Look example about site of "list of flights" above.

RH> We're going to need a form that lets people choose from
RH> a list of start and end cities, pick a date and see a list of flights
RH> (sorted by cost, or length or some such). At present I'll build that
RH> with e.g. PHP + SQL => PostgreSQL. What part of the process does TML
RH> make easier?

You use only SQL and small simple part (simple part !) of TML to
transport data.

P.S.
Soon i add sorting into TML.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Good day, Richard.

RH> <flight_chain ...>
RH>    <flight_options>
RH>      <flight...>
RH>      <flight...>  These three flights represent options
RH>      <flight...>
RH>    </flight_options>
RH> </flight_chain>

Tag <flight_options> is un-necessary (in point of view of DBMS theory).

RH> 2. If you nest flights then you'll be forced to repeat data, surely?
RH> Multiple routes could end up mentioning flight id=123 several times and
RH> each time have to repeat all possible options from it.

Yes.
Remember, this is not manner of storing data in DBMS.
This is manner to visualize for man.

RH> I know whether a mentioned city is:
RH> 1. the start point of a flight
RH> 2. the end point of a flight

"city.flight" - city is start point,
"flight.city" - city is end point

>> Nearly: sorting by first section of tree
>> (maybe by second section and so on after that)
>> is not seggested now
>> (user can sort, for examle, in browser by XSL).

RH> Hang on, XSL is *not* easier to understand than SQL.

Yes.
This means, that it's necessary to develop TML
(or HTML:
http://lists.w3.org/Archives/Public/public-html/2007Apr/1380.html).

>> RH> syntax for these queries isn't obvious enough to me
>> 
>> What is not-obvious -
>> tree notation or work with fields inside section (record) in tree ?
>> If all of them, what is more not-obvious ?

RH> If I'm going to learn only one query language, it'll be SQL
RH> because everything uses it.

'tablename >>;' is better, than to learn php, perl, its library

>> XML is not stored thing, it is a transport form for scheme.
RH> Umm - xml schemas, that describe valid data for an xml document.
RH> http://www.w3.org/XML/Schema
RH> http://www.xml.com/pub/a/2001/12/12/schemacompare.html

Term "scheme" means "database scheme" to me :)

RH> I'm sat here at my laptop, and I want to get a
RH> list of flights into a spreadsheet I'm doing for my boss.

Your boss will itself solve "task of travelling-salesman" ?
By eyes ?

RH> 1. How do I create my TML query (assuming I haven't read the TML manual,
RH> because if I can read manuals then SQL is viable)?

You start browser and open html-document on site of "list of flights".
Html-documents send XML data to Postgres (to site).
Postgres start function with name "main"
http://sql4.by.ru/site/sql40/en/author/inout_eng.htm
Function execute TML-request (it's made by authors of site !),
and Postgres send results to your browser.
You copy from browser into spreadsheet.

Thus you don't need to write request.
You will write TML-request, if you will author of site.

RH> 3. How do I get results into the spreadsheet?

It depends of data model:
if your get tree - there is no way in general case (i think),
if your get records of only one table/view:

create view x as
select city.name as start, city.name as end, flight.t1, flight.t2, day
from city, flight;
x >>;

then you get

<x start="A" end="B" t1="5.00"  t2="7.00"  day="monday">
...
<x start="K" end="L" t1="15.00" t2="17.00" day="sunday">

RH> How does this TML setup avoid me having to write any
RH> php/perl/etc?"

Look example about site of "list of flights" above.

RH> We're going to need a form that lets people choose from
RH> a list of start and end cities, pick a date and see a list of flights
RH> (sorted by cost, or length or some such). At present I'll build that
RH> with e.g. PHP + SQL => PostgreSQL. What part of the process does TML
RH> make easier?

You use only SQL and small simple part (simple part !) of TML to
transport data.

P.S.
Soon i add sorting into TML.


P.P.S.
Richard, send letter only to mailing list, not to me.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Good day, Joe.

>> J> And there's nothing wrong with Perl, PHP, Python and the myriad
>> J> interface languages.
>> 
>> I said many times, what is wrong:
>> applied users can not join sql and perl, can not use libraries,
>> and can not adjust web-server.

J> II have not taken any formal courses

Joe, i speak not about you, but about statistics.

J> there are others on this list and elsewhere that have done so

Second question: why?
For what people must learn php, etc,
if they need only output data from database.

>others may require the assistance of a
J> technical specialist or a full-time programming team, but what's wrong
J> with that?

expenses of money, time, nerve to explain task to other man

P.S.
Joe, send letter only to mailing list, not to me.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Richard Huxton
Date:
Dmitry Turin wrote:
> Good day, Richard.
> 
> RH> <flight_chain ...>
> RH>    <flight_options>
> RH>      <flight...>
> RH>      <flight...>  These three flights represent options
> RH>      <flight...>
> RH>    </flight_options>
> RH> </flight_chain>
> 
> Tag <flight_options> is un-necessary (in point of view of DBMS theory).

But that's what you're describing isn't it?
1. A journey (flight_chain) between city A and city Z consists of one or 
more flights.
2. The next flight has to start at the current city, but there may be 
several flights to choose from.
3. The last flight must end at city Z.

Now stage 2 groups the flights to choose among - you can call it 
something else, but the equivalent of flight_options is there.

> RH> 2. If you nest flights then you'll be forced to repeat data, surely?
> RH> Multiple routes could end up mentioning flight id=123 several times and
> RH> each time have to repeat all possible options from it.
> 
> Yes.
> Remember, this is not manner of storing data in DBMS.
> This is manner to visualize for man.

So how do I know it's repeated without grabbing a pencil and paper and 
scrolling back and fore to compare them?

> RH> I know whether a mentioned city is:
> RH> 1. the start point of a flight
> RH> 2. the end point of a flight
> 
> "city.flight" - city is start point,
> "flight.city" - city is end point
> 
>>> Nearly: sorting by first section of tree
>>> (maybe by second section and so on after that)
>>> is not seggested now
>>> (user can sort, for examle, in browser by XSL).
> 
> RH> Hang on, XSL is *not* easier to understand than SQL.
> 
> Yes.
> This means, that it's necessary to develop TML
> (or HTML:
> http://lists.w3.org/Archives/Public/public-html/2007Apr/1380.html).

Are you sure this wouldn't just be easier if you wrote a specialised 
data-visualiser application?

>>> RH> syntax for these queries isn't obvious enough to me
>>>
>>> What is not-obvious -
>>> tree notation or work with fields inside section (record) in tree ?
>>> If all of them, what is more not-obvious ?
> 
> RH> If I'm going to learn only one query language, it'll be SQL
> RH> because everything uses it.
> 
> 'tablename >>;' is better, than to learn php, perl, its library

But you're not doing the same thing.

>>> XML is not stored thing, it is a transport form for scheme.
> RH> Umm - xml schemas, that describe valid data for an xml document.
> RH> http://www.w3.org/XML/Schema
> RH> http://www.xml.com/pub/a/2001/12/12/schemacompare.html
> 
> Term "scheme" means "database scheme" to me :)

But you were talking about XML at the time.

> RH> I'm sat here at my laptop, and I want to get a
> RH> list of flights into a spreadsheet I'm doing for my boss.
> 
> Your boss will itself solve "task of travelling-salesman" ?
> By eyes ?

No, but my boss wants a list of flights from London to Madrid for next 
Friday, with prices, times etc.

> RH> 1. How do I create my TML query (assuming I haven't read the TML manual,
> RH> because if I can read manuals then SQL is viable)?
> 
> You start browser and open html-document on site of "list of flights".
> Html-documents send XML data to Postgres (to site).
> Postgres start function with name "main"
> http://sql4.by.ru/site/sql40/en/author/inout_eng.htm
> Function execute TML-request (it's made by authors of site !),
> and Postgres send results to your browser.
> You copy from browser into spreadsheet.
> 
> Thus you don't need to write request.

So what does it matter to me as a user whether the site is written in 
TML+Java or SQL+Java?

And if I'm building the site in PHP anyway (and I'm going to need 
forms/buttons/etc in some language) then what am I gaining from the TML?

> You will write TML-request, if you will author of site.
> 
> RH> 3. How do I get results into the spreadsheet?
> 
> It depends of data model:
> if your get tree - there is no way in general case (i think),
> if your get records of only one table/view:
> 
> create view x as
> select city.name as start, city.name as end, flight.t1, flight.t2, day
> from city, flight;
> x >>;

Hang on - you're using SQL. Why not just use pgadmin and paste the 
results from my query if I'm using SQL anyway?

> 
> then you get
> 
> <x start="A" end="B" t1="5.00"  t2="7.00"  day="monday">
> ...
> <x start="K" end="L" t1="15.00" t2="17.00" day="sunday">
> 
> RH> How does this TML setup avoid me having to write any
> RH> php/perl/etc?"
> 
> Look example about site of "list of flights" above.

Sorry - you didn't eliminate any code there.

> RH> We're going to need a form that lets people choose from
> RH> a list of start and end cities, pick a date and see a list of flights
> RH> (sorted by cost, or length or some such). At present I'll build that
> RH> with e.g. PHP + SQL => PostgreSQL. What part of the process does TML
> RH> make easier?
> 
> You use only SQL and small simple part (simple part !) of TML to
> transport data.

But the transport of the data is trivial, assuming I have a webserver 
and PHP/Perl/ASP/etc. available.

--   Richard Huxton  Archonet Ltd


Good day, Richard.

>> RH> <flight_chain ...>
>> RH>    <flight_options>
>> RH>      <flight...>
>> RH>      <flight...>  These three flights represent options
>> RH>      <flight...>
>> RH>    </flight_options>
>> RH> </flight_chain>
RH> 1. A journey (flight_chain) between city A and city Z consists of one or
RH> more flights.
RH> 2. The next flight has to start at the current city, but there may be
RH> several flights to choose from.
RH> 3. The last flight must end at city Z.
RH> Now stage 2 groups the flights to choose among - you can call it
RH> something else, but the equivalent of flight_options is there.

Tag "city" executed the same role in my version,
that tag "flight_chain" in your version.

>> RH> 2. If you nest flights then you'll be forced to repeat data, surely?
>> RH> Multiple routes could end up mentioning flight id=123 several times and
>> RH> each time have to repeat all possible options from it.
>> 
>> Yes.
>> Remember, this is not manner of storing data in DBMS.
>> This is manner to visualize for man.
RH> So how do I know it's repeated without grabbing a pencil and paper and
RH> scrolling back and fore to compare them?

Write XML-form, which illustrate, what are you want.
I will write request.

RH> Are you sure this wouldn't just be easier if you wrote a specialised
RH> data-visualiser application?

Avarage used can not use library of intermediate language
to join DBMS and browser.

P.S.
Programmers are small percent of all users.

>> RH> If I'm going to learn only one query language, it'll be SQL
>> RH> because everything uses it.
>> 
>> 'tablename >>;' is better, than to learn php, perl, its library
RH> But you're not doing the same thing.

I'm not doing? I have write example!

>> Term "scheme" means "database scheme" to me :)
RH> But you were talking about XML at the time.

XML is not stored thing, it is a transport form for scheme.
Let's ask concrete questions, ok?

>> RH> I'm sat here at my laptop, and I want to get a
>> RH> list of flights into a spreadsheet I'm doing for my boss.
>> 
>> Your boss will itself solve "task of travelling-salesman" ?
>> By eyes ?
RH> No, but my boss wants a list of flights from London to Madrid for next
RH> Friday, with prices, times etc.

Direct flight?#city[name="London"].flight/c1:c2[#c1 #c2 #day="friday"].#city[name="Madrid"] >>;

Roundabout flight?
#city[name="London"].(flight/c1:c2[#day="friday" t1-^^.t2>30min].city)*||name="Madrid" ;

Prices and times is attributes of FLIGHT.
These are in Example 2.
http://sql4.by.ru/site/sql40/en/author/wave_eng.htm

RH> So what does it matter to me as a user

User only use.
Difference between realizations of site is important only for authors
of site.

RH>  whether the site is written in TML+Java

What will Java do ?

RH> And if I'm building the site in PHP anyway (and I'm going to need
RH> forms/buttons/etc in some language) then what am I gaining from the TML?

>> create view x as
>> select city.name as start, city.name as end, flight.t1, flight.t2, day
>> from city, flight;
>> x >>;
RH> Hang on - you're using SQL. Why not just use pgadmin and paste the
RH> results from my query if I'm using SQL anyway?

paste by hands?

RH> Sorry - you didn't eliminate any code there.

I simplify code.
Compare call of php library for database, getting record set,
embrace records in circle by html-tags, call php library for
http-communication.

RH> But the transport of the data is trivial, assuming I have a webserver
RH> and PHP/Perl/ASP/etc. available.

1. Speak not about you, but about average user.You don't know real statistics.
2. Even you make superfluous job.


Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Andrew Sullivan
Date:
On Thu, Apr 26, 2007 at 11:28:30AM +0300, Dmitry Turin wrote:
> 
> Yes.
> Remember, this is not manner of storing data in DBMS.
> This is manner to visualize for man.

So all of this sound and fury is not, as we have been understanding
it, over some fundamental change to the way Pg works, but is instead
some sort of veneer over the face of it?  In that case, why not just
write some user-space application that takes this (IMO useless) TML
and translates it into proper SQL?  You don't need to make any
changes to Postgres at all, it seems.

A
-- 
Andrew Sullivan  | ajs@crankycanuck.ca
Information security isn't a technological problem.  It's an economics
problem.    --Bruce Schneier


Dmitry,

On Thu, 2007-04-26 at 11:33 +0300, Dmitry Turin wrote:
> Joe, i speak not about you, but about statistics.

Do you actually have statistics of how many people in the general
population have learned SQL?  And furthermore, how many of those people
didn't already know or didn't want to bother learning another
computer-related language?

> J> there are others on this list and elsewhere that have done so
> 
> Second question: why?
> For what people must learn php, etc,
> if they need only output data from database.

If people only need to examine or visualize data, they can use any
number of "user friendly" tools:  PgAdmin, Excel with ODBC, etc. (and
these may not be the best examples).  However, someone will still have
to learn SQL and C, PHP, Python, etc., to create an application to input
and maintain the data.

> >others may require the assistance of a
> J> technical specialist or a full-time programming team, but what's wrong
> J> with that?
> 
> expenses of money, time, nerve to explain task to other man

I believe your worldview is affected by the people you interact with.
The average man or woman on the street doesn't want to know about SQL,
relational databases, third normal form or, with all due respect, TML.
If they have Internet access, they want to enter a query string into
something like Google or Amazon and look at the results.  Do you think
if Amazon gave raw read access to their underlying database, many people
would jump to query it with SQL, TML or any computer language?  And even
those who did, when they found a book of their choice they would still
need APPLICATION code to enter their order.

OTOH, I think you're dealing with a select group of scientists who have
these data and they would love to "mine" it and analyze it to the nth
degree but they don't want to jump through (too many) hoops to do so.
And maybe TML is just what they need.

And there are others (business people, for example) who also need to
analyze the data they have and they don't mind paying for programmers,
DBAs, etc. (even if sometimes it may be tough for them explaining *what*
they want).  For those, TML may or may not be a solution.  The
marketplace will decide.

Joe



Re: Fwd: Re[2]: We all are looped on Internet: request + transport = invariant

From
Richard Huxton
Date:
Dmitry Turin wrote:
> Good day, Richard.
> 
>>> RH> <flight_chain ...>
>>> RH>    <flight_options>
>>> RH>      <flight...>
>>> RH>      <flight...>  These three flights represent options
>>> RH>      <flight...>
>>> RH>    </flight_options>
>>> RH> </flight_chain>
> RH> 1. A journey (flight_chain) between city A and city Z consists of one or
> RH> more flights.
> RH> 2. The next flight has to start at the current city, but there may be
> RH> several flights to choose from.
> RH> 3. The last flight must end at city Z.
> RH> Now stage 2 groups the flights to choose among - you can call it
> RH> something else, but the equivalent of flight_options is there.
> 
> Tag "city" executed the same role in my version,
> that tag "flight_chain" in your version.

No, it didn't.

>>> RH> 2. If you nest flights then you'll be forced to repeat data, surely?
>>> RH> Multiple routes could end up mentioning flight id=123 several times and
>>> RH> each time have to repeat all possible options from it.
>>>
>>> Yes.
>>> Remember, this is not manner of storing data in DBMS.
>>> This is manner to visualize for man.
> RH> So how do I know it's repeated without grabbing a pencil and paper and
> RH> scrolling back and fore to compare them?
> 
> Write XML-form, which illustrate, what are you want.
> I will write request.

What's that got to do with knowing whether a particular tag is repeated 
elsewhere in a long list.

> RH> Are you sure this wouldn't just be easier if you wrote a specialised
> RH> data-visualiser application?
> 
> Avarage used can not use library of intermediate language
> to join DBMS and browser.

No, I said write your own "TML browser".

> P.S.
> Programmers are small percent of all users.
> 
>>> RH> If I'm going to learn only one query language, it'll be SQL
>>> RH> because everything uses it.
>>>
>>> 'tablename >>;' is better, than to learn php, perl, its library
> RH> But you're not doing the same thing.
> 
> I'm not doing? I have write example!

No, you've provided a way of reformatting query results as XML. That's 
not the same as a public-facing website at all. You don't think British 
Airways will have people querying their database by entering TML queries?

>>> Term "scheme" means "database scheme" to me :)
> RH> But you were talking about XML at the time.
> 
> XML is not stored thing, it is a transport form for scheme.
> Let's ask concrete questions, ok?
> 
>>> RH> I'm sat here at my laptop, and I want to get a
>>> RH> list of flights into a spreadsheet I'm doing for my boss.
>>>
>>> Your boss will itself solve "task of travelling-salesman" ?
>>> By eyes ?
> RH> No, but my boss wants a list of flights from London to Madrid for next
> RH> Friday, with prices, times etc.
> 
> Direct flight?
>  #city[name="London"].flight/c1:c2[#c1 #c2 #day="friday"].#city[name="Madrid"] >>;
> 
> Roundabout flight?
> #city[name="London"].(flight/c1:c2[#day="friday" t1-^^.t2>30min].city)*||name="Madrid" ;
> 
> Prices and times is attributes of FLIGHT.
> These are in Example 2.
> http://sql4.by.ru/site/sql40/en/author/wave_eng.htm
> 
> RH> So what does it matter to me as a user
> 
> User only use.
> Difference between realizations of site is important only for authors
> of site.

So who it *is* the programmer who is using TML then?

> RH>  whether the site is written in TML+Java
> 
> What will Java do ?

As I said in my previous post, everything else (see next two lines 
you've quoted).

> RH> And if I'm building the site in PHP anyway (and I'm going to need
> RH> forms/buttons/etc in some language) then what am I gaining from the TML?
> 
>>> create view x as
>>> select city.name as start, city.name as end, flight.t1, flight.t2, day
>>> from city, flight;
>>> x >>;
> RH> Hang on - you're using SQL. Why not just use pgadmin and paste the
> RH> results from my query if I'm using SQL anyway?
> 
> paste by hands?
> 
> RH> Sorry - you didn't eliminate any code there.
> 
> I simplify code.

Can't see it myself.

> Compare call of php library for database, getting record set,
> embrace records in circle by html-tags, call php library for
> http-communication.

I still don't see the sense in what you're saying. My process is:
1. User goes to website
2. User fills in PHP form: start city, end city, date he wants to fly.
3. PHP generates SQL query and submits to database
4. Database runs query result as table
5. PHP formats results as nicely formatted table with company logos etc.
6. User views results.

Yours is:
1. User goes to website
2. User fills in PHP form: start city, end city, date he wants to fly.
3. PHP generates TML query and submits to database
4. Database runs query result as XML
5. PHP formats results as nicely formatted table with company logos etc.
6. User views results.

What is saved?
And let's not say the user is viewing the raw XML because that's clearly 
no use in a public-facing site.

> RH> But the transport of the data is trivial, assuming I have a webserver
> RH> and PHP/Perl/ASP/etc. available.
> 
> 1. Speak not about you, but about average user.

But you just said the average user isn't building the application/website.

>  You don't know real statistics.
> 2. Even you make superfluous job.

Sounds to me like you want to either build your own browser, or just 
write a server-side application that receives TML and outputs XML. If 
you're serious about this, I recommend looking around for a 
PHP/Perl/Java programmer and hiring them for a week - that should be 
more than enough.

Then, when you've got a few thousand users it will become clearer whats 
actually required.

--   Richard Huxton  Archonet Ltd


Re: We all are looped on Internet: request + transport = invariant

From
Adam Tauno Williams
Date:
> >> J> And there's nothing wrong with Perl, PHP, Python and the myriad
> >> J> interface languages.
> >> I said many times, what is wrong:
> >> applied users can not join sql and perl, can not use libraries,
> >> and can not adjust web-server.
> J> II have not taken any formal courses
> Joe, i speak not about you, but about statistics.
> J> there are others on this list and elsewhere that have done so
> Second question: why?
> For what people must learn php, etc,
> if they need only output data from database.

They don't;  there are a myriad options.  I've got numerous 'normal
users' who use a database to do reasonably sophisticated things.  All
you need is a good client;  we use DbVisualizer
[ http://www.minq.se/products/dbvis/ ].  There are others,  you don't
need a programming language at all if all you want is "output data from
database".  Many of these, including DbVisualizer include GUI
drag-n-drop query builders.

Yes, you have to learn some SQL,  but there is no case where you get
something for nothing;  and almost all humans are reliably
quick-studies, even innovative, when they are properly motivated.

> >others may require the assistance of a
> J> technical specialist or a full-time programming team, but what's wrong
> J> with that?
> expenses of money, time, nerve to explain task to other man

-- 
Adam Tauno Williams, Network & Systems Administrator
Consultant - http://www.whitemiceconsulting.com
Developer - http://www.opengroupware.org



Good day, Andrew.

AS> translates it into proper SQL?

How are you going to send and get XML-data by SQL ?




Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru



Re: We all are looped on Internet: request + transport = invariant

From
Dmitry Turin
Date:
Good day, Joe.

Joe and other respected comrades,
don't be angry, when my letter will be late.
This is caused by technical schedule of our internet.

J> ... and C, PHP, Python, etc., to create an application to input
J> and maintain the data.

Question remains open:
for what people must learn php, if they need mainly
"table1.table2 >>;" or "create view x ...; x>>;"

I explain this thought.
For example, TML consist of two parts: SIMPLE and DIFFICULT.
Border between them is so: users will use mainly
"<tagname> >>;" or "tablename >>;"

Not all of TML will be used by low-skill users.
But this don't canceals, that users need simple part of TML.

J> Do you think
J> if Amazon gave raw read access to their underlying database,
J> many people would jump to query it with SQL, TML or any computer language?

I speak about situation,
when people need to create complex "database-visualizer"
(visualizer is a browser, spreadsheet, etc).
Practice show, that they use only database in this case
(by sql-terminal like "pgsql.exe").

J> you're dealing with a select group of scientists who have
J> these data and they would love to "mine" it and analyze it to the nth
J> degree but they don't want to jump through (too many) hoops to do so.
J> And maybe TML is just what they need.

You are right.

J> And there are others (business people, for example)
J> who also need to analyze the data
J> they have and they don't mind paying for programmers,
J> DBAs, etc. (even if sometimes it may be tough for them explaining *what*
J> they want).  For those, TML may or may not be a solution.  The
J> marketplace will decide.

I think, even high-skill users will prefer TML over php
in simple case like
"tablename>>;"".
I think, even you will prefer in this case.

---statistics

J> Do you actually have statistics of how many people in the general
J> population have learned SQL?

I imply phisicists, optics phisicists, biologists, zoologists,
ecologists, with which i work from 1992 year.

J> how many of those people didn't already know

People of all technical profession
(also chemists, technologists and others, which i meet, but with which i don't work)
already know some computer languages -
oldest generation: fortran, latex, shell (a little);
middle geeration: c, fortran (a little), shell (a little);
youngest generation: 1% use "c", 99% use "pascal"
(not both of them, but often use Delpi).
I speak about russian universities.

If youngest generation meet need to use DBMS,
all of them have learned by SQL
(not PL/SQL, not system tables of DBMS).
Deal with HTML is the same.

People of non-technical professsion don't learn languages in universities
(dispite of computer languages is part of program of universities).
When they meet a need,
half of them ask comarades to do task,
half of them ask comarades to help in studing of languages.
So situation is 50%-50%.

I don't know situation in colleges.

J> or didn't want to bother learning another
J> computer-related language?

People of all profession want to learn a little.
"A little" means the following:
they will learn SQL to work with data,
but will not direct output to browser, spreadsheet, etc by language -
they will use "pgsql.exe" -
despite of presentation in "pgsql.exe" is less comfortable,
than in browser, etc.
Using of tools like "Cristal Report" is very seldom
(i never meet, that russian applied specialist use such tools for databases).

>> For what people must learn php, etc,
>> if they need only output data from database.
J> they can use any number of "user friendly" tools:  PgAdmin

"PgAdmin" is the same for visualization, as "pgsql.exe"

J> Excel with ODBC

Using this is over skills of users.

J> However, someone will still have to learn SQL

SQL is point, which may not be avoided (now).
Thus SQL is separate topic.

J> The average man or woman on the street

For what you say about street ?
Average people, which you can meet on street, make physical job.



Dmitry Turin
http://html6.by.ru
http://sql4.by.ru
http://computer2.by.ru




Hi Dmitry,

On Wed, 2007-05-02 at 08:05 +0300, Dmitry Turin wrote:
> J> The average man or woman on the street
> 
> For what you say about street ?
> Average people, which you can meet on street, make physical job.

That is an American colloquialism to refer to just about anyone,
regardless of what kind of work they do.  The point is that --using the
Pareto principle-- 80% (probably much more) of the people don't know SQL
or are fluent in other programming languages, and they don't want to be
bothered with *any* of it except to use the products and services that
are made possible through them.

According to the U.S. Bureau of Labor Statistics (BLS) there were
455,000 programming jobs in 2004.  Even if you raise that by an order of
magnitude you're still talking about less than 2% of the U.S.
population.  The BLS estimates there were 16,000 physicists/astronomers
and 77,0000 biological scientists.  So the software/programming and
scientist populations may be roughly comparable.  While the ratios may
be better in some other countries, I doubt that they're much off.

The bottom line is: the markets for PHP/etc. and TML are not too large,
but you seem to be having a hard time convincing those of us who've
taken even a mild interest in TML that it's really needed or is a better
solution than what exists today.

Joe



Dmitry Turin wrote:
> Good day, Richard.
> 
> RH> With 7 flights it is easy to see if #2 matches #4. With 700 it is not so
> RH> easy to see #2 matches #504. With a tree-structure it is impossible to
> RH> sort leaf nodes without restructuring the tree.
> 
> What is "#2 matches #4" ?

Individual flights might occur in one or more options when building a 
flight-plan.

> What sorting are you imply ?

None.

> To be in safe side:
> TML allow table as particular case of tree
> (when records of one table, i.e. nodes, have not sub-records, i.e. sub-nodes).
> 
> RH> Never heard of eHTML, and I don't believe you can build a public-facing
> RH> website with it unless it's at least as complicated as php.
> 
> I try
> http://lists.w3.org/Archives/Public/public-html/2007Apr/1384.html
> http://lists.w3.org/Archives/Public/public-html/2007Apr/1380.html

Nothing there to build a website with - by which I mean the logic 
required for an interactive website.

>>> No. html-page send xml-data to TML-function "main".
>>> Without any PHP.
> RH> But it can't. It's HTML. You can't map arbitrary user-interface (e.g.
> RH> perhaps I want users to click on a map of the world to pick cities) to a
> RH> query language without some sort of glue language.
> 
> You click on a map, and form send data to DBMS
> (DBMS listen port#80 and accept HTTP).
> What is impossible ?

1. HTML can't locate the nearest valid city based on where you clicked. 
HTML+Javascript could perhaps, but you didn't want people learning 
programming languages.
2. There isn't a database that listens on port 80 for HTTP
3. If there was, you'd still need it to translate a HTTP POST/GET into 
an internal query (in SQL or TML if there existed an implementation of 
TML). For non-trivial cases, that implies a programming language.
4. You'd still need logic to validate/transform input values and do the 
same for output values. For non-trivial cases that involves a 
programming language.

>>> RH> 5. PHP formats results
>>> TML extract xml to address of requester.
> 
> RH> But no-one's going to want raw XML are they? They'll want properly
> RH> formatted results
> 
> I agree.
> Results will formatted by CSS (or XSL).
> 
> Even XSL is easier for scientists, than PHP-library.

Why are scientists building a flight-planning website?

--   Richard Huxton  Archonet Ltd