SQL. Ćwiczenia praktyczne. Wydanie II

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

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

Wykład 5. SQL praca z tabelami 2

PostgreSQL 8.3. Æwiczenia

Wykład 6. SQL praca z tabelami 3

Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

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

SQL. Æwiczenia praktyczne

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Wykład 8. SQL praca z tabelami 5

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Oracle11g: Wprowadzenie do SQL

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

Relacyjne bazy danych. Podstawy SQL

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Autor: Joanna Karwowska

Język SQL, zajęcia nr 1

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

SQL (ang. Structured Query Language)

SIECI KOMPUTEROWE I BAZY DANYCH

MySQL. Æwiczenia praktyczne

Microsoft SQL Server Podstawy T-SQL

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

MySQL. Darmowa baza danych. Æwiczenia praktyczne

WPROWADZENIE DO BAZ DANYCH

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Przestrzenne bazy danych Podstawy języka SQL

Relacyjne bazy danych. Podstawy SQL

Projektowanie Systemów Inf.

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

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

Systemy GIS Tworzenie zapytań w bazach danych

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

Zadania z SQLa (MS SQL Server)

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Posługiwanie się tabelami

Tworzenie zapytań do Microsoft SQL Server

Bazy danych SQL Server 2005

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Struktura drzewa w MySQL. Michał Tyszczenko

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Spis treści. Spis treści 3

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

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Kwerendy funkcjonalne

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

Język SQL : przyjazny podręcznik / Larry Rockoff. Wyd. 2. Gliwice, cop Spis treści

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Paweł Rajba

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

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Ćwiczenie zapytań języka bazy danych PostgreSQL

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

Autor: Joanna Karwowska

Autor: Joanna Karwowska

Wprowadzenie do baz danych

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Systemy baz danych. mgr inż. Sylwia Glińska

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

Podstawy języka SQL cz. 2

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

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

Komentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE

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

Co to są relacyjne bazy danych?

2. Tabele w bazach danych

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Projektowanie bazy danych

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

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

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Bazy danych. Polecenia SQL

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

TEST E.14 BAZY DANYCH

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows.

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

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

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

PERSON Kraków

Model relacyjny. Wykład II

Transkrypt:

Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty książek online Kontakt Helion SA ul. Kościuszki 1c 44-100 Gliwice tel. 32 230 98 63 e-mail: helion@helion.pl Helion 1991 2011 SQL. Ćwiczenia praktyczne. Wydanie II Autor: Marcin Lis ISBN: 978-83-246-3051-6 Format: 140 208, stron: 176 Błyskawicznie opanuj sztukę posługiwania się bazami danych opartymi na SQL! Podstawy relacyjnych baz danych czyli co warto wiedzieć na początek Praca z danymi czyli umieszczanie ich w bazie, modyfikacja i usuwanie Ułatwianie sobie życia czyli funkcje agregujące, podzapytania i transakcje Relacyjne bazy danych, oparte na języku SQL, to dziś niezwykle popularne i najczęściej używane struktury do przechowywania dużej ilości danych. Nie tylko ułatwiają segregowanie i szybkie uzyskiwanie potrzebnych informacji umożliwiają też przeprowadzanie na danych rozmaitych złożonych operacji, oszczędzających użytkownikom ogromne ilości czasu. Pozwalają bez trudu dodawać nowe dane, zmieniać i usuwać te znajdujące się już w bazie oraz wyłuskiwać wszelkie wiadomości pod kątem specyficznych, szczegółowych kryteriów wyszukiwania. Wystarczy tylko poznać podstawowe zasady działania języka SQL. SQL. Ćwiczenia praktyczne. Wydanie II pomoże Ci opanować podstawy tego języka, a także wskaże, jak posługiwać się nim w konkretnych przypadkach. Znajdziesz tu wiedzę potrzebną do utworzenia bazy danych w jednym z kilku najpopularniejszych systemów bazodanowych, zaprojektowania tabel optymalnych dla treści, które chcesz w nich przechowywać, wprowadzania danych do bazy i modyfikowania ich. Zobaczysz także, co zrobić, by łatwo, szybko i precyzyjnie wyszukać interesujące Cię informacje, pobrać je i posortować. Dowiesz się, co to są funkcje agregujące, więzy integralności i podzapytania oraz jak korzystać z transakcji. Krótko mówiąc, znajdziesz tu wszystko, co musisz wiedzieć, by sprawnie i wygodnie korzystać ze swojej bazy danych. Podstawy relacyjnych baz danych Praca z tabelami Umieszczanie danych w bazie Pobieranie danych z tabel Złożone kryteria wyszukiwania Modyfikacja i usuwanie danych Złączenia Funkcje agregujące Podzapytania Więzy integralności Transakcje Instalacja i podstawowa konfiguracja baz Stwórz własną bazę danych i korzystaj z jej możliwości!

