Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. /*
  2. ** DROP TABLE-setninger som sletter gamle tabeller
  3. */
  4. DROP TABLE IF EXISTS leilighet;
  5. DROP TABLE IF EXISTS andelseier;
  6. DROP TABLE IF EXISTS bygning;
  7. DROP TABLE IF EXISTS borettslag;
  8. DROP TABLE IF EXISTS sted;
  9.  
  10. /*
  11. ** Lager tabellene, legger inn NOT NULL- og UNIQUE-krav der det er naturlig
  12. */
  13.  
  14. CREATE TABLE sted
  15. (
  16. postnr CHAR(4),
  17. poststed VARCHAR(20) NOT NULL,
  18. PRIMARY KEY(postnr)
  19. )TYPE=INNODB;
  20.  
  21. CREATE TABLE borettslag
  22. (
  23. bolag_navn VARCHAR(20),
  24. bolag_adr VARCHAR(40) NOT NULL UNIQUE,
  25. etabl_aar SMALLINT NOT NULL,
  26. postnr CHAR(4) NOT NULL,
  27. PRIMARY KEY(bolag_navn)
  28. )TYPE=INNODB;
  29.  
  30. CREATE TABLE bygning
  31. (
  32. bygn_id INTEGER,
  33. bygn_adr VARCHAR(40) NOT NULL,
  34. ant_etasjer INTEGER DEFAULT 1,
  35. bolag_navn VARCHAR(20) NOT NULL,
  36. postnr CHAR(4) NOT NULL,
  37. PRIMARY KEY(bygn_id)
  38. )TYPE=INNODB;
  39.  
  40. CREATE TABLE leilighet
  41. (
  42. leil_nr INTEGER,
  43. ant_rom SMALLINT NOT NULL,
  44. ant_kvm REAL NOT NULL,
  45. etasje SMALLINT DEFAULT 1,
  46. bygn_id INTEGER NOT NULL,
  47. and_eier_nr INTEGER NOT NULL UNIQUE,
  48. PRIMARY KEY(leil_nr)
  49. )TYPE=INNODB;
  50.  
  51. CREATE TABLE andelseier
  52. (
  53. and_eier_nr INTEGER,
  54. fornavn VARCHAR(30) NOT NULL,
  55. etternavn VARCHAR(30) NOT NULL,
  56. telefon CHAR(15),
  57. ansiennitet SMALLINT,
  58. bolag_navn VARCHAR(20) NOT NULL,
  59. PRIMARY KEY(and_eier_nr)
  60. )TYPE=INNODB;
  61.  
  62. /*
  63. ** Legger på referanseintegritet (fremmednøkler
  64. */
  65.  
  66. ALTER TABLE borettslag ADD FOREIGN KEY(postnr) REFERENCES sted (postnr);
  67.  
  68. ALTER TABLE bygning
  69. ADD FOREIGN KEY(postnr) REFERENCES sted(postnr),
  70. ADD FOREIGN KEY(bolag_navn) REFERENCES borettslag(bolag_navn);
  71.  
  72. ALTER TABLE leilighet
  73. ADD FOREIGN KEY(bygn_id) REFERENCES bygning(bygn_id),
  74. ADD FOREIGN KEY(and_eier_nr) REFERENCES andelseier(and_eier_nr);
  75.  
  76. ALTER TABLE andelseier ADD FOREIGN KEY(bolag_navn) REFERENCES borettslag(bolag_navn);
  77.  
  78. COMMIT;
  79.  
  80. /*
  81. ** Legger inn gyldige data
  82. */
  83.  
  84. INSERT INTO sted VALUES('2020', 'Skedsmokorset'), ('6408', 'Aureosen'), ('7033', 'Trondheim'), ('7020', 'Trondheim'), ('0130', 'Oslo');
  85.  
  86. INSERT INTO borettslag VALUES('Tertitten', 'Åsveien 100', 1980, '7020'), ('Sisiken', 'Brurød', 1990, '7033');
  87.  
  88. INSERT INTO andelseier VALUES(101, 'Even', 'Trulsbo', '56667743', 3, 'Tertitten'), (102, 'Anna', 'Olsen', '45674588', 10, 'Tertitten'),
  89. (103, 'Ingrid', 'Olsen', '45785388', 8, 'Tertitten'), (104, 'Arne', 'Torp', '78565388', 7, 'Tertitten'), (105, 'Arne', 'Martinsen', '78555388', 4, 'Sisiken');
  90.  
  91. INSERT INTO bygning VALUES(10, 'Åsveien 100a', 3, 'Tertitten', 7020), (11, 'Åsveien 100b', 3, 'Tertitten', 7020), (12, 'Åsveien 100c', 6, 'Tertitten', 7020),
  92. (14, 'Storgt 10', 2, 'Sisiken', 7033);
  93. INSERT INTO bygning(bygn_id, bygn_adr, bolag_navn, postnr) VALUES(13, 'Åsveien 100d', 'Tertitten', 7020);
  94.  
  95. INSERT INTO leilighet VALUES(1, 5, 110, 3, 10, 101), (2, 5, 110, 3, 11, 102), (3, 2, 50, 2, 13, 103);
  96. INSERT INTO leilighet(leil_nr, ant_rom, ant_kvm, bygn_id, and_eier_nr) VALUES (4, 5, 110, 11, 104);
  97.  
  98. COMMIT;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement