Have you never heard of dualboot ? :)

/Soee

-----Oprindelig meddelelse-----
Fra: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
Sendt: 12. december 2002 17:27
Til: [EMAIL PROTECTED]
Emne: RE: Newbie question: associations


Hi Wulf,

Yes, you are right to say that it's a question of design.
Maybe it was not a good example.
I'll try to take another one:

You have 2 classes: Workstation and OperatingSystem. There is a 1:N
relationship between OperatingSystem and Workstation because an
operating system could be installed on many workstations, but each
workstation can install only one operating system.

So, you have these 2 classes:

class Workstation {                     class OperatingSystem {
int wPK                                 int osPK
String name                                     String osName
OperatingSystem os                      int version
.....                                           .....
}                                               }


Relationnal tables are like:

Workstation                                     OperatingSystem
-----------                             ---------------
wPK: integer                            osPK: integer
name: varchar                           osName: varchar
osFK: integer                           verion: integer


I create a osFK foreign key in the relationnal table Workstation to have
the relationship between these 2 tables. This is, I think, a proper way
to do this, right?

OK, now my questions about this example and OJB:

1) [OJB question] do you need to create an osFK attribute in Workstation
class?

2)[design question] what do you think if I put a wFK in the
operatingSystem table instead of the osFK in Workstation table? Does it
work with OJB?


Thank you
Regards
Sylvain


-----Message d'origine-----
De: Wulf Wechsung [mailto:[EMAIL PROTECTED]]
Date: mercredi, 11. d�cembre 2002 19:53
�: OJB Users List
Objet: AW: Newbie question: associations


Hi Sylvain,

> For OJB, to do an association between Person and Address you need a 
> foreign key attribute in your database. Normally you
> should put a foreign key in the relationnal table Person (which
contains an addressID). But you can also put a foreign key > in the
table Address (which contains an personID)

Those solutions are not really the same .. if you put the (fk)personid
into the address table, it means that each address can only belong to
one person and that each person can have multiple addresses. The
otherway around means that an address may be associated with multiple
people put that one person can only have one.

Its a matter of design really. Usually you'd go with the personid in the
address table since thats mostly the case in real life (where people
have multiple addresses but *usually* an address has no more than one
inhabitant), strictly speaking that'd be wrong though, the
db-design-proper way to do this would be to create an association table
to map people to addresses with maybe different phone numbers attached
to address+person (like phone at home, phone at work, cell etc). For
more information on database design, google up 'normalisation +db' or
'database +modelling', that should get you started ...

You need to map every primary key attribute in the database, I'd say (I
am not so sure about that, though) ...

And yes, with OJB you should be able to implement every *proper*
database design where tables are normalized and the model is tailored to
'the real world'.

Greetings,
Wulf



--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to