Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. DROP TABLE IF EXISTS screening_table;
  2. DROP TABLE IF EXISTS cinema_table;
  3. DROP TABLE IF EXISTS movie_table;
  4. DROP TABLE IF EXISTS staff_table;
  5.  
  6. CREATE TABLE staff_table(
  7. PRIMARY KEY (staffno),
  8. staffno VARCHAR(8) NOT NULL,
  9. surname VARCHAR(25),
  10. given VARCHAR(25),
  11. sex VARCHAR(2),
  12. dob DATE,
  13. joined DATE,
  14. resigned DATE,
  15. the_address VARCHAR(50),
  16. suburb VARCHAR(50),
  17. postcode VARCHAR(6),
  18. homephone VARCHAR(20),
  19. workphone VARCHAR(20),
  20. rateperhour INT,
  21. CONSTRAINT sex_check -- Här döper vi vårat villkor
  22. CHECK (sex = 'M' or sex= 'F'), --Här lägger vi till ett villkor att man måste skriva M eller F på kön
  23. CONSTRAINT post_check -- Här döper vi vårat villkor
  24. CHECK (postcode BETWEEN 2000 AND 9999), -- Här lägget vi till vilkoret
  25. CONSTRAINT resigned_check
  26. CHECK (resigned > joined),
  27. );
  28.  
  29. CREATE TABLE movie_table(
  30. PRIMARY KEY (movieno),
  31. movieno VARCHAR(8) NOT NULL,
  32. title VARCHAR(50),
  33. the_length INT,
  34. category VARCHAR(20),
  35. classification CHAR(3),
  36. the_year INT,
  37. studio VARCHAR(20),
  38. );
  39.  
  40. CREATE TABLE cinema_table(
  41. PRIMARY KEY (cinemano),
  42. cinemano VARCHAR(8) NOT NULL,
  43. numericseats INT,
  44. screensize CHAR(1),
  45. );
  46.  
  47. CREATE TABLE screening_table (
  48. PRIMARY KEY (screeningno),
  49. screeningno VARCHAR(8) NOT NULL,
  50. cinemano VARCHAR(8),
  51. movieno VARCHAR(8),
  52. supervisorno VARCHAR(8),
  53. cameraopno VARCHAR(8),
  54. hourstart INT,
  55. screeningdate DATE,
  56. FOREIGN KEY (movieno) REFERENCES movie_table(movieno),
  57. FOREIGN KEY (supervisorno) REFERENCES staff_table(staffno), -- Eget antagande att supervisorno är detsamma som staffno för att koppla ihop de två tabellerna!
  58. FOREIGN KEY (cinemano) REFERENCES cinema_table(cinemano)
  59. );
  60.  
  61. INSERT INTO staff_table
  62. VALUES ('11','Snowden','Edward','M','1960-01-13','1981-09-09',NULL,'Slalomvägen 2','Saltsjöbaden','2000','08-7172500','0708600330','2888'),
  63. ('22','Martensson','Helena','F','1994-04-17','2019-01-25','2019-01-30','Bjornkarrsgatan 7J','Fiskeskit','3000','013-152425','0708566321','3'),
  64. ('10','Hofren','Johanna','F','1998-01-25','2010-04-07','2018-07-20','Nya Tanneforsvägen 15A','Linköping','4000','070-828282','0707931717','3000');
  65.  
  66. INSERT INTO movie_table (movieno, category, title, the_length)
  67. VALUES ('2','Action','Björnbröderna','2'),
  68. ('3','Drama','Notting Hill','2'),
  69. ('4','Romance','The Notebook','3'),
  70. ('5','Comedy','American Pie','1');
  71.  
  72. INSERT INTO cinema_table
  73. VALUES ('1337','103','S');
  74.  
  75. INSERT INTO screening_table
  76. VALUES ('37','1337','2','11','5','19','2019-11-18');
  77.  
  78. /*Här höjer vi och sänker värdet på hur långt ett efternamn kan vara. För att testa skriver du ut efternamn med bokstäver större än värdet på siffran - detta ska ej fungera! */
  79. ALTER TABLE staff_table
  80. ALTER COLUMN surname VARCHAR(35) NOT NULL;
  81.  
  82. ALTER TABLE staff_table
  83. ALTER COLUMN surname VARCHAR(25) NOT NULL;
  84.  
  85. /* Här lägger vi till en primary key, för att testa skriver du ut två primary keys i varje tabell med samma värde - det ska ej fungera! (OM man ej gjort det i tabellerna ovan).
  86.  
  87. ALTER TABLE staff_table
  88. ADD PRIMARY KEY (staffno);
  89.  
  90. ALTER TABLE screening_table
  91. ADD PRIMARY KEY (screeningno);
  92.  
  93. ALTER TABLE cinema_table
  94. ADD PRIMARY KEY (cinemano);
  95.  
  96. ALTER TABLE movie_table
  97. ADD PRIMARY KEY (movieno);
  98. */
  99.  
  100. -- Här lägger vi till en foreign key för att koppla samman två tabeller. (OM man ej gjort det i tabellerna ovan).
  101. /*
  102. ALTER TABLE screening_table
  103. ADD FOREIGN KEY (movieno) REFERENCES movie_table(movieno);
  104. */
  105.  
  106. -- Här tar vi bort en perspn från staff_table
  107. DELETE FROM staff_table WHERE dob='1998-01-25';
  108.  
  109. -- Här skriver vi ut allt som tabellerna innebär. Då när du testkör ser du varje kolumn
  110. SELECT *
  111. FROM staff_table;
  112.  
  113. SELECT *
  114. FROM cinema_table;
  115.  
  116. SELECT *
  117. FROM movie_table;
  118.  
  119. SELECT *
  120. FROM screening_table;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement