him

Untitled

him
May 21st, 2012
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 12.27 KB | None | 0 0
  1. DROP DATABASE a11nikek;
  2. CREATE DATABASE a11nikek;
  3. USE a11nikek;
  4.  
  5. CREATE TABLE videobutik(
  6.     namn VARCHAR(20),
  7.     telnr VARCHAR (10),
  8.     adress VARCHAR(50),
  9.     PRIMARY KEY(namn)
  10. ) Engine = INNODB;
  11.  
  12. CREATE TABLE anstalld(
  13.     anstallnr VARCHAR(20),
  14.     lon INT,
  15.     namn VARCHAR (20),
  16.     chef VARCHAR (20),
  17.     FOREIGN KEY (chef) REFERENCES anstalld(anstallnr),
  18.     PRIMARY KEY(anstallnr)
  19. ) Engine = INNODB;
  20.  
  21.  
  22. CREATE TABLE kampanj (
  23.     namn VARCHAR(20),
  24.     veckonr VARCHAR (20),
  25.     ansvarig VARCHAR (20),
  26.     FOREIGN KEY (ansvarig) REFERENCES anstalld(anstallnr),
  27.     PRIMARY KEY (namn)
  28. ) Engine = INNODB;
  29.  
  30. CREATE TABLE hylla (
  31.     hyllnr VARCHAR (20),
  32.     butik VARCHAR (20),
  33.     FOREIGN KEY (butik) REFERENCES videobutik(namn),
  34.     PRIMARY KEY (hyllnr,butik)
  35. ) Engine = INNODB;
  36.  
  37. CREATE TABLE utgivare (
  38.     namn VARCHAR (20),
  39.     telnr VARCHAR (20),
  40.     PRIMARY KEY (namn)
  41. ) Engine = INNODB;
  42.  
  43.  
  44. CREATE TABLE film (
  45.     titel VARCHAR (20),
  46.     kategori VARCHAR (20),
  47.     langd VARCHAR (20),
  48.     utgivare VARCHAR (20),
  49.     FOREIGN KEY (utgivare) REFERENCES utgivare(namn),
  50.     PRIMARY KEY (titel)
  51. ) Engine = INNODB;
  52.  
  53. CREATE TABLE inkasso(
  54.     telnr VARCHAR (20),
  55.     stad VARCHAR (20),
  56.     namn VARCHAR (20),
  57.     PRIMARY KEY (telnr)
  58. ) Engine = INNODB;
  59.  
  60. CREATE TABLE kund(
  61.     pnr VARCHAR (11),
  62.     namn VARCHAR (20),
  63.     omdome VARCHAR (255),
  64.     telnr VARCHAR (20),
  65.     PRIMARY KEY (pnr)
  66. ) Engine = INNODB;
  67.  
  68. CREATE TABLE filmex(
  69.     exnr VARCHAR (20),
  70.     film VARCHAR (20),
  71.     butik VARCHAR (20),
  72.     pris VARCHAR (20),
  73.     kategori VARCHAR (20),
  74.     FOREIGN KEY (film) REFERENCES film(titel),
  75.     FOREIGN KEY (butik) REFERENCES videobutik(namn),
  76.     PRIMARY KEY (exnr, film, butik)
  77. ) Engine = INNODB;
  78.  
  79. CREATE TABLE uthyrning(
  80.     tidendenuthyrdes datetime,
  81.     film VARCHAR (20),
  82.     butik VARCHAR (20),
  83.     exnr VARCHAR (20),
  84.     kund VARCHAR (20),
  85.     inkasso VARCHAR (20),
  86.     uthyrningstid datetime,
  87.     faktisktaterlamningstid datetime,
  88.     FOREIGN KEY (exnr, film, butik) REFERENCES filmex(exnr, film, butik),
  89.     FOREIGN KEY (inkasso) REFERENCES inkasso(telnr),
  90.     FOREIGN KEY (kund) REFERENCES kund(pnr),
  91.     PRIMARY KEY (tidendenuthyrdes, film, butik, exnr, kund)
  92. ) Engine = INNODB;
  93.  
  94. CREATE TABLE finnsihylla(
  95.     exnr VARCHAR (20),
  96.     film VARCHAR (20),
  97.     butik VARCHAR (20),
  98.     butikhylla VARCHAR (20),
  99.     hyllnr VARCHAR (20),
  100.     FOREIGN KEY (exnr, film, butik) REFERENCES filmex(exnr, film, butik),
  101.     FOREIGN KEY (butikhylla, hyllnr) REFERENCES hylla (butik, hyllnr),
  102.     PRIMARY KEY (exnr, film, butik, hyllnr, butikhylla)
  103. ) Engine = INNODB;
  104.  
  105. CREATE TABLE arbetar(
  106.     butik VARCHAR (20),
  107.     anstalld VARCHAR (20),
  108.     FOREIGN KEY (anstalld) REFERENCES anstalld(anstallnr),
  109.     FOREIGN KEY (butik) REFERENCES videobutik(namn),
  110.     PRIMARY KEY (anstalld, butik)
  111. ) Engine = INNODB;
  112.  
  113. CREATE TABLE kampanjfilm (
  114.     kampanjnamn VARCHAR (20),
  115.     filmtitel VARCHAR (20),
  116.     FOREIGN KEY (kampanjnamn) REFERENCES kampanj(namn),
  117.     FOREIGN KEY (filmtitel) REFERENCES film(titel),
  118.     PRIMARY KEY (filmtitel, kampanjnamn)
  119. ) Engine = INNODB;
  120.  
  121. -- populera 1.0
  122. INSERT INTO videobutik (namn, telnr, adress) VALUES('vipp-video', '03112345', 'Göteborg123');
  123. INSERT INTO videobutik (namn, telnr, adress) VALUES('Axvallsgrillen', '031123456', 'Göteborg231');
  124.  
  125.  
  126. -- populera 1.1
  127. INSERT INTO anstalld (anstallnr, lon, namn, chef) VALUES ('31366', '36000', 'Bosse Lindqvist', '31366');
  128. INSERT INTO arbetar (butik, anstalld) VALUES ('Vipp-video', '31366');
  129.  
  130. -- Populera 1.2
  131. INSERT INTO anstalld (anstallnr, lon, namn, chef) VALUES ('87231', '8420', 'Biff Lindström', '31366');
  132. INSERT INTO arbetar (butik, anstalld) VALUES ('Vipp-video', '87231');
  133.  
  134. -- Populera 1.3
  135. INSERT INTO anstalld (anstallnr, lon, namn, chef) VALUES ('38065', '23000', 'Angela Bly', '38065');
  136. INSERT INTO arbetar (butik, anstalld) VALUES ('Axvallsgrillen', '38065');
  137.  
  138. -- Populera 1.4
  139. INSERT INTO anstalld (anstallnr, lon, namn, chef) VALUES ('66633', '10000', 'Ulf Bertilsson', '38065');
  140. INSERT INTO arbetar (butik, anstalld) VALUES ('Axvallsgrillen', '66633');
  141.  
  142. -- Populera 1.5
  143. INSERT INTO kampanj (namn, veckonr, ansvarig) VALUES ('Vinterruset', '48', '66633');
  144.  
  145. -- Populera 1.6
  146. INSERT INTO kampanj (namn, veckonr, ansvarig) VALUES ('Sommarrullen', '26', '87231');
  147.  
  148. -- Populera 1.7
  149. INSERT INTO utgivare (namn, telnr) VALUES ('Östproduktion', '097854321');
  150. INSERT INTO utgivare (namn, telnr) VALUES ('Vaniljrelease', '068723472');
  151. -- Populera 1.8
  152. INSERT INTO film (titel, kategori, langd, utgivare) VALUES ('Sigges Sommar', 'Romantik', '97', 'Östproduktion');
  153. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES ('111', 'Sigges Sommar', 'Axvallsgrillen', '48', 'DVD');
  154. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES ('122', 'Sigges Sommar', 'Axvallsgrillen', '48', 'DVD');
  155. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES ('133', 'Sigges Sommar', 'Axvallsgrillen', '48', 'DVD');
  156. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES ('442', 'Sigges Sommar', 'Axvallsgrillen', '78', 'Bluray');
  157. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES ('443', 'Sigges Sommar', 'Axvallsgrillen', '78', 'Bluray');
  158.  
  159. -- Populera 1.9
  160. INSERT INTO film (titel, kategori, langd, utgivare) VALUES ('Hårda Puckar', 'Sport', '62', 'Östproduktion');
  161. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES ('671', 'Hårda Puckar', 'Axvallsgrillen', '29', 'VHS');
  162.  
  163. -- Populera 1.10
  164. INSERT INTO hylla (hyllnr, butik) VALUES ('114', 'Axvallsgrillen');
  165. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES ('111', 'Sigges Sommar', 'Axvallsgrillen', 'Axvallsgrillen', '114');
  166. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES ('122', 'Sigges Sommar', 'Axvallsgrillen', 'Axvallsgrillen', '114');
  167. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES ('133', 'Sigges Sommar', 'Axvallsgrillen', 'Axvallsgrillen', '114' );
  168.  
  169. -- Populera 1.11
  170. INSERT INTO hylla (hyllnr, butik) VALUES ('115', 'AxvallsGrillen');
  171. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES ('442', 'Sigges Sommar', 'Axvallsgrillen', 'Axvallsgrillen', '114');
  172. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES ('443', 'Sigges Sommar', 'Axvallsgrillen', 'Axvallsgrillen', '114');
  173.  
  174. -- Populera 1.12
  175. INSERT INTO hylla (hyllnr, butik) VALUES ('114', 'vipp-video');
  176. INSERT INTO film (titel, kategori, langd, utgivare) VALUES ('Mopedjakten', 'Drama', '5', 'Vaniljrelease');
  177. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES('333', 'Mopedjakten', 'vipp-video', '29', 'VHS');
  178. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES('334', 'Mopedjakten', 'vipp-video', '29', 'VHS');
  179. INSERT INTO filmex (exnr, film, butik, pris, kategori) VALUES('335', 'Mopedjakten', 'vipp-video', '29', 'VHS');
  180. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES('333', 'Mopedjakten', 'vipp-video', 'vipp-video', '114');
  181. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES('334', 'Mopedjakten', 'vipp-video', 'vipp-video', '114');
  182. INSERT INTO finnsihylla (exnr, film, butik, butikhylla, hyllnr) VALUES('335', 'Mopedjakten', 'vipp-video', 'vipp-video', '114');
  183.  
  184. -- Populera 1.13
  185. INSERT INTO kund (pnr, namn, omdome, telnr) VALUES ('920128-5884', 'Josse Björk', 'pålitlig', '070012345');
  186.  
  187. -- Populera 1.14
  188. INSERT INTO kund (pnr, namn, omdome, telnr) VALUES ('670723-5835', 'Björn Bark', 'stamkund', '0788883212');
  189.  
  190. -- Populera 1.15
  191. INSERT INTO inkasso (telnr, stad, namn) VALUES ('053334577', 'Stöpet', 'Inkasso AB');
  192.  
  193. -- Populera 1.16
  194. INSERT INTO inkasso (telnr, stad, namn) VALUES ('00326573892', 'Varola', 'Grå&Trist HB');
  195.  
  196. -- Populera 1.17
  197. INSERT INTO uthyrning (tidendenuthyrdes, film, butik, exnr, kund, inkasso, uthyrningstid, faktisktaterlamningstid) VALUES ('2012-01-12 18:01:00', 'Sigges Sommar', 'Axvallsgrillen', '442', '920128-5884', '00326573892', '2012-01-13 18:01:00', '2012-01-13 17:59:00');
  198.  
  199. -- Populera 1.18
  200. INSERT INTO uthyrning (tidendenuthyrdes, film, butik, exnr, kund, inkasso, uthyrningstid, faktisktaterlamningstid) VALUES ('2012-02-16 12:34:00', 'Hårda Puckar' , 'Axvallsgrillen' , '671', '670723-5835', '053334577', '2012-02-20 18:00:00', NULL);
  201.  
  202. -- Populera 1.19
  203. INSERT INTO uthyrning (tidendenuthyrdes, film, butik, exnr, kund, inkasso, uthyrningstid, faktisktaterlamningstid) VALUES ('2012-01-12 17:00:00', 'Sigges Sommar', 'Axvallsgrillen', '442', '670723-5835', '00326573892', '2012-01-13 17:00:00', '2012-01-25 17:59:00');
  204. -- Populera 1.20
  205. INSERT INTO kampanjfilm (kampanjnamn, filmtitel) VALUES ('Vinterruset', 'Hårda Puckar');
  206.  
  207. -- Populera inlaga för frågor
  208. -- fråga 10
  209. INSERT INTO kund (pnr, namn, omdome, telnr) VALUES ('910607-2312', 'Sebastian Olsson', 'Skurk', '0700519423');
  210.  
  211. INSERT INTO uthyrning (tidendenuthyrdes, film, butik, exnr, kund, inkasso, uthyrningstid, faktisktaterlamningstid) VALUES ('2012-02-13 17:00:00', 'Sigges Sommar', 'Axvallsgrillen', '442', '910607-2312', '053334577', '2012-02-13 17:00:00', '2012-02-14 17:59:00');
  212.  
  213. -- Frågespråk 1.1
  214. SELECT stad FROM inkasso WHERE telnr='00326573892';
  215.  
  216. -- Frågespråk 1.2
  217. SELECT butik FROM arbetar WHERE anstalld='31366';
  218.  
  219. -- FrågeSpråk 1.3
  220. SELECT utgivare.namn, utgivare.telnr FROM film, utgivare WHERE film.utgivare=utgivare.namn AND titel ='sigges sommar';
  221.  
  222. -- FrågeSpråk 1.4
  223. SELECT arbetar.butik FROM arbetar, kampanj WHERE kampanj.namn='Vinterruset' AND kampanj.ansvarig=arbetar.anstalld;
  224.  
  225. -- Frågespråk 1.5
  226. SELECT kampanjfilm.kampanjnamn FROM kampanjfilm WHERE filmtitel='Hårda Puckar';
  227.  
  228. -- Frågespråk 1.6
  229. SELECT * FROM filmex e1, filmex e2 WHERE e1.pris=e2.pris AND e1.film<>e2.film;
  230.  
  231. -- Frågespråk 1.7
  232. SELECT kund.namn, kund.pnr FROM kund , uthyrning WHERE uthyrning.kund=kund.pnr AND faktisktaterlamningstid IS NULL;
  233.  
  234. -- Frågespråk 1.8
  235. SELECT kund.namn, kund.pnr FROM kund , uthyrning WHERE uthyrning.kund=kund.pnr AND DATE_ADD(tidendenuthyrdes, INTERVAL 10 DAY)<faktisktaterlamningstid;
  236.  
  237. -- FrågeSpråk 1.9
  238. SELECT kund.namn FROM kund WHERE NOT EXISTS (SELECT * FROM uthyrning WHERE kund.pnr=uthyrning.kund);
  239.  
  240. -- Frågespråk 1.10
  241. SELECT kund.namn FROM kund, uthyrning WHERE kund.pnr=uthyrning.kund;
  242.  
  243. -- Frågespråk 1.11
  244. SELECT kund.namn FROM kund WHERE kund.pnr IN (SELECT uthyrning.kund FROM uthyrning GROUP BY uthyrning.kund HAVING COUNT(*)=2);
  245.  
  246. -- FrågeSpråk 1.12
  247. SELECT anstalld.namn FROM anstalld ORDER BY anstalld.namn DESC;
  248.  
  249. -- FrågeSpråk 1.13
  250. SELECT AVG(filmex.pris) FROM filmex;
  251.  
  252. -- FrågeSpråk 1.14
  253. SELECT AVG(anstalld.lon), arbetar.butik FROM anstalld, arbetar WHERE anstalld.anstallnr=arbetar.anstalld GROUP BY (arbetar.butik);  
  254.  
  255. -- Frågespråk 1.15
  256. -- Hämta medelkostnaden för varje kund som lämnat åter samtliga av sina filmer. (Tips: använd Not exists och is null.)
  257. SELECT AVG(filmex.pris), kund.namn FROM kund, filmex, uthyrning WHERE kund.pnr=uthyrning.kund AND filmex.exnr=uthyrning.exnr AND NOT EXISTS (SELECT * FROM uthyrning WHERE kund.pnr=uthyrning.kund AND uthyrning.faktisktaterlamningstid IS NULL);
  258.  
  259. -- FrågeSpråk 1.16 inte klar
  260. SELECT inkasso.telnr FROM inkasso WHERE (SELECT COUNT(*) FROM uthyrning WHERE uthyrning.inkasso=inkasso.telnr AND inkasso.telnr <> '00326573892')=(SELECT COUNT(*) FROM uthyrning WHERE uthyrning.inkasso = '00326573892');
  261. -- Frågespråk 1.17
  262. SELECT *  FROM uthyrning AS uthyrning1, uthyrning AS uthyrning2 WHERE uthyrning1.exnr=uthyrning2.exnr AND uthyrning1.uthyrningstid<uthyrning2.uthyrningstid AND uthyrning1.faktisktaterlamningstid<=uthyrning2.faktisktaterlamningstid;
  263.  
  264. -- Frågespråk 1.18
  265. SELECT * FROM inkasso WHERE stad LIKE 'E%';
  266.  
  267. -- Frågespråk 1.19
  268. SELECT kund.namn, kund.pnr FROM kund WHERE kund.pnr NOT RLIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]';
  269.  
  270. -- Frågespårk 1.20
  271. SELECT kund.namn, kund.telnr, filmex.pris FROM kund, uthyrning, filmex WHERE uthyrning.kund=kund.pnr AND uthyrning.exnr=filmex.exnr AND uthyrning.film=filmex.film AND uthyrning.butik=filmex.butik AND filmex.pris=(SELECT MAX(pris) FROM filmex);
  272.  
  273. -- Frågespråk 1.21
  274. SELECT kund.namn FROM uthyrning, kund WHERE uthyrning.kund=kund.pnr AND uthyrning.film ='Sataythai' AND uthyrning.butik='Vipp-video' ORDER BY uthyrning.uthyrningstid DESC LIMIT 1;
  275. -- Frågespråk 1.22
  276. SELECT uthyrning.film FROM uthyrning WHERE DATEDIFF(CURDATE(),uthyrning.uthyrningstid)<7;
  277.  
  278. -- Frågespråk 1.23
  279. UPDATE anstalld SET lon = 1.22 * lon WHERE lon BETWEEN 10000 AND 12000;
  280.  
  281. -- Frågespråk 1.24
  282. DELETE FROM filmex WHERE exnr='442';
  283.  
  284. -- Frågespråk 1.25
  285. DELETE FROM anstalld WHERE anstallnr='31366';
Advertisement
Add Comment
Please, Sign In to add comment