Kurs Oracle - podstawy sql.pdf

(1069 KB) Pobierz
Kurs Oracle - Podstawy SQL
PodstawyjęzykaSQL
Materiały szkoleniowe
Podstawy j ę zyka SQL
Prowadzący
Anna Pijanowska - Kuśnierz
Paweł śołnierczyk
Strona2
16930356.039.png 16930356.040.png
PodstawyjęzykaSQL
PodstawyjęzykaSQL
Spis treści
Ć wiczenia __________________________________________________________________53
Podzapytania ___________________________________________________________ 56
Podzapytania zagnie Ŝ d Ŝ one____________________________________________________57
Podzapytania zwracaj ą ce jeden wiersz __________________________________________57
Podzapytania zwracaj ą ce wiele wierszy__________________________________________58
Ć wiczenia __________________________________________________________________63
J ę zyk definiowania danych ________________________________________________ 64
Zawarto ść tabel wykorzystywanych na kursie___________________________________5
Zawarto ść tabeli DEPT _______________________________________________________ 6
Zawarto ść tabeli EMP ________________________________________________________ 6
Zawarto ść tabeli SALGRADE __________________________________________________ 6
Budowa tabel wykorzystywanych na kursie_______________________________________ 7
Relacyjny model danych____________________________________________________9
Struktury danych ORACLE ___________________________________________________65
Tworzenie tabel _____________________________________________________________65
Warunki integralno ś ci ________________________________________________________66
Tworzenie tabeli przez zapytanie _______________________________________________72
Zmiana definicji tabeli________________________________________________________73
J ę zyk manipulowania danymi ______________________________________________ 77
Wstawianie wierszy __________________________________________________________78
Modyfikacja wierszy _________________________________________________________79
Usuwanie wierszy ____________________________________________________________79
Transakcje _________________________________________________________________80
Perspektywy ____________________________________________________________ 83
Operatory relacyjne _________________________________________________________ 10
Własno ś ci relacyjnej bazy danych______________________________________________ 10
Przegl ą d j ę zyka SQL______________________________________________________13
Zasady SQL ________________________________________________________________ 14
Ć wiczenia __________________________________________________________________ 28
Funkcje grupowe ________________________________________________________31
Stosowanie funkcji grupowych ________________________________________________ 32
Klauzula GROUP BY ________________________________________________________ 33
Wybierane wyra Ŝ enia a funkcje grupowe________________________________________ 34
Klauzula HAVING __________________________________________________________ 35
Kolejno ść wyst ę powania klauzul _______________________________________________ 37
Ć wiczenia __________________________________________________________________ 38
Wybieranie danych z wielu tabel ____________________________________________40
Perspektywy ________________________________________________________________84
Tworzenie perspektyw________________________________________________________84
Usuwanie perspektywy _______________________________________________________85
U Ŝ ytkownicy i uprawnienia ________________________________________________ 87
Zarz ą dzanie u Ŝ ytkownikami___________________________________________________88
Uprawnienia w bazie Oracle ___________________________________________________89
Role _______________________________________________________________________93
ą czenie równo ś ciowe _______________________________________________________ 41
ą czenia nierówno ś ciowe ____________________________________________________ 42
Ć wiczenia __________________________________________________________________ 44
Inne metody ł ą czenia tabel_________________________________________________48
ą czenia zewn ę trzne ________________________________________________________ 49
Poł ą czenie tabeli samej ze sob ą ________________________________________________ 49
Operatory zbiorowe _________________________________________________________ 50
Strona3
Strona4
16930356.041.png 16930356.042.png 16930356.001.png 16930356.002.png 16930356.003.png 16930356.004.png 16930356.005.png 16930356.006.png 16930356.007.png
 
PodstawyjęzykaSQL
PodstawyjęzykaSQL
Zawartość tabeli DEPT
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
Zawartość tabeli EMP
Zawartość tabel wykorzystywanych na kursie
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
--------- ---------- --------- --------- -------- --------- --------- ---------
7839 KING PRESIDENT 81/11/17 5000 10
7698 BLAKE MANAGER 7839 81/05/01 2850 30
7782 CLARK MANAGER 7839 81/06/09 2450 10
7566 JONES MANAGER 7839 81/04/02 2975 20
7654 MARTIN SALESMAN 7698 81/09/28 1250 1400 30
7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30
7844 TURNER SALESMAN 7698 81/09/08 1500 0 30
7900 JAMES CLERK 7698 81/12/03 950 30
7521 WARD SALESMAN 7698 81/02/22 1250 500 30
7902 FORD ANALYST 7566 81/12/03 3000 20
7369 SMITH CLERK 7902 80/12/17 800 20
7788 SCOTT ANALYST 7566 82/12/09 3000 20
7876 ADAMS CLERK 7788 83/01/12 1100 20
7934 MILLER CLERK 7782 82/01/23 1300 10
Zawartość tabeli SALGRADE
GRADE LOSAL HISAL
--------- --------- ---------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
Strona5
Strona6
16930356.008.png 16930356.009.png 16930356.010.png 16930356.011.png 16930356.012.png 16930356.013.png 16930356.014.png 16930356.015.png 16930356.016.png
 
