Hallo,

Als je geen gebruik wilt maken van MySQL en eigenlijk een hele simpele (simpelste voor beginners) database wilt opzetten wat zijn dan de mogelijkheden?

Daarmee bedoel ik eigenlijk een bestand met tabellen die je gemakkelijk kunt invullen etc.



Gr. Bryan
Bryan, Je moet je afvragen wat je nodig hebt. Als je bijvoorbeeld een paar instellingen wilt opslaan die je altijd in één keer inleest, waarbij de volgorde niet uitmaakt en die bijna nooit zullen veranderen dan kun je werken met een JSON-string (of zelfs een gewone PHP array!) die je in een bestand opslaat. Dit is misschien nog sneller ook omdat je direct file-access gebruikt in plaats van een request/response naar een database server. De kracht van een database komt echter pas aan het licht wanneer je gegevens wél wilt sorteren of filteren. Een database kan meerdere index-bestanden bijhouden. Stel je hebt een tabel Users met daarin id, username en email gegevens van alle gebruikers. id staat voor een uniek nummer zoals je wellicht weet. Stel je laat gebruikers inloggen met hun username maar ook (voor diegene die dat fijn vinden) met hun mailadres. En stel je hebt een super populaire website met 50.000 gebruikers :-) dan wil je dat je server in record tijd een gebruiker kan terugvinden op zijn mailadres MAAR OOK op zijn gebruikersnaam. Met een database kun je aangeven dat er van zowel 'email' als 'username' een index bijgehouden moet worden. Deze index zorgt gewoon voor een lijst op alfabetische (in dit voorbeeld) volgorde van usernames respectievelijk mailadressen waardoor een gebruiker heel snel gevonden wordt tussen de andere 49.999 gebruikers. Dit is met een enkelvoudige opslag in een bestand onmogelijk.

[size=xsmall]Toevoeging op 25/03/2016 00:58:51:[/size]

enkelvoudige opslag:

id username email
1  Frank    [email protected]
2  Ben      [email protected]
3  Bryan    [email protected]

Database:

user table:

id username email
1  Frank    [email protected]
2  Ben      [email protected]
3  Bryan    [email protected]

-------------------------

username index:

username id
BEN      2
BRYAN    3
FRANK    1

-------------------------

email index:

email          id
[email protected]  3
[email protected]  2
[email protected]  1

@Frank

Mooi voorbeeldje :)
Ben van Velzen op 24/03/2016 23:14:27
Zo ondersteunt InnoDB transacties, maar geen FULLTEXT.

Vanaf versie 5.6 ondersteunt InnoDB ook FULLTEXT.

InnoDB faciliteert ook foreign key( contraint)s. Dus als je echt referentiële integriteit wilt afdwingen, of anders gezegd een echte relationele database wilt gebruiken, dan is er eigenlijk maar één engine keuze.
Alleen niet elke shared hosting biedt die ondersteuning :-P
Moet dat dan? Je kiest je hosting uit op wat je nodig hebt, je past je tooling niet aan op wat de meesten aanbieden. Of ben ik nou gek?

Het was overigens meer humoristisch bedoeld ;)
Een bestand met tabellen die je kunt invullen? Heet dat niet gewoon Excel of Calc ?
Wat wil je nog meer doen behalve wat je al schrijft?

en als het dan toch meer moet kunnen , en je op een database uitkomt, kun je je pas afvragen welk systeem. Daarbij zou ik opmerken dat elk systeem een leercurve heeft, en die van mySQL is niet bijzonder verschillend dan van bijvoorbeeld libreOFfice Base.

Reageren