Spis tre ci Wst p 9 Rozdzia 1. Podstawy relacyjnych baz danych 13 Tabele 13 Klucze 14 Relacje 15 Podstawowe zasady projektowania tabel 20 Okre lenie celu 20 Duplikowanie danych 21 Informacje atomowe 22 Puste pola 24 Jednoznaczna identyfikacja rekordów 26 Rozdzia 2. Praca z tabelami 27 Typy danych 27 Typy liczbowe 28 Typy daty i czasu 29 Typy a cuchowe 29 Typ null 30 Tworzenie i wybór bazy danych 31 Tworzenie tabel 32 Atrybuty kolumn 34 Indeksy 39 Modyfikacja tabel 42 Usuwanie tabel 49

6 SQL wiczenia praktyczne Rozdzia 3. Umieszczanie danych w bazie 51 Instrukcja INSERT INTO 51 Wprowadzanie wielu wierszy 57 Druga posta instrukcji INSERT 59 Rozdzia 4. Pobieranie danych z tabel 61 Podstawy instrukcji SELECT 61 Sortowanie wyników zapyta 65 Kryteria pobierania danych 67 Niepowtarzalno wierszy 75 Rozdzia 5. Modyfikacja i usuwanie danych 77 Instrukcja UPDATE 77 Modyfikacja danych w tabelach 78 Usuwanie danych 81 Rozdzia 6. Z czenia 85 czenie wyników zapyta 85 Instrukcja UNION 86 Instrukcja INTERSECT 87 Instrukcja EXCEPT 88 Pobieranie danych z wielu tabel 89 Z czenia 94 Z czenie typu CROSS JOIN 94 Z czenie typu INNER JOIN 95 Z czenie typu LEFT OUTER JOIN 96 Z czenie typu RIGHT OUTER JOIN 97 Z czenie typu FULL OUTER JOIN 99 Z czenia i klauzula WHERE 100 Aliasy tabel i rozró nianie nazw kolumn 100 Rozdzia 7. Funkcje agreguj ce 105 Rozdzia 8. Grupowanie danych 115 Rozdzia 9. Podzapytania 123 Podzapytania w klauzuli FROM 124 Podzapytania klauzuli WHERE 126 Podzapytania proste 126 Podzapytania skorelowane 128 Podzapytania w instrukcjach aktualizuj cych dane 130

Spis tre ci 7 Rozdzia 10. Transakcje 133 Transakcje w systemach baz danych 133 Obj cie instrukcji transakcj 134 Wycofywanie transakcji 135 Izolacja transakcji 136 Rozdzia 11. Wi zy integralno ci 139 Integralno danych 139 Definiowanie klucza obcego 140 Dodawanie i usuwanie wi zów 143 Dodatek A Instalacja i podstawowa konfiguracja baz 145 Baza MySQL 145 Instalacja w systemie Linux 145 Instalacja w systemie Windows 150 Baza PostgreSQL 154 Instalacja w systemie Linux 154 Instalacja w systemie Windows 158 Baza SQLite 161 Praca z baz 162 Baza Microsoft SQL Server (MS SQL) 162 Instalacja 163 Tworzenie bazy testowej 165 Praca z baz 166 Baza Oracle 167 Instalacja w systemie Linux 167 Instalacja w systemie Windows 171

5 Instrukcja UPDATE Modyfikacja i usuwanie danych Do modyfikacji danych zawartych w tabelach s u y instrukcja UPDATE. Ma ona ogóln posta : UPDATE nazwa_tabeli SET kolumna1=warto 1, kolumna2=warto 2,..., kolumnan=warto N [WHERE warunek] co oznacza: zmie w tabeli nazwa_tabeli, w kolumnach spe niaj cych warunek warunek, warto kolumny kolumna1 na warto 1, kolumny kolumna2 na warto 2 itd. Warunek wyst puj cy po klauzuli WHERE jest przy tym opcjonalny, a jego pomini cie oznacza, e zmiany b d dokonane we wszystkich wierszach. W dalszych wiczeniach b dziemy korzysta z tabeli pracownicy powsta ej w rozdziale 4. 5.1 Zmiana wszystkich warto ci we wskazanej kolumnie Zmie zawarto kolumny pesel w tabeli pracownicy, tak aby wszystkie wiersze zawiera y ci g 01234567890.

