Door
Yoeri Achterbergen
op 22-01-2017 21:10
gewijzigd op 22-01-2017 21:18
3.641 views
Hallo,
Al dagen speur ik internet af naar een goede tutorial of informatie over hoe je een database management systeem opzet.
Is er iemand die ervaring hierin heeft of kan vertellen waar ik moet zoeken: boeken / tutorials / documentatie?
Ik ben geïnteresseerd in de software die zorgt dat de tabellen goed georganiseerd zijn (back end).
Hoop dat iemand mij op het juiste spoor kan zetten :)
Ik ben geïnteresseerd erin wat de software doet met de data en wil graag de opzet van een data management systeem leren kennen.
Zelf zou ik een klein systeem willen maken omdat ik hier mee over wil leren.
Er zijn genoeg tutorials te vinden over SQL maar dit gaat vooral over het schrijven, updaten en verwijderen van data uit een tabel.
Ik zoek dus eigenlijk een beschrijving over de motor van een database. Alles wat ik intype bij zoekmachine's komt uit op hoe je SQL moet gebruiken en wat een databse systeem is etc. Maar dus niet over de motor, misschien zoek ik niet goed of is er gewoon niets te vinden hierover, daarom stel ik de vraag hier met de hoop dat iemand mij misschien kan helpen met goede documentatie.
Begin eerst maar eens met het vraagstuk hoe je de inhoud van een tabel wilt opslaan in een bestand waarbij je rekening houdt met onderstaande zaken:
- compressie zo goed mogelijk
- indexering op verschillende kolommen mogelijk
- makkelijk uit te breiden met een extra kolom of een extra rij (record)
- gegevens makkelijk te wijzigen
- snel
In welke taal wil je dat bouwen? C C++ C# ? Python is wel aardig om ervaring op te doen:
Google eens op: python database engine of deze: https://pypi.python.org/pypi/engine
Ik zat zelf te denken aan c++ ik ben al begonnen met me te verdiepen in deze taal.
Wat ik alleen nog niet snap hoe je met bijvoorbeeld php opdrachten kan geven aan c++.
Bijvoorbeeld dat er een tabel moet worden aangemaakt met een kolom naam, leeftijd, adres, woonplaats etc.
Update:
Wat mij ook opvalt is dat veel voorbeelden gebruik maken van een .txt file om dingen op te slaan.
Ik dacht altijd dat de database gebruik maakte van .DB file?
Opdrachten worden gegeven dmv sockets, gebruikmakend van een efficient protocol. Dat is ook niet meer dan logisch.
Opslag kan op allerlei manieren, het hangt maar net af van je einddoel.
Als je deze eenvoudige dingen al niet kan bedenken schat ik je kansen van slagen niet echt hoog in.