Voor een applicatie zit ik qua database ontwerp met het volgende probleem:
We hebben 2 entiteiten: Instellingen (feitelijk bedrijfsgegevens) en Persoonsgegevens, waarbij deze persoonsgegevens vervolgens nog te onderscheiden zijn in: Cliënten, Relaties van deze cliënten en Personeelsleden.
Van deze entiteiten moeten adresgegevens opgeslagen kunnen worden, waarbij het mogelijk is / moet zijn om meerdere adressen voor elk van deze entiteiten op te slaan
- bij een bedrijf bijvoorbeeld: Bezoekadres, Contactadres kan anders zijn
- bij een persoon heb je bijvoorbeeld: Woon adres, Factuur adres, Correspondentie-adres
Het liefst hebben we adressen, omdat die allemaal van dezelfde entiteit zijn in eenzelfde tabel, maar ivm 1 op meer relaties is dat niet handig, vooral omdat je ook met 2 entiteiten zit waaraan een adres gekoppeld kan zijn.
Hiervoor is op dit moment (in de huidige opzet, welke we willen verbeteren) de volgende optie gebruikt:
- Een bedrijf of persoon hebben een koppeling met een "groepeernummer_adres" tabel. Het id hiervan is bepalend voor een groep adressen gekoppeld aan deze entiteit.
Kort in een structuurtje (meer ter uitgewerkt:
PERSON
groepeernummer_adres
personalia
COMPANY
groepeernummer_adres
bedrijfsgegevens
ADDRESS
groepeernummer_adres
adresgegevens
Hebben jullie misschien een idee hoe dit handig op te zetten kan zijn? Voor de duidelijkheid: er wordt gebruik gemaakt van PostgreSQL, wellicht dat dit meer specifieke oplossingen biedt voor dit probleem.
We hebben 2 entiteiten: Instellingen (feitelijk bedrijfsgegevens) en Persoonsgegevens, waarbij deze persoonsgegevens vervolgens nog te onderscheiden zijn in: Cliënten, Relaties van deze cliënten en Personeelsleden.
Van deze entiteiten moeten adresgegevens opgeslagen kunnen worden, waarbij het mogelijk is / moet zijn om meerdere adressen voor elk van deze entiteiten op te slaan
- bij een bedrijf bijvoorbeeld: Bezoekadres, Contactadres kan anders zijn
- bij een persoon heb je bijvoorbeeld: Woon adres, Factuur adres, Correspondentie-adres
Het liefst hebben we adressen, omdat die allemaal van dezelfde entiteit zijn in eenzelfde tabel, maar ivm 1 op meer relaties is dat niet handig, vooral omdat je ook met 2 entiteiten zit waaraan een adres gekoppeld kan zijn.
Hiervoor is op dit moment (in de huidige opzet, welke we willen verbeteren) de volgende optie gebruikt:
- Een bedrijf of persoon hebben een koppeling met een "groepeernummer_adres" tabel. Het id hiervan is bepalend voor een groep adressen gekoppeld aan deze entiteit.
Kort in een structuurtje (meer ter uitgewerkt:
PERSON
groepeernummer_adres
personalia
COMPANY
groepeernummer_adres
bedrijfsgegevens
ADDRESS
groepeernummer_adres
adresgegevens
Hebben jullie misschien een idee hoe dit handig op te zetten kan zijn? Voor de duidelijkheid: er wordt gebruik gemaakt van PostgreSQL, wellicht dat dit meer specifieke oplossingen biedt voor dit probleem.