Podstawy jezyka Sql, eBooks txt
[ Pobierz całość w formacie PDF ]
Materia�y szkoleniowePodstawy j�zyka SQLSpis tre�ciZawarto�� tabel wykorzystywanych na kursie 5Zawarto�� tabeli DEPT 6Zawarto�� tabeli EMP 6Zawarto�� tabeli SALGRADE 6Budowa tabel wykorzystywanych na kursie 7Relacyjny model danych 9Operatory relacyjne 10W�asno�ci relacyjnej bazy danych 10Przegl�d j�zyka SQL 13Zasady SQL 14�wiczenia 28Funkcje grupowe 31Stosowanie funkcji grupowych 32Klauzula GROUP BY 33Wybierane wyra�enia a funkcje grupowe 34Klauzula HAVING 35Kolejno�� wyst�powania klauzul 36�wiczenia 37Wybieranie danych z wielu tabel 39Z��czenie r�wno�ciowe 40Z��czenia nier�wno�ciowe 41�wiczenia 43Inne metody ��czenia tabel 47Z��czenia zewn�trzne 48Po��czenie tabeli samej ze sob� 48Operatory zbiorowe 49�wiczenia 52Podzapytania 55Podzapytania zagnie�d�one 56Podzapytania zwracaj�ce jeden wiersz 56Podzapytania zwracaj�ce wiele wierszy 57�wiczenia 62J�zyk definiowania danych 63Struktury danych ORACLE 64Tworzenie tabel 64Warunki integralno�ci 65Tworzenie tabeli przez zapytanie 70Zmiana definicji tabeli 71J�zyk manipulowania danymi 75Wstawianie wierszy 76Modyfikacja wierszy 77Usuwanie wierszy 77Transakcje 78Perspektywy 81Perspektywy 82Tworzenie perspektyw 82Usuwanie perspektywy 83U�ytkownicy i uprawnienia 87Zarz�dzanie u�ytkownikami 88Uprawnienia w bazie Oracle 89Role 91Zawarto�� tabel wykorzystywanych na kursieZawarto�� tabeli DEPTDEPTNO DNAME LOC---------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTONZawarto�� tabeli EMPEMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO--------- ---------- --------- --------- -------- --------- --------- ---------7839 KING PRESIDENT 81/11/17 5000 107698 BLAKE MANAGER 7839 81/05/01 2850 307782 CLARK MANAGER 7839 81/06/09 2450 107566 JONES MANAGER 7839 81/04/02 2975 207654 MARTIN SALESMAN 7698 81/09/28 1250 1400 307499 ALLEN SALESMAN 7698 81/02/20 1600 300 307844 TURNER SALESMAN 7698 81/09/08 1500 0 307900 JAMES CLERK 7698 81/12/03 950 307521 WARD SALESMAN 7698 81/02/22 1250 500 307902 FORD ANALYST 7566 81/12/03 3000 207369 SMITH CLERK 7902 80/12/17 800 207788 SCOTT ANALYST 7566 82/12/09 3000 207876 ADAMS CLERK 7788 83/01/12 1100 207934 MILLER CLERK 7782 82/01/23 1300 10Zawarto�� tabeli SALGRADEGRADE LOSAL HISAL--------- --------- ---------1 700 12002 1201 14003 1401 20004 2001 30005 3001 9999Budowa tabel wykorzystywanych na kursiePodczas kursu b�dziemy korzysta� z uprzednio utworzonych tabel opisuj�cych zatrudnionych w pewnej firmie, ich wynagrodzenia i miejsca pracy. Firma dzieli si� na departamenty. Ka�dy pracownik nale�y do pewnej grupy zaszeregowania, w zale�no�ci od wysoko�ci pensji, kt�r� otrzymuje.Tabela DEPT � tabela zawieraj�ca wszystkie departamentyKolumnaOpisDEPTNODepartament number � unikalny numer departamentuDNAMENazwa departamentu � przechowywana w zapisie du�ymi literamiLOCLokalizacja departamentu (miasto w kt�rym znajduje si� departament)Tabela EMP � wykaz wszystkich pracownik�wKolumnaOpisEMPNOEmployee number � unikalny numer pracownikaENAMENazwisko pracownika � przechowywane w zapisie du�ymi literamiJOBEtat, stanowisko pracyMGRIdentyfikator szefa (czyli EMPNO we wierszu szefa)HIREDATEData zatrudnieniaSALPensjaCOMMProwizja naliczona od pocz�tku roku, dotyczy pracownik�w zatrudnionych na stanowisku SALESMANDEPTNONumer departamentu w kt�rym zatrudniony jest pracownik. Warto�� w�tym polu musi odpowiada� jednemu i tylko jednemu wierszowi w�tabeli DEPTTabela SALGRADE � tabela �wide�ek� zaszeregowaniaKolumnaOpisGRADENumer grupy zaszeregowaniaLOSALLOW SALARY � dolna granica wide�ek p�acowych dla stawki zaszeregowania GRADEHISALHIGH SALARY � g�rna granica wide�ek Relacyjny model danychRelacyjna baza danych jest to zbi�r dwuwymiarowych tabel. Z modelem relacyjnym powi�zane s� nast�puj�ce poj�cia:* tabela,* kolumna,* wiersz,* pole.Model relacyjny opiera si� na poj�ciach zaczerpni�tych z algebry. Poj�cia te to:* relacja,* operator dzia�aj�cy na relacjach i daj�cy w wyniku relacje.Relacje przedstawiane s� w postaci tabel, za� wybieranie danych z tabel to wynik dzia�ania operator�w relacyjnych na tych tabelach.Operatory relacyjneWyr�niamy nast�puj�ce operatory relacyjne:SELEKCJApobieranie danych z relacji, w wyniku otrzymujemy wszystkie wiersze, kt�re spe�niaj� zadany warunekPROJEKCJAoperacja pobrania wszystkich wierszy, ale tylko wskazanych kolumn z tych wierszyILOCZYN KARTEZJA�SKIwynik po��czenia ka�dy z ka�dym wierszy z dw�ch relacjiZ��CZENIEpo��czenie dw�ch relacji poprzez pewne kryterium ��czace niekt�re wiersze z obu relacjiSUMA ZBIOROWAwszystkie wiersze z obu relacjiCZʌ� WSP�LNAwiersze wsp�lne dla obu relacjiRӯNICA ZBIOROWAwiersze, kt�re wyst�puj� w jednej, a nie wyst�puj� w drugiej relacjiW�asno�ci relacyjnej bazy danychRelacyjna baza danych ma nast�puj�ce w�asno�ci:* baza jest widziana przez u�ytkownika jako zbi�r tabel,* nazwy tabel w bazie musz� by� unikalne,* tabele sk�adaj� si� wierszy i kolumn,* j�zykiem s�u��cym do operowania na bazie danych jest j�zyk nieproceduralny oparty na algebrze relacji. Obecnie standardem jest SQL.Tabele w relacyjnej bazie danych maj� nast�puj�ce w�asno�ci:* wiersze w tabeli musz� by� r�ne,* w tabeli nie ma kolumn o tej samej nazwie,* kolejno�� wierszy jest nieokre�lona,* kolejno�� kolumn jest nieokre�lona,* warto�ci p�l powinny by� elementarne.Przegl�d j�zyka SQLSQL jest oparty na wyra�eniach j�zyka angielskiego. Jest j�zykiem deklaratywnym �podajemy tylko, co nale�y wykona�, ale nie specyfikujemy w jaki spos�b.J�zyk SQL s�u�y do nast�puj�cych cel�w:* specyfikowania zapyta�,* operowania danymi � DML (Data Modification Language) � wstawiania, modyfikowania i usuwania danych z bazy danych,* definiowania danych � DDL (Data Definition Language) � dodawania do bazy nowych obiekt�w,* sterowania danymi � DCL (Data Control Language) � okre�lania praw dost�pu do danych.Zasady SQLZapisywanie polece� SQL* Polecenia SQL mog� by� rozmieszczone w kilku liniach. Koniec polecenia SQL zaznacza si� �rednikiem.* Zaleca si� umieszczanie klauzul od nowej linii.* Mo�na u�ywa� tabulacji.* Nie wolno dzieli� s�owa pomi�dzy linie.* Oboj�tne, czy u�ywamy ma�ych czy wielkich liter, chyba �e sprawdzamy zawarto�� pola.Podstawowy blok zapyta� SQLZa pomoc� polecenia SELECT uzyskujemy informacje z bazy.Polecenie SELECT sk�ada si� co najmniej z klauzuli SELECT i klauzuli FROM.W klauzuli SELECT wymieniamy interesuj�ce nas kolumny.W klauzuli FROM wskazujemy, sk�d pobra� dane.Aby pobra� nazwiska pracownik�w oraz ich zaw�d, napiszemy:SELECT ENAME, JOBFROM EMP;ENAME JOB---------- ---------KING PRESIDENTBLAKE MANAGERCLARK MANAGERJONES MANAGERMARTIN SALESMANALLEN SALESMANTURNER SALESMANJAMES CLERKWARD SALESMANFORD ANALYSTSMITH CLERKSCOTT ANALYSTADAMS CLERKMILLER CLERKNazwy kolumn oddzielamy przecinkami.Aby wybra� wszystko z danej tabeli wpisujemy * (gwiazdk�) zamiast listy kolumn.SELECT *FROM EMP;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---- ---------- --------- ---------- --------- ---------- ---------- ----------7839 KING PRESIDENT 81/11/17 5000 107698 BLAKE MANAGER 7839 81/05/01 2850 307782 CLARK MANAGER 7839 81/06/09 2450 107566 JONES MANAGER 7839 81/04/02 2975 207654 MARTIN SALESMAN 7698 81/09/28 1250 1400 307499 ALLEN SALESMAN 7698 81/02/20 1600 300 307844 TURNER SALESMAN 7698 81/09/08 1500 0 307900 JAMES CLERK 7698 81/12/03 950 307521 WARD SALESMAN 7698 81/02/22 1250 500 307902 FORD ANALYST 7566 81/12/03 3000 207369 SMITH CLERK 7902 80/12/17 800 207788 SCOTT ANALYST 7566 82/12/09 3000 207876 ADAMS CLERK 7788 83/01/12 1100 207934 MILLER CLERK 7782 82/01/23 1300 10W klauzuli SELECT mog� te� by� u�yte:* wyra�enia arytmetyczne,* aliasy (nazwy zast�pcze) kolumn,* konkatenacja,* litera�y.Wyra�enia arytmetyczneW wyra�eniu arytmetycznym mog� wyst�powa� nazwy kolumn, sta�e warto�ci liczbowe oraz operatory arytmetyczne:+ dodawanie- odejmowanie* mno�enie/ dzieleniePrzyk�adSELECT ENAME, SAL*12FROM EMP;ENAME SAL*12---------- ----------KING 60000BLAKE 34200CLARK 29400JONES ...
[ Pobierz całość w formacie PDF ]