RE: Tables Larger When using DBMS_REDEFINITION

From: <Dave.Noble_at_wolseley.com>
Date: Mon, 23 Feb 2015 17:35:45 +0000
Message-ID: <6C9971F45490794C9FEB4E7DB8F9410E0818A480_at_a04098.DS.WOLSELEY.COM>



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_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Mladen Gogala Sent: 23 February 2015 13:17
To: oracle-l_at_freelists.org
Subject: Re: Tables Larger When using DBMS_REDEFINITION

On 02/23/2015 03:54 AM, Dave.Noble_at_wolseley.com<mailto:Dave.Noble_at_wolseley.com> 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

--

http://www.freelists.org/webpage/oracle-l Received on Mon Feb 23 2015 - 18:35:45 CET

Original text of this message