78 SQL wiczenia praktyczne Wykonanie wiczenia zmodyfikuje zawarto WSZYSTKICH wierszy w tabeli pracownicy. Nie pojawi si przy tym adne ostrze enie czy te pytanie o potwierdzenie ch ci wykonania instrukcji. Przywrócenie oryginalnej zawarto ci tabeli b dzie wymaga o ponownego wprowadzenia danych. Zmian wszystkich warto ci w kolumnie pesel zapewni nam instrukcja: UPDATE pracownicy SET pesel='01234567890'; Je li teraz wykonamy instrukcj SELECT pobieraj c wszystkie dane z tabeli pracownicy, zobaczymy, e faktycznie wszystkie wiersze kolumny pesel zosta y zmienione, tak jak jest to widoczne na rysunku 5.1. Rysunek 5.1. Wszystkie dane w kolumnie pesel zosta y zmodyfikowane Modyfikacja danych w tabelach wiczenie 5.1 pokaza o, w jaki sposób zmieni dane we wszystkich wierszach wybranej kolumny. To jednak rzadko spotykany przypadek; najcz ciej modyfikacji podlegaj tylko rekordy spe niaj ce zadane kryteria. Przyk adowo, mog oby si okaza, e Kacper Adamczyk ma przypisany b dny numer PESEL i nale y go zmieni z 92341678903 na 12341678993. 5.2 Modyfikacja kolumny w wybranym wierszu tabeli Zmie numer PESEL przypisany Kacprowi Adamczykowi w tabeli pracownicy.

Rozdzia 5. Modyfikacja i usuwanie danych 79 Aby wykona wiczenie, nale y zastosowa instrukcj : UPDATE pracownicy SET pesel='12341678993' WHERE id=7; Warunek id=7 zosta zastosowany, gdy pole id jest kluczem g ównym jednoznacznie identyfikuj cym ka dy rekord. Co prawda mo na by wykona równie instrukcj : UPDATE pracownicy SET pesel='12341678993' WHERE pesel='92341678903'; ale nie jest to sposób polecany. W pierwszym bowiem przypadku zawsze mamy pewno, który rekord zostanie zmodyfikowany, w drugim niestety, nie. Nie mo emy mie bowiem gwarancji, e w bazie nie znajduje si ju PESEL 92341678903, gdy ta kolumna nie gwarantuje unikalno ci ka dego wpisu i nie powinna by stosowana jako wyró nik modyfikowanego wiersza (jeden PESEL móg by np. b dnie przypisany kilku osobom). Nic nie stoi równie na przeszkodzie, aby jednocze nie zmodyfikowa kilka pól w danym wierszu. Mogliby my na przyk ad zmieni od razu imi, stanowisko i p ac danej osoby. 5.3 Modyfikacja kilku kolumn w jednym wierszu Zmodyfikuj dane wybranej osoby tak, aby jednocze nie zosta y zmienione: nazwisko, stanowisko oraz p aca. Aby wykona to zadanie, mo emy wykona instrukcj : UPDATE pracownicy SET nazwisko='andrzejewski', placa=3440.00, stanowisko='kierownik' WHERE id=8; Tym samym Kamil Andrzejczak, pracuj cy na stanowisku asystenta, z p ac 1200 z, stanie si Kamilem Andrzejewskim, pracuj cym na stanowisku kierowniczym, z p ac 3440 z. O tym, e taka zmiana faktycznie nast pi a, mo emy si przekona, wykonuj c instrukcj SELECT w postaci: SELECT * FROM pracownicy WHERE id=8; co zosta o równie zobrazowane na rysunku 5.2.

80 SQL wiczenia praktyczne Rysunek 5.2. Zmiana kilku danych w wybranym wierszu Mo liwo ci instrukcji UPDATE nie ograniczaj si tylko do modyfikacji danych w jednym wierszu. To, które rekordy zostan zmodyfikowane, zale y tylko od warunku klauzuli WHERE. Mo emy wi c np. zmieni nazw stanowiska sprzedawca na doradca klienta we wszystkich wierszach kolumny stanowisko. 5.4 Modyfikacja kilku rekordów W kolumnie stanowisko zmie wpisy o tre ci sprzedawca na doradca klienta. Aby wykona tak przedstawione zadanie, nale y pos u y si instrukcj : UPDATE pracownicy SET stanowisko='doradca klienta' WHERE stanowisko='sprzedawca'; Pobranie danych z tabeli poka e, e zmiana faktycznie zosta a dokonana (rysunek 5.3). Naraz mo na tak e modyfikowa wiele kolumn w wielu wierszach. Je li wi c firma przechowuj ca dane w tabeli pracownicy przejdzie kolejn reorganizacj i doradcy klientów ponownie stan si sprzedawcami, i jednocze nie ich p ace zostan zrównane do 1400 z, wszelkich niezb dnych zmian dokonamy równie dzi ki jednemu tylko zapytaniu.

