Bazy Danych cz 3

background image

1

Podstawowe cechy języka SQL

Tworzenie bazy danych i struktur relacji

Manipulowanie danymi

Dodawanie

Modyfikacja danych

Usuwanie danych z relacji

Wydobywanie informacji

Prosty w opanowaniu

Zgodność z określonym standardem

background image

2

Własności SQL

Język nieproceduralny

Użytkownik opisuje informację, której potrzebuje

Nie podaje sposobu uzyskania tej informacji

Składnia języka SQL dopuszcza umieszczanie poleceń w

różnych miejscach

Polecenie składa się z typowych słów języka angielskiego:

CREATE, SELECT, INSERT itp.

CREATE TABLE Dom(id int(5), numer int(5));

Każdy użytkownik może utworzyć zapytanie w języku SQL

background image

3

Formułowanie poleceń

Słowa

zarezerwowane

(kluczowe)

Niezmienna część języka

Ustalone znaczenie

Muszą być zapisane zgodnie ze składnią, nie mogą być
dzielone

Słowa

definiowane

przez użytkownika

Nazwy różnych obiektów baz danych

Tabele, kolumny, perspektywy

Słowa układane są słowa (zapytania) zgodnie z regułami

języka

Każde polecenie zakończone jest znacznikiem końca

zapytania: „

;

background image

4

Zasady tworzenia zapytań

Słowa kluczowe i definiowane mogą być wpisywane wielkimi
lub małymi znakami

Dane występujące w bazie danych myszą być wpisywane z

zachowaniem wielkości znaków

„Kowalski” - „KOWALSKI”

Każde polecenie powinno rozpoczynać się od nowego wiersza

Początek nowej klauzuli powinien być dopasowany do
początków innych klauzul

Zapytanie składające się z kilku klauzul powinno być zapisane

w kilku wierszach

Stosowanie wcięć dla podkreślenia zależności klauzul

background image

5

Nazewnictwo

Wielkie litery stosujemy przy wpisywaniu słów kluczowych

Nazwę relacji rozpoczynamy od wielkiej litery – nazwa relacji

zapisana jest w liczbie pojedynczej

Personel, Biuro

Jeżeli nazwa relacji składa się z kilku członów, każdy człon

rozpoczynamy od wielkiej litery

WlascicielPrywatny

Nazwy atrybutów rozpoczynamy z małej litery

Jeżeli nazwa atrybutu składa się z kilku członów, drugi i następne

człony rozpoczynamy z litery wielkiej

biuroNr, kodPocztowy

W nazwach relacji oraz atrybutów staramy się nie używać znaków

charakterystycznych dla danego języka

Maksymalna długość identyfikatora wynosi 128 znaków

background image

6

Cudzysłów

Jeżeli nazwa zawiera spacje należy zastosować

ograniczone identyfikatory

Wesoły domek – błąd niejednoznaczne określenie
nazwy

”Wesoły domek” - poprawnie

Jeżeli nazwa zawiera w sobie cudzysłów należy
zastosować podwójny znak ”

Wesoły”Domek – błąd

Wesoły””Domek – poprawnie

Należy unikać spacji oraz cudzysłowów w nazwach

background image

7

Apostrofy

Apostrofy służą do określania literałów łańcuchowych

Stosowane przy dokonywaniu operacji na ciągach

znaków

Mały domek – błąd

'Mały domek' – poprawnie

Jeżeli ciąg znaków zawiera apostrof należy poprzedzić

go drugim znakiem apostrofa

Mały'domek

'Mały

'

'

domek'

Należy unikać stosowania apostrofów w literałach

background image

8

Zapytania

Zapytanie SELECT służy do wyszukiwania danych z

jednej lub wielu tabel

SELECT

[

DISTINCT

|

ALL

] {

*

|

kolumna

[

AS nowa_nazwa

][

, ...

] }

FROM NazwaTabeli

[

alias

] [

, ...

]

[

WHERE

warunek_selekcji_wierszy

]

[

GROUP BYlista_kolumn

] [

HAVING warunek_selekcji_grup

]

[

ORDERED BY lista_kolumn

]

Porządek elementów zapytania SELECT musi być

zachowany – nie można go zmieniać

Wynikiem działania zapytania jest również relacja

background image

9

Kolejność przetwarzania

określa tabelę lub zbiór tabel

