Hey,

Ik ben op het moment bezig een database model te maken, maar vraag me af hoe jullie dit zouden doen.

Ik heb een tabel: bankaccounts
En een tabel: transactions

Een transaction is van een bankaccount naar bankaccount. Nu moet het mogelijk om verschillende entiteiten aan de bankaccounts tabel te koppelen, even uitgelegd:

3 tabel: airports, hospital en accounts

Bij een entiteit hoort precies 1 bank-account. Maar hoe regel ik dit met foreign keys?

1. Maak ik per entiteit (airports etc) een extra tabel bankaccounts_airports (kolommen: bank_account, airport). Maar dan heb ik altijd 2 queries nodig (of een hele grote join) om te kijken bij welke entiteit een bankaccount hoort.

2. Of maak maak ik extra kolommen in bankaccounts (eg: airport_id, hospital_id..), maar dan kan 1 bankaccount bij meerdere entiteiten horen, bijv een airport en een hopital.

3. Of maak ik geen gebruik van Foreign Keys en maak ik een extra kolom in de bankaccounts tabel: type. Dan weet ik als ik het type heb en het entiteit_id, welke tabel ik moet zijn. Alleen heb ik dan dus geen FKs.

Gaat dus om een soort van overerving van een tabel, maar geen van deze oplossingen lijkt plausibel, iemand een idee?
"There is no silver bullet!"
Er is geen oplossing dat altijd het beste is.

Je moet het dus gaan afwegen op wat je precies wilt, rekening houdend met hoe het mogelijk kan groeien.

Een optie is om bij airport en hospital een kolom AccountId toe te voegen (FK).

Lijkt me een passende oplossing.

Reageren