Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00198 004852 15200850 na godz. na dobę w sumie
Oracle Database 12c i SQL. Programowanie - ebook/pdf
Oracle Database 12c i SQL. Programowanie - ebook/pdf
Autor: Liczba stron: 528
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-9953-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> oracle - programowanie
Porównaj ceny (książka, ebook, audiobook).

Twój podręcznik użytkownika bazy Oracle!

Baza danych Oracle to jeden z najpopularniejszych systemów bazodanowych, używany w wielu firmach różnej wielkości. Popularność tej bazy sprawiła, że na całym świecie w jej tabelach znajdują się gigantyczne ilości danych — o kluczowym znaczeniu dla działania przedsiębiorstw. Jeżeli chcesz w pełni wykorzystać potencjał bazy danych Oracle, to trafiłeś na doskonałą książkę.

Sięgnij po nią i poznaj możliwości zapytań SQL oraz programów PL/SQL. W kolejnych rozdziałach nauczysz się budować zapytania oraz podzapytania SQL, tworzyć tabele, sekwencje, indeksy oraz widoki, a ponadto korzystać z funkcji wbudowanych w język. Po tym wstępie przejdziesz do zaawansowanych tematów związanych z analizą danych oraz uprawnieniami. W książce znajdziesz też dokładny opis języka PL/SQL, poznasz jego składnię oraz możliwości. Zwróć uwagę na ostatnie rozdziały, poświęcone optymalizacji SQL oraz korzystaniu z XML. To doskonała lektura dla wszystkich użytkowników bazy danych oraz osób przygotowujących się do egzaminów związanych z bazą danych Oracle.