GROUP BY

określa uporządkowanie wyniku

FROM

WHERE

pozwala wybrać wiersze spełniające zda-
ny warunek korzystać
tworzy grupy wierszy o tej samej wartości
wskazanej kolumny

HAVING

pozwala wybrać grupy ze względu na po-
dany warunek selekcji grup

SELECT

Wskazuje, które grupy powinny znaleźć
się w wyniku

ORDERED BY

background image

10

background image

11

Wyszukiwanie wszystkich wierszy

Podaj wszystkie dane wszystkich pracowników

SELECT pracownikNr, imie, nazwisko, stanowisko, plec,

dataUr, pensja, biuroNr

FROM Personel;

SELECT *
FROM Personel;

background image

12

Wyszukiwanie wybranych kolumn

Aby wybrać dane odpowiadające wybranym atrybutom
po klauzuli

SELECT

należy podać nazwy kolumn

SELECT pracownikNr, imie, nazwisko, pensja
FROM Personel;

Kolejność kolumn określona jest przez kolejność pojawienia

się po słowie SELECT

Kolejność wyświetlanych encji (wierszy) odpowiada

kolejności wprowadzania informacji

background image

13

Eliminacja powtórzeń

Polecenie SELECT nie eliminuje

powtórzeń

SELECT nieruchomoscNr
FROM Wizyta;

SELECT DISTINCT

nieruchomoscNr

FROM Wizyta;

background image

14

Pola wyliczane

Na liście SELECT może pojawić się pole wyliczane

Dowolne wyrażenie arytmetyczny

Nawiasy określające kolejność działań

W kolumnie wyliczanej może wystąpić więcej niż

jedna kolumna z tabeli

Kolumny muszą mieć typ liczbowy

Nazwa kolumny wyliczanej określana jest przez SZBD

Nadanie własnej nazwy dla kolumny wyliczanej

wymaga zastosowania klauzuli

AS

background image

15

Klauzula AS

SELECT pracownikNr, imie, nazwisko, pensja/12
FROM Personel;

SELECT pracownikNr, imie, nazwisko, pensja/12 AS

„Pensja Miesięczna”

FROM Personel;

background image

16

Klauzula WHERE

Klauzula WHERE służy do ograniczania ilości

wyników (operator selekcji)

Po słowie kluczowym następuje warunek selekcji

Porównanie

Porównanie wartości dwóch wyrażeń

Sprawdzenie zakresu

Polega na sprawdzeniu, czy zadana wartość należy do

wskazanego zakresu

Przynależność do zbioru

Element należy do wskazanego zbioru

Wartość pusta

Sprawdza czy kolumna zawiera wartość null

background image

17

Porównanie

Porównując dwie wartości możemy skorzystać z
następujących operatorów

Wartość wyrażenia obliczana jest od lewej do prawej

W pierwszej kolejności obliczane są wyrażenia w nawiasach

NOT ma wyższy priorytet niż AND i OR

AND jest obliczane przed OR

=

równe

<>

różne

!=

różne

<

mniejsze niż

<=

mniejsze lub równe

>

większe niż

>=

większe lub równe

AND iloczyn logiczny
OR

suma logiczna

NOT przeczenie

background image

18

Przykłady

Podaj adresy wszystkich biur znajdujących się w

Londynie lub Glasgow

SELECT * FROM Biuro WHERE miasto = 'Londyn' OR

miasto = 'Glasgow';

Podaj wszystkich pracowników mających pensje

pomiędzy 2000 a 3000 zł

SELECT pracownikNr, imie, nazwisko, stanowisko,
pensja FROM Personel WHERE pensja >= 2000 AND

pensja <= 3000;

background image

19

BETWEEN

Operator BETWEEN służy do definiowania przedziału

zamkniętego

SELECT pracownik, imie, nazwisko, stanowisko,
pensja FROM Personel WHERE pensja BETWEEN
2000 AND 3000;

Negacja operatora BETWEEN

SELECT pracownik, imie, nazwisko, stanowisko,
pensja FROM Personel WHERE pensja

NOT

BETWEEN 2000 AND 3000;

WHERE pensja < 2000 OR pensja > 3000;

background image

20

IN – NOT IN

Operator IN pozwala na sprawdzenie czy wartość danego
atrybutu należy do określonego zbioru

