kernvraag; Via welke SQL moet ik toevoegen/wijzigingen om de juiste JOIN criteria/relaties met het INSERT VALUES statement te creëren?
Waardoor de correcte relaties en JOIN, de correcte data wordt weergegeven.
Zie ook bijlage,
Jullie feedback zie ik graag tegemoet,
Groet,
HappyPuppy
*/ sql script */
USE master
GO
drop database Biker
go
/* creeer db */
CREATE DATABASE Biker
GO
/* use db */
USE Biker
GO
/* creeer tabel klantAccount */
CREATE TABLE klantAccount (
klantAccount_ID int IDENTITY(1,1) NOT NULL,
emailadres varchar (30) NOT NULL,
password varchar (30) NOT NULL,
constraint PK_KLANTACCOUNT primary key (klantAccount_ID)
)
GO
/* creeer tabel klant */
CREATE TABLE klant (
klant_ID int IDENTITY(1,1) NOT NULL,
klantAccount_ID int NULL,
voornaam varchar (30) NOT NULL,
achternaam varchar (30) NOT NULL,
gebDatum date NOT NULL,
geslacht varchar (30) NOT NULL,
telnr varchar (30) NOT NULL,
constraint PK_KLANT primary key (klant_ID)
)
GO
/* creeer tabel adres */
CREATE TABLE adres (
adres_ID int IDENTITY(1,1) NOT NULL,
klant_ID int NULL,
straatnaam_huisnummer varchar (30) NOT NULL,
postcode varchar (30) NOT NULL,
woonplaats varchar (30) NOT NULL,
constraint PK_ADRES primary key (adres_ID)
)
GO
/* creeer tabel verhuur */
CREATE TABLE verhuur (
verhuur_ID int IDENTITY(1,1) NOT NULL,
adres_ID int NULL,
huurperiodestart date NOT NULL,
huurperiodeeind date NOT NULL,
verhuurstatus int NOT NULL,
polisnr varchar (12) NOT NULL,
constraint PK_VERHUUR primary key (verhuur_ID)
)
GO
/* creeer tabel verzekering */
CREATE TABLE verzekering (
verzekering_ID int IDENTITY(1,1) NOT NULL,
verhuur_ID int NULL,
verzekeringsmaatschappij int NOT NULL,
constraint PK_VERZEKERING primary key (verzekering_ID)
)
GO
/* creeer tabel schade */
CREATE TABLE schade (
schade_ID int IDENTITY(1,1) NOT NULL,
verzekering_ID int NULL,
schadeDatum date NOT NULL,
schadeCommentaar varchar (300) NOT NULL,
constraint PK_SCHADE primary key (schade_ID)
)
GO
/* creeer tabel koppeltabel_accessoires */
CREATE TABLE koppeltabel_accessoires (
koppel_accessoires_ID int IDENTITY(1,1),
verhuur_ID int,
accessoires_ID int,
constraint PK_KOPPELTABEL_ACCESSOIRES primary key (koppel_accessoires_ID)
);
/* creeer tabel accessoires */
CREATE TABLE accessoires (
accessoires_ID int IDENTITY(10,1) NOT NULL,
accessoiresKeuze int NOT NULL,
constraint PK_ACCESSOIRES primary key (accessoires_ID)
)
GO
/* creeer tabel koppeltabel_fiets */
CREATE TABLE koppeltabel_fiets (
koppel_fiets_ID int IDENTITY(1,1),
verhuur_ID int,
fiets_ID int,
constraint PK_KOPPELTABEL_FIETS primary key (koppel_fiets_ID)
)
GO
/* creeer tabel fiets */
CREATE TABLE fiets
(
fiets_ID int IDENTITY(1,1) NOT NULL,
fietsSoort int NOT NULL,
fietsType int NOT NULL,
constraint PK_FIETS primary key (fiets_ID)
)
GO
/* toevoegen Foreignkeys, cascade met ALTER TABLE */
alter table klant
add constraint FK_KLANT_REF_KLANTACCOUNT foreign key (klantAccount_ID)
references klantAccount (klantAccount_ID)
ON UPDATE CASCADE
ON DELETE NO ACTION;
go
alter table adres
add constraint FK_ADRES_REF_KLANT foreign key (klant_ID)
references klant (klant_ID)
ON UPDATE CASCADE
ON DELETE NO ACTION;
go
alter table verhuur
add constraint FK_VERHUUR_REF_ADRES foreign key (adres_ID)
references adres (adres_ID)
ON UPDATE CASCADE
ON DELETE NO ACTION;
go
alter table verzekering
add constraint FK_VERZEKERING_REF_VERHUUR foreign key (verhuur_ID)
references verhuur (verhuur_ID)
ON UPDATE CASCADE
ON DELETE NO ACTION;
go
alter table schade
add constraint FK_SCHADE_REF_VERZEKERING foreign key (verzekering_ID)
references verzekering (verzekering_ID)
ON UPDATE CASCADE
ON DELETE NO ACTION;
go
alter table koppeltabel_accessoires
add constraint FK_KOPPACCESSOIRES_REF_VERHUUR foreign key (verhuur_ID)
references verhuur (verhuur_ID), constraint FK_KOPPACCESSOIRES_REF_ACCESSOIRES foreign key (accessoires_ID)
references accessoires (accessoires_ID)
go
alter table koppeltabel_fiets
add constraint FK_KOPPFIETS_REF_VERHUUR foreign key (verhuur_ID)
references verhuur (verhuur_ID), constraint FK_KOPPEFIETS_REF_FIETS foreign key (fiets_ID)
references fiets (fiets_ID)
go
/* Toevoegen voorbeeldpopulatie */
INSERT INTO klantAccount (emailadres, password) VALUES ('[email protected]', 'Hjkre%3k4lKm#1')
INSERT INTO klantAccount (emailadres, password) VALUES ('[email protected]', 'B3@jskKlMna32')
INSERT INTO klantAccount (emailadres, password) VALUES ('[email protected]', 'J^7@wEtYnBkLlrT')
INSERT INTO klant (voornaam, achternaam, gebDatum, geslacht, telnr) VALUES ('Martin', 'van de Graaf', '1984-11-20', 'Man', '31612445849')
INSERT INTO klant (voornaam, achternaam, gebDatum, geslacht, telnr) VALUES ('Boris', 'Maas', '1963-04-13', 'Man', '31612114549')
INSERT INTO klant (voornaam, achternaam, gebDatum, geslacht, telnr) VALUES ('Karin', 'Leest', '1959-03-10', 'Vrouw', '31612445479')
INSERT INTO adres (straatnaam_huisnummer, postcode, woonplaats) VALUES ('De breestraat 32', '6042ER', 'Roermond')
INSERT INTO adres (straatnaam_huisnummer, postcode, woonplaats) VALUES ('Mauritius 43', '6043NJ', 'Roermond')
INSERT INTO adres (straatnaam_huisnummer, postcode, woonplaats) VALUES ('Kuikstraat 12', '6100ER', 'Echt')
INSERT INTO verhuur (huurperiodestart, huurperiodeeind, verhuurstatus, polisnr) VALUES ('2016-10-09', '2016-10-11' ,'1', 'acs127845127')
INSERT INTO verhuur (huurperiodestart, huurperiodeeind, verhuurstatus, polisnr) VALUES ('2016-10-09', '2016-10-13' ,'1', 'azb144578264')
INSERT INTO verhuur (huurperiodestart, huurperiodeeind, verhuurstatus, polisnr) VALUES ('2016-10-10', '2016-10-12' ,'1', 'art157113514')
INSERT INTO verzekering (verzekeringsmaatschappij) VALUES ('8')
INSERT INTO verzekering (verzekeringsmaatschappij) VALUES ('3')
INSERT INTO verzekering (verzekeringsmaatschappij) VALUES ('1')
INSERT INTO schade (schadeDatum, schadeCommentaar) VALUES ('2016-10-11' , 'De achterband was lek bij binnenkomst')
INSERT INTO schade (schadeDatum, schadeCommentaar) VALUES ('2016-10-13' , 'De ketting was gebroken')
INSERT INTO schade (schadeDatum, schadeCommentaar) VALUES ('2016-10-12' , 'De voor lamp was stuk')
INSERT INTO accessoires (accessoiresKeuze) VALUES ('2')
INSERT INTO accessoires (accessoiresKeuze) VALUES ('1')
INSERT INTO accessoires (accessoiresKeuze) VALUES ('3')
INSERT INTO fiets (fietsSoort, fietsType) VALUES ('2', '1')
INSERT INTO fiets (fietsSoort, fietsType) VALUES ('1', '1')
INSERT INTO fiets (fietsSoort, fietsType) VALUES ('1', '2')