Database mangement tools

Database management

Om een database aan te maken is het handig om een database mangement applicatie te gebruiken.
Voor de MS Windows gebruikers is Heidi-sql een aanrader. Uiteraard kan je ook PHPMyAdmin gebruiken die waarschijnlijk ingebakken is in je webserver.
Wij zullen in de cursus Heidi-sql gebruiken. Heidi is gratis te downloaden. Pak uit en open

Open je webserver en MySQL database.

Open Heidi-sql. Nu moet je een connectie met de database maken. Aan de linkerkant van je scherm kan je op 'nieuw' klikken en daarmee een nieuwe sessie aanmaken. Aan de rechterkant van het scherm geef je jou gegevens. Voor ons:

Sla op deze gegevens op zodat je dit volgende keer niet nog eens hoeft in te voeren.

Database aanmaken

Klik aan de linker kant op localhost met de rechter muisknop en volg het menu

create db

Geef je database een naam en kies de juiste Collatie. Indien beschikbaar utf8mb4_unicode_ci. Maar de utf8mb4_0900_ai_ci is ook oké. Eventueel een utf8_general_ci als alternatief.

Tabel aanmaken

We gaan nu een tabel aanmaken. Klik daarvoor met rechtermuisknop op je database en selecteer 'nieuwe maken' => 'tabel'

We komen nu in het tabel edit scherm.

Geef als eerste de tabel een naam, bv 'users' (bijna elke webdatabase heeft een users tabel)

Wij voegen de volgende kolommen toe met deze types.

De primaire sleutel (geel) bij id kan je toevoegen door met de rechtermuis op id te klikken 'maak nieuwe index'=> 'primairy'. De unieke sleutel van email kan op een vergelijkbare manier worden toegevoegd.

Indien je de tabel snel wilt creeeren zonder veel toestanden kan je ook onderstaande SQL code uitvoeren.

CREATE TABLE IF NOT EXISTS `users` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    `voornaam` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
    `tussenvoegsel` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
    `achternaam` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
    `gbdatum` date DEFAULT NULL,
    `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at` timestamp NULL DEFAULT NULL,
    `deleted_at` timestamp NULL DEFAULT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Uiteraard kan je zelf nog meer tabellen toevoegen.

Database vullen

Om te starten kan je een paar gebruikers toevoegen. Dit kan je zelf doen of je kan onderstaande insert queries draaien.

INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (1, 'ctromp@example.org', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Ted', NULL, 'Rau', NULL, '2022-11-17 22:11:44', '2022-11-17 22:11:44', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (2, 'dhansen@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Kurt', NULL, 'Brown', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (3, 'koss.michale@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Eve', NULL, 'Collier', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (4, 'lhickle@example.org', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Destin', NULL, 'Wuckert', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (5, 'crona.kaylie@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Aylin', NULL, 'Weber', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (6, 'kory.crooks@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Brooks', NULL, 'Ward', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (7, 'hills.allan@example.net', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Liliana', NULL, 'Hagenes', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (8, 'kilback.jewel@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Nikolas', NULL, 'Gislason', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (9, 'nebert@example.net', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Jermaine', NULL, 'Wiegand', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);
INSERT INTO `users` (`id`, `email`, `password`, `voornaam`, `tussenvoegsel`, `achternaam`, `gbdatum`, `created_at`, `updated_at`, `deleted_at`) VALUES (10, 'nrunolfsdottir@example.net', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'Larry', NULL, 'Kemmer', NULL, '2022-11-17 22:12:14', '2022-11-17 22:12:14', NULL);

Elke gebruiker krijgt een wachtwoord HASH. Daarbij is het wachtwoord 'password'