PodstawyjęzykaSQL
PodstawyjęzykaSQL
Budowa tabel wykorzystywanych na kursie
Tabela SALGRADE — tabela „widełek” zaszeregowania
Podczas kursu będziemy korzystać z uprzednio utworzonych tabel opisujących
zatrudnionych w pewnej firmie, ich wynagrodzenia i miejsca pracy. Firma dzieli się na
departamenty. KaŜdy pracownik naleŜy do pewnej grupy zaszeregowania, w zaleŜności od
wysokości pensji, którą otrzymuje.
Kolumna
Opis
GRADE
Numer grupy zaszeregowania
LOSAL
LOW SALARY — dolna granica widełek płacowych dla stawki
zaszeregowania GRADE
HISAL
HIGH SALARY — górna granica widełek
Tabela DEPT — tabela zawierająca wszystkie departamenty
Kolumna
Opis
DEPTNO
Departament number — unikalny numer departamentu
DNAME
Nazwa departamentu — przechowywana w zapisie duŜymi literami
LOC
Lokalizacja departamentu (miasto w którym znajduje się departament)
Tabela EMP wykaz wszystkich pracowników
Kolumna
Opis
EMPNO
Employee number — unikalny numer pracownika
ENAME
Nazwisko pracownika — przechowywane w zapisie duŜymi literami
JOB
Etat, stanowisko pracy
MGR
Identyfikator szefa (czyli EMPNO we wierszu szefa)
HIREDATE
Data zatrudnienia
SAL
Pensja
COMM
Prowizja naliczona od początku roku, dotyczy pracowników
zatrudnionych na stanowisku SALESMAN
DEPTNO
Numer departamentu w którym zatrudniony jest pracownik. Wartość
w tym polu musi odpowiadać jednemu i tylko jednemu wierszowi
w tabeli DEPT
Strona7
Strona8
16930356.017.png 16930356.018.png 16930356.019.png 16930356.020.png 16930356.021.png 16930356.022.png 16930356.023.png 16930356.024.png 16930356.025.png 16930356.026.png 16930356.027.png 16930356.028.png
 
PodstawyjęzykaSQL
PodstawyjęzykaSQL
Relacyjna baza danych jest to zbiór dwuwymiarowych tabel. Z modelem relacyjnym
powiązane są następujące pojęcia:
·
tabela,
·
kolumna,
·
wiersz,
·
pole.
Model relacyjny opiera się na pojęciach zaczerpniętych z algebry. Pojęcia te to:
·
relacja,
·
operator działający na relacjach i dający w wyniku relacje.
Relacje przedstawiane są w postaci tabel, zaś wybieranie danych z tabel to wynik działania
operatorów relacyjnych na tych tabelach.
Relacyjny model danych
Operatory relacyjne
WyróŜniamy następujące operatory relacyjne:
SELEKCJA pobieranie danych z relacji, w wyniku otrzymujemy
wszystkie wiersze, które spełniają zadany warunek
PROJEKCJA operacja pobrania wszystkich wierszy, ale tylko wskazanych
kolumn z tych wierszy
ILOCZYN KARTEZJAŃSKI wynik połączenia kaŜdy z kaŜdym wierszy z dwóch relacji
ZŁĄCZENIE
połączenie dwóch relacji poprzez pewne kryterium łączace
niektóre wiersze z obu relacji
SUMA ZBIOROWA
wszystkie wiersze z obu relacji
CZĘŚĆ WSPÓLNA
wiersze wspólne dla obu relacji
RÓśNICA ZBIOROWA
wiersze, które występują w jednej, a nie występują w drugiej
relacji
Własności relacyjnej bazy danych
Relacyjna baza danych ma następujące własności:
·
baza jest widziana przez uŜytkownika jako zbiór tabel,
·
nazwy tabel w bazie muszą być unikalne,
·
tabele składają się wierszy i kolumn,
·
językiem słuŜącym do operowania na bazie danych jest język nieproceduralny oparty
na algebrze relacji. Obecnie standardem jest SQL.
Strona9
Strona10
16930356.029.png 16930356.030.png 16930356.031.png 16930356.032.png 16930356.033.png 16930356.034.png 16930356.035.png 16930356.036.png 16930356.037.png 16930356.038.png
 
Zgłoś jeśli naruszono regulamin