background image

Język T-SQL 

background image

Przegląd zagadnień

Charakterystyka języka SQL 
Polecenia DDL
Polecenia DCL
Polecenia DML
Podsumowanie
Laboratorium

background image

Charakterystyka języka SQL 

Język SQL narodził się w latach siedemdziesiątych w laboratoriach IBM w 

San Jose. 
Pierwszy standard ANSI tego języka ujrzał światło dzienne w roku 1987, a 

obecny noszący nazwę SQL2 (lub SQL92) w roku 1992. Obecnie trwają 

prace nad kolejną wersją tego języka, ale nie zostały one jeszcze 

zakończone.
Język SQL - strukturalny język zapytań - został opracowany z myślą 

o relacyjnych bazach danych. 
Jest on tak skonstruowany, że pozwala definiowanie, usuwanie i 

manipulację danymi w relacyjnych bazach danych bez konieczności 

wchodzenia w szczegóły implementacyjne i konstrukcyjne konkretnego 

środowiska baz danych. 
Prawie wszystkie bazy danych i SZBD wspierają język SQL, choć w jego 

różnych odmianach. Istnieją bowiem różne dialekty tego języka 

opracowane na potrzeby konkretnych SZBD. Jeśli jednak będziemy 

posługiwać się jego wersją ANSI, to powinien on być zrozumiały dla 

większości SZBD.

background image

Charakterystyka języka SQL 

języka definiowania danych – języka DDL,

języka sterowania danymi - języka DCL ,

języka operowania na danych - języka DML.

background image

Polecenia DDL 

Instrukcje języka DDL służą do manipulowania 
bazą danych i jej obiektami. 
Pozwalają na:
• tworzenie nowych obiektów,
• modyfikowanie obiektów już istniejących,
• usuwanie obiektów.

background image

Tworzenie tabel

Przy definiowaniu tabeli należy podać jej nazwę, nazwy jej atrybutów oraz typ 
danych, które atrybuty te mogą przyjmować. 
Dodatkowo określa się, czy dany atrybut może przyjąć wartość NULL, czy nie.

background image

Tworzenie tabel - Typy danych ANSI

Typ danych

ANSI

Opis

Tekstowy

CHAR(n)

tekst o długości n 

VARCHAR(n)

tekst o długości co najwyżej n

Binarny

BIT(n)

ciąg bitów o długości n

BIT VARYING(n)

ciąg bitów o długości co najwyżej n

Całkowity

INT, SHORTINT

wartości całkowite

Numeryczne FLOAT,REAL

liczby zmiennopozycyjne

DECIMAL(n,d)

wartość na n pozycjach dziesiętnych 

z d miejscami po przecinku

background image

Modyfikacja tabel 

background image

Modyfikacja tabel 

Najczęściej polecenie ALTER TABLE stosuje się do zmiany
schematu relacji.

background image

Usuwanie tabeli 

background image

Polecenia DCL 

Instrukcja

Znaczenie

Opis

GRANT

Nadanie

Nadaje uprawnienia

DENY

Odmowa

Odmawia 

uprawnień

REVOKE

Cofnięcie

Usuwa nadane lub 

cofnięte 

uprawnienia

background image

Polecenia DCL 

Czym różni się odmowa uprawnień od cofnięcia 
uprawnień? Chodzi o to, że mamy dwa rodzaje 
uprawnień (podobnie jak w systemie Windows 
XP/2000/2003) - uprawnienia pozytywne (coś można 
zrobić) i negatywne (coś jest zabronione). Do 
nadawania uprawnień pozytywnych służy polecenie 
GRANT, zaś uprawnienia negatywne nadajemy 
poleceniem DENY. Polecenie REVOKE pozwala 
cofnąć uprawnienia nadane poleceniami GRANT i 
DENY.
Należy zapamiętać, że uprawnienia negatywne (nadane 
poleceniem DENY) nadpisują uprawnienia pozytywne 
(nadane przez polecenie GRANT).

background image

Polecenia DML 

Pobieranie zestawu wyników 
Operatory porównania
Operatory logiczne
Wyszukiwanie z listy wartości
Wyszukiwanie wartości nieznanych 
Modyfikowanie danych

background image

Polecenia DML 

Instrukcje języka DML służą do:

pobieranie danych,

formatowania zestawu wyników,
modyfikowania danych.

background image

Polecenia DML 

Najważniejsze instrukcje języka DML  

Instrukcja

Znaczenie

Opis

SELECT

Pobierz

Pobiera zestaw danych

INSERT

Wstaw

Wstawia dane do tabeli

UPDATE

Modyfikuj

Modyfikuje dane w tabeli

DELETE

Usuń

Usuwa rekordy z tabeli

background image

Pobieranie zestawu wyników (1)

Jeśli chcemy 
pobrać wszystkie 
kolumny z tabeli, 
to w jako listę 
wyboru podajemy 
gwiazdkę.

background image

