Click here to Skip to main content
11,721,385 members (82,727 online)

Design and Architecture

 
GeneralRe: Simple composition - Your thoughts? Pin
Pete O'Hanlon15-May-12 3:25
protectorPete O'Hanlon15-May-12 3:25 
GeneralRe: Simple composition - Your thoughts? Pin
Marc Clifton15-May-12 4:57
protectorMarc Clifton15-May-12 4:57 
GeneralRe: Simple composition - Your thoughts? Pin
VuNic15-May-12 4:41
memberVuNic15-May-12 4:41 
GeneralRe: Simple composition - Your thoughts? Pin
Marc Clifton15-May-12 5:06
protectorMarc Clifton15-May-12 5:06 
GeneralRe: Simple composition - Your thoughts? Pin
VuNic15-May-12 18:32
memberVuNic15-May-12 18:32 
QuestionDatabase Modeling - Conditional Relationships Pin
Leslie Sanford11-May-12 8:34
memberLeslie Sanford11-May-12 8:34 
AnswerRe: Database Modeling - Conditional Relationships Pin
mark merrens11-May-12 9:49
membermark merrens11-May-12 9:49 
GeneralRe: Database Modeling - Conditional Relationships Pin
Leslie Sanford12-May-12 8:42
memberLeslie Sanford12-May-12 8:42 
Thanks for your reply.

The solution I've settled on uses part of your answer. I have a 'base' table for all items. Then I have tables where needed for 'derived' sub types. These derived tables have a 'zero to one' relationship to the base table. The derived tables are a way of extending the properties of items in the base table.

So the items table could look like this:

+----+--------+-------+
| id | name   | price |
+----+--------+-------+
|  1 | wheel  | $1.23 |
+----+--------+-------+
|  2 | wire   | $1.50 |
+----+--------+-------+

Then if there are more than one kind of cogs, I can subclass them in 'derived' tables (like derived classes in object oriented programming).

wheels table
 
+----+--------+--------+
| id | cog_id | radius |
+----+--------+--------+
|  1 |    1   |   50"  |
+----+--------+--------+

wires table
 
+----+--------+--------+
| id | cog_id | length |
+----+--------+--------+
|  1 |    2   |   12"  |
+----+--------+--------+

I can then do joins to get back only wheels, and another join to get just wires.

I'm not sure if this is a common approach. I know the joins will cost more processing, but at least the schema makes sense to me.
AnswerRe: Database Modeling - Conditional Relationships Pin
Eddy Vluggen13-May-12 4:32
memberEddy Vluggen13-May-12 4:32 
AnswerRe: Database Modeling - Conditional Relationships Pin
jschell14-May-12 9:24
memberjschell14-May-12 9:24 
Questionhow to design base class? Pin
wan.rui@qq.com10-May-12 17:09
memberwan.rui@qq.com10-May-12 17:09 
AnswerRe: how to design base class? Pin
walterhevedeich10-May-12 19:29
memberwalterhevedeich10-May-12 19:29 
AnswerRe: how to design base class? Pin
Pete O'Hanlon10-May-12 21:52
protectorPete O'Hanlon10-May-12 21:52 
GeneralRe: how to design base class? Pin
wan.rui@qq.com10-May-12 22:11
memberwan.rui@qq.com10-May-12 22:11 
GeneralRe: how to design base class? Pin
BobJanova15-May-12 0:48
memberBobJanova15-May-12 0:48 
GeneralRe: how to design base class? Pin
wan.rui@qq.com10-May-12 22:15
memberwan.rui@qq.com10-May-12 22:15 
GeneralRe: how to design base class? Pin
TorstenH.15-May-12 0:00
memberTorstenH.15-May-12 0:00 
QuestionActive Directory Pin
Franklin lloyd10-May-12 7:13
memberFranklin lloyd10-May-12 7:13 
AnswerRe: Active Directory Pin
jschell10-May-12 9:27
memberjschell10-May-12 9:27 
QuestionSingle web solution vs web app + mobile web app Pin
logicaldna8-May-12 22:56
memberlogicaldna8-May-12 22:56 
AnswerRe: Single web solution vs web app + mobile web app Pin
Aniruddha Loya9-May-12 7:34
memberAniruddha Loya9-May-12 7:34 
GeneralRe: Single web solution vs web app + mobile web app Pin
logicaldna9-May-12 17:22
memberlogicaldna9-May-12 17:22 
SuggestionRe: Single web solution vs web app + mobile web app Pin
Aniruddha Loya10-May-12 10:50
memberAniruddha Loya10-May-12 10:50 
AnswerRe: Single web solution vs web app + mobile web app Pin
RobCroll18-May-12 3:23
memberRobCroll18-May-12 3:23 
QuestionDOC/View/Mainframe or does it matter? Pin
BarryPearlman8-May-12 11:52
memberBarryPearlman8-May-12 11:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web01 | 2.8.150901.1 | Last Updated 3 Sep 2015
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid