Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Large databases

RE: Large databases

From: Nelson, Allan <anelson_at_midf.com>
Date: Wed, 16 Apr 2003 13:54:49 -0800
Message-ID: <F001.005836C0.20030416135449@fatcity.com>


No, no, no, its my tailor's database and he only measures once and he won't be my tailor if I lose an arm (he adores symmetry). My point is that it is not possible to determine if a design is normalized unless you know something about the business requirements you are designing to. Some of your "normalizations" introduce attributes that may or may not be tracked. If I have a unique set of attributes that are dependent on my surrogate key and do not contain repeating groups, and are not partially dependant on the key, then I'm third normal. And only the application requirements can determine what the attributes desired are, the desired frequency of collection, and hence what the definition of normal will be. If you redefine the problem domian of course you can make virtually any attribute a repeating group merely by adding history. Which is largely what you did. My claim is that requirements -> attributes -> entities -> keys -> normalization.

I admit that you were right on the age one, so to replace it my tailor sells running shoes to me over the phone and so wants to track PRONATION_CD VARCHAR2(3) which he will measure as required but he only cares about the current value. Still over 20 attributes and normalized in light of the requirements.

Allan

-----Original Message-----
Sent: Wednesday, April 16, 2003 4:19 PM
To: Multiple recipients of list ORACLE-L

Note inline

Regards

Jonathan Lewis
http://www.jlcomp.demon.co.uk

  The educated person is not the person   who can answer the questions, but the   person who can question the answers -- T. Schick Jr

One-day tutorials:
http://www.jlcomp.demon.co.uk/tutorial.html

____UK_______April 22nd
____USA_(FL)_May 2nd
____Denmark__May 21-23rd
____Sweden___June
____Finland__September
____Norway___September

Three-day seminar:
see http://www.jlcomp.demon.co.uk/seminar.html

____UK_(Manchester)_May x 2
____Estonia___June (provisional)
____Australia_June (provisional)
____USA_(CA, TX)_August

The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html

> CREATE TABLE PERSON (
> PERSON_ID NUMBER,
> FNAME VARCHAR2(20),
> MNAME VARCHAR2(20),
> LNAME VARCHAR2(30),

        Denormalize names - First/Middle/Last is not the only option:
                (person_id, name_position, name)


> RACE_ID NUMBER(25), /*allows for proliferation
> of pc categories */

        Denomralize:
            (person_id, race_id, percentage)


> BIRTH_DATE DATE,
> AGE NUMBER(3),

           Derived information - eliminate

> HANDEDNESS CHAR(1),
> SEX CHAR(1),

        Denormalize:
            (person_id, date_form, sex)


> HEIGHT NUMBER(3),
Denomralize (person_id, date_measured, height)
> WEIGHT NUMBER(3),
as above
> WAIST NUMBER(2),
as above
> INSEAM NUMBER(2),
(person_id, left_right, date_measured, length)
> COLLAR NUMBER(2),
as waist
> ARM_LEN VARCHAR2(5),
as inseam
> HAT_SIZE VARCHAR2(4),
as waist
> SHOE_SIZE VARCHAR2(5),
as inseam
> EYE_COLOR_CD VARCHAR2(3),
(person_id, left_right, colour_code)
> HAIR_COLOR_CD VARCHAR2(3),
(person_id, date_measured, colour_code)
> MARRIED CHAR(1),
(person_id, date_from, status)
> EDUCATION_CD NUMBER(1),
(person_id, date_achieved, code)

> )
>

which brings us down to:

    person_id
    birth_date
    handedness -- (but what if you lost your arm, and learned ?!)

Um !

> Now, that's over 20 and afaik normalized, no repeating groups, no
> dependency on non key atttibutes, just to point out that aribitrary
> numerical limits don't mean much if no business requirements are in
> view.

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jonathan Lewis
  INET: jonathan_at_jlcomp.demon.co.uk

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).



______________________________________________________________________________
This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information.  Copying, forwarding or distributing this message by persons or entities other than the addressee is prohibited. If you have received this email in error, please contact the sender immediately and delete the material from any computer.  This email may have been monitored for policy compliance.  [021216]

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Nelson, Allan
  INET: anelson_at_midf.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Wed Apr 16 2003 - 16:54:49 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US