Kompendium wiedzy na temat bazy danych Oracle!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Oracle Database 12c SQL Tłumaczenie: Andrzej Stefański na podstawie „Oracle Database 11g i SQL. Programowanie” w tłumaczeniu: Marcina Rogóża ISBN: 978-83-246-9922-3 Original edition copyright © 2014 by McGraw-Hill Education (Publisher). All rights reserved. Polish edition copyright © 2015 by HELION S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/ord12p Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/ord12p.zip Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci Wprowadzenie ........................................................................................................................... 19 1 Wprowadzenie ........................................................................................................................... 23 Czym jest relacyjna baza danych? ................................................................................................ 23 Wst(cid:218)p do SQL ............................................................................................................................. 24 U(cid:285)ywanie SQL*Plus .................................................................................................................... 25 Uruchamianie SQL*Plus ...................................................................................................... 25 Uruchamianie SQL*Plus z wiersza polece(cid:241) ......................................................................... 26 Wykonywanie instrukcji SELECT za pomoc(cid:200) SQL*Plus ........................................................ 26 SQL Developer ........................................................................................................................... 27 Tworzenie schematu bazy danych sklepu .................................................................................... 30 Zawarto(cid:258)(cid:202) skryptu ............................................................................................................... 30 Uruchamianie skryptu ......................................................................................................... 31 Instrukcje DDL u(cid:285)ywane do tworzenia schematu bazy danych sklepu ................................. 32 Dodawanie, modyfikowanie i usuwanie wierszy .......................................................................... 38 Dodawanie wiersza do tabeli .............................................................................................. 38 Modyfikowanie istniej(cid:200)cego wiersza w tabeli ....................................................................... 39 Usuwanie wiersza z tabeli ................................................................................................... 40 (cid:146)(cid:200)czenie z baz(cid:200) danych i roz(cid:239)(cid:200)czanie .......................................................................................... 40 Ko(cid:241)czenie pracy SQL*Plus .......................................................................................................... 40 Wprowadzenie do Oracle PL/SQL ............................................................................................... 41 Podsumowanie ........................................................................................................................... 41 Pobieranie informacji z tabel bazy danych ................................................................................ 43 Wykonywanie instrukcji SELECT dla jednej tabeli ........................................................................ 43 Pobieranie wszystkich kolumn z tabeli ......................................................................................... 44 Wykorzystanie klauzuli WHERE do wskazywania wierszy do pobrania ........................................ 44 Identyfikatory wierszy .................................................................................................................. 44 Numery wierszy .......................................................................................................................... 45 Wykonywanie dzia(cid:239)a(cid:241) arytmetycznych ........................................................................................ 45 Wykonywanie oblicze(cid:241) na datach ....................................................................................... 46 Korzystanie z kolumn w obliczeniach .................................................................................. 47 Kolejno(cid:258)(cid:202) wykonywania dzia(cid:239)a(cid:241) .......................................................................................... 48 U(cid:285)ywanie aliasów kolumn ........................................................................................................... 48 (cid:146)(cid:200)czenie warto(cid:258)ci z kolumn za pomoc(cid:200) konkatenacji .................................................................. 49 Warto(cid:258)ci null ............................................................................................................................... 49 Wy(cid:258)wietlanie unikatowych wierszy .............................................................................................. 50 Porównywanie warto(cid:258)ci ............................................................................................................... 51 Operator ...................................................................................................................... 51 Operator ......................................................................................................................... 52 Operator = ...................................................................................................................... 52 Operator ANY ..................................................................................................................... 52 Operator ALL ...................................................................................................................... 52 2 Poleć książkęKup książkę 6 Oracle Database 12c i SQL. Programowanie Korzystanie z operatorów SQL .....................................................................................................53 Operator LIKE ......................................................................................................................53 Operator IN .........................................................................................................................54 Operator BETWEEN .............................................................................................................55 Operatory logiczne ......................................................................................................................55 Operator AND .....................................................................................................................55 Operator OR .......................................................................................................................56 Nast(cid:218)pstwo operatorów .......................................................................................................56 Sortowanie wierszy za pomoc(cid:200) klauzuli ORDER BY .....................................................................57 Instrukcje SELECT wykorzystuj(cid:200)ce dwie tabele .............................................................................58 U(cid:285)ywanie aliasów tabel ...............................................................................................................59 Iloczyny kartezja(cid:241)skie ..................................................................................................................60 Instrukcje SELECT wykorzystuj(cid:200)ce wi(cid:218)cej ni(cid:285) dwie tabele .............................................................60 Warunki z(cid:239)(cid:200)czenia i typy z(cid:239)(cid:200)cze(cid:241) .................................................................................................61 Nierównoz(cid:239)(cid:200)czenia ..............................................................................................................61 Z(cid:239)(cid:200)czenia zewn(cid:218)trzne ..........................................................................................................62 Z(cid:239)(cid:200)czenia w(cid:239)asne .................................................................................................................65 Wykonywanie z(cid:239)(cid:200)cze(cid:241) za pomoc(cid:200) sk(cid:239)adni SQL/92 .......................................................................66 Wykonywanie z(cid:239)(cid:200)cze(cid:241) wewn(cid:218)trznych dwóch tabel z wykorzystaniem sk(cid:239)adni SQL/92 .........66 Upraszczanie z(cid:239)(cid:200)cze(cid:241) za pomoc(cid:200) s(cid:239)owa kluczowego USING ................................................67 Wykonywanie z(cid:239)(cid:200)cze(cid:241) wewn(cid:218)trznych obejmuj(cid:200)cych wi(cid:218)cej ni(cid:285) dwie tabele (SQL/92) .........67 Wykonywanie z(cid:239)(cid:200)cze(cid:241) wewn(cid:218)trznych z u(cid:285)yciem wielu kolumn (SQL/92) .............................68 Wykonywanie z(cid:239)(cid:200)cze(cid:241) zewn(cid:218)trznych z u(cid:285)yciem sk(cid:239)adni SQL/92 ..........................................68 Wykonywanie z(cid:239)(cid:200)cze(cid:241) w(cid:239)asnych z u(cid:285)yciem sk(cid:239)adni SQL/92 .................................................69 Wykonywanie z(cid:239)(cid:200)cze(cid:241) krzy(cid:285)owych z u(cid:285)yciem sk(cid:239)adni SQL/92 .............................................70 Podsumowanie ............................................................................................................................70 SQL*Plus ....................................................................................................................................71 Przegl(cid:200)danie struktury tabeli ........................................................................................................71 Edycja instrukcji SQL ...................................................................................................................72 Zapisywanie, odczytywanie i uruchamianie plików ......................................................................73 Formatowanie kolumn .................................................................................................................76 Ustawianie rozmiaru strony ..........................................................................................................77 Ustawianie rozmiaru wiersza ........................................................................................................78 Czyszczenie formatowania kolumny ............................................................................................78 U(cid:285)ywanie zmiennych ..................................................................................................................79 Zmienne tymczasowe ..........................................................................................................79 Zmienne zdefiniowane ........................................................................................................81 Tworzenie prostych raportów .......................................................................................................83 U(cid:285)ywanie zmiennych tymczasowych w skrypcie ..................................................................83 U(cid:285)ywanie zmiennych zdefiniowanych w skrypcie ................................................................84 Przesy(cid:239)anie warto(cid:258)ci do zmiennej w skrypcie .......................................................................84 Dodawanie nag(cid:239)ówka i stopki ..............................................................................................85 Obliczanie sum po(cid:258)rednich ..................................................................................................86 Uzyskiwanie pomocy od SQL*Plus ..............................................................................................87 Automatyczne generowanie instrukcji SQL ..................................................................................88 Ko(cid:241)czenie po(cid:239)(cid:200)czenia z baz(cid:200) danych i pracy SQL*Plus ................................................................88 Podsumowanie ............................................................................................................................89 Proste funkcje .............................................................................................................................91 Typy funkcji .................................................................................................................................91 Funkcje jednowierszowe ..............................................................................................................91 Funkcje znakowe .................................................................................................................92 Funkcje numeryczne ............................................................................................................98 3 4 Poleć książkęKup książkę Spis tre(cid:258)ci 7 Funkcje konwertuj(cid:200)ce ....................................................................................................... 103 Funkcje wyra(cid:285)e(cid:241) regularnych ............................................................................................ 112 Funkcje agreguj(cid:200)ce .................................................................................................................... 117 AVG() ................................................................................................................................ 118 COUNT() .......................................................................................................................... 119 MAX() i MIN() .................................................................................................................... 119 STDDEV() .......................................................................................................................... 120 SUM() ............................................................................................................................... 120 VARIANCE() ...................................................................................................................... 120 Grupowanie wierszy .................................................................................................................. 120 Grupowanie wierszy za pomoc(cid:200) klauzuli GROUP BY ........................................................ 120 Nieprawid(cid:239)owe u(cid:285)ycie funkcji agreguj(cid:200)cych ...................................................................... 123 Filtrowanie grup wierszy za pomoc(cid:200) klauzuli HAVING ...................................................... 124 Jednoczesne u(cid:285)ywanie klauzul WHERE i GROUP BY ........................................................ 124 Jednoczesne u(cid:285)ywanie klauzul WHERE, GROUP BY i HAVING ......................................... 125 Podsumowanie ......................................................................................................................... 125 Sk(cid:239)adowanie oraz przetwarzanie dat i czasu ........................................................................... 127 Proste przyk(cid:239)ady sk(cid:239)adowania i pobierania dat ........................................................................... 127 Konwertowanie typów DataGodzina za pomoc(cid:200) funkcji TO_CHAR() i TO_DATE() .................... 128 Konwersja daty i czasu na napis za pomoc(cid:200) funkcji TO_CHAR() ........................................ 128 Konwersja napisu na wyra(cid:285)enie DataGodzina za pomoc(cid:200) funkcji TO_DATE() ................... 132 Ustawianie domy(cid:258)lnego formatu daty ........................................................................................ 134 Jak Oracle interpretuje lata dwucyfrowe? .................................................................................. 135 U(cid:285)ycie formatu YY ............................................................................................................ 135 U(cid:285)ycie formatu RR ............................................................................................................ 136 Funkcje operuj(cid:200)ce na datach i godzinach .................................................................................. 137 ADD_MONTHS() .............................................................................................................. 138 LAST_DAY() ...................................................................................................................... 138 MONTHS_BETWEEN() ...................................................................................................... 138 NEXT_DAY() ...................................................................................................................... 139 ROUND() .......................................................................................................................... 139 SYSDATE ........................................................................................................................... 140 TRUNC() ........................................................................................................................... 140 Strefy czasowe .......................................................................................................................... 140 Funkcje operuj(cid:200)ce na strefach czasowych ......................................................................... 141 Strefa czasowa bazy danych i strefa czasowa sesji .............................................................. 141 Uzyskiwanie przesuni(cid:218)(cid:202) strefy czasowej ............................................................................ 142 Uzyskiwanie nazw stref czasowych .................................................................................... 143 Konwertowanie wyra(cid:285)enia DataGodzina z jednej strefy czasowej na inn(cid:200) ......................... 143 Datowniki (znaczniki czasu) ...................................................................................................... 143 Typy datowników .............................................................................................................. 144 Funkcje operuj(cid:200)ce na znacznikach czasu ........................................................................... 147 Interwa(cid:239)y czasowe ..................................................................................................................... 151 Typ INTERVAL YEAR TO MONTH .................................................................................... 152 Typ INTERVAL DAY TO SECOND ..................................................................................... 153 Funkcje operuj(cid:200)ce na interwa(cid:239)ach ..................................................................................... 155 Podsumowanie ......................................................................................................................... 156 Podzapytania ........................................................................................................................... 157 Rodzaje podzapyta(cid:241) .................................................................................................................. 157 Pisanie podzapyta(cid:241) jednowierszowych ...................................................................................... 157 Podzapytania w klauzuli WHERE ....................................................................................... 157 U(cid:285)ycie innych operatorów jednowierszowych ................................................................... 158 5 6 Poleć książkęKup książkę 8 Oracle Database 12c i SQL. Programowanie 7 Podzapytania w klauzuli HAVING ......................................................................................159 Podzapytania w klauzuli FROM (widoki wbudowane) ........................................................160 B(cid:239)(cid:218)dy, które mo(cid:285)na napotka(cid:202) ............................................................................................160 Pisanie podzapyta(cid:241) wielowierszowych .......................................................................................161 U(cid:285)ycie operatora IN z podzapytaniem wielowierszowym ...................................................161 U(cid:285)ycie operatora ANY z podzapytaniem wielowierszowym ...............................................162 U(cid:285)ycie operatora ALL z podzapytaniem wielowierszowym ................................................163 Pisanie podzapyta(cid:241) wielokolumnowych .....................................................................................163 Pisanie podzapyta(cid:241) skorelowanych ............................................................................................163 Przyk(cid:239)ad podzapytania skorelowanego ...............................................................................163 U(cid:285)ycie operatorów EXISTS i NOT EXISTS z podzapytaniem skorelowanym ........................164 Pisanie zagnie(cid:285)d(cid:285)onych podzapyta(cid:241) ..........................................................................................166 Pisanie instrukcji UPDATE i DELETE zawieraj(cid:200)cych podzapytania ..............................................167 Pisanie instrukcji UPDATE zawieraj(cid:200)cej podzapytanie ........................................................167 Pisanie instrukcji DELETE zawieraj(cid:200)cej podzapytanie .........................................................168 Przygotowywanie podzapyta(cid:241) ....................................................................................................168 Podsumowanie ..........................................................................................................................169 Zapytania zaawansowane .........................................................................................................171 Operatory zestawu ....................................................................................................................171 Przyk(cid:239)adowe tabele ............................................................................................................171 Operator UNION ALL .......................................................................................................172 Operator UNION ..............................................................................................................173 Operator INTERSECT .........................................................................................................174 Operator MINUS ...............................................................................................................174 (cid:146)(cid:200)czenie operatorów zestawu ............................................................................................175 U(cid:285)ycie funkcji TRANSLATE() ......................................................................................................176 U(cid:285)ycie funkcji DECODE() ..........................................................................................................177 U(cid:285)ycie wyra(cid:285)enia CASE .............................................................................................................178 Proste wyra(cid:285)enia CASE ......................................................................................................179 Przeszukiwane wyra(cid:285)enia CASE .........................................................................................179 Zapytania hierarchiczne .............................................................................................................181 Przyk(cid:239)adowe dane .............................................................................................................181 Zastosowanie klauzul CONNECT BY i START WITH ..........................................................182 U(cid:285)ycie pseudokolumny LEVEL ...........................................................................................183 Formatowanie wyników zapytania hierarchicznego ............................................................183 Rozpoczynanie od w(cid:218)z(cid:239)a innego ni(cid:285) g(cid:239)ówny ......................................................................184 U(cid:285)ycie podzapytania w klauzuli START WITH ...................................................................185 Poruszanie si(cid:218) po drzewie w gór(cid:218) ......................................................................................185 Eliminowanie w(cid:218)z(cid:239)ów i ga(cid:239)(cid:218)zi z zapytania hierarchicznego .................................................185 Umieszczanie innych warunków w zapytaniu hierarchicznym ............................................186 Zapytania hierarchiczne wykorzystuj(cid:200)ce rekurencyjne podzapytania przygotowywane .......187 Klauzule ROLLUP i CUBE ..........................................................................................................190 Przyk(cid:239)adowe tabele ............................................................................................................190 U(cid:285)ycie klauzuli ROLLUP ....................................................................................................192 Klauzula CUBE ..................................................................................................................194 Funkcja GROUPING() ........................................................................................................195 Klauzula GROUPING SETS ................................................................................................197 U(cid:285)ycie funkcji GROUPING_ID() ........................................................................................198 Kilkukrotne u(cid:285)ycie kolumny w klauzuli GROUP BY ............................................................199 U(cid:285)ycie funkcji GROUP_ID() ..............................................................................................200 U(cid:285)ycie CROSS APPLY i OUTER APPLY ......................................................................................201 CROSS APPLY ...................................................................................................................201 OUTER APPLY ...................................................................................................................202 Poleć książkęKup książkę Spis tre(cid:258)ci 9 8 9 LATERAL ................................................................................................................................... 202 Podsumowanie ......................................................................................................................... 203 Analiza danych ......................................................................................................................... 205 Funkcje analityczne ................................................................................................................... 205 Przyk(cid:239)adowa tabela ........................................................................................................... 205 U(cid:285)ycie funkcji klasyfikuj(cid:200)cych ........................................................................................... 206 U(cid:285)ycie odwrotnych funkcji rankingowych ......................................................................... 212 U(cid:285)ycie funkcji okna ........................................................................................................... 212 Funkcje raportuj(cid:200)ce .......................................................................................................... 218 U(cid:285)ycie funkcji LAG() i LEAD() ............................................................................................ 220 U(cid:285)ycie funkcji FIRST i LAST ............................................................................................... 221 U(cid:285)ycie funkcji regresji liniowej .......................................................................................... 221 U(cid:285)ycie funkcji hipotetycznego rankingu i rozk(cid:239)adu ............................................................ 222 U(cid:285)ycie klauzuli MODEL ............................................................................................................ 223 Przyk(cid:239)ad zastosowania klauzuli MODEL ............................................................................ 223 Dost(cid:218)p do komórek za pomoc(cid:200) zapisu pozycyjnego i symbolicznego ................................ 224 Uzyskiwanie dost(cid:218)pu do zakresu komórek za pomoc(cid:200) BETWEEN i AND ........................... 225 Si(cid:218)ganie do wszystkich komórek za pomoc(cid:200) ANY i IS ANY ................................................ 225 Pobieranie bie(cid:285)(cid:200)cej warto(cid:258)ci wymiaru za pomoc(cid:200) funkcji CURRENTV() ............................ 226 Uzyskiwanie dost(cid:218)pu do komórek za pomoc(cid:200) p(cid:218)tli FOR ................................................... 227 Obs(cid:239)uga warto(cid:258)ci NULL i brakuj(cid:200)cych ............................................................................... 227 Modyfikowanie istniej(cid:200)cych komórek ................................................................................ 229 U(cid:285)ycie klauzul PIVOT i UNPIVOT ............................................................................................. 230 Prosty przyk(cid:239)ad klauzuli PIVOT .......................................................................................... 230 Przestawianie w oparciu o wiele kolumn ........................................................................... 231 U(cid:285)ycie kilku funkcji agreguj(cid:200)cych w przestawieniu ............................................................ 232 U(cid:285)ycie klauzuli UNPIVOT ................................................................................................. 233 Zapytania o okre(cid:258)lon(cid:200) liczb(cid:218) wierszy ......................................................................................... 234 U(cid:285)ycie klauzuli FETCH FIRST ............................................................................................ 234 U(cid:285)ycie klauzuli OFFSET .................................................................................................... 235 U(cid:285)ycie klauzuli PERCENT .................................................................................................. 236 U(cid:285)ycie klauzuli WITH TIES ................................................................................................ 236 Odnajdywanie wzorców w danych ........................................................................................... 237 Odnajdywanie wzorców formacji typu V w danych z tabeli all_sales2 ............................... 237 Odnajdywanie formacji typu W w danych z tabeli all_sales3 ............................................. 240 Odnajdywanie formacji typu V w tabeli all_sales3 ............................................................. 241 Podsumowanie ......................................................................................................................... 242 Zmienianie zawarto(cid:258)ci tabeli ................................................................................................... 243 Wstawianie wierszy za pomoc(cid:200) instrukcji INSERT ...................................................................... 243 Pomijanie listy kolumn ...................................................................................................... 244 Okre(cid:258)lanie warto(cid:258)ci NULL dla kolumny ............................................................................. 244 Umieszczanie pojedynczych i podwójnych cudzys(cid:239)owów w warto(cid:258)ciach kolumn .............. 245 Kopiowanie wierszy z jednej tabeli do innej ...................................................................... 245 Modyfikowanie wierszy za pomoc(cid:200) instrukcji UPDATE .............................................................. 245 Klauzula RETURNING ............................................................................................................... 246 Usuwanie wierszy za pomoc(cid:200) instrukcji DELETE ........................................................................ 246 Integralno(cid:258)(cid:202) bazy danych .......................................................................................................... 247 Wymuszanie wi(cid:218)zów klucza g(cid:239)ównego .............................................................................. 247 Wymuszanie wi(cid:218)zów kluczy obcych .................................................................................. 247 U(cid:285)ycie warto(cid:258)ci domy(cid:258)lnych ...................................................................................................... 248 Scalanie wierszy za pomoc(cid:200) instrukcji MERGE ........................................................................... 249 Poleć książkęKup książkę 10 Oracle Database 12c i SQL. Programowanie Transakcje bazodanowe .............................................................................................................251 Zatwierdzanie i wycofywanie transakcji .............................................................................251 Rozpoczynanie i ko(cid:241)czenie transakcji ................................................................................252 Punkty zachowania ............................................................................................................252 ACID — w(cid:239)a(cid:258)ciwo(cid:258)ci transakcji ..........................................................................................254 Transakcje wspó(cid:239)bie(cid:285)ne .....................................................................................................254 Blokowanie transakcji ........................................................................................................255 Poziomy izolacji transakcji .................................................................................................256 Przyk(cid:239)ad transakcji SERIALIZABLE ......................................................................................256 Zapytania retrospektywne ..........................................................................................................257 Przyznawanie uprawnie(cid:241) do u(cid:285)ywania zapyta(cid:241) retrospektywnych .....................................257 Zapytania retrospektywne w oparciu o czas .......................................................................258 Zapytania retrospektywne z u(cid:285)yciem SCN .........................................................................259 Podsumowanie ..........................................................................................................................260 10 U(cid:285)ytkownicy, uprawnienia i role ..............................................................................................261 Bardzo krótkie wprowadzenie do przechowywania danych .......................................................261 U(cid:285)ytkownicy ..............................................................................................................................262 Tworzenie konta u(cid:285)ytkownika ...........................................................................................262 Zmienianie has(cid:239)a u(cid:285)ytkownika ...........................................................................................263 Usuwanie konta u(cid:285)ytkownika ............................................................................................263 Uprawnienia systemowe ............................................................................................................263 Przyznawanie uprawnie(cid:241) systemowych u(cid:285)ytkownikowi .....................................................263 Sprawdzanie uprawnie(cid:241) systemowych przyznanych u(cid:285)ytkownikowi ..................................264 Zastosowanie uprawnie(cid:241) systemowych ..............................................................................265 Odbieranie uprawnie(cid:241) systemowych .................................................................................265 Uprawnienia obiektowe .............................................................................................................266 Przyznawanie u(cid:285)ytkownikowi uprawnie(cid:241) obiektowych ......................................................266 Sprawdzanie przekazanych uprawnie(cid:241) ..............................................................................267 Sprawdzanie otrzymanych uprawnie(cid:241) obiektowych ...........................................................268 Zastosowanie uprawnie(cid:241) obiektowych ...............................................................................269 Synonimy ..........................................................................................................................270 Synonimy publiczne ..........................................................................................................270 Odbieranie uprawnie(cid:241) obiektowych ..................................................................................271 Role ...........................................................................................................................................271 Tworzenie ról ....................................................................................................................271 Przyznawanie uprawnie(cid:241) roli .............................................................................................272 Przyznawanie roli u(cid:285)ytkownikowi ......................................................................................272 Sprawdzanie ról przyznanych u(cid:285)ytkownikowi ....................................................................272 Sprawdzanie uprawnie(cid:241) systemowych przyznanych roli .....................................................273 Sprawdzanie uprawnie(cid:241) obiektowych przyznanych roli .....................................................274 Zastosowanie uprawnie(cid:241) przyznanych roli .........................................................................275 Aktywacja i deaktywacja ról ...............................................................................................276 Odbieranie roli ..................................................................................................................276 Odbieranie uprawnie(cid:241) roli .................................................................................................276 Usuwanie roli ....................................................................................................................277 Obserwacja ...............................................................................................................................277 Uprawnienia wymagane do przeprowadzania obserwacji ..................................................277 Przyk(cid:239)ady obserwacji .........................................................................................................277 Perspektywy zapisu obserwacji ..........................................................................................279 Podsumowanie ..........................................................................................................................279 Poleć książkęKup książkę Spis tre(cid:258)ci 11 11 Tworzenie tabel, sekwencji, indeksów i perspektyw ............................................................... 281 Tabele ....................................................................................................................................... 281 Tworzenie tabeli ............................................................................................................... 281 Pobieranie informacji o tabelach ....................................................................................... 282 Uzyskiwanie informacji o kolumnach w tabeli ................................................................... 283 Zmienianie tabeli .............................................................................................................. 284 Zmienianie nazwy tabeli ................................................................................................... 291 Dodawanie komentarza do tabeli ...................................................................................... 291 Obcinanie tabeli ............................................................................................................... 292 Usuwanie tabeli ................................................................................................................ 292 Typy BINARY_FLOAT i BINARY_DOUBLE ........................................................................ 292 U(cid:285)ycie kolumn DEFAULT ON NULL ................................................................................. 293 Kolumny niewidoczne ....................................................................................................... 294 Sekwencje ................................................................................................................................. 296 Tworzenie sekwencji ......................................................................................................... 296 Pobieranie informacji o sekwencjach ................................................................................. 298 U(cid:285)ywanie sekwencji .......................................................................................................... 298 Wype(cid:239)nianie klucza g(cid:239)ównego z u(cid:285)yciem sekwencji .......................................................... 300 Okre(cid:258)lanie domy(cid:258)lnej warto(cid:258)ci kolumny za pomoc(cid:200) sekwencji .......................................... 300 Kolumny typu IDENTITY ................................................................................................... 301 Modyfikowanie sekwencji ................................................................................................. 301 Usuwanie sekwencji .......................................................................................................... 302 Indeksy ..................................................................................................................................... 302 Tworzenie indeksu typu B-drzewo .................................................................................... 303 Tworzenie indeksów opartych na funkcjach ...................................................................... 303 Pobieranie informacji o indeksach ..................................................................................... 304 Pobieranie informacji o indeksach kolumny ...................................................................... 304 Modyfikowanie indeksu .................................................................................................... 305 Usuwanie indeksu ............................................................................................................. 305 Tworzenie indeksu bitmapowego ...................................................................................... 305 Perspektywy .............................................................................................................................. 306 Tworzenie i u(cid:285)ywanie perspektyw ..................................................................................... 307 Modyfikowanie perspektywy ............................................................................................. 313 Usuwanie perspektywy ..................................................................................................... 313 U(cid:285)ywanie niewidocznych kolumn w perspektywach ......................................................... 313 Archiwa migawek ...................................................................................................................... 314 Podsumowanie ......................................................................................................................... 316 12 Wprowadzenie do programowania w PL/SQL ......................................................................... 317 Bloki ......................................................................................................................................... 317 Zmienne i typy .......................................................................................................................... 319 Logika warunkowa .................................................................................................................... 319 P(cid:218)tle ......................................................................................................................................... 320 Proste p(cid:218)tle ....................................................................................................................... 320 P(cid:218)tle WHILE ..................................................................................................................... 321 P(cid:218)tle FOR ......................................................................................................................... 321 Kursory ..................................................................................................................................... 322 Krok 1. — deklarowanie zmiennych przechowuj(cid:200)cych warto(cid:258)ci kolumn ........................... 322 Krok 2. — deklaracja kursora ............................................................................................ 322 Krok 3. — otwarcie kursora ............................................................................................... 323 Krok 4. — pobieranie wierszy z kursora ............................................................................ 323 Krok 5. — zamkni(cid:218)cie kursora ........................................................................................... 323 Pe(cid:239)ny przyk(cid:239)ad — product_cursor.sql ................................................................................ 324 Poleć książkęKup książkę 12 Oracle Database 12c i SQL. Programowanie Kursory i p(cid:218)tle FOR ...........................................................................................................325 Instrukcja OPEN-FOR ........................................................................................................325 Kursory bez ograniczenia ...................................................................................................327 Wyj(cid:200)tki ......................................................................................................................................328 Wyj(cid:200)tek ZERO_DIVIDE .....................................................................................................330 Wyj(cid:200)tek DUP_VAL_ON_INDEX ........................................................................................330 Wyj(cid:200)tek INVALID_NUMBER .............................................................................................330 Wyj(cid:200)tek OTHERS ..............................................................................................................331 Procedury ..................................................................................................................................331 Tworzenie procedury .........................................................................................................332 Wywo(cid:239)ywanie procedury ...................................................................................................333 Uzyskiwanie informacji o procedurach ..............................................................................334 Usuwanie procedury ..........................................................................................................335 Przegl(cid:200)danie b(cid:239)(cid:218)dów w procedurze ...................................................................................335 Funkcje ......................................................................................................................................335 Tworzenie funkcji ..............................................................................................................336 Wywo(cid:239)ywanie funkcji ........................................................................................................336 Uzyskiwanie informacji o funkcjach ...................................................................................337 Usuwanie funkcji ...............................................................................................................337 Pakiety .......................................................................................................................................337 Tworzenie specyfikacji pakietu ..........................................................................................338 Tworzenie tre(cid:258)ci pakietu ....................................................................................................338 Wywo(cid:239)ywanie funkcji i procedur z pakietu ........................................................................339 Uzyskiwanie informacji o funkcjach i procedurach w pakiecie ...........................................340 Usuwanie pakietu ..............................................................................................................340 Wyzwalacze ..............................................................................................................................340 Kiedy uruchamiany jest wyzwalacz ....................................................................................340 Przygotowania do przyk(cid:239)adu wyzwalacza ...........................................................................341 Tworzenie wyzwalacza ......................................................................................................341 Uruchamianie wyzwalacza ................................................................................................343 Uzyskiwanie informacji o wyzwalaczach ............................................................................343 W(cid:239)(cid:200)czanie i wy(cid:239)(cid:200)czanie wyzwalacza ..................................................................................345 Usuwanie wyzwalacza .......................................................................................................345 Rozszerzenia PL/SQL .................................................................................................................345 Typ SIMPLE_INTEGER .......................................................................................................345 Sekwencje w PL/SQL .........................................................................................................346 Generowanie natywnego kodu maszynowego z PL/SQL ....................................................347 Klauzula WITH ..................................................................................................................347 Podsumowanie ..........................................................................................................................348 13 Obiekty bazy danych ................................................................................................................349 Wprowadzenie do obiektów ......................................................................................................349 Uruchomienie skryptu tworz(cid:200)cego schemat bazy danych object_schema ...................................350 Tworzenie typów obiektowych ..................................................................................................350 Uzyskiwanie informacji o typach obiektowych za pomoc(cid:200) DESCRIBE ........................................351 U(cid:285)ycie typów obiektowych w tabelach bazy danych ..................................................................352 Obiekty kolumnowe ..........................................................................................................352 Tabele obiektowe ..............................................................................................................354 Identyfikatory obiektów i odwo(cid:239)ania obiektowe .................................................................357 Porównywanie warto(cid:258)ci obiektów ......................................................................................359 U(cid:285)ycie obiektów w PL/SQL ........................................................................................................361 Funkcja get_products() .......................................................................................................361 Procedura display_product() ..............................................................................................362 Procedura insert_product() .................................................................................................363 Poleć książkęKup książkę Spis tre(cid:258)ci 13 Procedura update_product_price() .................................................................................... 363 Funkcja get_product() ........................................................................................................ 364 Procedura update_product() .............................................................................................. 364 Funkcja get_product_ref() .................................................................................................. 365 Procedura delete_product() ............................................................................................... 365 Procedura product_lifecycle() ............................................................................................ 366 Procedura product_lifecycle2() .......................................................................................... 367 Dziedziczenie typów ................................................................................................................. 368 Uruchamianie skryptu tworz(cid:200)cego schemat bazy danych object_schema2 ........................ 368 Dziedziczenie atrybutów ................................................................................................... 369 U(cid:285)ycie podtypu zamiast typu nadrz(cid:218)dnego ............................................................................... 370 Przyk(cid:239)ady SQL ................................................................................................................... 370 Przyk(cid:239)ady PL/SQL .............................................................................................................. 371 Obiekty NOT SUBSTITUTABLE ......................................................................................... 371 Inne przydatne funkcje obiektów .............................................................................................. 372 Funkcja IS OF() ................................................................................................................. 372 Funkcja TREAT() ................................................................................................................ 375 Funkcja SYS_TYPEID() ....................................................................................................... 378 Typy obiektowe NOT INSTANTIABLE ....................................................................................... 378 Konstruktory definiowane przez u(cid:285)ytkownika ............................................................................ 379 Przes(cid:239)anianie metod .................................................................................................................. 382 Uogólnione wywo(cid:239)ywanie ......................................................................................................... 384 Uruchomienie skryptu tworz(cid:200)cego schemat bazy danych object_schema3 ........................ 384 Dziedziczenie atrybutów ................................................................................................... 384 Podsumowanie ......................................................................................................................... 385 14 Kolekcje ................................................................................................................................... 387 Podstawowe informacje o kolekcjach ........................................................................................ 387 Uruchomienie skryptu tworz(cid:200)cego schemat bazy danych collection_schema ............................. 387 Tworzenie kolekcji .................................................................................................................... 388 Tworzenie typu VARRAY ................................................................................................... 388 Tworzenie tabeli zagnie(cid:285)d(cid:285)onej ........................................................................................ 388 U(cid:285)ycie kolekcji do definiowania kolumny w tabeli .................................................................... 389 U(cid:285)ycie typu VARRAY do zdefiniowania kolumny w tabeli ................................................. 389 U(cid:285)ycie typu tabeli zagnie(cid:285)d(cid:285)onej do zdefiniowania kolumny w tabeli ............................... 389 Uzyskiwanie informacji o kolekcjach ......................................................................................... 389 Uzyskiwanie informacji o tablicy VARRAY ......................................................................... 389 Uzyskiwanie informacji o tabeli zagnie(cid:285)d(cid:285)onej .................................................................. 390 Umieszczanie elementów w kolekcji ......................................................................................... 392 Umieszczanie elementów w tablicy VARRAY ..................................................................... 392 Umieszczanie elementów w tabeli zagnie(cid:285)d(cid:285)onej ............................................................. 392 Pobieranie elementów z kolekcji ............................................................................................... 392 Pobieranie elementów z tablicy VARRAY ........................................................................... 393 Pobieranie elementów z tabeli zagnie(cid:285)d(cid:285)onej ................................................................... 393 U(cid:285)ycie funkcji TABLE() do interpretacji kolekcji jako serii wierszy .............................................. 394 U(cid:285)ycie funkcji TABLE() z typem VARRAY ........................................................................... 394 U(cid:285)ycie funkcji TABLE() z tabel(cid:200) zagnie(cid:285)d(cid:285)on(cid:200) ................................................................... 395 Modyfikowanie elementów kolekcji .......................................................................................... 395 Modyfikowanie elementów tablicy VARRAY ...................................................................... 396 Modyfikowanie elementów tabeli zagnie(cid:285)d(cid:285)onej ............................................................... 396 U(cid:285)ycie metody mapuj(cid:200)cej do porównywania zawarto(cid:258)ci tabel zagnie(cid:285)d(cid:285)onych ......................... 397 U(cid:285)ycie funkcji CAST do konwersji kolekcji z jednego typu na inny ............................................ 399 U(cid:285)ycie funkcji CAST() do konwersji tablicy VARRAY na tabel(cid:218) zagnie(cid:285)d(cid:285)on(cid:200) ..................... 399 U(cid:285)ycie funkcji CAST() do konwersji tabeli zagnie(cid:285)d(cid:285)onej na tablic(cid:218) VARRAY ..................... 400 Poleć książkęKup książkę 14 Oracle Database 12c i SQL. Programowanie U(cid:285)ycie kolekcji w PL/SQL ..........................................................................................................400 Manipulowanie tablic(cid:200) VARRAY ........................................................................................400 Manipulowanie tabel(cid:200) zagnie(cid:285)d(cid:285)on(cid:200) .................................................................................402 Metody operuj(cid:200)ce na kolekcjach w PL/SQL .......................................................................403 Kolekcje wielopoziomowe .........................................................................................................411 Uruchomienie skryptu tworz(cid:200)cego schemat bazy danych collection_schema2 ...................412 Korzystanie z kolekcji wielopoziomowych ..........................................................................412 Rozszerzenia kolekcji wprowadzone w Oracle Database 10g .....................................................414 Uruchomienie skryptu tworz(cid:200)cego schemat bazy danych collection_schema3 ...................414 Tablice asocjacyjne ............................................................................................................415 Zmienianie rozmiaru typu elementu ..................................................................................415 Zwi(cid:218)kszanie liczby elementów w tablicy VARRAY ..............................................................416 U(cid:285)ycie tablic VARRAY w tabelach tymczasowych ...............................................................416 U(cid:285)ycie innej przestrzeni tabel dla tabeli sk(cid:239)aduj(cid:200)cej tabel(cid:218) zagnie(cid:285)d(cid:285)on(cid:200) ...........................416 Obs(cid:239)uga tabel zagnie(cid:285)d(cid:285)onych w standardzie ANSI ............................................................417 Podsumowanie ..........................................................................................................................424 15 Du(cid:285)e obiekty ......................................................................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Oracle Database 12c i SQL. Programowanie
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: