Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ** DROP TABLE-setninger som sletter gamle tabeller
- */
- DROP TABLE IF EXISTS leilighet;
- DROP TABLE IF EXISTS andelseier;
- DROP TABLE IF EXISTS bygning;
- DROP TABLE IF EXISTS borettslag;
- DROP TABLE IF EXISTS sted;
- /*
- ** Lager tabellene, legger inn NOT NULL- og UNIQUE-krav der det er naturlig
- */
- CREATE TABLE sted
- (
- postnr CHAR(4),
- poststed VARCHAR(20) NOT NULL,
- PRIMARY KEY(postnr)
- )TYPE=INNODB;
- CREATE TABLE borettslag
- (
- bolag_navn VARCHAR(20),
- bolag_adr VARCHAR(40) NOT NULL UNIQUE,
- etabl_aar SMALLINT NOT NULL,
- postnr CHAR(4) NOT NULL,
- PRIMARY KEY(bolag_navn)
- )TYPE=INNODB;
- CREATE TABLE bygning
- (
- bygn_id INTEGER,
- bygn_adr VARCHAR(40) NOT NULL,
- ant_etasjer INTEGER DEFAULT 1,
- bolag_navn VARCHAR(20) NOT NULL,
- postnr CHAR(4) NOT NULL,
- PRIMARY KEY(bygn_id)
- )TYPE=INNODB;
- CREATE TABLE leilighet
- (
- leil_nr INTEGER,
- ant_rom SMALLINT NOT NULL,
- ant_kvm REAL NOT NULL,
- etasje SMALLINT DEFAULT 1,
- bygn_id INTEGER NOT NULL,
- and_eier_nr INTEGER NOT NULL UNIQUE,
- PRIMARY KEY(leil_nr)
- )TYPE=INNODB;
- CREATE TABLE andelseier
- (
- and_eier_nr INTEGER,
- fornavn VARCHAR(30) NOT NULL,
- etternavn VARCHAR(30) NOT NULL,
- telefon CHAR(15),
- ansiennitet SMALLINT,
- bolag_navn VARCHAR(20) NOT NULL,
- PRIMARY KEY(and_eier_nr)
- )TYPE=INNODB;
- /*
- ** Legger på referanseintegritet (fremmednøkler
- */
- ALTER TABLE borettslag ADD FOREIGN KEY(postnr) REFERENCES sted (postnr);
- ALTER TABLE bygning
- ADD FOREIGN KEY(postnr) REFERENCES sted(postnr),
- ADD FOREIGN KEY(bolag_navn) REFERENCES borettslag(bolag_navn);
- ALTER TABLE leilighet
- ADD FOREIGN KEY(bygn_id) REFERENCES bygning(bygn_id),
- ADD FOREIGN KEY(and_eier_nr) REFERENCES andelseier(and_eier_nr);
- ALTER TABLE andelseier ADD FOREIGN KEY(bolag_navn) REFERENCES borettslag(bolag_navn);
- COMMIT;
- /*
- ** Legger inn gyldige data
- */
- INSERT INTO sted VALUES('2020', 'Skedsmokorset'), ('6408', 'Aureosen'), ('7033', 'Trondheim'), ('7020', 'Trondheim'), ('0130', 'Oslo');
- INSERT INTO borettslag VALUES('Tertitten', 'Åsveien 100', 1980, '7020'), ('Sisiken', 'Brurød', 1990, '7033');
- INSERT INTO andelseier VALUES(101, 'Even', 'Trulsbo', '56667743', 3, 'Tertitten'), (102, 'Anna', 'Olsen', '45674588', 10, 'Tertitten'),
- (103, 'Ingrid', 'Olsen', '45785388', 8, 'Tertitten'), (104, 'Arne', 'Torp', '78565388', 7, 'Tertitten'), (105, 'Arne', 'Martinsen', '78555388', 4, 'Sisiken');
- INSERT INTO bygning VALUES(10, 'Åsveien 100a', 3, 'Tertitten', 7020), (11, 'Åsveien 100b', 3, 'Tertitten', 7020), (12, 'Åsveien 100c', 6, 'Tertitten', 7020),
- (14, 'Storgt 10', 2, 'Sisiken', 7033);
- INSERT INTO bygning(bygn_id, bygn_adr, bolag_navn, postnr) VALUES(13, 'Åsveien 100d', 'Tertitten', 7020);
- INSERT INTO leilighet VALUES(1, 5, 110, 3, 10, 101), (2, 5, 110, 3, 11, 102), (3, 2, 50, 2, 13, 103);
- INSERT INTO leilighet(leil_nr, ant_rom, ant_kvm, bygn_id, and_eier_nr) VALUES (4, 5, 110, 11, 104);
- COMMIT;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement