sql.-cwiczenia-praktyczne full scan.pdf

(8520 KB) Pobierz
707871534 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
SQL. Æwiczenia
SPIS TREœCI
praktyczne
KATALOG KSI¥¯EK
Autor: Marcin Lis
ISBN: 83-246-0621-1
Format: A5, stron: 152
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Poznaj zasady pracy z bazami danych
Projektowanie baz i tabel
Wprowadzanie i wybieranie danych
Konstruowanie z³o¿onych zapytañ
Bazy danych s¹ „krêgos³upem” niemal ka¿dej aplikacji. Rozbudowane systemy
finansowe, aplikacje korporacyjne, portale i sklepy internetowe, a nawet proste
programy do fakturowania opieraj¹ siê na bazach danych. Rynek systemów zarz¹dzania
bazami danych jest bardzo zró¿nicowany -- mo¿na znaleŸæ zarówno ogromne aplikacje
komercyjne, jak i systemy dostêpne nieodp³atnie. Na szczêœcie dla programistów
i u¿ytkowników z ka¿dym z takich systemów mo¿na „porozumieæ siê” za pomoc¹
jêzyka o nazwie SQL. Oczywiœcie, ka¿da z baz danych ma specyficzne dla siebie
instrukcje, jednak rdzeñ jêzyka jest wspólny.
Dziêki ksi¹¿ce „SQL. Æwiczenia praktyczne” na podstawie prostych i gotowych
do rozwi¹zania przyk³adów poznasz podstawy tego jêzyka. Nauczysz siê planowaæ
i projektowaæ tabele, umieszczaæ w nich dane oraz przetwarzaæ je. Dowiesz siê,
w jaki sposób formu³owaæ zapytania jêzyka SQL, za pomoc¹ których mo¿na
wprowadzaæ dane, wybieraæ je wed³ug okreœlonych kryteriów i przeprowadzaæ
obliczenia. Poznasz równie¿ sposoby pobierania danych z wielu tabel za pomoc¹
z³¹czeñ oraz przeczytasz o transakcjach i wiêzach integralnoœci.
Zasady projektowania tabel baz danych
Typy danych
Wprowadzanie danych do bazy
Pobieranie danych
Modyfikowanie i usuwanie danych
Z³¹czenia
Transakcje w systemach baz danych
Po przeczytaniu tej ksi¹¿ki bêdziesz w stanie sprawnie pos³ugiwaæ siê
systemami baz danych opartymi na SQL
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOœCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
707871534.004.png 707871534.005.png 707871534.006.png 707871534.007.png
Wstęp
5
Rozdział 1. Podstawy relacyjnych baz danych
9
Tabele
9
Klucze
10
Relacje
11
Podstawowe zasady projektowania tabel
16
Rozdział 2. Praca z tabelami
25
Typy danych
25
Tworzenie tabel
29
Atrybuty kolumn
31
Indeksy
35
Modyfikacja tabel
39
Usuwanie tabel
45
Rozdział 3. Umieszczanie danych w bazie
47
Instrukcja INSERT INTO
47
Wprowadzanie wielu wierszy
53
Druga postać instrukcji INSERT
55
Rozdział 4. Pobieranie danych z tabel
57
Podstawy instrukcji SELECT
57
Sortowanie wyników zapytań
61
Kryteria pobierania danych
63
Niepowtarzalność wierszy
71
707871534.001.png
4
SQL • Ćwiczenia praktyczne
Rozdział 5. Modyfikacja i usuwanie danych
73
Instrukcja UPDATE
73
Modyfikacja danych w tabelach
74
Usuwanie danych
78
Rozdział 6. Złączenia
81
Łączenie wyników zapytań
81
Pobieranie danych z wielu tabel
86
Złączenia
90
Rozdział 7. Funkcje agregujące
97
Rozdział 8. Grupowanie danych
105
Rozdział 9. Podzapytania
113
Podzapytania w klauzuli FROM
114
Podzapytania klauzuli WHERE
115
Podzapytania w instrukcjach aktualizujących dane
119
Rozdział 10. Transakcje
123
Transakcje w systemach baz danych
123
Obejmowanie instrukcji transakcją
124
Wycofywanie transakcji
125
Izolacja transakcji
126
Rozdział 11. Więzy integralności
129
Integralność danych
129
Definiowanie klucza obcego
130
Dodawanie i usuwanie więzów
133
Dodatek A Co nowego?
135
Dodatek B Instalacja PostgreSQL
144
Dane zapisane w tabelach bazy danych można pobierać za
pomocą instrukcji
SELECT
. Jej podstawowa postać ogólnie wy-
gląda tak:
SELESELkolumna1,Lkolumna2,L...,LkolumnaN
FROMLtabela
[WHERELwarunek]
[ORDERLBYLkolumna1,Lkolumna2,L...,LkolumnaNL[ASSL|LDES]]
Taka konstrukcja oznacza: pobierz wartości wymienionych kolumn
z tabeli tabela, spełniających warunek warunek , a wyniki posortuj wzglę-
dem kolumn wymienionych w klauzuli ORDER BY, rosnąco ( ASC ) lub
malejąco ( DESC ). Elementy ujęte w nawiasy kwadratowe są opcjonalne.
Aby przećwiczyć działanie tej wersji instrukcji
SELECT
, utworzymy przy-
kładową tabelę
pracopraco
o następujących kolumnach:
, będąca kluczem głównym i zawierająca
identyfikator każdego wiersza;
amae
— typu
INTEGER
— typu
VARCHAR(20)
, z atrybutem
NOT NULL,
zawierająca
imię pracownika;
razpasko
— typu
VARCHAR(30)
, z atrybutem
NOT NULL
, zawierająca
nazwisko pracownika;
ad
707871534.002.png
58
SQL • Ćwiczenia praktyczne
placa
— typu
, z atrybutem
NOT NULL,
zawierająca
miesięczne wynagrodzenie pracownika;
staropasko — typu VARCHAR(20) , z atrybutem NOT NULL, zawierająca
stanowisko pracownika 1 ;
pesel — typu CHAR(11) , zawierająca PESEL pracownika.
Taka tabela zostanie utworzona za pomocą instrukcji:
SREAEELEABLELpracownicy
(
LLidLINEEGERLPRIMARYLKEY,
LLimieLVARSHAR(20)LNOELNULL,
LLnazwiskoLVARSHAR(30)LNOELNULL,
LLplacaLDESIMAL(7,L2)LNOELNULL,
LLstanowiskoLVARSHAR(20),
LLpeselLSHAR(11)
)
Wypełnimy ją przykładowymi danymi:
INSERELINEOLpracownicyLVALUESL(1,L'Adam',L'Kowalski',L1624.I0,
'magazynier',L'1234I678901');
INSERELINEOLpracownicyLVALUESL(2,L'Adam',L'Nowak',L3760.00,L'kierownik',
'9234I678901');
INSERELINEOLpracownicyLVALUESL(3,L'Andrzej',L'Kowalski',L4200.00,
'kierownik',L'7234I678901');
INSERELINEOLpracownicyLVALUESL(4,L'Arkadiusz',L'Malinowski',L1600.00,
'kierowca',L'9234I678909');
INSERELINEOLpracownicyLVALUESL(I,L'Andrzej',L'Malinowski',L14I0.00,
'sprzedawca',LNULL);
INSERELINEOLpracownicyLVALUESL(6,L'Krzysztof',L'Nowicki',L1300.00,
'sprzedawca',LNULL);
INSERELINEOLpracownicyLVALUESL(7,L'Kacper',L'Adamczyk',L1610.I0,
'serwisant',L'92341678903');
INSERELINEOLpracownicyLVALUESL(8,L'Kamil',L'Andrzejczak',L1200.00,
'asystent',LNULL);
INSERELINEOLpracownicyLVALUESL(9,L'Krzysztof',L'Arkuszewski',L1I00,
'magazynier',L'02343678913');
INSERELINEOLpracownicyLVALUESL(10,L'Kamil',L'Borowski',L1600.00,
'sprzedawca',L'32349678913');
1 Jak wiesz z rozdziału 1., w realnie działającej bazie nazwy stanowisk
powinny raczej znajdować się w oddzielnej tabeli, jednak umieszczenie
ich w tabeli pracownicy ułatwi nam wykonywanie dalszych ćwiczeń.
DECIMAL(DE 2)
707871534.003.png
Zgłoś jeśli naruszono regulamin