Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.84 KB | None | 0 0
  1. --7
  2. Cechy transakcji: spójność, niepodzielność, izolacja, trwałość.
  3. Spojnosc - dane sa zgodne z otaczajaca rzeczywistoscia
  4. Niepodzielnosc - transakcja dziala jako calosc, jezeli jest jeden blad TO cala transakcja jest cofana
  5. Izolacja - transkacja nie ma wplywu na pozostale transakcje
  6. Trwalosc - transakcja jest trwala
  7.  
  8. --6
  9. Etapy przetwarzania zapytań:
  10. Analiza składniowa - zapytanie jest analizowane pod wzgledem poprawnosci polecenia
  11. Sprawdzenie spójnosci - sprawdzane jest czy zapytanie zwroci cokolwiek
  12. Optymalizacja zapytania - zapytanie jest optymalizowane (optymalizacja statyczna lub dynamiczna, kosztowa lub regułowa)
  13. Wykonanie zapytania
  14. Zwrot wyników lub kom. bledow
  15.  
  16. --1
  17. CREATE VIEW perspektywa1 AS
  18. SELECT m.id_mech, m.imie, m.nazwisko, m.data_zatrud, m.id_spec
  19. FROM mechanik m, naprawa n, samochody s
  20. WHERE m.id_mech = n.id_mech AND n.id_sam = s.id_sam
  21. AND s.KRAJ_PROD = (
  22.     SELECT s.kraj_prod
  23.     FROM samochody s
  24.     WHERE s.poj_sil > (
  25.         SELECT AVG(poj_sil) FROM samochody)
  26.     GROUP BY (s.kraj_prod)
  27.     ORDER BY COUNT(s.id_sam)
  28.     FETCH FIRST ROW only);
  29.  
  30. --2
  31. SELECT m.nazwisko, m.imie, s.nazwa
  32. FROM mechanik m, specjalnosc1 s, naprawa n
  33. WHERE m.id_mech = n.id_mech AND n.data IN (
  34.     SELECT n.data
  35.     FROM naprawa n, samochody s
  36.     WHERE n.id_sam = s.id_sam AND s.rok_prod = (
  37.         SELECT MIN(rok_prod) FROM samochody))
  38. AND s.id_spec = m.id_spec;
  39.  
  40. --3 ilosc napraw gdzie najmniej czesci i mechanik o najdluzszym stazu
  41. SELECT COUNT(COUNT(n.id_nap))
  42. FROM naprawa n, mechanik m, cz_napraw cz
  43. WHERE n.id_mech = m.id_mech AND m.data_zatrud = (
  44.     SELECT MIN(data_zatrud) FROM mechanik)
  45. AND cz.id_nap IN (
  46.     SELECT cz.id_nap
  47.     FROM cz_napraw cz
  48.     WHERE cz.id_nap = n.id_nap
  49.     GROUP BY cz.id_nap
  50.     HAVING COUNT(cz.id_czesci) = (
  51.         SELECT MIN(cz.id_czesci)
  52.         FROM cz_napraw cz
  53.         WHERE cz.id_nap = n.id_nap
  54.         GROUP BY cz.id_nap))
  55. GROUP BY n.id_nap;
  56.  
  57. --4
  58. SELECT s.marka, s.model
  59. FROM samochody s
  60. WHERE s.poj_sil > (
  61.     SELECT AVG(poj_sil)
  62.     FROM samochody
  63.     WHERE marka = s.marka);
  64.  
  65. --5
  66. UPDATE magazyn
  67. SET cena = cena * 1.1
  68. WHERE id_czesci IN (
  69.     SELECT cz.id_czesci
  70.     FROM cz_napraw cz, naprawa n
  71.     WHERE cz.id_nap = n.id_nap AND n.id_mech IN (
  72.         SELECT n.id_mech
  73.         FROM naprawa n, samochody s
  74.         WHERE n.id_sam = s.id_sam AND s.kraj_prod IN (
  75.             SELECT s.kraj_prod
  76.             FROM samochody s
  77.             WHERE s.marka = 'OPEL')
  78.             GROUP BY n.id_mech
  79.             HAVING COUNT(n.id_nap) = (
  80.                 SELECT MAX(COUNT(n.id_nap))
  81.                 FROM naprawa n, samochody s
  82.                 WHERE n.id_sam = s.id_sam AND s.kraj_prod IN (
  83.                     SELECT s.kraj_prod
  84.                     FROM samochody s
  85.                     WHERE s.marka = 'OPEL')
  86.                     GROUP BY n.id_mech)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement