1. Język T SQL wprowadzenie do tworzenia zapytań i modyfikowania bazy danych



Podobne dokumenty
Zarządzanie bazą danych za pomocą poleceń języka SQL*Plus

Język SQL. Rozdział 8. Język manipulowania danymi DML zadania

1. Administrowanie bazą danych Oracle

ACESS- zadania z wykorzystaniem poleceń SQL

Ćwiczenie zapytań języka bazy danych PostgreSQL

1. Administrowanie bazą danych MS SQL Serwer 2005

Laboratorium Bazy danych SQL 2

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Laboratorium Bazy danych SQL 3 1

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

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

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

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Bazy Danych i Usługi Sieciowe

SQL do zaawansowanych analiz danych część 1.

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Widok Connections po utworzeniu połączenia. Obszar roboczy

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy danych i usługi sieciowe

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Katedra Informatyki i Automatyki Politechnika Rzeszowska. Administrowanie bazą danych Oracle za pomocą programu DBA Studio. I.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY

Bazy Danych i Usługi Sieciowe

Microsoft SQL Server Podstawy T-SQL

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

Oracle11g: Wprowadzenie do SQL

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Zadania z SQLa (MS SQL Server)

Tworzenie zapytań do Microsoft SQL Server

Ćwiczenie 6 - DML. Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML. Wymagania: Bazy Danych

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

SQL (ang. Structured Query Language)

Przestrzenne bazy danych Podstawy języka SQL

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

Bazy danych. Dr inż. Sławomir Samolej D108 A, tel: , WWW: ssamolej.prz-rzeszow.pl

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Język SQL. Rozdział 8. Język manipulowania danymi DML

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Kostki OLAP i język MDX

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Problemy techniczne SQL Server

Problemy techniczne SQL Server

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

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

Bazy danych i usługi sieciowe

Ćwiczenie 3 funkcje agregujące

Język SQL, zajęcia nr 1

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

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

Struktura bazy danych

Wprowadzenie do języka SQL

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

15. Funkcje i procedury składowane PL/SQL

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Podstawy języka SQL cz. 2

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Wykład 05 Bazy danych

SQL Server Configuration Manager centrum dowodzenia

Pojęcie systemu baz danych

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

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

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

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

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

SIECI KOMPUTEROWE I BAZY DANYCH

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

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Przykładowa baza danych BIBLIOTEKA

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

ZARZĄDZANIE DOKUMENTACJĄ PRZY POMOCY OPROGRAMOWANIA SOLIDWORKS WORKGROUP PDM

SOLIDWORKS PDM Tworzenie kopii zapasowych.

Transkrypt:

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.

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

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. select nazwisko, etat ;

S. Samolej, A. Bożek: Język T-SQL wprowadzenie 5 Zad. 2. Wyświetlić wszystkie atrybuty wszystkich wierszy (krotek) relacji pracownik. select * ; Zad. 3. Przypuśćmy, że adiunktom zabiera się 20% pensji na podatek dochodowy. Zaproponować obliczenie takiego podatku w oparciu o tabelę pracownik. select nazwisko, płaca_pod, płaca_pod*0.20 as podatek where etat = 'adiunkt'; Zad. 4. Obliczyć całkowite dochody roczne wszystkich profesorów. select nazwisko, płaca_pod*12+płaca_dod as dochód where etat = 'profesor'; Zad. 5. Wybrać wszystkich pracowników, których pensja podstawowa jest mniejsza od dwukrotnej pensji dodatkowej. select nazwisko, płaca_pod, płaca_dod where płaca_pod<2*płaca_dod; Zad. 6. Wyszukać wszystkich pracowników, których nazwiska zaczynają się na literę L. select nazwisko where nazwisko like 'L%'; Zad. 7. Wybrać wszystkich adiunktów i profesorów, których płaca podstawowa jest wyższa od 1750. select nazwisko, etat, płaca_pod where płaca_pod>1750 and (etat='adiunkt' or etat='profesor');

S. Samolej, A. Bożek: Język T-SQL wprowadzenie 6 Zad. 8. Sporządzić spis wszystkich asystentów w kolejności ustalonej datą ich zatrudnienia. select nazwisko, pracuje_od where etat='asystent' order by pracuje_od; Zad. 9. Wyświetlić informację o liczbie poszczególnych etatów w zespołach. select id_zesp, etat, count(*) as zatrudnionych where etat!='dyrektor' group by id_zesp, etat order by id_zesp, etat; Zad. 10. Podać informację o średniej płacy w zespołach liczących powyżej trzech pracowników. select id_zesp, avg(płaca_pod) as średnia group by id_zesp having count(*) > 3; Zad. 11. Wyświetlić informację o tym, w jakich zespołach pracują poszczególni pracownicy. select nazwisko, nazwa p, zespol z where p.id_zesp=z.id_zesp; Zad. 12. Określić te etaty w zespołach 30 i 40, dla których pewnym pracownikom należącym do różnych zespołów przyznano jednakowe płace podstawowe. select etat, płaca_pod where id_zesp=30 intersect select etat, płaca_pod where id_zesp=40; Zad. 13. Wyświetlić wszystkich pracowników zatrudnionych na tym samym etacie co pracownik Orka (asystenci), wraz z ich płacą podstawową:

S. Samolej, A. Bożek: Język T-SQL wprowadzenie 7 select nazwisko, płaca_pod where etat = (select etat where nazwisko='orka'); Zad. 14. Wyznaczyć tych pracowników, którzy zarabiają mniej niż każdy pracownik z zespołu 20: select nazwisko, płaca_pod where płaca_pod < all (select płaca_pod where id_zesp=20); Zad. 15. Podać informacje o tych pracownikach, których płaca podstawowa jest wyższa niż przeciętna dla etatu, na którym są zatrudnieni: select nazwisko, płaca_pod, etat p where płaca_pod > (select avg(płaca_pod) where etat=p.etat) order by p.etat; Zad. 16. Wyznaczyć pracowników, którzy są zatrudnieni na etatach, na których nie jest zatrudniony nikt inny. select numer,nazwisko,etat p where not exists (select numer where etat=p.etat and numer!=p.numer) order by numer; Zad. 17. Dodać do relacji pracownik nową osobę opisaną następującymi atrybutami: NUMER NAZWISKO ETAT SZEF PRACUJE_OD PŁACA_POD PŁACA_DOD ID_ZESP 1140 Morawski stażysta 1010 Wartość domyślna 950 Wartość domyślna 20 insert into pracownik (NUMER, NAZWISKO, ETAT, SZEF, P ACA_POD, ID_ZESP)

S. Samolej, A. Bożek: Język T-SQL wprowadzenie 8 values (1140, 'Morawski', 'stażysta', 1010, 950, 20); select * ; Zad. 18. Zmienić błędnie zawyżoną płace podstawową p. Morawskiego na 900zł. update pracownik set płaca_pod = 900 where nazwisko = 'Morawski'; Zad. 19. Usunąć krotkę dotyczącą p. Morawskiego: delete where nazwisko = 'Morawski'; 1.4. Literatura [1] Zawadzki M., SQL SERVER 2005, PWN, Warszawa 2007. [2] Świder K., Dec G., Trybus B., Inżynieria systemów informatycznych. Teoria i praktyka budowy systemów oprogramowania. Wydawnictwo Politechniki Rzeszowskiej, 2005. [3] Samolej S., Administrowanie bazą danych MS SQL Serwer 2005, Materiały pomocnicze na laboratorium z przedmiotu Informatyka, PRz, KIA, Rzeszow 2008.