Handboek: Databaseopdrachten en Active Directory-integratie uitvoeren
1. Voorbereiding
- Controleer de vereisten van de opdracht:
- Welke database(s) moet je gebruiken of maken?
- Welke gebruiker(s) moeten worden aangemaakt?
- Welke rechten moeten worden toegekend?
- Zorg ervoor dat je toegang hebt tot een SQL-client zoals:
- phpMyAdmin
- MySQL Workbench
- Command-line client (MySQL terminal)
2. SQL-gebruiker maken
Voordat je query’s uitvoert, maak je een nieuwe gebruiker aan voor de opdracht. Dit is belangrijk voor beveiliging en overzicht.
Stap 1: Nieuwe gebruiker maken
CREATE USER ‘gebruikersnaam’@’localhost’ IDENTIFIED BY ‘SterkWachtwoord123!’;
- gebruikersnaam: De naam van de nieuwe gebruiker.
- localhost: De gebruiker kan alleen vanaf de server zelf inloggen.
- SterkWachtwoord123!: Kies een sterk wachtwoord met letters, cijfers en speciale tekens.
Stap 2: Rechten toekennen
GRANT ALL PRIVILEGES ON database_naam.* TO ‘gebruikersnaam’@’localhost’;
FLUSH PRIVILEGES;
- database_naam: De naam van de database waartoe de gebruiker toegang krijgt.
- FLUSH PRIVILEGES: Vernieuwt de rechten zodat ze meteen actief zijn.
Checklist:
- Controleer of de gebruiker werkt:
mysql -u gebruikersnaam -p
3. Basis-query’s schrijven
Bijna alle opdrachten vereisen dat je gegevens ophaalt of analyseert. Gebruik deze basisprincipes:
Query: Gegevens ophalen
Haal specifieke gegevens uit een tabel:
SELECT kolom1, kolom2 FROM tabelnaam WHERE conditie;
Voorbeeld:
SELECT voornaam, achternaam FROM gebruikers WHERE status = ‘actief’;
Query: Gegevens tellen
Tel het aantal rijen dat voldoet aan een voorwaarde:
SELECT COUNT(*) FROM tabelnaam WHERE conditie;
Voorbeeld:
SELECT COUNT(*) AS totaal_actieve_gebruikers FROM gebruikers WHERE status = ‘actief’;
Query: Sorteren
Sorteer gegevens op een specifieke kolom:
SELECT kolom1, kolom2 FROM tabelnaam ORDER BY kolom1 ASC;
- ASC: Oplopend sorteren (standaard).
- DESC: Aflopend sorteren.
Query: Datumbereik gebruiken
Gebruik een filter voor datums:
SELECT kolom1, kolom2 FROM tabelnaam WHERE datum_kolom BETWEEN ‘YYYY-MM-DD’ AND ‘YYYY-MM-DD’;
4. Tabellen aanpassen
Bij sommige opdrachten moet je bestaande tabellen aanpassen of nieuwe tabellen toevoegen.
Nieuwe tabel maken
Maak een nieuwe tabel met specifieke kolommen:
CREATE TABLE tabelnaam (
kolom1 datatype constraint,
kolom2 datatype constraint
);
- datatype: Bijvoorbeeld INT, VARCHAR(50), of DATE.
- constraint: Bijvoorbeeld NOT NULL, PRIMARY KEY.
Voorbeeld:
CREATE TABLE status (
status_id INT NOT NULL PRIMARY KEY,
omschrijving VARCHAR(50) NOT NULL
);
Kolom toevoegen aan bestaande tabel
ALTER TABLE tabelnaam ADD COLUMN kolomnaam datatype;
Voorbeeld:
ALTER TABLE gebruikers ADD COLUMN status_id INT;
Relatie tussen tabellen maken
Voeg een foreign key toe om een relatie tussen tabellen te maken:
ALTER TABLE tabelnaam
ADD CONSTRAINT fk_kolomnaam
FOREIGN KEY (kolomnaam) REFERENCES andere_tabel(referentie_kolom);
Voorbeeld:
ALTER TABLE gebruikers
ADD CONSTRAINT fk_status_id
FOREIGN KEY (status_id) REFERENCES status(status_id);
5. Gegevens bewerken
Je kunt gegevens in tabellen aanpassen, toevoegen of verwijderen.
Gegevens toevoegen
Voeg nieuwe rijen toe aan een tabel:
INSERT INTO tabelnaam (kolom1, kolom2) VALUES (waarde1, waarde2);
Voorbeeld:
INSERT INTO status (status_id, omschrijving) VALUES (1, ‘Actief’);
Gegevens wijzigen
Wijzig bestaande gegevens:
UPDATE tabelnaam SET kolomnaam = waarde WHERE conditie;
Voorbeeld:
UPDATE gebruikers SET status_id = 1 WHERE status = ‘actief’;
Gegevens verwijderen
Verwijder gegevens uit een tabel:
DELETE FROM tabelnaam WHERE conditie;
Voorbeeld:
DELETE FROM gebruikers WHERE status = ‘inactief’;
Let op: Als er een foreign key-relatie is, kun je niet zomaar gegevens verwijderen. Zorg ervoor dat er geen afhankelijkheden zijn.
6. Foutafhandeling
- Als een query niet werkt:
- Controleer de tabelstructuur:
DESCRIBE tabelnaam;
- Controleer of er afhankelijkheden zijn:
SHOW CREATE TABLE tabelnaam;
- Pas je query aan op basis van de output.
7. Documentatie
Voor elke opdracht moet je de stappen documenteren:
- Schrijf je query’s uit: Vermeld welke tabellen je hebt aangepast en welke resultaten je kreeg.
- Maak screenshots: Leg vast hoe je query’s uitvoert en wat de output is.
- Houd een overzicht bij: Noteer hoeveel tijd je hebt besteed aan elk onderdeel.
Checklist voor een goede uitvoering
- Heb je een nieuwe gebruiker aangemaakt met de juiste rechten?
- Zijn je query’s correct geformuleerd en getest?
- Heb je alle tabellen aangepast zoals in de opdracht vereist?
- Heb je de resultaten gedocumenteerd en screenshots toegevoegd?
- Heb je fouten gecontroleerd en opgelost?