dbTalk Databases Forums  

Variable tables

comp.databases.oracle.misc comp.databases.oracle.misc


Discuss Variable tables in the comp.databases.oracle.misc forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Google Poster
 
Posts: n/a

Default Variable tables - 09-03-2009 , 09:42 PM






This is a continuation of my whining against the relational model.

Yes, I realize that it is efficient and its theoretical background is
elegant, nay, beautiful. I read all about it when I was in college.

The problem is like trying to put a round peg in the proverbial square
-actually: rectangular- hole.

We deal with many different companies and have to replicate their
database structure. A feature that comes to mind is the variable
'struct' in C. IIRC Oracle supports something like that. I envision a
table whose fields are divided in two classes:

- common fields, which are used by all instances of such table
- a variable (or "custom" for lack of a better term) part which is
specific to each case.

I would like to re-use the programs (I program with the Pro C
precompiler). across the "variant" tables.

TIA,

GP

Reply With Quote
  #2  
Old   
David Portas
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 01:43 AM






"Google Poster" <goposter (AT) jonjay (DOT) com> wrote

Quote:
This is a continuation of my whining against the relational model.

Yes, I realize that it is efficient and its theoretical background is
elegant, nay, beautiful. I read all about it when I was in college.

The problem is like trying to put a round peg in the proverbial square
-actually: rectangular- hole.

We deal with many different companies and have to replicate their
database structure. A feature that comes to mind is the variable
'struct' in C. IIRC Oracle supports something like that. I envision a
table whose fields are divided in two classes:

- common fields, which are used by all instances of such table
- a variable (or "custom" for lack of a better term) part which is
specific to each case.

I would like to re-use the programs (I program with the Pro C
precompiler). across the "variant" tables.

TIA,

GP

All tables are "variable", ie. table structure is dynamic rather than fixed.
Schema change is the norm in many if not most databases and the only
question is how you manage that change (essentially a management problem
rather than a technical one).

--
David Portas

Reply With Quote
  #3  
Old   
Google Poster
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 06:14 AM



On Sep 4, 2:43*am, "David Portas"
<REMOVE_BEFORE_REPLYING_dpor... (AT) acm (DOT) org> wrote:
Quote:
"Google Poster" <gopos... (AT) jonjay (DOT) com> wrote in message

news:67eb6c60-22c8-4aaf-bc98-2fb9b78249c0 (AT) z16g2000yqe (DOT) googlegroups.com...





This is a continuation of my whining against the relational model.

Yes, I realize that it is efficient and its theoretical background is
elegant, nay, beautiful. I read all about it when I was in college.

The problem is like trying to put a round peg in the proverbial square
-actually: rectangular- hole.

We deal with many different companies and have to replicate their
database structure. A feature that comes to mind is the variable
'struct' in C. IIRC Oracle supports something like that. I envision a
table whose fields are divided in two classes:

- common fields, which are used by all instances of such table
- a variable (or "custom" for lack of a better term) part which is
specific to each case.

I would like to re-use the programs (I program with the Pro C
precompiler). across the "variant" tables.

TIA,

GP

All tables are "variable", ie. table structure is dynamic rather than fixed.
Schema change is the norm in many if not most databases and the only
question is how you manage that change (essentially a management problem
rather than a technical one).

--
David Portas
I believe we have a time scaledifference as to what constitutes
dynamism:

- You are referring to table structure (its fields) changing from one
year to the next. What you are essentially saying is that the only
tables ever that remain constant are those given by God to Moses.
People don't put those kinds immovable stuff in software (hardware
perhaps).

- I am referring to the table structure changing from a millisecond
to the next. In a tight loop, the table is seen as having certain
structure, and next iteration it is seen as different. That is a
technical issue.

In my C example I should have used the word "union".

-GP

Reply With Quote
  #4  
Old   
joel garry
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 12:02 PM



On Sep 4, 4:14*am, Google Poster <gopos... (AT) jonjay (DOT) com> wrote:
Quote:
On Sep 4, 2:43*am, "David Portas"



REMOVE_BEFORE_REPLYING_dpor... (AT) acm (DOT) org> wrote:
"Google Poster" <gopos... (AT) jonjay (DOT) com> wrote in message

news:67eb6c60-22c8-4aaf-bc98-2fb9b78249c0 (AT) z16g2000yqe (DOT) googlegroups.com....

This is a continuation of my whining against the relational model.

Yes, I realize that it is efficient and its theoretical background is
elegant, nay, beautiful. I read all about it when I was in college.

The problem is like trying to put a round peg in the proverbial square
-actually: rectangular- hole.

We deal with many different companies and have to replicate their
database structure. A feature that comes to mind is the variable
'struct' in C. IIRC Oracle supports something like that. I envision a
table whose fields are divided in two classes:

