Bazy danych 2. Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii

Wielkość: px
Rozpocząć pokaz od strony:

Download "Bazy danych 2. Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii"

Transkrypt

1 Bazy danych 2 Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii

2 Literatura 1. S. Urman, R. Hardman, M. McLaughlin, Oracle Database 10g. Programowanie w języku PL/SQL, Helion, R. Coburn: SQL dla każdego, Helion, A. Klusiewicz, SQL i PL/SQL podstawy, 2013 ( 4. M. McLaughlin, Oracle Database 11g PL/SQL Programming, McGraw-Hill, Dokumentacja dostępna na stronie Oracle. 6. W.J. Gilmore, B. Bryla, Beginning PHP and Oracle: From Novice to Professional, APress Y. Vasiliev, PHP i Oracle. Tworzenie aplikacji webowych: od przetwarzania danych po Ajaksa, Helion T. Converse, J. Park, C. Morgan, PHP5 i MySQL. Biblia, Helion, 2005.

3 Baza danych: zbiór danych zapisanych w ściśle określony sposób, w strukturach odpowiadających przyjętemu modelowi danych. W relacyjnej bazie danych, podstawową strukturą jest tabela rekordów. W uproszczeniu, baza danych obejmuje dane oraz wyspecjalizowany program komputerowy służący do gromadzenia i przetwarzania danych. W modelu relacyjnym, zestaw programów służących do korzystania z bazy jest nazywany RDBMS (Relational Database Management System - system zarządzania relacyjną bazą danych). SQL - strukturalny język zapytań, jest uniwersalnym interfejsem umożliwiającym tworzenie i utrzymanie struktury bazy danych, dostęp do danych oraz zapewnienie bezpieczeństwa danym, poprzez system uprawnień użytkowników. SQL jest tzw językiem deklaratywnym, decyzję o sposobie pobrania i przechowywania danych pozostawia się systemowi zarządzania bazą danych. Systemy RDBMS, w których podstawowym językiem jest SQL, to dla przykładu Oracle, MS SQL Server, IBM DB2, Firebird, MySQL, PostgreSQL,...

4 Podział języka SQL: DML (Data Manipulation Language) - umożliwia wybieranie, dodawanie, modyfikację, usuwanie danych w bazie (SELECT, INSERT, UPDATE, DELETE). DDL (Data Definition Language) - stworzenie i utrzymanie struktury bazy (CREATE, ALTER, DROP). DCL (Data Control Language) - zarządzanie uprawnieniami w bazie (GRANT, REVOKE). (Niektóre) standardy języka SQL: Rok Nazwa Uwagi 1986 SQL-86 pierwszy standard ANSI 1992 SQL-92 SQL2, uściślenie standardu 2003 SQL-2003 wprowadzenie m.in. obsługi XML-a (SQL/XML) 2011 SQL:2011 aktualny standard ANSI.

5 Serwer bazy danych Oracle Serwer bazy danych Oracle obejmuje szereg plików, procesów i struktur pamięci, umożliwiających przede wszystkim trwałe przechowywanie danych i wykonywanie instrukcji SQL. Oprócz tego niektóre ze składowych służą do poprawienia efektywności korzystania z bazy danych, do zapewnienia odtwarzalności bazy danych w przypadku awarii oprogramowania lub sprzętu, do wykonywania innych zadań potrzebnych przy eksploatacji bazy danych. Baza danych Oracle oprócz tego, że wykorzystuje język SQL, posiada też rozszerzenie proceduralne języka SQL wbudowany wewnętrzny język tworzenia procedur składowanych PL/SQL.

6 Serwer bazy danych Oracle Ogólnie rzecz biorąc, serwer bazy danych Oracle składa się z dwóch części: bazy danych: zbioru plików znajdujących się na dysku, zawierających dane; instancji: procesy serwera, wraz z przydzielonymi strukturami pamięci i procesami tła, umożliwiające dostęp do danych.

7 Baza danych Oracle: składa się z plików systemu operacyjnego, nazywanych plikami bazodanowymi, które są miejscem przechowywania danych. Zwykle mamy do czynienia z sytuacją, w której tylko jedna instancja Oracle ma dostęp do bazy danych.

8 Instancja: każda baza danych Oracle database jest powiązana z odpowiednią instancja. W momencie uruchomienia serwera bazy danych, następuje alokacja w pamięci operacyjnej obszaru pamięci, który jest współdzielony (dostępny dla wszystkich użytkowników bazy danych), nazywanego System Global Area (SGA) (tzw Globalny Obszar Wpółdzielony) oraz uruchomienie przez Oracle procesów serwera i procesów tła. Instancja Oracle to właśnie połączenie obszaru pamięci SGA oraz procesów tła.

9 Użytkownik nie pobiera danych bezpośrednio z pliku bazy danych. Polecenie SQL zadane przez użytkownika trafia najpierw do odpowiedniego bufora w strukturze SGA (za pośrednictwem odpowiedniego procesu serwera), następnie jest przetwarzane i analizowane, potem pobierane są dane z plików danych do obszaru SGA. Dopiero stąd informacja jest przekazywana do użytkownika. Program Global Area (PGA): obszar pamięci przydzielony (na wyłączność) dla każdego procesu serwera i procesu tła. Każdy proces ma przydzielony własny obszar PGA.

10 Baza danych Oracle funkcjonuje w architekturze klient-serwer, zapewniając jednoczesny dostęp do danych dla wielu użytkowników, realizowany za pomocą mechanizmu transakcji. Moment podłączenia się użytkownika do bazy jest równoznaczny z otwarciem nowej sesji dla danego użytkownika. W obrębie sesji, użytkownik może realizować jedną lub więcej transakcji, jedną po drugiej (transakcja jest jednostką interakcji użytkownika z bazą danych i składa się z pojedynczych operacji realizowanych w bazie danych (np. przez polecenia SQL). Równolegle, jeden użytkownik może mieć w danym momencie otwartych więcej niż jedną sesję.

11 Użytkownicy i schematy Użytkownik tworząc obiekt, np. tabelę, staje się jego właścicielem. Obiekty te są tworzone w schemacie użytkownika (logicznej przestrzeni bazy danych). Schemat użytkownika jest tworzony automatycznie podczas definiowania użytkownika i posiada unikalną nazwę (identyczną z nazwą użytkownika). Nazwa schematu jest wykorzystywana, aby wskazać obiekty bazy danych stanowiące własność danego użytkownika (w różnych schematach mogą istnieć obiekty, np. tabele, o tych samych nazwach). Odwołanie do obiektu znajdującego się w schemacie innego użytkownika realizowane jest następująco: nazwa_użytkownika.nazwa_obiektu

12 Użytkownik HR i jego schemat Oracle posiada przedefiniowanego użytkownika HR, który służy do celów testowych. W schemacie HR mamy kilka tabel z przykładowymi danymi: Domyślnie, konto HR jest zablokowane. Aby je odblokować, należy wydać instrukcję (z poziomu administratora czyli SYSTEM): ALTER USER HR IDENTIFIED BY password ACCOUNT UNLOCK;

13 Obiekty bazy danych W Oracle istnieją obiekty służące do przechowywania danych, jak i wspomagające zarządzanie tymi danymi: tabele: przechowywanie danych; indeksy: struktury danych zwiększające prędkość wykonywania operacji na tabelach; tabele tymczasowe: przechowują dane potrzebne w czasie jednej sesji (transakcji), wspomagają zarządzanie nimi; widoki: logiczna struktura, definiowana przez zapytanie SQL; sekwencje: generują kolejne liczby (wykorzystywane do tworzenia wartości kluczy); wyzwalacze: procedury wykonywane automatycznie, reagujące na pewne zdarzenia w bazie danych; procedury, pakiety, funkcje,...

14 Instrukcja SELECT Instrukcja select w najprostszej postaci pobiera wszystkie dane z wybranej tabeli. select * from department; SELECT wybranych kolumn Po wyrażeniu SELECT określamy nazwy kolumn, które mają zostać wybrane do wyświetlenia. Można wybierać stałe lub wyrażenia. Aliasy kolumn Czasem zdarza się że nazwy kolumn są mało zrozumiałe lub przyjazne dla użytkownika. W takim wypadku w wyniku zapytania możemy zamienić je na własne aliasy. select full_name as nazwisko i imie from employees; Klauzula DISTINCT Słowo kluczowe distinct służy do wyświetlenia wartości lub szeregu wartości bez powtórzeń. Stosuje się je w przypadku gdy chcemy wiedzieć jakie w ogóle wartości występują w danej kolumnie a nie interesuje nas ich częstotliwość występowania.

15 Sortowanie sortowanie klauzula ORDER BY Możemy wyświetlić dane posortowane wg wybranej kolumny. W tym celu dodajemy do zapytania klauzulę order by określającą kolumnę wg której dane mają być sortowane. ASC - sortowanie rosnące, DESC - malejące. Jeśli nie istnieje potrzeba stosowania sortowania, nie powinniśmy z niej korzystać ponieważ powoduje dodatkowe niepotrzebne obciążenie serwera bazy danych. Klauzule NULLS FIRST I NULLS LAST Aby zmienić sposób traktowania wartości pustych przy sortowaniu, musimy po nazwie sortowanej kolumny dodać klauzulę NULLS FIRST lub NULLS LAST.

16 Filtrowanie wierszy Operatory Budując zapytania do bazy danych Oracle możemy korzystać z operatorów które pozwalają porównywać, wykonywać operacje, łączenia i porównania wartości. Operatory arytmetyczne Pozwalają wykonywać operacje matematyczne na wartościach. Należą do nich: +,,, / Operator konkatenacji Operator ten służy do łączenia dwu wartości tekstowych. Operatory porównań >, >=, =, <, <=, <>,! = Operator zakresu x [NOT] BETWEEN y AND z Operator ten sprawdza, czy wartość x mieści [nie mieści] się w przedziale domkniętym <y,z> Operator przynależności do listy x [NOT] IN (x1, x2,..., xn) Operator ten sprawdza, czy wartość x znajduje [nie znajduje ] się na liście wartości x1, x2,..., xn.

17 Operator wzorca x [NOT] LIKE y Operator ten sprawdza, czy wartość napisu x przystaje [nie przystaje] do maski y. Podczas definiowania maski możemy korzystać ze znaków specjalnych: % zastępuje dowolną ilość dowolnych znaków, natomiast _ zastępuje dokładnie jeden dowolny znak. Operator testowania wartości pustych x IS [NOT] NULL Operator ten sprawdza, czy x zawiera [nie zawiera] wartości NULL. Operatory logiczne NOT, AND, OR Operatory te służą do nadawania więcej niż jednego warunku w zapytaniu.

18 Uwaga: "Arytmetyka wartości pustych" Każde wyrażenie arytmetyczne zawierające choć jeden składnik lub czynnik z wartością pustą daje pusty wynik. TRUE AND NULL => NULL FALSE AND NULL => FALSE TRUE OR NULL => TRUE FALSE OR NULL => NULL

19 Funkcje jednowierszowe. Funkcje znakowe Upper: Zamienia wszystkie litery na wielkie. Lower: Zamienia wszystkie litery na małe. Initcap: Zwiększa pierwsze litery wszystkich wyrazów. np. select initcap( ola, ala ) from dual; Uwaga: dual: specjalna tablica w Oracle, z jednym wierszem i jedna kolumna, używamy jej w przypadku pisania zapytań, które nie odwołuja się do danych z żadnej tablicy (widoku). Lpad(text,n,znak) Funkcja uzupełniająca z lewej strony znakami podanymi jako trzeci argument w taki sposób by wynik osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony. np. select Lpad(job_code,5, x ) from employees; Rpad(text,n,znak) Funkcja uzupełniająca z prawej strony wynik znakami podanymi jako trzeci argument w taki sposób, by wynik osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony.

20 Funkcje znakowe RTrim(text,text2), LTrim(text,text2) Funkcje te usuwają z prawej lub lewej strony napisu text znaki zawarte w text2. Jeśli nie podamy wartości text2, usunięte zostaną spacje (i w praktyce do tego tych funkcji używa się najczęściej). Replace (text, text1 [,text2]) Funkcja zamienia wszystkie wystąpienia ciągu text1 w ciągu text na text2. W przypadku braku ciągu text2 z ciągu text usuwane są wszystkie wystąpienia ciągu text1. translate (text, text1,text2) Funkcja działa podobnie jak funkcja replace, tylko że zamienia w ciagu text wszystkie wystąpienia pojedynczych liter z ciągu text1 na odpowiednie litery z ciągu text2. np. select translate(last_name, ąćęłńóśźż, acelnoszz ) from employees; length (text) Zwraca długość ciągu text, jeśli text ma wartość NULL funkcja zwraca NULL. np. select length(last_name) from employees;

21 Funkcje znakowe Substr(text, m [,n]): Funkcja wycina z ciągu text n znaków począwszy od pozycji m. Jeżeli n nie jest podane, to wycina wszystkie znaki od pozycji m do końca ciągu text. Jeżeli m jest ujemne, to znaki są odliczane od końca ciągu text. Przykłady: (1) Wyświetlenie pierwszych czterech znaków nazwiska. select substr(last_name,1,4) from employees; (2) Funkcja substr z użyciem dwóch parametrów zwróci ciąg znaków zaczynając od drugiego znaku, do końca (czyli usunie pierwszy znak). select substr(last_name,2) from employees; (3) Substr z m ujemnym. Parametr n najbezpieczniej w takiej sytuacji jest podać większy niż długość najdłuższego wyrazu (jeżeli m jest większa niż długość, zwraca null). select substr(last_name, -2, 20) from employees; //ostatnie dwa znaki z nazwiska

22 Funkcje znakowe to_char Funkcja ta ma kilka zastosowań. Jedno z nich odnosi się do zamiany liczb na postać znakową. Inne formy to_char zostaną omówione później. to_char (liczba [,wzorzec]) zamienia liczbę na postać znakową według podanego wzorca. np. Chcemy wyświetlić roczne wynagrodzenie pracowników podzielone przez 12, otrzymaliśmy mało czytelny wynik: select last_name, salary/12 as "miesięczne zarobki" from employees; Stosując funkcję to_char możemy zamienić go na odpowiadający nam format: select last_name, to_char((salary/12), ) as "miesięczne zarobki" from employees;

23 Wzorzec w funkcji to_char jest napisem, który może zawierać następujące elementy: Element Opis Przykład Wynik 9 Cyfra (liczba dziewiątek określa szerokość pola) Wyświetl wiodące zera $ Ruchomy znak dolara $ $1234 L Ruchomy znak lokalnej waluty L zł1234. Kropka dziesiętna na wskazanej pozycji , Przecinek na wskazanej pozycji 999,999 1,234 MI Znak minus z prawej strony (przy wartościach ujemnych) 9999MI PR Liczby ujemne w nawiasach 9999PR <1234> EEEE Notacja inżynierska (w formacie muszą być cztery E) 9.9EEEE 1.2E+03 V Pomnóż przez 10 n razy (n to liczba dziewiątek po V) 9999V

24 Funkcje znakowe to_number (text [,wzorzec]) Funkcja zamienia ciąg znaków na liczbę według wzorca zbudowanego podobnie dla funkcji to_char (jak powyżej). Funkcja ta jest przydatna, gdy w naszej bazie liczby przechowywane są w postaci tekstowej. SELECT To_Number(postal_code, 99999) FROM locations WHERE country_id= US ; decode Select decode (nazwa_kolumny,wartość, zamiennik, wartość2, zamiennik2,wartość domyślna) [alias] from nazwa_tabeli; Funkcja testuje wartość w podanej kolumnie i w zależności od wartości mieszczącej się w pierwszym argumencie zwraca wartość podaną w drugim argumencie. Jeśli nie znajdzie odpowiedniej wartości w podanych warunkach, wyświetli wartość domyślną podaną jaką ostatni warunek.

25 Funkcje numeryczne ROUND (x,[,y]) Zaokrągla x z dokładnością do y miejsc po przecinku. Jeśli y nie zostało podane, jest domyślnie ustawiane jako 0. ( select round(15.75, 1) from dual; -> 15.8 TRUNC (x,[,y]) Ucina x z dokładnością do y miejsc po przecinku. Jeśli y nie zostało podane, jest domyślnie ustawiane jako 0. Uwaga! round, trunc z ujemnym parametrem y zaokrągla (obcina) liczbę z lewej strony przecinka, czyli do dzisiątek, setek, tysięcy, itp.) POWER (x,y) > x y. SQRT(x) > x. SIGN(x) Zwraca wartość 0, 1 lub -1 w zależności od znaku liczby x. ABS(x) Wartość bezwzględna liczby x. MOD(x,y) Reszta z dzielenia x przez y. Jeśli y = 0 zwraca x. SIN(x), COS(x), TAN(x) Funkcje trygonometryczne, x jest podawane w radianach.

26 Daty Aktualna data jest przechowywana w zmiennej systemowej SYSDATE. select sysdate from dual; Daty można również od siebie odjać. Wynikiem będzie liczba dni pomiędzy datami. Do daty możemy również dodać liczbę całkowita i jako wynik uzyskamy datę za podaną ilość dni. MONTHS_BETWEEN(date1,date2) Zwraca ilość miesięcy pomiędzy datami. ADD_MONTHS(date,n) Dodaje do podanej daty n miesięcy, np. SELECT Add_Months(SYSDATE,3) FROM dual; LAST_DAY(date) Zwraca datę ostatniego dnia miesiąca zawierającego podaną datę.

27 Daty ROUND(date[,p]) Funkcja zaokrągla datę do północy, jeśli jest przed południem lub do północy dnia następnego, jeśli jest po południu. W przypadku podania dodatkowego parametru p zaokrągla datę do pełnego miesiąca (p= month ) lub roku (p= year ), np. zaokrąglenie do pełnego miesiąca: SELECT Round(SYSDATE, month ) FROM dual; TRUNC(date[,p]) Ucina daty. Parametr p działa analogicznie, jak dla round.

28 Daty to_date (text [,text1]) Funkcja zamienia ciąg znaków text na datę według wzorca zawartego w text1. Wzorzec pozwala poprawnie zinterpretować znaki zawarte w ciągu text. Używamy najczęściej przy wstawianiu dat do bazy. SELECT To_date( , yyyymmdd ) FROM dual; SELECT To_date( , yyyy-mm-dd ) FROM dual; SELECT To_date( 2001 V 09 18:34, yyyy rm dd hh24:mi ) FROM dual; SELECT To_date( January 15, 1989, Month dd, YYYY, NLS_DATE_LANGUAGE = English ) FROM dual;

29 Formaty dla funkcji to_date: Parametr Opis Komentarz YYYY Czterocyfrowy rok YYY YY Y Ostatnie 3, 2 lub 1 cyfra roku. RRRR Przyjmuje dwucyfrowy rok, a zwraca w czterocyfrowej notacji. Warto ci z zakresu 0-49 zwróci jako lata wieku. Warto ci z zakresu zwróci jako lata wieku. MM Miesi c (01-12). MON Trzyliterowa nazwa miesi ca. sty, lut, mar,... MONTH Nazwa miesi ca. stycze, luty, itp. RM Rok Miesiąc w notacji w notacji rzymskiej. rzymskiej. I-XII DD Dzie w miesi cu (1-31). DDD Dzie w roku (1-366). HH Godzina w dobie (1-12). HH24 Godzina w dobie (0-23). MI Minuta (0-59). SS Sekunda (0-59).

30 Funkcja to_char dla dat to_char (date [,text1]) Zamienia datę na postać znakową według wzorca zawartego w ciągu text1. Funkcję to_char można wykorzystać do przetwarzania dat wg wzorca. Od omawianej wcześniej odmiany to_char różni się rodzajem parametrów. Tutaj przyjmuje daty, wcześniej były to liczby. Dla funkcji to_char stosuje się te same wzorce dat jak dla funkcji to_date. Można też użyć poniższych. Parametr Opis YEAR Rok, słownie Q Kwartał roku (1, 2, 3, 4). WW Tydzień w roku. W Tydzień w miesiącu. D Dzień w tygodniu (1-7). DAY Nazwa dnia tygodnia.

31 Funkcja EXTRACT EXTRACT(part from datetime) zwraca wartość odpowiedniego pola z daty lub godziny. Funkcji możemy użyć, aby wybrać rok (YEAR), miesiąc (MONTH) lub dzień (DAY) z daty, albo godzinę (HOUR), minutę (MINUTE) lub sekundę (SECOND) z pola typu timestamp. Wybierzmy wszystkich pracowników zatrudnionych od 2005 roku: SELECT * FROM employees WHERE EXTRACT(YEAR FROM hire_date)>=2005; Poniższa instrukcja wybiera godzinę, minutę i sekundę z daty i godziny systemowej: SELECT EXTRACT(HOUR FROM SYSTIMESTAMP), EXTRACT(MINUTE FROM SYSTIMESTAMP), EXTRACT(SECOND FROM SYSTIMESTAMP) FROM DUAL;

32 Funkcje NVL, NULLIF, COALESCE Funkcja NVL(wyrażenie, wartość zastępcza) - jeżeli wartością wyrażenia jest NULL, zwraca wartość zastępczą. SELECT city, nvl(state_province, brak ) from locations;

33 Funkcje NVL, NULLIF, COALESCE Funkcja NVL(wyrażenie, wartość zastępcza) - jeżeli wartością wyrażenia jest NULL, zwraca wartość zastępczą. SELECT city, nvl(state_province, brak ) from locations; COALESCE(wartość1, wartość2, wartość3,...) - służy do wyświetlania z ciągu wartości pierwszej, która nie jest NULL. Należy zachować zgodność typów wartości na liście. SELECT city, COALESCE(state,shortcut, brak ) FROM locations;

34 Funkcje NVL, NULLIF, COALESCE Funkcja NVL(wyrażenie, wartość zastępcza) - jeżeli wartością wyrażenia jest NULL, zwraca wartość zastępczą. SELECT city, nvl(state_province, brak ) from locations; COALESCE(wartość1, wartość2, wartość3,...) - służy do wyświetlania z ciągu wartości pierwszej, która nie jest NULL. Należy zachować zgodność typów wartości na liście. SELECT city, COALESCE(state,shortcut, brak ) FROM locations; Funkcja NULLIF(wartość1, wartość2) - służy do sprawdzenia czy dwie wartości są równe. Jeśli wartość1=wartość2, to zwraca NULL, przeciwnie - zwraca pierwszą z podanych wartości. SELECT e.last_name, e.job_id, NULLIF(j.job_id, e.job_id) AS "old job id" FROM employees e, job_history j WHERE e.employee_id = j.employee_id;

35 Wyrażenie CASE Wyrażenie CASE można stosować w dwojaki sposób: CASE wartość WHEN wartość1 THEN wyrażenie1 WHEN wartość2 THEN wyrażenie2... WHEN wartość_n THEN wyrażenie_n ELSE wartość domyślna END Powyższa forma odpowiada zaprezentowanej wcześniej funkcji DECODE (klauzula ELSE... nie jest wymagana).

36 Wyrażenie CASE Wyrażenie CASE można stosować w dwojaki sposób: CASE wartość WHEN wartość1 THEN wyrażenie1 WHEN wartość2 THEN wyrażenie2... WHEN wartość_n THEN wyrażenie_n ELSE wartość domyślna END Przykład: SELECT last_name, salary, CASE job_id WHEN AD_PRESS THEN salary*0.2 WHEN AD_VP THEN salary*0.15 WHEN FI_MGR THEN salary *0.1 ELSE 0 END AS premia from employees;

37 Wyrażenie CASE W drugiej formie można stosować CASE jako instrukcję warunkową: CASE WHEN warunek1 THEN wyrażenie1 WHEN warunek2 THEN wyrażenie2... ELSE wyrażenie_else END Powyższa konstrukcja zwróci wartość wyrażenia1, jeżeli warunek1 będzie prawdziwy, wyrażenia2, jeżeli warunek2 będzie spełniony, itd., jeżeli żaden warunek nie będzie spełniony, zwróci wartość wyrażenia_else. Klauzula ELSE nie jest wymagana. Warunki są sprawdzane zgodnie z ich kolejnością, tzn. wartość zostanie zwrócona dla pierwszego prawdziwego warunku, a dalsze warunki nie są wtedy sprawdzane.

38 Wyrażenie CASE SELECT last_name, department_id, CASE WHEN department_id IN (60, 210, 230) THEN IT WHEN department_id =20 THEN Marketing WHEN department_id =30 THEN Sprzedaż ELSE inni END AS "dział" FROM employees ORDER BY 2;

39 Wyrażenie CASE Przykład niewłaściwej kolejności warunków w CASE: SELECT last_name, salary, CASE WHEN salary >5000 THEN ok WHEN salary > THEN super ELSE kiepsko END FROM employees; Drugi warunek salary > nigdy nie będzie sprawdzany!

40 Wyrażenie CASE Przykład niewłaściwej kolejności warunków w CASE: SELECT last_name, salary, CASE WHEN salary >5000 THEN ok WHEN salary > THEN super ELSE kiepsko END FROM employees; Drugi warunek salary > nigdy nie będzie sprawdzany! Poprawnie powinno być: SELECT last_name, salary, CASE WHEN salary >10000 THEN super WHEN salary > 5000 THEN ok ELSE kiepsko END FROM employees;

osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony.

osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy niż zadeklarowana długość, zostaje ucięty z prawej strony. Funkcje jednowierszowe. Upper: Zamienia wszystkie litery na wielkie. Lower: Zamienia wszystkie litery na małe. Initcap: Zwiększa pierwsze litery wszystkich wyrazów. np.select initcap( ola, ala ) from dual;

Bardziej szczegółowo

Bazy danych w aplikacjach internetowych

Bazy danych w aplikacjach internetowych Literatura Bazy danych w aplikacjach internetowych Anna Fiedorowicz Wydział Matematyki, Informatyki i Ekonometrii 10.10.2016 1. S. Urman, R. Hardman, M. McLaughlin, Oracle Database 10g. Programowanie w

Bardziej szczegółowo

niż zadeklarowana długość, zostaje ucięty z prawej strony. osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy

niż zadeklarowana długość, zostaje ucięty z prawej strony. osiągnął długość podaną jako drugi parametr. Jeśli wynik jest dłuższy Funkcje jednowierszowe. Funkcje znakowe Upper: Zamienia wszystkie litery na wielkie. Lower: Zamienia wszystkie litery na małe. Initcap: Zwiększa pierwsze litery wszystkich wyrazów. np. select initcap(

Bardziej szczegółowo

PL/SQL. Funkcje wbudowane

PL/SQL. Funkcje wbudowane Slajd 1 PL/SQL Opis funkcji SQL PL/SQL(funkcje SQL) M. Rakowski - WSISiZ 1 Slajd 2 Funkcje wbudowane Funkcje wbudowane mają za zadanie umożliwić bardziej zaawansowane operowanie danymi. Funkcje operacji

Bardziej szczegółowo

Język SQL. Rozdział 3. Funkcje wierszowe

Język SQL. Rozdział 3. Funkcje wierszowe Język SQL. Rozdział 3. Funkcje wierszowe Funkcje wierszowe (funkcje znakowe, funkcje liczbowe, funkcje operujące na datach, funkcje konwersji, funkcje polimorficzne). 1 Funkcje Przekształcają dane, pobrane

Bardziej szczegółowo

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe Funkcje Rozdział 3a Funkcje wierszowe Funkcje wierszowe (funkcje znakowe, funkcje liczbowe, funkcje operujące na datach, funkcje konwersji, funkcje polimorficzne) Przekształcają dane, pobrane przez polecenie

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!

Szkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł! Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne

Bardziej szczegółowo

Język SQL. Rozdział 3. Zaawansowana selekcja danych

Język SQL. Rozdział 3. Zaawansowana selekcja danych Język SQL. Rozdział 3. Zaawansowana selekcja danych Selekcja wg wartości elementów czasowych, ciągów znaków i liczb. Konstrukcja warunkowa. 1 Funkcje Przekształcają dane, pobrane przez polecenie SQL, lub

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

PL/SQL. Część 1 Oracle SQL. Piotr Medoń

PL/SQL. Część 1 Oracle SQL. Piotr Medoń PL/SQL Część 1 Oracle SQL Piotr Medoń Cele Różnice w budowie zapytań bazodanowych pomiędzy bazami SQL Server oraz Oracle Standardowe funkcje Oracle SQL 2 Wprowadzenie do SQL SQL (Structured Query Language)

Bardziej szczegółowo

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Uprawnienia użytkowników Role użytkowników

Uprawnienia użytkowników Role użytkowników ękurs Oracle SQL. Niniejszy kurs wprowadzi Cię w podstawy programowania w bazach danych Oracle. Jest to bardzo szeroka dziedzina wiedzy, zaczynamy więc od samych podstaw jakimi jest tworzenie zapytań w

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji 6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy

Bardziej szczegółowo

SQL i PL/SQL podstawy

SQL i PL/SQL podstawy O Oracle ludzkim głosem SQL i PL/SQL podstawy Andrzej Klusiewicz \ Podstawy SQL i PL/SQL. Bezpłatny e-book wersja: 1.1 06-05-2013 www.jsystems.pl str. 1/140 Spis treści O Oracle ludzkim głosem...1 Licencja

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze

Bardziej szczegółowo

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie

Bardziej szczegółowo

Wykład 8 Implementacja języka SQL w systemach baz danych Oracle specyficzne konstrukcje i funkcje Oracle SQL, funkcje numeryczne, znakowe, daty i

Wykład 8 Implementacja języka SQL w systemach baz danych Oracle specyficzne konstrukcje i funkcje Oracle SQL, funkcje numeryczne, znakowe, daty i Wykład 8 Implementacja języka SQL w systemach baz danych Oracle specyficzne konstrukcje i funkcje Oracle SQL, funkcje numeryczne, znakowe, daty i czasu, parametryzacja zapytao. I. Wybrane specyficzne funkcje

Bardziej szczegółowo

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe Funkcje Rozdział 3 Funkcje Funkcje wierszowe (funkcje znakowe, funkcje liczbowe, funkcje operujące na datach, funkcje konwersji, funkcje polimorficzne), funkcje grupowe, podział relacji na grupy, klauzule

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza BAZY DANYCH Microsoft Access JĘZYK ZAPYTAŃ BAZ DANYCH SQL Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii

Bardziej szczegółowo

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.

Bardziej szczegółowo

Język SQL podstawy zapytań

Język SQL podstawy zapytań Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Zarzadzanie transakcjami. Transakcje

Zarzadzanie transakcjami. Transakcje Transakcje Transakcja: ciąg zawierający jedno lub wiele poleceń SQL, zgrupowanych razem jako jedna logiczna jednostka działań, której nie można podzielić. Logiczna jednostka działań to zbiór logicznych

Bardziej szczegółowo

Kurs. Podstawy MySQL

Kurs. Podstawy MySQL Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

Wprowadzenie do SQL Użycie kwerend i SQL

Wprowadzenie do SQL Użycie kwerend i SQL Wprowadzenie do SQL Język SQL w programie Access. Kwerenda wybierająca w języku SQL. Typy danych w języku SQL. Wprowadzenie do SQL Użycie kwerend i SQL Funkcjonowanie współczesnych systemów relacyjnych

Bardziej szczegółowo

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska

BAZY DANYCH. Wykład 1: Wprowadzenie do baz danych. Marcin Czajkowski. Przygotowanie wykładu: Małgorzata Krętowska BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Marcin Czajkowski Politechnika Białostocka Wydział Informatyki Przygotowanie wykładu: Małgorzata Krętowska Ogólny plan przedmiotu Wykład : Wprowadzenie

Bardziej szczegółowo

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować: Język SQL (Structured Query Language} służy do manipulowania danymi umieszczonymi w relacyjnych bazach danych. Jest językiem uniwersalnym, dzięki czemu praca na różnych systemach baz danych sprowadza się

Bardziej szczegółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 3 Podstawy programowania w T-SQL Zmienne i operatory Instrukcje sterujące Komunikaty Format daty

Bardziej szczegółowo

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych Plan wykładu BAZY DANYCH II WYKŁAD 3 Zasięg zmiennych Zmienne powiązane Instrukcje warunkowe Pętle Pobieranie danych SQL w PL/SQL Rekordy dr inż. Agnieszka Bołtuć Zasięg zmiennych Zmienna jest dostępna

Bardziej szczegółowo

Bazy danych SQL Server 2005

Bazy danych SQL Server 2005 Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

SQL - Structured Query Language. strukturalny język zapytań

SQL - Structured Query Language. strukturalny język zapytań SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w

Bardziej szczegółowo

PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń

PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń PL/SQL Część 1 Bloki PL/SQL Piotr Medoń Cele Zapoznanie się z podstawowymi typami PL/SQL Zapoznanie się z blokiem PL/SQL Zapoznanie się z instrukcjami sterującymi wykonaniem 2 Blok PL/SQL Struktura bloku

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Zarządzanie kontami użytkowników w i uprawnieniami

Zarządzanie kontami użytkowników w i uprawnieniami 106 Plan prezentacji 107 Zarządzanie kontami użytkowników w i uprawnieniami Schematy a użytkownicy Tworzenie użytkowników, uwierzytelnianie Przywileje systemowe i obiektowe, role Profile kontrola wykorzystania

Bardziej szczegółowo

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image) Elementy języka T-SQL 40. Polecenie PRINT jest wykorzystywane do przekazania wiadomości tekstowej (maksymalna długość 8000 znaków) Przykład PRINT 'Aktualna data: '+convert(char(8),getdate()) PRINT 'Aktualny

Bardziej szczegółowo

Laboratorium Bazy danych SQL 2

Laboratorium Bazy danych SQL 2 Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I Wydział Informatyki Politechnika Białostocka Plan wykładu Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I 1. MySQL 2. Powtórzenie SQL WYKŁAD 2: MySQL: podstawowe obiekty Powtórzenie

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.

Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli. SQL W JĘZYKU PL/SQL Strukturalny język zapytań SQL określa sposób manipulowania danymi w bazie danych. Konstrukcje proceduralne języka PL/SQL stają się bardziej użyteczne w połączeniu z mocą przetwarzania

Bardziej szczegółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów

Plan wykładu BAZY DANYCH II WYKŁAD 4. Co to jest kursor? Rodzaje kursorów Plan wykładu Kursory: deklaracja, otwieranie, pobieranie danych, zamykanie Kursory: atrybuty Kursory: pętle, rekordy Kursory z parametrami BAZY DANYCH II WYKŁAD 4 dr inż. Agnieszka Bołtuć Co to jest kursor?

Bardziej szczegółowo