Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBożena Olkiewicz Został zmieniony 10 lat temu
1
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3
2
2 SBD, L.Banachowski Typy danych Number(p,s), Float, Real Number(p), Integer Char(n), Varchar2(n) Date Blob - duże obiekty binarne Clob – duże obiekty tekstowe
3
3 SBD, L.Banachowski Typy danych definiowane przez użytkownika Oprócz typów standardowych (wbudowanych) istnieje możliwość definiowania przez użytkowników własnych typów danych związanych z opcją obiektową.
4
4 SBD, L.Banachowski Przykładowy schemat z Oracle Związek Emp.Sal z wartościami w tabeli Salgrade : Zarobki Emp.Sal są zaliczane do grupy Salgrade.Grade takiej,że: Emp.Sal należy do przedziału: [ Salgrade.Losal, Salgrade.Hisal ]
5
5 SBD, L.Banachowski Tworzenie tabeli CREATE TABLE nazwa_tabeli( nazwa_kolumny typ_danych więzy_spójności,...);
6
6 SBD, L.Banachowski Więzy spójności NOT NULL – pseudo-wartość Null nie jest dozwolona w danej kolumnie, PRIMARY KEY – kolumna stanowi klucz główny, REFERENCES nazwa_tabeli – kolumna stanowi klucz obcy odwołujący się do klucza głównego podanej tabeli, UNIQUE – kolumna stanowi klucz jednoznaczny (wartości w kolumnie nie powtarzają się), CHECK – warunek jaki ma być spełniony dla wartości w wierszu. Opcjonalne słowo kluczowe CONSTRAINT wprowadza explicite nazwę dla więzów spójności.
7
7 SBD, L.Banachowski Instrukcje SQL DROP TABLE Emp ; ALTER TABLE Emp ADD (Pesel CHAR(11)); ALTER TABLE Emp MODIFY (Pesel VARCHAR2(11)); ALTER TABLE Emp DROP (Pesel); ALTER TABLE Emp ADD CONSTRAINT fk_Emp_dept FOREIGN KEY (Deptno) REFERENCES Dept;
8
8 SBD, L.Banachowski Instrukcje SQL CREATE INDEX Ind_Emp_Num ON Emp(Empno); DROP INDEX Ind_Emp_Num;
9
9 SBD, L.Banachowski Instrukcje SQL INSERT INTO nazwa_tabeli VALUES (wartość,...); INSERT INTO nazwa_tabeli(nazwa_kolumny,...) VALUES (wartość,...);
10
10 SBD, L.Banachowski Instrukcje SQL UPDATE Emp SET Sal = Sal * 1.1 WHERE Job = ' SALESMAN ' ; DELETE FROM Emp WHERE Job IS NULL;
11
11 SBD, L.Banachowski Zatwierdzanie i wycofywanie zmian w bazie danych Instrukcje INSERT, DELETE i UPDATE nie dokonują same trwałych zmian w bazie danych! Zatwierdzenie: COMMIT; Wycofanie: ROLLBACK;
12
12 SBD, L.Banachowski Zapytania SELECT Empno, Ename, Job, Sal FROM Emp WHERE Sal>=1100 AND Job='CLERK'; EMPNO ENAME JOB SAL ---------- ---------- --------- ---------- 7876 ADAMS CLERK 1100 7934 MILLER CLERK 1300
13
13 SBD, L.Banachowski Zapytania SELECT Empno, Ename, Trunc(Months_Between(Sysdate,Hiredate)/12) Zatrudnienie FROM Emp ORDER BY Zatrudnienie DESC; EMPNO ENAME ZATRUDNIENIE ---------- ---------- ------------ 7369 SMITH 19 7499 ALLEN 19 7521 WARD 19 7698 BLAKE 19 7782 CLARK 19 7566 JONES 19 7654 MARTIN 18 7934 MILLER 18 7902 FORD 18 7839 KING 18 7844 TURNER 18 7900 JAMES 18 7788 SCOTT 17 7876 ADAMS 17
14
14 SBD, L.Banachowski Semantyka prostego zapytania 1.Weź tabelę podaną w klauzuli FROM. 2.Jeśli występuje klauzula WHERE, do każdego wiersza danej tabeli zastosuj warunek WHERE. Pozostaw wiersze dające wartość True (usuwając wiersze dające False lub Null). 3.Dla każdego pozostającego wiersza oblicz wartości wyrażeń na liście SELECT. 4.Jeśli po SELECT występuje DISTINCT, usuń duplikaty wśród wynikowych wierszy. 5.Jeśli występuje klauzula ORDER BY, wykonaj sortowanie wynikowych wierszy zgodnie ze specyfikacją.
15
15 SBD, L.Banachowski Operatory 1. +, -, *, /, =, <>,, >=, NOT, AND, OR 2.Operator konkatenacji (łączenia) 'Osoba '|| Ename 3. Kolor IN ('Czarny', 'Biały', 'Czerwony') 4. Sal BETWEEN 1000 AND 2000 5. Ename LIKE 'Kowal%' 6. Job IS NULL (nie Job=NULL!!!)
16
16 SBD, L.Banachowski Funkcje wbudowane Funkcja interpretuj ąc a Null: NVL(Sal,0) i NVL(Stopie ń, ' Brak ') umożliwiają zinterpretowanie wartości Null jako odpowiednio 0 bądź 'Brak'. Funkcje konwersji: TO_CHAR, TO_DATE, TO_NUMBER TO_DATE( ' 03-27-01 ', ' mm-dd-yy ' ) Funkcje bez argumentów: Sysdate, User
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.