- common fields, which are used by all instances of such table
- a variable (or "custom" for lack of a better term) part which is
specific to each case.

I would like to re-use the programs (I program with the Pro C
precompiler). across the "variant" tables.

TIA,

GP

All tables are "variable", ie. table structure is dynamic rather than fixed.
Schema change is the norm in many if not most databases and the only
question is how you manage that change (essentially a management problem
rather than a technical one).

--
David Portas

I believe we have a time scaledifference as to what constitutes
dynamism:

*- You are referring to table structure (its fields) changing from one
year to the next. What you are essentially saying is that the only
tables ever that remain constant are those given by God to Moses.
People don't put those kinds immovable stuff in software (hardware
perhaps).

*- I am referring to the table structure changing from a millisecond
to the next. In a tight loop, the table is seen as having certain
structure, and next iteration it is seen as different. That is a
technical issue.

In my C example I should have used the word "union".

-GP
I work on a system that allows different customers to have different
layouts, and the system adapts somewhat. The downsides are it has to
do some level of lowest-common-denominator across database engines
(which also means it avoids lots of bugs associated with newfangled
features, as well as tuning issues), and it requires keeping
additional metadata, which implies issues of synchronization and other
stupidity like http://richardfoote.wordpress.com/20...n-keys-helden/
(in this case, the opposite problem - no primary keys!).

It works surprisingly well, considering, and also shows where the
value lies - in the application code. Having worked on this app code
and the language involved for many years, I, at least, am convinced
that one should use the features of the database appropriate to your
app, and not try too hard to generalize things. Simply make it easy
to customize for customers, so you can amortize the costs over many
customers and receive revenue for differences. You don't want to try
to define everything down to the hardware layer, that's a real C-
programmer mistaken viewpoint. You want to add some layers of
abstraction, and be able to minimize the calls to the hardware layer,
then optimize those. Think about the Exadata architecture.

Adding the ability to deal with table structure changing by the
millisecond implies adding design constraints for technical reasons,
leading to bad physical design. Stupid in multi-user situations,
which most business situations that require a database are.

jg
--
@home.com is bogus.
http://www.guardian.co.uk/technology...loud-computing

Reply With Quote
  #5  
Old   
Serge Rielau
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 12:27 PM



You should choose the right tool for the right job.
If you have semistructured and schema chaos, perhaps XML and XQuery are
better answers than trying to bang relational into a shape that it is not.
A compromise may be found in table hierarchies... (aka typed tables)

Cheers
Serge

--
Serge Rielau
SQL Architect DB2 for LUW
IBM Toronto Lab

Reply With Quote
  #6  
Old   
sybrandb@hccnet.nl
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 01:36 PM



On Fri, 4 Sep 2009 04:14:38 -0700 (PDT), Google Poster
<goposter (AT) jonjay (DOT) com> wrote:

Quote:
- I am referring to the table structure changing from a millisecond
to the next.

So you should concentrate on developing the GDBMS, the Garbage
Database Management System, though I believe someone already invented
XML for that purpose.

--
--
Sybrand Bakker
Senior Oracle DBA

Reply With Quote
  #7  
Old   
Mladen Gogala
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 05:33 PM



On Fri, 04 Sep 2009 04:14:38 -0700, Google Poster wrote:

Quote:
- I am referring to the table structure changing from a millisecond
to the next. In a tight loop, the table is seen as having certain
structure, and next iteration it is seen as different. That is a
technical issue.

Here is how things work: you pick a programming paradigm and then use it.
If all you have is a relational theory, then every problem looks like it
could be solved by a database. You can not use RDBMS like a Petri network
or Forth. It's not the same. You are probably missing an object or two.



--
http://mgogala.freehostia.com

Reply With Quote
  #8  
Old   
Google Poster
 
Posts: n/a

Default Re: Variable tables - 09-04-2009 , 07:37 PM



On Sep 4, 6:33*pm, Mladen Gogala <mla... (AT) bogus (DOT) email.invalid> wrote:
Quote:
On Fri, 04 Sep 2009 04:14:38 -0700, Google Poster wrote:
*- I am referring to the table structure changing from a millisecond
to the next. In a tight loop, the table is seen as having certain
structure, and next iteration it is seen as different. That is a
technical issue.


Here is how things work: you pick a programming paradigm
and then use it. If all you have is a relational theory,
then every problem looks like it could be solved by a database.
You are close, but my problem is not exactly as described. First of
all, along the years I have made a heavy of investment on Oracle. Not
necessarily in money terms, but the really valuable resources: time,
knowledge, access programs, reading this NG :-) etc.

Initially it was not too hard to design simplistic tables and write
access programs. As time goes by, those schemas need to be more
complex, and I start having doubts of whether there are other
approaches and solutions.

I guess I need to hire a real DBA, but can't afford it now...

-GP

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.