We zijn bezig met een applicatie waarmee je je eigen huis kan inrichten. In de huidige applicatie kan je je eigen foto dimensioneren en hier in 3d-space meubels plaatsen. Je kan van deze meubels informatie bekijken en van materiaal veranderen.
Nu is de nieuwe feature request van onze klant om de gebruiker in staat te stellen meubels zelf uit verschillende
onderdelen in elkaar te zetten. Denk aan een bank waar je kan kiezen uit verschillende leuningen, of er nog een zitplek bij te plaatsen.
Deze nieuwe `composite furniture` heeft in principe dezelfde kenmerken als de huidige meubels, en alle
functionaliteiten moeten ook beschikbaar zijn bij deze nieuwe soort meubels. Denk aan vertalingen en filters op specifieke distributies.
In een object georienteerde wereld is dit appeltje eitje, CompositeFurniture erft over Furniture en je bent klaar.
Alleen hoe kan ik deze overerfing ook in mijn rationele database (mysql) krijgen?
Ik kan natuurlijk simpelweg de huidige tabellen kopieeren, er Composite voor zetten en alle queries herschrijven en sommige tweemaal aanroepen (Omdat je nu filtert op Furniture en CompositeFurniture, bijvoorbeeld). Erg flexibel is dit niet, en erg redundant omdat je tabellen krijgt die soms 100% overeenkomen.
Voorbeeld van het huidige database ontwerp mbt meubels:

Eigenlijk waar ik naar op zoek ben is inheritance in mijn database, is dit mogelijk en/of gewenst?
Nu is de nieuwe feature request van onze klant om de gebruiker in staat te stellen meubels zelf uit verschillende
onderdelen in elkaar te zetten. Denk aan een bank waar je kan kiezen uit verschillende leuningen, of er nog een zitplek bij te plaatsen.
Deze nieuwe `composite furniture` heeft in principe dezelfde kenmerken als de huidige meubels, en alle
functionaliteiten moeten ook beschikbaar zijn bij deze nieuwe soort meubels. Denk aan vertalingen en filters op specifieke distributies.
In een object georienteerde wereld is dit appeltje eitje, CompositeFurniture erft over Furniture en je bent klaar.
Alleen hoe kan ik deze overerfing ook in mijn rationele database (mysql) krijgen?
Ik kan natuurlijk simpelweg de huidige tabellen kopieeren, er Composite voor zetten en alle queries herschrijven en sommige tweemaal aanroepen (Omdat je nu filtert op Furniture en CompositeFurniture, bijvoorbeeld). Erg flexibel is dit niet, en erg redundant omdat je tabellen krijgt die soms 100% overeenkomen.
Voorbeeld van het huidige database ontwerp mbt meubels:

Eigenlijk waar ik naar op zoek ben is inheritance in mijn database, is dit mogelijk en/of gewenst?