Program: bazy danych – SQL

advertisement
Ćwiczenia MS Access/SQL
Pojęcia podstawowe:
1. Obiekty relacyjnych baz danych:
 Tabela
 Kolumna (atrybut)
 Rekord (wiersz)
 Pole
 Klucze (podstawowe, obce)
2. Typy danych
3. Normalizacja danych, powiązania między tabelami
4. Kwerendy i SQL (polecenie SELECT)
I. Zadania podstawowe
1. Wyświetlanie zawartości tabeli
a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy.
b) Polecenie: Wyświetl dane wszystkich klientów.
2. Sortowanie ORDER
a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy posortowane
alfabetycznie według nazwiska, a następnie według imienia.
b) Polecenie: Wyświetl wszystkie rekordy z tabeli Produkty posortowane malejąco
według ceny jednostkowej.
3. Wyświetlanie poszczególnych atrybutów danej tabeli
a) Polecenie: Wyświetl ID zamówień, daty zamówień, miasta i kraje odbiorców z
tabeli Zamówienia.
b) Polecenie: Wyświetl imiona, nazwiska i miasta zamieszkania poszczególnych
pracowników, posortowane alfabetycznie według nazwiska, a następnie imienia i
nazwy miasta.
4. Wyświetlanie części rekordów tabeli
a) Polecenie: Wypisz pierwsze 4 kategorie produktów i ich opis.
b) Polecenie: Wyświetl wszystkie informacje na temat 10 najdroższych produktów
z tabeli Produkty.
c) Polecenie: Wypisz pierwsze 25% wszystkich zamówień, wyświetl numer
zamówienia, opis i ilość dla zamówienia.
II. Wybór wierszy
1. Wybór wierszy: klauzula WHERE (łączenie warunków, kolejność wykonywanych
poleceń: AND, OR, nawiasy, Operatory porównań.
a) Polecenie: Wyświetl wszystkie produkty, których stan magazynowy jest
mniejszy niż 30.
b) Polecenie: Wyświetl nazwy, adresy i miasta dostawców ze Szwecji,
posortowane według nazw firm.
1
c) Polecenie: Wyświetl wszystkie zamówienia, które zostały złożone po 1997 roku
i wysłane do Londynu.
d) Polecenie: Wyświetl wszystkie zamówienia na których cena jednostkowa była
większa od 200 lub ilość zamawianego towaru przekraczała 100.
2. Polecenie BETWEEN AND
a) Polecenie: Wyświetl wszystkich pracowników (imie, nazwisko, stanowisko)
przyjętych do pracy w 1 kwartale 1994 roku.
b) Polecenie: Wyświetl wszystkie zamówienia, dla których fracht mieści się w
granicach 80-120 zł.
3. Polecenie IN
Polecenie: Wyświetl ID dostawcy, firmę, Przedstawiciela i jego stanowisko
pochodzących z Niemiec, Szwecji lub Holandii.
4. Polecenie LIKE
a) Polecenie: Wybierz kategorie, do których zostały zaklasyfikowane owoce.
b) Polecenie: Wyświetl informacje na temat wszystkich pracowników, których
imię zaczyna się na literę „A”.
Zgodność
Brak zgodności
Rodzaj zgodności Wzorzec (zwraca True) (zwraca False)
Wiele znaków
a*a
aa, aBa, aBBBa aBC
*ab*
abc, AABB, Xab aZb, bac
Znak specjalny
a[*]a
a*a
aaa
Wiele znaków
ab*
abcdefg, abc
cab, aab
Jeden znak
a?a
aaa, a3a, aBa
aBBBa
Jedna cyfra
a#a
a0a, a1a, a2a
aaa, a10a
Zakres znaków
[a-z]
f, p, j
2, &
Poza zakresem
[!a-z]
9, &, %
b, a
Nie cyfra
[!0-9]
A, a, &, ~
0, 1, 9
Połączenie
a[!b-m]# An9, az0, a99
abc, aj0
5. Wybór nieznanych wartości IS (NOT) NULL
a) Polecenie: wypisz informacje o pracownikach, dla których jest wypełnione pole
region.
b) Polecenie: wyświetl nazwy tych dostawców, którzy nie posiadają strony
internetowej.
6. Wybór nie powtarzających się informacji DISTINCT
a) Polecenie: Wypisz wszystkie miasta, z których pochodzą klienci.
b) Wypisz wszystkie miasta, w których dokonano zamówień w sierpniu 1996.
2
III. Zastosowanie funkcji i innych operacji na atrybutach; aliasy
1. Funkcje ciągów znaków: sumowanie tekstów, LEFT, RIHGT, SUBSTRING, REPLACE
Funkcje tekstowe
ASCII
LENGTH
RTRIM
CHAR
LOCATE
SPACE
CONCAT LTRIM SUBSTRING
LCASE
RIGHT
UCASE
LEFT
a) Polecenie: Zamień w imionach literę „N” na znak „_”.
b) Polecenie: Wypisz nazwy miast, oraz pierwsze 3 znaki i ostatnie 45 znaków.
c) Polecenie: Wypisz imiona i nazwiska pracowników, zamieniając nazwiska na
litery drukowane.
2. Operatory arytmetyczne: + - / * %
a) Polecenie: Powiększ cenę jednostkową wszystkich produktów o 10% i wypisz
jako nową kolumnę.
b) Wyznacz wartości poszczególnych produktów w magazynie (wyświetl wraz z
nazwami produktów).
3. Funkcje arytmetyczne, np. ABS lub ROUND
Funkcje numeryczne
ABS
ATAN
FLOOR SIN
LOG
SQRT
CEILING POWER TAN
COS
RAND MOD
EXP
SIGN
Polecenie: Zaokrąglij do pełnych złotych cenę produktów i dopisz walutę.
4. Funkcje daty: DAY, MONTH, DAYOFYEAR, YEAR, DATEADD
Funkcje daty i czasu
CURDATE
DAYOFYEAR MONTH
CURTIME
YEAR
WEEK
NOW
HOUR
QUARTER
DAYOFMONTH MINUTE
MONTHNAME
DAYOFWEEK
DAYNAME
SECOND
a) Polecenie: wypisz dzisiejszą datę, dzień, miesiąc i rok w osobnych kolumnach.
3
b) Wypisz pracowników (imię i nazwisko) oraz datę wygaśniecia 10-letniej
umowy o pracę tych pracowników, którzy mają mniej niż 50 lat a staż pracy
większy niż 13 lat, oraz w momencie zatrudnienia byli przed 35 rokiem życia.
5. Literały – ciąg znaków
SELECT kolumna1, „literał” , kolumna2 FROM tabela
Sumowanie pól znakowych
a) Polecenie: Wyświetl w jednej kolumnie o nazwie dane: nazwisko, imię i
stanowisko pracownika
b) Polecenie: Wyświetl w jednej kolumnie o nazwie dane: nazwisko, imię, w
następnej literał: pracuje od, data zatrudnienia pracownika
IV. Zastosowanie funkcji agregujących
1. Funkcje agregujące; klauzula GROUP BY i HAVING
a) Wyświetl sumę kosztów frachtu ze wszystkich zamówień.
b) Wyświetl sumę wartości produktów w magazynie.
c) Polecenie: Zlicz ilość rekordów znajdujących się w tablicy Produkty.
d) Polecenie: Wyświetl wartość sprzedaży poszczególnych produktów, bez
rabatów (ID produktu i wartość sprzedaży).
e) Polecenie: Wyświetl średnie ilości sprzedaży według poziomów przyznanych
rabatów.
f)
Polecenie: Wypisz zamówienia, posortowane malejąco wg ceny do zapłaty
przez klienta.
g) Polecenie: j.w., przy czym wyświetlane są tylko zamówienia o kwocie
przekraczającej 5000 zł.
h) Polecenie: Wypisz największą, najmniejszą, przeciętną cenę produktu oraz
całkowity zasób magazynu.
V. Łączenie tabel
1. Złączenia wewnętrzne: INNER JOIN
a) Polecenie: wyświetl informacje o zamówieniach połączone z danymi spedytora.
b) Polecenie: wyświetl nazwy miast, posortowane alfabetycznie, wraz z nazwami
regionów (tabele: Miasto, Region).
c) Polecenie: wyświetl imiona i nazwiska pracowników oraz nazwy miast, które są
pod ich opieką (tabele: Pracownicy, Pracownicy_miasto, Miasto).
d) Polecenie: wyświetl miasta, które są pod opieką pracowników o numerach 1 i
2.
e) Polecenie: utwórz ranking pracowników według wartości dokonanej przez nich
sprzedaży (uwzględniającej rabaty).
4
2. CROSS JOIN (tylko wyjaśnienie)
3. Złączenia zewnętrzne: LEFT|RIGHT OUTER JOIN
a) Polecenie: dopisz do tabeli pracowników nowego pracownika. Następnie
wyświetl imiona i nazwiska pracowników wraz z ID miast, które są pod ich opieką,
uwzględniając także w zestawieniu osoby nie opiekujące się żadnym miastem.
b) Polecenie: Wypisz wszystkich klientów (id, nazwe firmy, oraz miasto i kraj), i
sprawdź, czy zrobili zamówienie w pierwszym półroczu 1998 roku.
4. Podzapytania
a) Polecenie: Wypisz 5 produktów o najtańszych produktów w grupie wśród
produktów o ponadprzeciętnych cenach.
b) Polecenie: wyświetl nazwiska i imiona pracowników, którzy nie sprzedali
niczego do Argentyny.
5. Operator UNION
Polecenie: Wyświetl w jednej tablicy miasto, nazwe firmy i przedstawiciela, klienta
i dostawce, przy czym wyświetl typ relacji klient czy dostawca, w osobnym polu.
VI. Zadania podsumowujące:
1. Dla każdego zamówienia dopisz nazwę produktu, i oblicz cenę końcową
2. Wypisz klientów, firmę, miasto i kraj pochodzenia, którzy dokonali zamówienia w
pierwszym półroczu 1998 i posortuj wg daty zamówienia chronologicznie
3. Pokaż wszystkie zamówienia wg produktów zaczynających się na literę C w 1997 roku
4. Wyświetl produkty (nie wycofane), ich cenę jednostkową, oraz wielkość zapasów z
kategorii na literę N.
VII. Informacje uzupełniające
1. Pozostałe obiekty relacyjnych baz danych: indeksy, widoki, wyzwalacze, raporty,
formularze, itd.
2. Podsumowanie składni polecenia SELECT.
3. Zastosowania SQL do definicji i modyfikacji danych.
4. Rozszerzenia SQL: PL/SQL, Transact-SQL, Embedded SQL.
5. Systemy zarządzania bazą danych.
6. Zadania administracyjne związane z bazami danych.
5
Download