[PostgreSQL]Tabelverwijzing vanuit tabel....

Pagina: 1
Acties:

  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Hallo medetweaker,

ik ben al een tijdje op zoek naar het volgende, maar ik weet niet of het uberhaupt mogelijk is.. Mijn probleem is het volgende:

Ik wil in PostgreSQL een tabel maken met een referentie naar een andere tabel.
Dus bijvoorbeeld Persoon en Adres zou dan iets zijn als:
code:
1
2
CREATE TABLE adres (straat Text, woonplaats Text);
CREATE TABLE persoon (naam varchar, adres adres);

ik wil dus een attribuut maken in de class (class en tabel zijn interchangable) persoon van het type adres.

Vraag 1: Kan dit?
Vraag 2: Hoe?
Vraag 3: Hoe gebruik ik dit dan?

Gr. Pinda

If you are not wiping out you are nog pushing enough...


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Niemand een idee :(

If you are not wiping out you are nog pushing enough...


  • Martin Sturm
  • Registratie: December 1999
  • Laatst online: 10-09 23:27
Met het gebruik van een foreign key is zoiets wel te realiseren.. Een foreign key is niet per se nodig. Als je gewoon 2 tabellen maakt, met allebei een id veld (bijvoorbeeld persoon_id en adres_id) kun je in je queries deze tabellen 'samenvoegen' door middel van een JOIN. Dit is best wel heel erg basis/standaard SQL, dus misschien is het eens aan te raden een SQL tutorial te lezen ofzo..

Dus je krijgt dan de volgende velden je tabellen:

tabel adres: adres_id, straat, woonplaats
tabel persoon: persoon_id, naam, adres_id

(ik heb ff niet de CREATE queries in mijn hoofd voor Postgresql :) ).
Als je ze dan wilt samennemen doe je dat bijvoorbeeld als volgt:
code:
1
SELECT * FROM persoon LEFT JOIN adres USING(adres_id)

Het is btw niet echt aan te raden om het veld type Text te gebriuken voor dergelijke tabellen.. je kunt beter VARCHAR(255) ofao nemen, (dan kun je 255 tekens in je veld zetten)

  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13
Dit is dus niet wat ik bedoel, ik weet dat dit zo werkt.

omdat ik nu met een objectgeorienteerde database werk wil ik de tabellen (== classes) dus ook zo gebruiken. Ik wil dus niet meer met Id's en joins werken maar ik wil gewoon een object referentie....

Ik werk dagelijks met relationele databases daar krijg ik dus ook wel veel voor elkaar, maar nu wil ik graag wat doen met objectgeorienteerde databases. :)

Misschien wil ik wel teveel!!!
Maar ja wat je dus met een class (in bv java):
code:
1
2
3
4
5
class Persoon
{
  public Adres persAdres;
//rest v.d. code
}

Wil ik dus ook zo in de database en dus niet met een foreign key maar gewoon echt een "verwijzing" naar een object. (Zodat ik dus van de joins en where af ben)...

Maar zoals al gezegd misschien wil ik teveel, wat mij stug lijkt. Ik ben nu iig met JAVA en JDO bezig misschien dat ik daar iets kan vinden hierover. (Hier moet je namelijk ook weer je hele database struct opgeven)\

:)

If you are not wiping out you are nog pushing enough...