Advertisement
Lachezar1

Untitled

Dec 27th, 2023
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.15 KB | None | 0 0
  1. CREATE TABLE klient(
  2. ime VARCHAR(30),
  3. tel VARCHAR(30),
  4. email VARCHAR(30),
  5. kliend_id INT);
  6.  
  7. CREATE TABLE SLUJITEL(
  8. ime VARCHAR(30),
  9. telefon VARCHAR(30),
  10. email VARCHAR(30),
  11. slujitel_id INT,
  12. poziciq INTEGER);
  13.  
  14. CREATE TABLE pozicii(
  15. vid_poziciq VARCHAR(30),
  16. id INT);
  17.  
  18. CREATE TABLE vidDogovor(
  19. vid VARCHAR(30),
  20. id INT);
  21.  
  22. CREATE TABLE DOGOVOR(
  23. nomerNaDogovor INT,
  24. slujitel INT,
  25. klient INT,
  26. dataNaDogovor DATE,
  27. vidNaDogovor INT);
  28.  
  29. CREATE TABLE DogovorToUsluga(
  30. dogovor_id INT,
  31. usluga_id INT);
  32.  
  33. CREATE TABLE Uslugi(
  34. ime VARCHAR(30),
  35. opisanie VARCHAR(30),
  36. cena NUMBER,
  37. usluga_id INT);
  38.  
  39. ALTER TABLE klient
  40. ADD PRIMARY KEY (kliend_id);
  41.  
  42. ALTER TABLE DOGOVOR
  43. ADD FOREIGN KEY(klient)
  44. REFERENCES klient(kliend_id);
  45.  
  46. ALTER TABLE vidDogovor
  47. ADD PRIMARY KEY(id);
  48.  
  49. ALTER TABLE DOGOVOR
  50. ADD FOREIGN KEY(vidNaDogovor)
  51. REFERENCES vidDogovor(id);
  52.  
  53.  
  54. ALTER TABLE pozicii
  55. ADD PRIMARY KEY(id);
  56.  
  57. ALTER TABLE slujitel
  58. ADD FOREIGN KEY(poziciq)
  59. REFERENCES pozicii(id);
  60.  
  61.  
  62. ALTER TABLE slujitel
  63. ADD PRIMARY KEY(slujitel_id);
  64.  
  65. ALTER TABLE DOGOVOR
  66. ADD FOREIGN KEY(slujitel)
  67. REFERENCES slujitel(slujitel_id);
  68.  
  69.  
  70. ALTER TABLE DOGOVOR
  71. ADD PRIMARY KEY(nomerNaDogovor);
  72.  
  73. ALTER TABLE DogovorToUsluga
  74. ADD FOREIGN KEY(dogovor_id)
  75. REFERENCES DOGOVOR(nomerNaDogovor);
  76.  
  77.  
  78. ALTER TABLE Uslugi
  79. ADD PRIMARY KEY(usluga_id);
  80.  
  81. ALTER TABLE DogovorToUsluga
  82. ADD FOREIGN KEY(usluga_id)
  83. REFERENCES Uslugi(usluga_id);
  84.  
  85.  
  86.  
  87. /*11*/
  88. SELECT *
  89. FROM USLUGI
  90. WHERE IME='&IME';
  91.  
  92. SELECT SLUJITEL.ime,Slujitel.email,klient.ime,klient.email,vidDogovor.vid,dogovor.datanadogovor
  93. FROM DOGOVOR
  94. JOIN SLUJITEL ON SLUJITEL.slujitel_id=DOGOVOR.slujitel
  95. JOIN KLIENT ON klient.kliend_id=DOGOVOR.klient
  96. JOIN VIDDOGOVOR ON vidDogovor.id=dogovor.vidnadogovor
  97. WHERE NOMERNADOGOVOR='&nomernadogovor';
  98.  
  99. SELECT ime,tel,email
  100. FROM KLIENT
  101. WHERE IME='&IME';
  102.  
  103.  
  104. SELECT dogovor.datanadogovor,klient.ime,klient.email
  105. FROM dogovor  
  106. JOIN klient ON klient.kliend_id=dogovor.klient
  107. WHERE dogovor.vidnadogovor=(SELECT id FROM viddogovor WHERE vid='&vid');
  108.  
  109.  
  110.  
  111. /*12*/
  112. SELECT dogovor.datanadogovor,klient.ime,klient.email,viddogovor.vid
  113. FROM DOGOVOR
  114. JOIN klient ON klient.kliend_id=dogovor.klient
  115. JOIN viddogovor ON viddogovor.id=dogovor.vidnadogovor
  116. WHERE datanadogovor BETWEEN '&datanadogovor' AND '&datanadogovor';
  117.  
  118.  
  119. SELECT uslugi.ime,uslugi.opisanie,uslugi.cena
  120. FROM dogovor
  121. JOIN dogovortousluga ON dogovortousluga.dogovor_id=dogovor.nomernadogovor
  122. JOIN uslugi ON uslugi.usluga_id=dogovortousluga.usluga_id
  123. WHERE uslugi.usluga_id IN (SELECT usluga_id FROM dogovortousluga WHERE dogovortousluga.dogovor_id=&id)
  124. AND dogovortousluga.dogovor_id=&id;
  125.  
  126.  
  127. SELECT DISTINCT uslugi.ime,uslugi.opisanie,uslugi.cena
  128. FROM dogovor
  129. JOIN dogovortousluga ON dogovortousluga.dogovor_id=dogovor.nomernadogovor
  130. JOIN klient ON klient.kliend_id=dogovor.klient
  131. JOIN uslugi ON uslugi.usluga_id=dogovortousluga.usluga_id
  132. WHERE uslugi.usluga_id IN (SELECT usluga_id FROM dogovortousluga WHERE dogovortousluga.dogovor_id IN
  133.                         (SELECT dogovor.vidnadogovor FROM dogovor WHERE klient=
  134.                         (SELECT klient.kliend_id FROM klient WHERE klient.ime='&ime')) );
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement