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: Data modeling question

RE: Data modeling question

From: Mercadante, Thomas F (LABOR) <Thomas.Mercadante_at_labor.state.ny.us>
Date: Wed, 11 May 2005 08:55:39 -0400
Message-ID: <ABB9D76E187C5146AB5683F5A07336FF16E5C3@EXCNYSM0A1AJ.nysemail.nyenet>


Jeff,

Have you thought of something as simple as an additional column with a check constraint of values 1 thru 6? And then make this a part of the primary key of the child table:

Table B
PK DB_NAME
PK SCHEMA_NAME
PK RECORD_NUMBER <=3D=3D=3D values of 1 thru 6 only.

   USR_ID          -- user (authority)
   AUTH_INDICATOR  -- change authority
   USR_INDICATOR   -- user authority

Simple but effective.

Hope this helps.

Tom

-----Original Message-----

From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Thomas Jeff Sent: Wednesday, May 11, 2005 8:38 AM
To: oracle-l_at_freelists.org
Subject: Data modeling question

I was wondering if there was an elegant way to model (or implement the business rule)=3D20
for those situations where the requirement in a parent-child relationship is such=3D20
that there a quantity restriction on the child table. =3D20

Consider the following two tables:

Table A            Table B
DB_NAME            DB_NAME
SCHEMA_NAME        SCHEMA_NAME
                   USR_ID          -- user (authority)
                   AUTH_INDICATOR  -- change authority
                   USR_INDICATOR   -- user authority

In a nutshell, the rule is that there can be no more than 3 change or user
authorities for the given database/schema. A given user can be either or both a change=3D20
and user authority for a specific database/schema, and can be an authority for multiple
database/schemas. So, given the model/business rule, there could be anywhere from 3=3D20
to 6 child records for a given database/schema.

When first presented with this model, my initial thought was to add a shadow table to Table B,=3D20
using before triggers to implement the business rules, and after triggers to maintain the=3D20
shadow table.=3D20

I'm sure this problem has cropped up before and would appreciate knowing how you implemented
such a requirement.

Thanks.



Jeffery D Thomas
DBA
Thomson Information Services
Thomson, Inc.

Email: jeff.thomas_at_thomson.net

Indy DBA Master Documentation available at: http://gkmqp.tce.com/tis_dba


--

http://www.freelists.org/webpage/oracle-l
--

http://www.freelists.org/webpage/oracle-l Received on Wed May 11 2005 - 09:00:23 CDT

Original text of this message

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