Podaj informacje na temat wszystkich kierowników i
dyrektorów

SELECT * FROM Personel WHERE stanowisko IN

('kierownik','dyrektor');

Operator IN stosowany jest dla zbiorów o wielu
elementach

Zbiór może być utworzony przez inne zapytanie SQL

Zgodność dziedzin atrybutu i zbioru wynikowego

Operator NOT IN

Wszystkie elementy nie należące do wskazanego zbioru

background image

21

Dopasowanie do wzorca

Atrybuty przechowujące dane w postaci ciągu znaków

Wyszukiwanie według określonego wzorca

Operator LIKE lub NOT LIKE

Znaki zastępcze

%

oraz

_

(

*, ? - Microsoft

)

%

dopasowuje jeden lub wiele znaków

Pusty ciąg znaków

_

dopasowuje dokładnie jeden znak

Jeżeli szukany ciąg znaków zawiera jeden ze znaków
specjalnych należy zastosować klauzulę ESCAPE

background image

22

Działanie operatora LIKE

Jeśli dopasowywana wartość, wzorzec lub znak
zdefiniowany w ESCAPE są typu NULL, wynik
porównania przyjmuje status nieokreślony

Jeśli dopasowywana wartość i wzorzec są łańcuchami o
zerowej długości wynikiem TRUE

Jeśli dopasowywana wartość może zostać podzielona na
takie segmenty, że każdy segment będzie równy

wzorcowi lub reprezentowany we wzorcu za pomocą
symboli specjalnych wynikiem jest TRUE

Segmenty i symbole mają taką samą kolejność we
wzorcu, jak w pasujących segmentach

W przeciwnym przypadku wartością porównania jest
FALSE

background image

23

Działanie operatora LIKE

Dopasowywana wartość nie jest wypełniana ani obcinana

Jeżeli wzorzec jest podłańcuchem należy umieścić znak

%

na

początku lub/i na końcu wzorca

Operator

LIKE

nie dopasowuje końcowych spacji chyba że

umieścimy symbol

%

LIKE 'H%' - pierwszym znakiem musi być litera H

LIKE 'H_ _ _ _' - dokładnie cztery znaki pierwsza litera H

LIKE '%e' – dowolny ciąg znaków zakończony literą e

LIKE '%Glasgow' – dowolny ciąg znaków o dowolnej
długości zawierających słowo Glasgow

NOT LIKE 'H%' - pierwszym słowem nie może być H

background image

24

Działanie operatora LIKE - ESCAPE

Znaleźć ciąg znaków '

15%

'

Wymaga zastosowania znaku zdejmującego

znaczenie specjalne

LIKE '

15

#

%

' ESCAPE '

#

'

TRUE

'

Mały_Domek

' LIKE '%

ły

#

_Dom

%' ESCAPE '

#

'

FALSE

'

Mały_Domek

' LIKE '%

ły

#

_Domek

' ESCAPE '

#

'

UNKNOWN (nieokreślony)

'

Mały_Domek

' LIKE '%

ły

#

_Dom

%' ESCAPE NULL

background image

25

Ograniczanie wyników zapytań

Jeżeli relacja zawiera dużą liczbę rekordów zapytanie

SELECT

zwróci dużą liczbę krotek

Liczbę zwracanych krotek ogranicza się za pomocą
klauzuli

LIMIT

SELECT * FROM Personel LIMIT 20;

Zapytanie zwróci pierwszych 20 rekordów relacji

Personel

SELECT * FROM Personel LIMIT 20, 10;

Zapytanie zwróci 10 rekordów po pominięciu

pierwszych 20 rekordów


Document Outline


Wyszukiwarka

Podobne podstrony:
kwerendy wybierające, SCI, OB-IV, bazy danych cz I
Bazy Danych cz III [tryb zgodności]
Bazy danych - cz zagadnie do egzaminu, Automatyka i Robotyka, Semestr 3, Bazy danych, BD, BD, Ba
Bazy Danych cz II [tryb zgodnos Nieznany (2)
kwerendy pod
M Smyczek i M Kaim Od zera do ECeDeeLa cz 5 Bazy danych
3 Bazy danych SQL cz 2 wykład
3 Bazy danych SQL cz 2 wykład
Bazy Danych Elementy Jezyka SQL cz I
3 Bazy danych SQL cz 2 wykład

więcej podobnych podstron