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: Implementing different document types with different attributes

Re: Implementing different document types with different attributes

From: <JApplewhite_at_austin.isd.tenet.edu>
Date: Thu, 07 Aug 2003 11:19:35 -0800
Message-ID: <F001.005C9804.20030807111935@fatcity.com>

Tim,

As soon as I sent this I saw my mistake. There's got to be one more table. Doc_Types and Doc_Attributes stay, but Documents gets changed and Document_Attributes gets created. Actually, if you wanted you could make a single integer PK column for Doc_Type_Attributes and use that as the FK in Document_Attributes.

Table Documents

       Doc_ID           Number            PK

,Doc_Descr VarChar2(100)
,Doc_Body BLOB (store this segment out-of-line
somewhere) .... (other Document columns) Table Document_Attributes Doc_ID Number PK and FK to Documents
,Doc_Type_ID Number PK and part of FK to
Doc_Type_Attributes
,Doc_Attrib_ID Number PK and part of FK to
Doc_Type_Attributes

Jack C. Applewhite
Database Administrator
Austin Independent School District
Austin, Texas
512.414.9715 (wk)
512.935.5929 (pager)
JApplewhite_at_austin.isd.tenet.edu

                                                                                                                             
                      Jack Applewhite                                                                                        
                                               To:      ORACLE-L_at_fatcity.com                                                 
                      08/07/2003 01:16         cc:                                                                           
                      PM                       Subject: Re: Implementing different document types with different attributes  
                                               (Document link: Jack Applewhite)                                              
                                                                                                                             



Tim,

How about this?

Table Doc_Types

       Doc_Type_ID            Number            PK

,Doc_Type_Descr VarChar2(100)
Table Doc_Attributes Doc_Attrib_ID Number PK
,Doc_Attrib_Descr VarChar2(100)
Table Doc_Type_Attributes ("Intersect" table of the above two) Doc_Type_ID Number PK and FK to Doc_Types
,Doc_Attrib_ID Numter PK and FK to Doc_Attributes
Table Documents Doc_ID Number PK
,Doc_Type_ID Number part of FK to
Doc_Type_Attributes
,Doc_Attrib_ID Number part of FK to
Doc_Type_Attributes
,Doc_Descr VarChar2(100)
,Doc_Body BLOB (store this segment out-of-line
somewhere)

This way you can have as many Doc Types and Attributes as you want and never have to modify table designs if you add or remove some. Also, no blank columns.

Jack C. Applewhite
Database Administrator
Austin Independent School District
Austin, Texas
512.414.9715 (wk)
512.935.5929 (pager)
JApplewhite_at_austin.isd.tenet.edu

                                                                                                                             
                      "Vernaillen Tim"                                                                                       
                      <tim.vernaillen_at_x        To:       Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>         
                      gs.be>                   cc:                                                                           
                      Sent by:                 Subject:  Implementing different document types with different attributes     
                      ml-errors_at_fatcity                                                                                      
                      .com                                                                                                   
                                                                                                                             
                                                                                                                             
                      08/07/2003 08:34                                                                                       
                      AM                                                                                                     
                      Please respond to                                                                                      
                      ORACLE-L                                                                                               
                                                                                                                             
                                                                                                                             




Hello

I've an installation/implementation question! We've to analyse 50 document types, in total those 50 has 70 different attributes.
We don't want to put all those document types into one table, because more than the half (35) of the attributes are not always used for each document type. This will have to much disk space for each record, if most of the fields are just blank.

Has anyone suggestions how to build our table-structure? I've heart something about FlexFields, what are they? Takes every field diskspace, even if it's blank (null)?

Thanks in advance for the response!

Tim

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: JApplewhite_at_austin.isd.tenet.edu

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 Thu Aug 07 2003 - 14:19:35 CDT

Original text of this message

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