Deze categorie draait om het slim organiseren en gebruiken van data. Verwacht kaartjes over relationele structuren, query-optimalisatie, indexing, dataconsistentie en migraties. Je leert niet alleen hoe je data opslaat, maar ook hoe je die snel, veilig en betrouwbaar beschikbaar houdt.
Migration
AA
Database
Migration
Migrations zijn versiebeheer voor je databaseschema. Bestanden beschrijven schemawijzigingen (tabellen aanmaken, kolommen toevoegen) met up() en down(). Dit maakt teamsynchronisatie, consistente omgevingen en rollbacks mogelijk. Commando's: migrate, rollback, refresh.
AA
Database
INNER JOIN
A
Database
INNER JOIN
Een INNER JOIN geeft alleen records terug met een match in beide tabellen. Dit is de meest gebruikte join. Voorbeeld: SELECT A FROM table1 INNER JOIN table2 ON table1.id = table2.foreign_id. Niet-matchende rijen worden niet teruggegeven.
A
Database
ORM
AA
Database
Object-Relational Mapping
Een ORM mapt tabellen en rijen naar objecten en classes, zodat je via code met de database werkt in plaats van met SQL. Voordelen zijn abstractie, portabiliteit, security via prepared statements en productiviteit. Voorbeelden: Eloquent, Hibernate, SQLAlchemy en Sequelize. Nadelen zijn leercurve en wat overhead.
AA
Database
Index
AA
Database
Index
Een index is een datastructuur die de database bijhoudt naast een tabel om zoekopdrachten te versnellen. Zonder index doorzoekt de database elke rij één voor één; met een index wordt direct de juiste locatie gevonden, vergelijkbaar met een register achterin een boek. Indexen zijn essentieel voor performance op grote tabellen. Het nadeel is dat elke index extra opslagruimte kost en schrijfbewerkingen iets vertraagt, omdat de index ook bijgewerkt moet worden.
AA
Database
Transaction
A
Database
Transaction
Een transactie bundelt meerdere database-operaties tot één atomaire unit: alles slaagt of alles faalt (rollback). Dit garandeert data-integriteit. ACID staat voor Atomicity, Consistency, Isolation en Durability. Voorbeeld: geld overboeken vereist dat debit en credit beide slagen. Commando's: BEGIN, COMMIT, ROLLBACK.
A
Database
Mysqli
AAA
Database
MySQL Improved
MySQLi is de verbeterde PHP-extensie voor MySQL, opvolger van de oude mysql-extensie. Het ondersteunt prepared statements, meerdere statements, transacties en zowel object oriented als procedurele interfaces. Aanbevolen voor veilige MySQL-communicatie, maar gebruik bij voorkeur PDO voor database-abstractie over meerdere databases.
AAA
Database
SQLite
A
Database
SQL Lightweight Database
SQLite is een serverless, self-contained SQL-engine zonder configuratie. De volledige database staat in één bestand en draait binnen de applicatie, zonder apart serverproces. Ideaal voor mobiele apps, desktop, prototyping, kleine sites en tests. Beperkingen: beperkte gelijktijdige writes en geen gebruikersbeheer.
A
Database
Foreign Key
A
Database
Foreign Key
Een foreign key is een kolom (of set kolommen) die verwijst naar de primary key van een andere tabel en zo een relatie afdwingt. Dit borgt referentiële integriteit: je kunt geen ongeldige verwijzingen invoeren. ON DELETE CASCADE/SET NULL bepaalt het gedrag. Voorbeeld: orders.user_id - users.id.
A
Database
PostgreSQL
AA
Database
Post Ingres Structured Query Language
PostgreSQL is een geavanceerde open-source object-relationele database met hoge betrouwbaarheid en performance. Het ondersteunt JSON, full-text search, geospatial (PostGIS) en inheritance. Volledig ACID-compliant met rijke datatypen. Geschikt voor complexe apps en vaak geprefereerd boven MySQL vanwege de features.
AA
Database
Trigger
AAA
Database
Trigger
Een trigger is een stored procedure die automatisch draait bij een database-event (INSERT, UPDATE, DELETE), vóór (BEFORE) of na (AFTER). Toepassingen zijn auditing, business rules afdwingen en afgeleide data bijhouden. Het is handig, maar fouten zijn moeilijker te vinden. Gebruik het alleen als het echt nodig is.
AAA
Database
ACID
AA
Database
Atomicity Consistency Isolation Durability
ACID zijn de vier basiseigenschappen van betrouwbare databasetransacties. Atomicity: alles slaagt of alles wordt teruggedraaid. Consistency: de database gaat altijd van de ene geldige toestand naar de andere. Isolation: gelijktijdige transacties beïnvloeden elkaar niet. Durability: voltooide wijzigingen blijven bewaard, ook na een crash. Samen zorgen deze eigenschappen voor betrouwbare en veilige gegevensopslag.
AA
Database
Prepared statements
AA
Database
Prepared statements
Prepared statements zijn voorgecompileerde SQL-queries met placeholders voor parameters. De database parseert en compileert de query eenmalig — daarna worden alleen de parameters ingevuld bij elke uitvoering. Voordelen zijn beveiliging (voorkomt SQL-injectie), betere performance bij herhaalde queries en leesbaarheid. Vrijwel alle database-libraries (PDO, MySQLi, JDBC) ondersteunen ze.
AA
Database
Sharding
AAA
Database
Sharding
Sharding is horizontale verdeling waarbij data over meerdere databaseservers (shards) wordt verdeeld. Elke shard bevat een subset van de data. Dit maakt schalen buiten één server mogelijk. Uitdagingen: complexe queries over shards, rebalancing en de juiste shard key kiezen.
AAA
Database
MongoDB
AA
Database
MongoDB
MongoDB is een leidende NoSQL-documentendatabase die data opslaat in flexibele JSON-achtige documenten (BSON), niet in tabellen en rijen. Het schema is flexibel en documenten kunnen verschillen. Het is schaalbaar en snel voor ongestructureerde data. Queries lijken op JavaScript.
AA
Database
CRUD
A
Database
Create Read Update Delete
CRUD zijn de vier basisbewerkingen voor opgeslagen gegevens: Create, Read, Update en Delete. In SQL zijn dat INSERT, SELECT, UPDATE en DELETE. In HTTP zijn het POST, GET, PUT/PATCH en DELETE. Fundamenteel in apps, API's en ORMs.
A
Database
MariaDB
AA
Database
Maria Database
MariaDB is een community-gedreven fork van MySQL, opgezet door de oorspronkelijke oprichter na de Oracle-overname. Het is volledig open-source, volledig compatibel en een drop-in replacement. Extra's: prestatie-optimalisaties en meer storage engines. Gebruikt door o.a. Wikipedia en WordPress.com.
AA
Database
Joins
A
Database
Joins
Joins combineren data uit meerdere tabellen op basis van gerelateerde kolommen. INNER JOIN geeft alleen records met een match in beide tabellen. LEFT JOIN geeft alle rijen uit de linkertabel plus matches rechts (niet-matches zijn NULL). RIGHT JOIN geeft alle rijen uit de rechtertabel plus matches links. FULL OUTER JOIN geeft alles van beide tabellen. Voorbeeld: SELECT A FROM users LEFT JOIN orders ON users.id = orders.user_id.
A
Database
NoSQL
A
Database
Not Only SQL
NoSQL is een overkoepeldende term voor niet-relationele databases voor ongestructureerde of semi-gestructureerde data met flexibele schema's. Types zijn document (MongoDB), key-value (Redis), column-family (Cassandra) en graph (Neo4j). Voordelen: horizontale schaal, flexibiliteit en performance voor specifieke use-cases.
A
Database
Stored Procedure
AAA
Database
Stored Procedure
Een stored procedure is vooraf gedefinieerde SQL-code in de database die je kunt aanroepen als een functie. Voordelen: hergebruik, security (geen raw SQL uit de app), performance (pre-compiled) en gecentraliseerde businesslogica. Nadelen: vendor lock-in en lastiger versiebeheer/debugging.
AAA
Database
Key-value opslag
AAA
Database
Key-value store
Een key-value store is een eenvoudig NoSQL-opslagmodel waarbij elke waarde wordt opgeslagen en opgezocht via een unieke sleutel. Het is zeer snel, horizontaal schaalbaar en ideaal voor caching, sessies, configuratie en realtime data. Voorbeelden zijn Redis en Memcached. De structuur is flexibel maar biedt geen complexe querymogelijkheden zoals SQL.
AAA
Database
SQL View
A
Database
SQL View
Een SQL view is een virtuele tabel op basis van de resultset van een query. De view slaat zelf geen data op, maar wordt dynamisch gegenereerd. Handig voor abstractie (complexiteit verbergen), security (kolomtoegang beperken) en hergebruik. Voorbeeld: CREATE VIEW ... AS SELECT ...
A
Database
Replication
AAA
Database
Replication
Replicatie is het automatisch kopiëren van een database naar een of meer andere servers. Dit zorgt voor hogere beschikbaarheid: als één server uitvalt, neemt een andere de taken over. Replicatie wordt ook gebruikt om leesverkeer te verdelen over meerdere servers. Er zijn twee patronen: één server schrijft en de rest leest (primary-replica), of meerdere servers schrijven en lezen tegelijk (multi-primary).
AAA
Database
Eloquent
AA
Database
Eloquent ORM
Eloquent is Laravel's ActiveRecord-ORM voor database-interactie. Modellen representeren tabellen, relaties definieer je met methodes als hasMany en belongsTo. De query builder heeft een fluente interface en ondersteunt eager loading, mutators/accessors en soft deletes.
AA
Database
RIGHT JOIN
A
Database
RIGHT JOIN
Een RIGHT (OUTER) JOIN geeft alle rijen terug uit de rechtertabel plus de matches uit de linkertabel. Deze variant is minder gebruikelijk dan LEFT en vaak te herschrijven als een LEFT JOIN. Niet-matchende linkerwaarden zijn NULL.
A
Database
Normalisatie
AAA
Database
Normalisatie
Normalisatie is het logisch organiseren van data in een database, zodat gegevens niet onnodig dubbel worden opgeslagen en de integriteit toeneemt. Je verplaatst herhalende gegevens naar aparte tabellen die je via foreign keys aan elkaar koppelt. Het nadeel is dat je bij het opvragen van data vaker joins nodig hebt. Soms wordt normalisatie bewust losgelaten voor betere lees-performance.
AAA
Database
Seeding
AA
Database
Seeding
Seeding vult een database programmatisch met test- of fake data. Seed-bestanden beschrijven de inserts. Handig voor development en testing (fake data) en voor initiële productiegegevens (admin, defaults). Faker-libraries genereren realistische data.
AA
Database
Primary Key
A
Database
Primary Key
De primary key is een kolom die elk record uniek identificeert. Beperkingen zijn NOT NULL en UNIQUE, per tabel is er één. Vaak is dit een auto-increment integer (id), soms samengesteld uit meerdere kolommen. PK's zijn automatisch geïndexeerd en cruciaal voor joins en integriteit.
A
Database
Query Optimization
AAA
Database
Query Optimization
Query-optimalisatie is het verbeteren van de snelheid en efficiëntie van databasezoekopdrachten. Veelgebruikte technieken zijn: indexen gebruiken op kolommen waar je vaak op zoekt, SELECT A vermijden en alleen de benodigde kolommen opvragen, en resultaten beperken met LIMIT. Een trage query kan een grote impact hebben op de performance van een applicatie, dus optimalisatie is cruciaal bij groeiende datasets.
AAA
Database
Redis
AAA
Database
Redis
Redis is een supersnelle opslag voor gegevens in het geheugen. Je gebruikt het bijvoorbeeld voor cache, sessies, live statistieken, berichten en ranglijsten. Het ondersteunt strings, lists, sets, sorted sets en hashes. Persistence naar disk is optioneel. Single-threaded maar extreem snel.
AAA
Database
LEFT JOIN
A
Database
LEFT JOIN
Een LEFT (OUTER) JOIN geeft alle rijen terug uit de linkertabel plus de matches uit de rechtertabel. Niet-matchende rechterwaarden zijn NULL. Gebruik dit voor 'toon alle X, ook zonder Y'. Voorbeeld: SELECT A FROM users LEFT JOIN orders ON users.id = orders.user_id.
A
Database
MySQL
A
Database
My Structured Query Language
MySQL is een populair open-source relationeel databasemanagementsysteem (RDBMS), eigendom van Oracle. Het wordt veel gebruikt in webapps (WordPress, Drupal) en in de LAMP-stack. Features zijn ACID, replicatie en partitionering. Het is snel bij leesintensieve workloads. Er is een gratis Community- en een betaalde Enterprise-editie. MariaDB is een fork.
A
Database
Een uitgebreide collectie begrippen voor elk niveau
Van HTML & CSS tot databases en security
Geschikt voor beginners en gevorderden
Ideaal als lesmateriaal of teambuilding tool
Fysiek aan de slag, zonder scherm