Verschillende databases

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bryan De Baar

Bryan De Baar

23/03/2016 15:16:48
Quote Anchor link
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
 
PHP hulp

PHP hulp

30/11/2020 05:59:44
 
Thomas van den Heuvel

Thomas van den Heuvel

23/03/2016 15:30:48
Quote Anchor link
Al zelf wat onderzoek gedaan / geGoogled?

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

Hoe is MySQL het bovenstaande niet in combinatie met een beheerapplicatie zoals phpMyAdmin? En zo zijn er voor andere databases waarschijnlijk ook grafische tools. Je hoeft niet te werken op de prompt als je dat niet wilt, maar het is wel vele malen leerzamer dan een programma alles voor je te laten doen.
 
Ivo P

Ivo P

23/03/2016 15:35:49
Quote Anchor link
misschien https://www.sqlite.org/

Dat is niet zo veel installatie werk als het goed is.
 
Bryan De Baar

Bryan De Baar

23/03/2016 16:33:15
Quote Anchor link
Zelf ben ik al opzoek geweest via Google maar kom steeds terug bij MySQL en PHPadmin.
Is er niet iets wat je zonder te installeren etc kunt gebruiken een simpele tabel in file die je volgens een pad data kan toesturen en/of opvragen?
 
- Ariën -
Beheerder

- Ariën -

23/03/2016 16:36:22
Quote Anchor link
Het grote deel van de databases praten door middel van het SQL-taaltje.
Opsich hoeft dit niet zo heel lastig voor beginners te zijn, dus MySQL hoef je zelf niet te mijden.

Als als je echt iets compacts wilt, dan is SQLlite een goede oplossing.
Gewijzigd op 23/03/2016 16:37:01 door - Ariën -
 
Bryan De Baar

Bryan De Baar

23/03/2016 16:55:27
Quote Anchor link
Oké dan nog het laatste, wat houd NoSQL in er is weinig over te vinden hoe je dit opzet en wat de mogelijkheden zijn.
 
- Ariën -
Beheerder

- Ariën -

23/03/2016 17:00:47
Quote Anchor link
NoSQL is een verzamelnaam.
Heb je https://nl.wikipedia.org/wiki/NoSQL al gelezen, bij de referenties is er nog een hoop over te vinden. Ik zou hier niet zomaar aan beginnen, tenzij je de pro's en contra's tussen deze soorten hebt neergelegd met je doeleinden.
 
Elmar vH

Elmar vH

24/03/2016 13:53:09
Quote Anchor link
Bryan De Baar op 23/03/2016 15:16:48:
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.


"Als je geen gebruik wilt maken van MySQL"
Wat is je argument om er niet mee te werken ( als beginner? )

"wat zijn dan de mogelijkheden?"
Ipv alle mogelijkheden te willen weten, kun je jezelf beter afvragen: wat moet het kunnen ( als beginner ).

"Daarmee bedoel ik eigenlijk een bestand met tabellen die je gemakkelijk kunt invullen etc."
MySQL, InnoDB, MariaDB, NoSQL, MongoDB.... ga zo maar door en door...

Maak gebruik van een programma zoals PHPMYADMIN, deze ondersteunt diverse "engines" zoals MySQL, InnoDB...
 
Thomas van den Heuvel

Thomas van den Heuvel

24/03/2016 14:50:26
Quote Anchor link
Elmar vH op 24/03/2016 13:53:09:
diverse "engines" zoals MySQL

Ik denk dat je MyISAM bedoelt.
 
Bryan De Baar

Bryan De Baar

24/03/2016 21:19:09
Quote Anchor link
Nou wat ik mij afvroeg is wat nu precies de meerwaarde is van een engine die eigenlijk tabellen aanmaakt,JSON maak je in principe toch ook een rij of array aan?
Moet je voor een database altijd een engine draaiende hebben of kun je ook zonder engine een tabel maken.
Gewijzigd op 24/03/2016 21:24:37 door Bryan De Baar
 
Ben van Velzen

Ben van Velzen

24/03/2016 23:14:27
Quote Anchor link
Wat het uitmaakt is wat de mogelijkheden zijn, en deels ook performance. Een bestand gevuld met JSON arrays, of desnoods zelfs gevuld met een var_export van je data is eenvoudig op te zetten, maar wordt een drama als je data wil opzoeken of bijwerken. SQLite heeft hier ook wat last van, readonly verkeer gaat prima, maar je gaat het voelen wanneer je data gaat inserten, want dan kom je tot de ontdekking dat voor een enkele insert je complete database gelockt wordt. De "echte" databases hebben deze performance veel meer op orde, deels omdat zaken als locking centraal geregeld zijn en niet zoals bij SQLite afhankelijk zijn van file locks, deels omdat er meer resources naar het plannen van queries kan gaan.

Lees je eerst eens in over wat een database is, want "Moet je voor een database altijd een engine draaiende hebben of kun je ook zonder engine een tabel maken" is een nietszeggende vraag. Een engine is bij MySQL wat dicteert wat de fysieke opbouw van je tabellen is en hoe queries op deze tabellen worden uitgevoerd. Zo ondersteunt InnoDB transacties, maar geen FULLTEXT. MyISAM heeft weer FULLTEXT, maar heeft geen transacties, of enige vorm van databeveiliging dan ook. Zoals je door zult hebben is MySQL (en daarmee MariaDB) de enige die een notie heeft van engines. Elke andere database (PostgreSQL, Oracle, zelfs SQLite) heeft 1 manier om met je data om te gaan en that's it.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

25/03/2016 00:45:24
Quote Anchor link
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.

Toevoeging op 25/03/2016 00:58:51:

enkelvoudige opslag:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
id username email
1  Frank    z@example.com
2  Ben      y@example.com
3  Bryan    x@example.com

Database:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
user table:

id username email
1  Frank    z@example.com
2  Ben      y@example.com
3  Bryan    x@example.com

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

username index:

username id
BEN      2
BRYAN    3
FRANK    1

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

email index:

email          id
x@example.com  3
y@example.com  2
z@example.com  1
Gewijzigd op 25/03/2016 01:01:59 door Frank Nietbelangrijk
 
Ozzie PHP

Ozzie PHP

25/03/2016 01:24:16
Quote Anchor link
@Frank

Mooi voorbeeldje :)
 
Thomas van den Heuvel

Thomas van den Heuvel

25/03/2016 13:23:00
Quote Anchor link
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.
 
Ben van Velzen

Ben van Velzen

25/03/2016 16:02:51
Quote Anchor link
Overstappen naar PostgreSQL?
 
- Ariën -
Beheerder

- Ariën -

25/03/2016 16:05:34
Quote Anchor link
Alleen niet elke shared hosting biedt die ondersteuning :-P
 
Ben van Velzen

Ben van Velzen

25/03/2016 16:56:40
Quote Anchor link
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 ;)
Gewijzigd op 25/03/2016 16:57:18 door Ben van Velzen
 
Chris rutten

chris rutten

07/04/2016 10:22:53
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.