RE: Tables Larger When using DBMS_REDEFINITION

  • From: <Dave.Noble@xxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 23 Feb 2015 17:35:45 +0000

Not really the subject of the thread... but it is quite common practise to have 
no primary key on a datawarehouse fact table. Sometimes it's logically not 
possible to uniquely identify a row eg same customer buys same product from 
same branch  on same day - business is not interested in the time of day, or 
the sales order number, but they are interested in the number of individual 
sales. Unfortunately the elegance of Primary Keys and Relational Database 
Design has been scuppered by those darned realities of life.
You could include the time, but nobody's interested. You could include a 
generated surrogate key and primary key that, but why would you invent work 
when there's enough already. If you need to get close to a row to maintain or 
delete it then you use the foreign keys (Bitmap Indexed) from the dimensions.
So however crazy a design offence this may be, we live without a Primary Key on 
the Fact and it hasn't caused us a moments problem in 5 years of live running.

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Mladen Gogala
Sent: 23 February 2015 13:17
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: Tables Larger When using DBMS_REDEFINITION

On 02/23/2015 03:54 AM, Dave.Noble@xxxxxxxxxxxx<mailto:Dave.Noble@xxxxxxxxxxxx> 
wrote:
No primary key - maybe a fact table on a DataWarehouse? Maybe something else 
that you haven't thought about?
Nope. Even for a data warehouse application, it is necessary to distinguish 
among the rows in the table and prevent duplicate rows. Without the primary 
key, it is simply impossible to distinguish between rows in the table.


And I'm afraid that "application designer should be water boarded" is extremely 
offensive on so many levels. Please will you keep those comments to yourself?

It was, of course, a joke. For which I will not apologize, because I don't find 
it offensive to anyone, in any shape or form. I would have replied in private, 
had it not been for the primary key issue. Please, do the same because this 
type of comments do not belong to the list. I have a slight feeling that the 
real purpose of your email is to express outrage over my quite harmless joke.

Best regards,



--

Mladen Gogala

Oracle DBA

http://mgogala.freehostia.com

Other related posts: