Database model
stien ss
25/01/2012 23:14:32Hey,
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?
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?
PHP hulp
22/12/2024 17:00:46- Jim -
25/01/2012 23:18:08"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.
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.