Re: postgreSQL as deductive DBMS
От | Michael Meskes |
---|---|
Тема | Re: postgreSQL as deductive DBMS |
Дата | |
Msg-id | 20050516154621.GA11562@1 обсуждение исходный текст |
Ответ на | postgreSQL as deductive DBMS (Dmitriy Letuchy <dm.l@mail.ru>) |
Список | pgsql-hackers |
Having written my thesis about deductive DBS I cannot resist giving my 2 cent. On Mon, May 16, 2005 at 01:42:24PM +0400, Dmitriy Letuchy wrote: > Now some words about what must be done to realize described feature. The simple quickest way but the way without futureis to write language handler. Other more correct way is to slightly extend DML part of SQL and more essentially extendDDL. For example, we have relation Inheritance with two attributes ClassID and ParentID. Now we want to define alldescendants or all ancestors. For this goal we define predicate inheritance_all with the next two rules (i.e. inverseimplications): > > inheritance_all(ClassID, ParentID) :- inheritance(ClassID, ParentID); > inheritance_all(ClassID, ParentID) :- inheritance(ClassID, X), > inheritance_all(X, ParentID). > > We put this rules into database and call, for example, the next SQL commands: > > -- find all descendents > SELECT * FROM ddb_name.inheritance_all(_, _) How do you plan to execute this statement. As you mentioned above all logic queries can be rewritten into SQL ones, but you have to find a way to handle recursion. I would think the best way is to add recursion to SQL and then completely rewrite the statements. Also, and that's where it starts to become interesting, how do you plan to handle negation inside recursion? Michael -- Michael Meskes Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!
В списке pgsql-hackers по дате отправления: