Oracle Database 11g i SQL Programowanie.pdf
(
582 KB
)
Pobierz
Oracle Database 11g i SQL. Programowanie
Oracle Database 11g i SQL.
Programowanie
Autor: Jason Price
T³umaczenie: Marcin Rogó¿
ISBN: 978-83-246-1879-8
Tytu³ orygina³u:
Oracle Database 11g SQ
L
(Osborne Oracle Press)
Format: B5, stron: 672
Opanuj SQL i PL/SQL w Oracle Database i pisz œwietne programy!
•
Jak tworzyæ obiekty baz danych i kolekcje?
•
Jak zoptymalizowaæ instrukcje SQL, aby by³y wykonywane szybciej?
•
Jak pisaæ programy w PL/SQL?
Doskona³a baza danych to jeden z podstawowych elementów sprawnego
funkcjonowania wspó³czesnych przedsiêbiorstw, instytucji i organizacji. Jednak,
aby efektywnie korzystaæ z jej dobrodziejstw, potrzebujesz specjalnego
oprogramowania. Znakomitym systemem zarz¹dzania baz¹ danych jest Oracle.
Natomiast SQL — strukturalny jêzyk zapytañ — zapewnia dostêp do systemu
zarz¹dzania baz¹ danych, a wiêc pobieranie, wstawianie i usuwanie z niej wszelkich
informacji. PL/SQL (wywodz¹cy siê z SQL) umo¿liwia pisanie programów zawieraj¹cych
instrukcje SQL.
Ksi¹¿ka „Oracle Database 11g. Programowanie w jêzyku SQL” zawiera wyczerpuj¹ce
informacje, dotycz¹ce pracy z baz¹ danych Oracle za poœrednictwem instrukcji SQL,
a tak¿e opis najnowszych w³aœciwoœci i narzêdzi tego jêzyka, technik
optymalizacyjnych oraz obs³ugi Javy i XML. Z tego podrêcznika dowiesz siê miêdzy
innymi, w jaki sposób Oracle przetwarza oraz przechowuje daty i czas. Nauczysz siê
wykorzystywaæ du¿e obiekty do obs³ugi plików multimedialnych zawieraj¹cych obrazy,
muzykê i filmy, a tak¿e pisaæ (w jêzyku Java) programy uzyskuj¹ce dostêp do bazy
danych Oracle za poœrednictwem JDBC.
•
Pobieranie informacji z tabel bazy danych
•
SQL*Plus
•
Funkcje
•
Sk³adowanie oraz przetwarzanie dat i czasu
•
Zapytania zaawansowane
•
U¿ytkownicy, uprawnienia i role
•
Obiekty baz danych
•
Kolekcje
•
Praca z SQL w Javie
•
Zamkniêcie obiektu ResultSet
•
Optymalizacja SQL
•
XML i bazy danych Oracle
Baza Oracle nie bêdzie mia³a przed Tob¹ tajemnic!
Spis treści
5
Spis treści
O autorze ................................................................................................. 17
O redaktorze merytorycznym ..................................................................... 19
Wprowadzenie .......................................................................................... 21
Rozdział 1. Wprowadzenie .......................................................................................... 27
Czym jest relacyjna baza danych? ...............................................................................................27
Wstęp do SQL .............................................................................................................................28
Używanie SQL*Plus ...................................................................................................................30
Uruchamianie SQL*Plus .......................................................................................................30
Uruchamianie SQL*Plus z wiersza poleceń ..........................................................................31
Wykonywanie instrukcji SELECT za pomocą SQL*Plus .....................................................32
SQL Developer ............................................................................................................................33
Tworzenie schematu bazy danych sklepu ....................................................................................34
Uruchamianie skryptu programu SQL*Plus
w celu utworzenia schematu bazy danych sklepu ...............................................................35
Instrukcje DDL używane do tworzenia schematu bazy danych sklepu .................................36
Dodawanie, modyfikowanie i usuwanie wierszy .........................................................................44
Dodawanie wiersza do tabeli .................................................................................................44
Modyfikowanie istniejącego wiersza w tabeli .......................................................................46
Usuwanie wiersza z tabeli .....................................................................................................47
Typy BINARY_FLOAT i BINARY_DOUBLE .........................................................................47
Zalety typów BINARY_FLOAT i BINARY_DOUBLE .......................................................47
Użycie typów BINARY_FLOAT i BINARY_DOUBLE w tabeli ........................................48
Wartości specjalne .................................................................................................................49
Kończenie pracy SQL*Plus .........................................................................................................49
Wprowadzenie do Oracle PL/SQL ..............................................................................................50
Podsumowanie .............................................................................................................................51
Rozdział 2. Pobieranie informacji z tabel bazy danych ................................................. 53
Wykonywanie instrukcji SELECT dla jednej tabeli ....................................................................53
Pobieranie wszystkich kolumn z tabeli ........................................................................................54
Wykorzystanie klauzuli WHERE do wskazywania wierszy do pobrania ....................................55
Identyfikatory wierszy .................................................................................................................55
Numery wierszy ...........................................................................................................................56
Wykonywanie działań arytmetycznych .......................................................................................56
Wykonywanie obliczeń na datach .........................................................................................57
Korzystanie z kolumn w obliczeniach ...................................................................................58
6
Oracle Database 11g i SQL. Programowanie
Używanie aliasów kolumn ...........................................................................................................59
Łączenie wartości z kolumn za pomocą konkatenacji .................................................................60
Wartości null ...............................................................................................................................61
Wyświetlanie odrębnych wierszy ................................................................................................62
Porównywanie wartości ...............................................................................................................63
Korzystanie z operatorów SQL ...................................................................................................65
Operator LIKE ......................................................................................................................65
Operator IN ...........................................................................................................................67
Operator BETWEEN .............................................................................................................67
Operatory logiczne ......................................................................................................................68
Następstwo operatorów ...............................................................................................................69
Sortowanie wierszy za pomocą klauzuli ORDER BY .................................................................70
Instrukcje SELECT wykorzystujące dwie tabele .........................................................................71
Używanie aliasów tabel ...............................................................................................................73
Iloczyny kartezjańskie .................................................................................................................74
Instrukcje SELECT wykorzystujące więcej niż dwie tabele ........................................................74
Warunki złączenia i typy złączeń ................................................................................................76
Nierównozłączenia ................................................................................................................76
Złączenia rozszerzone ...........................................................................................................77
Złączenia własne ...................................................................................................................81
Wykonywanie złączeń za pomocą składni SQL/92 .....................................................................82
Wykonywanie złączeń wewnętrznych dwóch tabel z wykorzystaniem składni SQL/92 .......82
Upraszczanie złączeń za pomocą słowa kluczowego USING ...............................................83
Wykonywanie złączeń wewnętrznych obejmujących więcej niż dwie tabele (SQL/92) .......84
Wykonywanie złączeń wewnętrznych z użyciem wielu kolumn (SQL/92) ...........................84
Wykonywanie złączeń rozszerzonych z użyciem składni SQL/92 ........................................85
Wykonywanie złączeń własnych z użyciem składni SQL/92 ................................................86
Wykonywanie złączeń krzyżowych z użyciem składni SQL/92 ...........................................87
Podsumowanie .............................................................................................................................87
Rozdział 3. SQL*Plus ................................................................................................. 89
Przeglądanie struktury tabeli .......................................................................................................89
Edycja instrukcji SQL .................................................................................................................90
Zapisywanie, odczytywanie i uruchamianie plików ....................................................................92
Formatowanie kolumn .................................................................................................................95
Ustawianie rozmiaru strony .........................................................................................................97
Ustawianie rozmiaru wiersza .......................................................................................................97
Czyszczenie formatowania kolumny ...........................................................................................98
Używanie zmiennych ..................................................................................................................98
Zmienne tymczasowe ............................................................................................................99
Zmienne zdefiniowane ........................................................................................................101
Tworzenie prostych raportów ....................................................................................................104
Używanie zmiennych tymczasowych w skrypcie ................................................................104
Używanie zmiennych zdefiniowanych w skrypcie ..............................................................105
Przesyłanie wartości do zmiennej w skrypcie .....................................................................105
Dodawanie nagłówka i stopki .............................................................................................106
Obliczanie sum pośrednich ..................................................................................................108
Uzyskiwanie pomocy od SQL*Plus ..........................................................................................109
Automatyczne generowanie instrukcji SQL ..............................................................................110
Kończenie połączenia z bazą danych i pracy SQL*Plus ............................................................111
Podsumowanie ...........................................................................................................................111
Spis treści
7
Rozdział 4. Proste funkcje ....................................................................................... 113
Funkcje jednowierszowe ...........................................................................................................113
Funkcje znakowe .................................................................................................................114
Funkcje numeryczne ...........................................................................................................121
Funkcje konwertujące ..........................................................................................................125
Funkcje wyrażeń regularnych ..............................................................................................131
Funkcje agregujące ....................................................................................................................138
AVG() .................................................................................................................................138
COUNT() ............................................................................................................................139
MAX() i MIN() ...................................................................................................................140
STDDEV() ..........................................................................................................................140
SUM() .................................................................................................................................141
VARIANCE() .....................................................................................................................141
Grupowanie wierszy ..................................................................................................................141
Grupowanie wierszy za pomocą klauzuli GROUP BY .......................................................142
Nieprawidłowe użycie funkcji agregujących .......................................................................145
Filtrowanie grup wierszy za pomocą klauzuli HAVING .....................................................146
Jednoczesne używanie klauzul WHERE i GROUP BY ......................................................147
Jednoczesne używanie klauzul WHERE, GROUP BY i HAVING .....................................147
Podsumowanie ...........................................................................................................................148
Rozdział 5. Składowanie oraz przetwarzanie dat i czasu ............................................ 149
Proste przykłady składowania i pobierania dat ..........................................................................149
Konwertowanie typów DataGodzina za pomocą funkcji TO_CHAR() i TO_DATE() .............151
Konwersja daty i czasu na napis za pomocą funkcji TO_CHAR() ......................................151
Konwersja napisu na wyrażenie DataGodzina za pomocą funkcji TO_DATE() .................155
Ustawianie domyślnego formatu daty .......................................................................................158
Jak Oracle interpretuje lata dwucyfrowe? ..................................................................................159
Użycie formatu YY .............................................................................................................159
Użycie formatu RR ..............................................................................................................160
Funkcje operujące na datach i godzinach ..................................................................................161
ADD_MONTHS() ...............................................................................................................161
LAST_DAY() .....................................................................................................................163
MONTHS_BETWEEN() ....................................................................................................163
NEXT_DAY() .....................................................................................................................163
ROUND() ............................................................................................................................164
SYSDATE ...........................................................................................................................164
TRUNC() ............................................................................................................................165
Strefy czasowe ...........................................................................................................................165
Funkcje operujące na strefach czasowych ...........................................................................166
Strefa czasowa bazy danych i strefa czasowa sesji ..............................................................167
Uzyskiwanie przesunięć strefy czasowej .............................................................................168
Uzyskiwanie nazw stref czasowych ....................................................................................168
Konwertowanie wyrażenia DataGodzina z jednej strefy czasowej na inną .........................169
Datowniki (znaczniki czasu) ......................................................................................................169
Typy datowników ................................................................................................................169
Funkcje operujące na znacznikach czasu ............................................................................173
Interwały czasowe .....................................................................................................................178
Typ INTERVAL YEAR TO MONTH ................................................................................179
Typ INTERVAL DAY TO SECOND .................................................................................181
Funkcje operujące na interwałach .......................................................................................183
Podsumowanie ...........................................................................................................................184
8
Oracle Database 11g i SQL. Programowanie
Rozdział 6. Podzapytania ......................................................................................... 187
Rodzaje podzapytań ...................................................................................................................187
Pisanie podzapytań jednowierszowych ......................................................................................188
Podzapytania w klauzuli WHERE .......................................................................................188
Użycie innych operatorów jednowierszowych ....................................................................189
Podzapytania w klauzuli HAVING .....................................................................................189
Podzapytania w klauzuli FROM (widoki wbudowane) .......................................................191
Błędy, które można napotkać ..............................................................................................191
Pisanie podzapytań wielowierszowych ......................................................................................192
Użycie operatora IN z podzapytaniem wielowierszowym ..................................................193
Użycie operatora ANY z podzapytaniem wielowierszowym ..............................................194
Użycie operatora ALL z podzapytaniem wielowierszowym ...............................................194
Pisanie podzapytań wielokolumnowych ....................................................................................195
Pisanie podzapytań skorelowanych ...........................................................................................195
Przykład podzapytania skorelowanego ................................................................................195
Użycie operatorów EXISTS i NOT EXISTS z podzapytaniem skorelowanym ..................196
Pisanie zagnieżdżonych podzapytań ..........................................................................................199
Pisanie instrukcji UPDATE i DELETE zawierających podzapytania .......................................200
Pisanie instrukcji UPDATE zawierającej podzapytanie ......................................................200
Pisanie instrukcji DELETE zawierającej podzapytanie .......................................................201
Podsumowanie ...........................................................................................................................201
Rozdział 7. Zapytania zaawansowane ....................................................................... 203
Operatory zestawu .....................................................................................................................203
Przykładowe tabele .............................................................................................................204
Operator UNION ALL ........................................................................................................205
Operator UNION .................................................................................................................206
Operator INTERSECT ........................................................................................................207
Operator MINUS .................................................................................................................207
Łączenie operatorów zestawu ..............................................................................................207
Użycie funkcji TRANSLATE() .................................................................................................209
Użycie funkcji DECODE() ........................................................................................................210
Użycie wyrażenia CASE ...........................................................................................................212
Proste wyrażenia CASE ......................................................................................................212
Przeszukiwane wyrażenia CASE .........................................................................................213
Zapytania hierarchiczne .............................................................................................................215
Przykładowe dane ...............................................................................................................215
Zastosowanie klauzul CONNECT BY i START WITH .....................................................216
Użycie pseudokolumny LEVEL ..........................................................................................217
Formatowanie wyników zapytania hierarchicznego ............................................................218
Rozpoczynanie od węzła innego niż główny .......................................................................219
Użycie podzapytania w klauzuli START WITH .................................................................219
Poruszanie się po drzewie w górę ........................................................................................220
Eliminowanie węzłów i gałęzi z zapytania hierarchicznego ................................................220
Umieszczanie innych warunków w zapytaniu hierarchicznym ...........................................221
Rozszerzone klauzule GROUP BY ...........................................................................................222
Przykładowe tabele .............................................................................................................222
Użycie klauzuli ROLLUP ..........................................................................................................224
Klauzula CUBE ...................................................................................................................226
Funkcja GROUPING() ........................................................................................................227
Klauzula GROUPING SETS ...............................................................................................230
Użycie funkcji GROUPING_ID() .......................................................................................231
Kilkukrotne użycie kolumny w klauzuli GROUP BY .........................................................233
Użycie funkcji GROUP_ID() ..............................................................................................233
Plik z chomika:
kronos16
Inne pliki z tego folderu:
ebook(1).pdf
(7901 KB)
zend framework od podstaw. wykorzystaj gotowe rozwiązania php do tworzenia zaawansowanych aplikacji internetowych helion.pdf
(8872 KB)
poradnik korporacyjnego szczura ebook.pdf
(5896 KB)
helion's collection 2011 part 15.zip
(452267 KB)
Rory C. Reid, Dan Gray uzależnienie od pornografii. małżeńskie problemy spod łóżka helion.pdf
(5362 KB)
Inne foldery tego chomika:
- ◢◤ Gry paczkami
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
! IWONA 2 CRACK FULL VERSION DOŻYWOTNIA LICENCJA ZA FREE
##Konta Premium
Zgłoś jeśli
naruszono regulamin