Hjælp til forespørgsel efter der normaliseret.
Efter 3. normalform er der kommet en ny tabel ud fra tabellerne Kunder og Leverandører, nemlig ByPostNr. Tabellen ByPostNr inderholder postnr, by og region. Region bliver bestemt ud fra, hvilket postnr man har. Mit spørgsmål lyder på, hvordan man laver en forespørgsel, som sammenligner om Kunden bor i samme region som leverandøren? Problemet er, at tabellerne Kunder og Leverandører refererer til samme tabel, nemlig byPostNr til at få oplyst, hvilken region de bor i. Man skal vel kigge på, hvilket postnr kunden har og derudfra finde frem til regionen. Det samme med leverandør. Til sidst skal de sammenlignes.CREATE TABLE Kunder (
kNavn CHAR (100) NOT NULL,
kVej CHAR (200) NOT NULL,
kHusnummer INT NOT NULL,
kPostNr CHAR (4) NOT NULL,
kKundeID CHAR (5) NOT NULL,
PRIMARY KEY (kKundeID),
CONSTRAINT fk_kunde_byPostNr FOREIGN KEY (kPostNr) REFERENCES ByPostNr,
);
CREATE TABLE Leverandører (
levFirmaNavn CHAR (100) NOT NULL,
levVej CHAR (200) NOT NULL,
levHusnummer INT NOT NULL,
levPostNr CHAR (4) NOT NULL,
LeverandørID CHAR (5) NOT NULL,
PRIMARY KEY (leverandørID),
CONSTRAINT fk_leverandør_byPostNr FOREIGN KEY (levPostNr) REFERENCES ByPostNr
);
CREATE TABLE ByPostNr (
bPostNr CHAR (4) NOT NULL,
bByNavn CHAR (100) NOT NULL,
bRegion TINYINT NOT NULL,
PRIMARY KEY (bPostNr),
CONSTRAINT regiondel CHECK (bRegion BETWEEN 1 AND 8)
);