Ik had het idee om een webshop te maken voor het verkopen van verschillende producten. Je kunt een product bestellen, slechts nadat je bent ingelogd met je account. Wanneer je niet bent ingelogd kun je producten bekijken. Wanneer je producten hebt gekozen, kun je deze bekijken en betalen.
Een admin houdt users en admins bij.
Maken van database
create schema gip_taak_08_CoenenRicardo;
use gip_taak_08_CoenenRicardo;
Tabellen maken
create table UserAccount(
id int not null auto_increment primary key,
naam text not null,
email text not null,
gsm int not null,
adres text not null,
woonplaats text not null,
bankgegevens text not null
);
create table WinkelkarUser(
id int not null auto_increment primary key,
user_id int not null,
items text
);
create table BesteldeProducten(
id int not null auto_increment primary key,
WinkelkarUserId int not null,
ProductId int not null
);
create table Producten(
id int not null auto_increment primary key,
Naam text not null,
Beschrijving text not null,
Prijs double not null,
AantalInVoorraad int not null,
VaakVerkocht int not null
);
Data invoeren in de tabellen
insert into UserAccount(id, naam, email, gsm, adres, woonplaats, bankgegevens)
values
(1, "Vincent Boden", "vincent.boden@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(2, "Bert Caeyers", "bert.caeyers@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(3, "Ricardo Coenen", "ricardo.coenen@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(4, "Yordi Coussement", "yordi.coussement@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(5, "Christophe Dumont", "christophe.dumont@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(6, "Jens van Hoof", "jens.vanhoof@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(7, "Jens van Loon", "jens.vanloon@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0"),
(8, "Maarten Vissers", "maarten.vissers@immalle.be", 0470123456, "Hoogstraatsebaan 2", "MALLE", "BE12 505 5045456 0");
insert into WinkelkarUser(id, user_id)
values
(1, 3),
(2, 5),
(3, 8);
insert into Producten(id, Naam, Beschrijving, Prijs, AantalInVoorraad, VaakVerkocht)
values
(1, "Jupiler Blond Bier 24 X 25cl", "", 8.79, 20, 1456876),
(2, "Duvel 6 X 33cl", "", 6.39, 3, 54321),
(3, "Desperados 3 X 33cl", "", 4.15, 24, 87543),
(4, "Carlsberg 10 X 25cl", "", 8.95, 1, 600),
(5, "Maes 24 X 25cl", "", 8.65, 79, 5274867),
(6, "Cara Everyday Pils 24 X 25cl", "", 3.67, 50, 133);
insert into BesteldeProducten(id, WinkelkarUserId, ProductId)
values
(1, 1, 3),
(2, 2, 5),
(3, 3, 1);
Query’s voor het testen
toont alle accounts
SELECT *
FROM UserAccount;
toont alle producten
SELECT *
FROM Producten;
toont welke user wat in zijn winkelkar heeft zitten
SELECT naam, user_id, items
FROM UserAccount JOIN WinkelkarUser
ON UserAccount.id = WinkelkarUser.user_id;
Toont bestelde producten van users
SELECT *
FROM WinkelkarUser
JOIN besteldeproducten ON winkelkaruser.id = besteldeproducten.WinkelkarUserId
JOIN producten ON besteldeproducten.ProductId = producten.id;