| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Demo: Modelling Cost of Travel Paths Between Towns
Neo: With XDb2, no initial "schema" is required and
"SELECT %.age & %.name=john;"
works regardless of what things have to be represented later.
Ed: Using ORACLE,
SPOOL age.sql
select 'select ''', ta.table_name, ''', AGE from ', ta.table_name,
' where name = ''JOHN'' ;'
from user_tab_columns ta,
user_tab_columns tb
where ta.table_name=tb.table_name
and ta.column_name = 'AGE'
and ta.column_name <> tb.column_name
and tb.column_name = 'NAME'
/
SPOOL OFF
START age.sql
> It finds every table (THING in neo-speak) accessable to the user
> account that has columns named 'NAME' and 'AGE' and then produces a
> report of the table name and the value of the age column for all rows
> having a name of JOHN. AND the ORACLE query could easily be extended
> to increment those ages. Since XDb2 cannot do even integer arithmetic,
> I'd say RDBMS comes out ahead again. XDb2 treats everything as a "THING".
> and RDBMS treats everything as a "TABLE". Meta queries are possible in both.
> The XDb2 query is shorter, but not logically less complex. So I'm still
> looking to see the big advantage in Xdb2. I haven't seen it yet.
You are right, I don't see any advantages either. What does "logically less complex" mean? Does your solution handle the following cases without NULLs or redundancies:
If the name "john" appears multiple times in one table and/or in other tables, would you consider the additional strings "john" to be duplicate/redundant/un-normalized? If not, how would RMDM add properties to a name (ie name's meaning, derivation, history) and which string "john" would you add it to and in which table? If the name of some aliens is an integer or a float, how will your system handle this? How would your system know that a name of an alien is also and integer, float, etc?
If an alien's age is not specified in terms of integers but require words (and uses a math not built into ORACLE) how will your system handle this? (With XDb2 both integer and alien math have to be handled in code). And what if each age has a different property?
If you prefer to allow NULLs, what values for name, age and classification will you use instead? And how will you handle the situation where a future alien has a name, age or classification designated for NULLs at design-time?
Would your initial schema and query continue to work under above cases? If not, what changes would be required? Received on Tue Nov 23 2004 - 11:57:20 CST
![]() |
![]() |