Ik zit momenteel te werken aan een bos beheer programma. De opzet van het programma is zo dat de objecten er in zelf aangemaakt kunnen worden en later kunnen aan die objecten weer velden (properties) aan toegevoegd worden.
Mijn baas heeft het ontwerp gemaakt, maar elke dag dat ik er aan werk irriteer ik me aan het gehele ontwerp en nu vroeg ik me af om het slim is om nog een keer over het ontwerp heen te kijken of dat dit ontwerp goed zat is en dat het gewoon aan mij ligt.
Het is nu zo dat wij een tabel OBJECT hebben waar alle objecten in komen te staatn, bijvoorbeeld bossen, bomen, stammen en deelstammen. Elk object heeft ook velden waarin de gegevens in komen te staan. Elk object wat aangemaakt wordt krijgt een eigen sql tabel waar alle informatie over het object in komt te staan. Dan is er daarnaast ook nog een objecttree tabel waar de gehele boomstructuur van alle aangemaakte objecten in staat.
Het gehele programma is zo gemaakt dat het zo dynamisch mogelijk is en dat je er een objecten hiërarchie mogelijk is.
Voorbeeld van de database:
Ik heb alleen het idee dat er zo overbodig veel tabellen en dubbele column zijn, mijn baas zegt de heletijd dat het makkelijk is met query's maken, maar hoe kan ik hem nou overtuigen dat er mogelijk andere ontwerpen zijn die gewoon beter werken.
Mijn idee is dit ongeveer
Mijn baas zegt dat mijn ontwerp veel zwaarder en langzamer is omdat alle informatie in één tabel komt te staan, maar als je de index goed zet en goede queries uitvoert moet dit volgens mij verwaardeloos baar zijn. En de structuur hoe ik het ongeveer in gedachten heb is makkelijker te programmeren dan overal en ergens weer spul op te slaan en overal dubbelen gegevens op te slaan.
Ik hoop dat het een beetje duidelijk is anders vraag maar als er iets onduidelijk is.
Waarom zijn die code blokken ineens zo uit verband getrokken
Mijn baas heeft het ontwerp gemaakt, maar elke dag dat ik er aan werk irriteer ik me aan het gehele ontwerp en nu vroeg ik me af om het slim is om nog een keer over het ontwerp heen te kijken of dat dit ontwerp goed zat is en dat het gewoon aan mij ligt.
Het is nu zo dat wij een tabel OBJECT hebben waar alle objecten in komen te staatn, bijvoorbeeld bossen, bomen, stammen en deelstammen. Elk object heeft ook velden waarin de gegevens in komen te staan. Elk object wat aangemaakt wordt krijgt een eigen sql tabel waar alle informatie over het object in komt te staan. Dan is er daarnaast ook nog een objecttree tabel waar de gehele boomstructuur van alle aangemaakte objecten in staat.
Het gehele programma is zo gemaakt dat het zo dynamisch mogelijk is en dat je er een objecten hiërarchie mogelijk is.
Voorbeeld van de database:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| OBJECT TABLE ID, Naam, tabel naam PARENTCHILD TABLE ID, ParentID, ChildID FIELDS TABLE ID, Object, Type, DbField, FieldAlias, Fieldgroup (en nog wat velden) OBJECTTREE TABLE ParentName, ParentID, ChildName, ChildID # en dan voor de objecten en aparte tabel waar de gegevens voor het object in komen te staan, bijvoorbeeld bij een TREE object is het het volgende TREE TABLE ID, Parenttype, parentid, name (en nog wat velden) |
Ik heb alleen het idee dat er zo overbodig veel tabellen en dubbele column zijn, mijn baas zegt de heletijd dat het makkelijk is met query's maken, maar hoe kan ik hem nou overtuigen dat er mogelijk andere ontwerpen zijn die gewoon beter werken.
Mijn idee is dit ongeveer
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # Een object type tabel om de object soorten te bepalen (bos, boom, stam, etc) OBJECTTYPE TABLE ID, Name, Parent # Hierin komt alle standaard informatie van de objecten in te staan (alles wat hier in komt moet voor elk object ook ingevuld zijn. OBJECT TABLE ID, Object, Title, # Velden tabel, om de properties van elke object te bepalen FIELD TABLE ID, Object, Fieldtype, FieldName, FieldGroup, etc # En dan een result tabel om de custom properties (velden tabel dus) op teslaan RESULT TABLE ID, FieldID, FieldResult |
Mijn baas zegt dat mijn ontwerp veel zwaarder en langzamer is omdat alle informatie in één tabel komt te staan, maar als je de index goed zet en goede queries uitvoert moet dit volgens mij verwaardeloos baar zijn. En de structuur hoe ik het ongeveer in gedachten heb is makkelijker te programmeren dan overal en ergens weer spul op te slaan en overal dubbelen gegevens op te slaan.
Ik hoop dat het een beetje duidelijk is anders vraag maar als er iets onduidelijk is.
Waarom zijn die code blokken ineens zo uit verband getrokken