Notatki
Pokaz slajdów
Konspekt
1
Rozdział 7
Język manipulowania danymi DML
  • wstawianie danych i polecenie INSERT, modyfikowanie danych i polecenie UPDATE, usuwanie danych i polecenie DELETE, połączenia modyfikowalne, sekwencje.
2
Wstawianie krotek do relacji (1)
  • Wstawiając wartości do wszystkich atrybutów relacji można pominąć listę atrybutów. Wartości w klauzuli INSERT muszą występować w takiej samej kolejności, w jakiej występowały definicje atrybutów w poleceniu CREATE TABLE. W celu zwiększenia czytelności polecenia zaleca się podawanie listy nazw atrybutów.
3
Wstawianie krotek do relacji (2)
  • Wstawianie parametryzowane w SQL*Plus oraz iSQL*Plus





  • Wstawianie krotek będących wynikiem zapytania
4
INSERT w standardzie SQL
  • Wstawianie krotki wypełnionej wartościami domyślnymi





  • Wstawianie wielu krotek w jednym poleceniu
5
Modyfikowanie krotek relacji (1)
  • Polecenie UPDATE







  • Uwaga!
  • Pominięcie klauzuli WHERE spowoduje, że zmodyfikowane zostaną wszystkie krotki w relacji (warunek w klauzuli WHERE będzie spełniony dla wszystkich krotek).
6
Modyfikowanie krotek relacji (2)
  • Inną wersją polecenia UPDATE jest polecenie wykorzystujące podzapytania skorelowane i/lub zagnieżdżone.
7
Modyfikowanie krotek - przykłady
  • Zwiększ płacę podstawową do wartości równej 120% średniej płacy podstawowej w zespole pracownika oraz zwiększ płacę dodatkową do wartości równej maksymalnej płacy dodatkowej w zespole pracownika. Operacji dokonaj tylko dla pracowników zatrudnionych po 1992 roku.








  • Pracownikom posiadającym podwładnych zwiększ płacę dodatkową o 10% sumy płac podstawowych podwładnych.
8
Usuwanie krotek relacji
  • Polecenie  DELETE




      • Klauzula WHERE określa, które krotki należy usunąć z relacji. Jeżeli klauzula WHERE nie zostanie wyspecyfikowana, to usunięte zostaną wszystkie krotki z relacji.
9
Modyfikowanie i usuwanie wyniku połączenia
  • Jeśli w połączeniu dwóch relacji kolumna pochodzi z relacji zachowującej klucz (key preserving table), to taka kolumna może być modyfikowana.


10
Sekwencje
  • Sekwencja to obiekt bazy danych generujący kolejne liczby. Sekwencje są stosowane przede wszystkim do tworzenia kolejnych wartości sztucznych kluczy podstawowych.


  • Tworzenie sekwencji






  • Modyfikowanie sekwencji
11
Korzystanie z sekwencji
  • Pseudokolumny NEXTVAL, CURRVAL






  • Wykorzystanie sekwencji w poleceniach DML
12
Usuwanie sekwencji
  • Usunięcie sekwencji




  • Informacje o sekwencjach w słowniku bazy danych
    • USER_SEQUENCES, ALL_SEQUENCES


  • Uwagi:
    • Sekwencja nie jest związana z konkretną relacją i może być wykorzystywana dla różnych atrybutów.
    • Sekwencja jest odczytywana zawsze, nawet jeśli transakcja zostanie wycofana.
    • Sekwencji nie można stosować w: podzapytaniach, zapytaniach z klauzulą DISTINCT, GROUP BY, ORDER BY, w klauzuli WHERE, w zapytaniach z operatorami zbiorowymi, w definicji perspektywy, w definicji wartości domyślnej DEFAULT