Rozdzia 5. Modyfikacja i usuwanie danych 81 Rysunek 5.3. Nazwa stanowiska sprzedawca zosta a zmieniona na doradca klienta 5.5 Modyfikacja kilku kolumn w wielu wierszach U yj pojedynczego zapytania do zmiany nazwy stanowiska doradca klienta na sprzedawca oraz p acy osób na tym stanowisku na 1400 z. Niezb dne zapytanie ma posta : UPDATE pracownicy SET stanowisko='sprzedawca', placa=1400.00 WHERE stanowisko='doradca klienta'; 5.6 Modyfikacja kolumn z warto ci NULL Zmodyfikuj zawarto kolumny pesel w taki sposób, aby wiersze maj ce w niej warto NULL mia y przypisany ci g znaków nieznany. UPDATE pracownicy SET pesel='nieznany' WHERE pesel IS NULL; Usuwanie danych Do usuwania danych s u y instrukcja DELETE o ogólnej postaci: DELETE FROM tabela [WHERE warunek]

82 SQL wiczenia praktyczne Oznacza ona: usu z tabeli tabela wszystkie wiersze spe niaj ce warunek warunek. Je li warunek zostanie pomini ty, zostan usuni te wszystkie dane (podobnie jak w przypadku instrukcji UPDATE, gdzie pomini cie warunku powodowa o modyfikacj wszystkich wierszy tabeli). 5.7 Usuni cie wszystkich danych z tabeli Usu wszystkie dane z tabeli pracownicy. Aby usun wszystkie dane z tabeli pracownicy, nale y wykona instrukcj : DELETE FROM pracownicy; Po jej wykonaniu tabela pracownicy nie b dzie zawiera a adnych danych. Tak konstrukcj nale y wi c stosowa z rozwag, gdy serwer nie wygeneruje adnego ostrze enia czy dodatkowego pytania. Wpisanie powy szej konstrukcji i zatwierdzenie jej klawiszem Enter spowoduje natychmiastowe skasowanie danych! Selektywne usuwanie danych zapewnia u ycie klauzuli WHERE z odpowiednim wyra eniem warunkowym, które konstruuje si na takich samych zasadach jak w przypadku instrukcji SELECT czy UPDATE. Zostanie to pokazane w kilku kolejnych wiczeniach. 5.8 Usuni cie wybranego wiersza Usu z tabeli pracownicy dowolnie wybrany wiersz. Aby usun z tabeli pracownicy dane osoby o identyfikatorze 5, zastosujemy instrukcj : DELETE FROM pracownicy WHERE id=5; 5.9 Jednoczesne usuni cie kilku wierszy Usu z tabeli pracownicy wiersze o identyfikatorach (warto ci kolumny id): 1, 3, 7.

Rozdzia 5. Modyfikacja i usuwanie danych 83 Aby usun dane osób o identyfikatorach 1, 3 i 7, najpro ciej wykona instrukcj : DELETE FROM pracownicy WHERE id IN (1, 3, 7); Mo na równie zastosowa seri warunków po czonych operatorem OR: DELETE FROM pracownicy WHERE id=1 OR id=3 OR id=7; 5.10 Instrukcja DELETE i operator BETWEEN Usu z tabeli pracownicy wiersze o identyfikatorach z przedzia u 4 8. Usuni cie z tabeli pracownicy wierszy, które maj w kolumnie id warto ci z przedzia u 4 8, uzyskamy, wykonuj c instrukcj : DELETE FROM pracownicy WHERE id BETWEEN 4 AND 8; 5.11 Usuwanie rekordów ze wzgl du na ci g znaków Usu z tabeli pracownicy dane wszystkich osób o nazwisku Kowalski. Aby usun z bazy dane pracowników o nazwisku Kowalski, zastosujemy instrukcj : DELETE FROM pracownicy WHERE nazwisko='kowalski';