SQL_MS_SQL.pdf

(449 KB) Pobierz
Microsoft Word - SQL_MS_SQL_SS_AB.doc
1. Język T – SQL – wprowadzenie do tworzenia zapytań i
modyfikowania bazy danych
Opracował: Sławomir Samolej, Andrzej Bożek
Politechnika Rzeszowska,
Katedra Informatyki i Automatyki,
Rzeszów, 2008.
1.1. Wprowadzenie
Zaimplementowana baza danych dla typowych użytkowników jest przed wszystkim źródłem
informacji lub strukturą informacyjną, w której należy uzupełnić lub dodać dane . Rzadziej na
poziomie przeciętnego użytkownika dokonuje się przedefiniowania schematu bazy danych .
Wszystkich wymienionych operacji na bazie danych można dokonać z zastosowaniem języka SQL.
Na platformie MS SQL Server stosuje się tzw. T-SQL (Transaction - SQL) – dialekt rozszerzający
podstawowy standard języka o możliwości specyficzne dla platformy Microsoft i Sysbase.
W chwili obecnej standardowym rozwiązaniem dostarczanym przez firmy informatyczne jest
aplikacja, która łączy się z serwerem bazodanowym w celu odczytu lub uzupełniania bazy danych.
Z punktu widzenia użytkownika, dostępny jest interfejs graficzny umożliwiający uzyskanie pewnej
informacji (np. ilość dostępnych w wypożyczalni kopii danego filmu) lub zmodyfikowanie stanu bazy
danych (np. powiększenie o jeden ilości dostępnych kopii filmu, gdy klient ją zwrócił). Sama aplikacja
łączy się z bazą danych i z zastosowaniem poleceń języka SQL uzyskuje bądź modyfikuje dane.
W zależności od potrzeb, oferowane są dedykowane aplikacje bazodanowe jako osobne programy lub
funkcjonalność interfejsu przejmują strony internetowe, współpracujące z zastosowaniem
odpowiednich technologii z serwerem bazodanowym. Na serwerze bazodanowym można dodatkowo
zdefiniować tzw. procedury składowane – odpowiednie podprogramy napisane w języku SQL,
realizujące określoną funkcjonalność. Odciąża to aplikacje klienckie od formułowania i przesyłania
złożonych zapytań, czy wręcz poleceń przeprowadzenia zaawansowanej analizy danych.
We wstępnej fazie projektowania aplikacji bazodanowej dokonuje się przeglądu potencjalnych
zapytań lub modyfikacji bazy danych, które przyszły użytkownik będzie używał w swojej aplikacji.
Na tym etapie wytwarzania systemu bazodanowego można z powodzeniem zastosować standardowe
MS SQL Server Management Studio. W dalszej części instrukcji zostaną wskazane metody
generowania poleceń SQL dla wybranej bazy danych z zastosowaniem MS SQL Management Studio,
a następnie zaproponowany zostanie ciąg ćwiczeń wprowadzających do podstawowych poleceń SQL.
1.2. Tworzenie poleceń SQL w MS SQL Server Management Studio
MS SQL Server Management Studio jest podstawowym narzędziem do zarządzania bazą danych.
Umożliwia dołączanie lub odłączanie baz danych do/z serwera, tworzenie struktury bazy danych
i wypełnienie jej, usuwanie bazy danych, wykonywanie poleceń SQL i przygotowywanie funkcji
wbudowanych SQL.
S. Samolej, A. Bożek: Język T-SQL – wprowadzenie…
2
Zasady łączenia się do serwera, definiowania struktury bazy danych i wypełniania jej danymi
przedstawiono w [3]. Jeśli na serwerze MS SQL znajduje się zainstalowana baza danych
i dysponujemy MS SQL Server Managemant Studio, to istnieje możliwość skierowania do wybranej
bazy danych poleceń SQL. W tym celu w oknie Object Explorer należy wybrać bazę do której
zamierzamy skierować polecenie SQL, a następnie z menu kontekstowego wybrać opcję New
Query… (Rys. 1.1).
Rys. 1.1 Tworzenie polecenia SQL dla wybranej bazy danych
Spowoduje to otwarcie w głównym oknie nowej zakładki, w której można bezpośrednio wpisywać
polecenia SQL, a następnie wybierając z menu kontekstowego polecenie Execute (rys. 1.2) –
wykonywać. Rezultat wykonania poprawnego polecenia jest standardowo widoczny w automatycznie
wygenerowanym podoknie, znajdującym się poniżej okna zawierającego polecenie (rys. 1.3).
Otrzymany wynik polecenia może zostać wyświetlony w postaci tabeli (ustawienie standardowe),
tekstu lub zostać zapisany we wskazanym pliku. Utworzone polecenie lub lista poleceń SQL może
zostać zapisana w pliku, a następnie ponownie odtworzona. Możliwości zastosowania MS SQL
Management Studio do przeszukiwania i efektywnego zarządzania bazami danych są znacznie szersze,
ale wykraczają poza zakres obecnego opracowania i nie będą dalej omawiane.
297331322.001.png
S. Samolej, A. Bożek: Język T-SQL – wprowadzenie…
3
Rys. 1.2 Uruchamianie wykonania polecenia SQL
Rys. 1.3 Rezultat wykonania polecenia SQL
297331322.002.png
S. Samolej, A. Bożek: Język T-SQL – wprowadzenie…
4
1.3. Proponowany przebieg ćwiczenia
1. Zapoznanie się z materiałem wprowadzającym i odpowiadającymi wiadomościami z wykładu,
dotyczącymi rodzajów i metod generowania poleceń SQL.
2. Przeglądnięcie struktury bazy danych, dla której będą generowane polecenia SQL (tab. 1.1, tab.
1.2, tab. 1.3)
Tab. 1.1 Relacja pracownik .
NUMER
NAZWISKO
ETAT
SZEF
PRACUJE_OD
PŁACA_POD PŁACA_DOD ID_ZESP
1000 Lech
dyrektor
01-JAN-71
3160
570 10
1080 Koliberek sekretarka
1000 20-FEB-83
1150
10
1010 Podgajny profesor
1000 01-MAY-75
2180
420 20
1040 Rus
adiunkt
1010 15-SEP-79
1750
20
1070 Muszyński adiunkt
1010 01-MAY-85
1600
20
1060 Misiecki
asystent
1010 01-MAR-85
1400
20
1090 Palusz
asystent
1040 15-SEP-89
1200
20
1020 Delcki
profesor
1000 01-SEP-77
2050
270 30
1030 Maleja
adiunkt
1020 01-JUL-68
1750
30
1100 Warski
asystent
1030 15-JUL-87
1350
30
1110 Rajski
stażysta
1030 01-JUL-90
900
30
1050 Lubicz
adiunkt
1000 01-SEP-83
1780
40
1120 Orka
asystent
1050 01-APR-88
1350
40
1130 Kolski
stażysta
1050 01-SEP-91
900
40
Tab. 1.2 Relacja zespol .
ID_ZESP
NAZWA
ADRES
10
administracja
Piotrowo 3a
20
bazy danych
Wieżowa 75
30
sieci komputerowe
Garbary 3
40
systemy operacyjne
Piotrowo 3a
50
translatory
Mansfelda 4
Tab. 1.3 Relacja etat .
ETAT
PŁACA_MIN PŁACA_MAX
Stażysta
800
1000
Sekretarka
900
1200
Asystent
1000
1600
Adiunkt
1600
2000
Profesor
2000
2500
Dyrektor
2500
3200
3. Zaproponowanie i wykonanie poleceń SQL zgodnie z podanym poniżej zestawem zadań:
Zad. 1.
Wyświetlić atrybuty nazwisko i etat wszystkich wierszy (krotek) relacji pracownik .
Odpowiedź:
select nazwisko , etat from pracownik;
297331322.003.png 297331322.004.png
S. Samolej, A. Bożek: Język T-SQL – wprowadzenie…
5
Zad. 2.
Wyświetlić wszystkie atrybuty wszystkich wierszy (krotek) relacji pracownik .
Odpowiedź:
select * from pracownik;
Zad. 3.
Przypuśćmy, że adiunktom zabiera się 20% pensji na podatek dochodowy. Zaproponować obliczenie
takiego podatku w oparciu o tabelę pracownik.
Odpowiedź:
select nazwisko , płaca_pod , płaca_pod * 0.20 as podatek
from pracownik
where etat = 'adiunkt' ;
Zad. 4.
Obliczyć całkowite dochody roczne wszystkich profesorów.
Odpowiedź:
select nazwisko , płaca_pod * 12 + płaca_dod as dochód
from pracownik
where etat = 'profesor' ;
Zad. 5.
Wybrać wszystkich pracowników, których pensja podstawowa jest mniejsza od dwukrotnej pensji
dodatkowej.
Odpowiedź:
select nazwisko , płaca_pod , płaca_dod
from pracownik
where płaca_pod < 2 * płaca_dod ;
Zad. 6.
Wyszukać wszystkich pracowników, których nazwiska zaczynają się na literę „L”.
Odpowiedź:
select nazwisko
from pracownik
where nazwisko like 'L%' ;
Zad. 7.
Wybrać wszystkich adiunktów i profesorów, których płaca podstawowa jest wyższa od 1750.
Odpowiedź:
select nazwisko , etat , płaca_pod from pracownik
where płaca_pod > 1750
and ( etat = 'adiunkt' or etat = 'profesor' );
Zgłoś jeśli naruszono regulamin