Pobieranie zestawu wyników (2)

Jeśli natomiast interesują nas tylko niektóre, z kolumn danej tabeli, to należy 
po słowie SLECT wymienić nazwy tych kolumn w takiej kolejności, w jakiej 
chcemy aby zostały wyświetlone.

background image

Pobieranie zestawu wyników (3)

Możemy również ograniczyć 
liczbę zwracanych wierszy, czyli 
dokonać filtrowania rekordów. 
Służy do tego warunek WEHRE, 
który możemy umieścić w 
instrukcji SELECT

background image

Operatory porównania 

Warunki wyszukiwania, które możemy 
stosować po słowie WEHRE są 
różnorodne i dają dużą swobodę 
filtrowania rekordów. Warunki te mogą:
- korzystać z operatorów porównania,
- korzystać z porównywania ciągów,
- korzystać z operatorów logicznych,
- pobierać zakresu wartości,
- korzystać z listy wartości jako 
kryterium wyszukiwania,
- pobierać wartości nieznanych. 

Operatory porównania „=”
Operator porównania (=) powoduje, że
zwracane są tylko te rekordy, których
wartość w zadanej kolumnie jest równa
podanej.

background image

Operator LIKE 

Operator LIKE porównuje ciągi znaków, które powinny być do 

siebie podobne. Wraz z operatorem LIKE można stosować znaki 
maskujące:
% - zastępuje dowolny ciąg znaków,
_? - zastępuje jeden dowolny znak.

background image

Operator LIKE 

Operatorem negującym wynik operatora LIKE jest operator NOT LIKE. Jego 
zastosowanie powoduje zwrócenie rekordów, które nie spełniają podanego 
warunku podobieństwa.

background image

Operatory logiczne 

Wraz ze słowem WHERE można też stosować operatory logiczne AND i OR, co znacznie poszerza
możliwości budowania warunków filtrowania.

background image

Wyszukiwanie z listy wartości 

Do wyszukiwania wartości z
podanej listy służy słowo IN.

background image

Wyszukiwanie wartości nieznanych 

Wyszukiwanie rekordów o nieznanych lub nie podanych wartościach 
ma wiele praktycznych zastosowań. Przykład takiego wyszukiwania z 
zastosowaniem słowa IS NULL podano na rysunku poniżej.

background image

Formatowanie wyników 

Kiedy zestaw wyników zostanie już przefiltrowany 

i zostaną wybrane odpowiednie kolumny, warto 

jest go odpowiednio sformatować, aby był on 

lepiej czytelny. 
Formatowanie wyników może polegać na:

sortowaniu danych,
eliminowaniu duplikatów,
zmianie nazw kolumn,
zastosowaniu literałów.

background image

Formatowanie wyników 

Do sortowania wyników należy zastosować składnię ORDER BY.
Sortować możemy rosnąco (słowo kluczowe - ASC) lub malejąco
(słowo kluczowe - DESC).

background image

Formatowanie wyników 

Do eliminowania duplikatów w wynikach 
służy słowo DISTINCT.

background image

Zmiana nazw kolumn 

Nazwę kolumny w zestawie wyników możemy osiągnąć bardzo 

prosto stosując słowo AS w sposób, jak pokazano poniżej.

background image

Literały 

Literały służą do dodawania do zestawu wyników pewnych ciągów
znaków, jak pokazuje to poniższy przykład. Poprawia to czytelność
wyniku.

background image

Modyfikowanie danych

Modyfikowanie danych może polegać na:
wstawianiu wierszy,
usuwaniu wierszy,
aktualizowaniu wierszy. 

Wstawianie wierszy
Do wstawiania wierszy używamy polecenia INSERT.

background image

Aktualizowanie wierszy

Klauzula WHERE określa wiersze, które 

mają być zmienione.
Słowo kluczowe SET określa nowe dane.
Wartości wejściowe muszą być tego 

samego typu danych, co kolumny.

background image

Modyfikowanie danych

Do usunięcia wierszy w tabeli można zastosować dwa 

polecenia: DELETE lub TRUNCATE TABLE. Nie powodują 

one usunięcia schematu relacji, ale jedynie jej instancji.
Instrukcja DELETE

Używana do usunięcia jednego lub więcej wierszy z tabeli.

Zawsze należy umieszczać klauzulę WHERE.

Każdy usunięty wiersz jest rejestrowany w dzienniku 
transakcji.

Instrukcja TRUNCATE TABLE

Używana do usunięcia wszystkich wierszy z tabeli.

Serwer SQL zachowuje strukturę tabeli i skojarzone obiekty.

Jedynie zwolnienie stron danych jest rejestrowane w dzienniku 
transakcji. 

background image

Podsumowanie

Charakterystyka języka SQL 
Polecenia DDL
Polecenia DCL
Polecenia DML

background image

Laboratorium

Polecenia języka DDL 

Polecenia języka DCL 

Polecenia języka DML