EGZAMIN
SQL:
SELECT + FROM Odbiorcy,
SELECT nazwa, miasto FROM Odbiorcy ORDERED BY miasto;(ASC)
SELECT nazwa, miasto FROM Odbiorcy ORDERED BY nazwa DESC;
SELECT DISTINCT miasto FROM Odbiorcy
SELECT nazwa, cena FROM kompozycje WHERE cena>150 ORDERED BY cena DESC;
SELECT nazwa FROM klienci WHERE miasto ='Wieliczka' ORDERED BY nazwa
SELECT nazwa FROM kliencin WHERE miasto IN ('Wieliczka','Skawiny','Krzeszowic') ORDERED BY miasto
SELECT nazwa, miastoFROM klienci WHERE miasto LIKE 'K%' ORDERED BY miasto
SELECT nazwa,miasto FROM klienci WHERE miasto LIKE '_%w%_' ORDERED BY miasto
SELECT nazwa,cena FROM kompozycje ORDERED BY cena LIMIT 3
SELECT nazwa,miasto FROM klienci WHERE REGON EXIST (IS NOT NULL)
SELECT idzamówienia, termin FROM zamowienia
SELECT idzamowienia FROM zamowienia WHERE termin ='12 maja'
SELECT Kompozycja.nazwa, Zamowienia.cena
FROM Kompozycje,Zamówienia
WHERE Zamowienia.termin='12 maja' (12-05-2007)
Kompozycja.IdKompozycji = Zamowienia.Kompozycji AND
SELECT Kompozycje.nazwa, Zamowienia.cena, Odbiory.miasto
FROM Kompozycja, Zamowienia,Odbiorcy
WHERE Zamowienia.Id Odbiorcy = Odbiorcy.idOdbiorcy
AND Zamowienia.IdKompozycji=Kompozycje.Idkompozycji
AND Zamowienia.termin='12m maja'
SELECT COUNT (*) FROM Klienci
SELECT COUNT (*) FROM Klienci WHERE maisto='Wieliczka'
SELECT miasto, COUNT(*) FROM Klienci GROUP BY miasto
SELECT miasto, COUNT (*) FROM Klienci GROUP BY miasto
HAVING VOUNT (*) >10
SELECT OUNT(NIP) FROM Klienci
SELECT nazwa,opis FROM Kompozycje ORDERED BY cena LIMIT 1
WHERE cena=(SELECT(MIN cena) FROM Kompozycje)
? SELECT nazwa,opis FROM Kompozycje HAVING MIN (cena)
SELECT SUM(cena) FROM zamowienia
SELECT AUG*cena) FROM zamowienia
SELECT termin, AUG(cena)::numeric(7,2) FROM zamowienia GROUP BY termin
(ORDERED BY TERMIN)?
SELECT nazwa,miasto FROM Klienci WHERE miasto='Wieliczka'
UNION
SELECT nazwa,miasto FROM Odbiorcy WHERE miasto ='Wieliczka'
SELECT nazwa,opis cena FROM Kompozycje
WHERE cena>(SELECT AUG(cena) FROM Kompozycje)
SELECT nazwa,miasto FROM Klienci WHERE
Klienci.idKlienta = Zamowienia.idKlienta
AND (zamowienia.cena = (SELECT MAX(cena) FROM Zmowienia))
SELECT Odbiorcy.miasto, COUNT (Zamowienia.idZamowienia),
SUM(Zamowienia,cena) FROM Zamowienia, Odbiorcy
WHERE Zamowienia.idOdbiorcy=Odbiorcy.idOdbiorcy
GROUP BY Odbiorcy.maisto
SELECT idKompozycji, nazwa FROM Kompozycje WHERE stan<=minimum +1
SELECT (COUNT(idZamowienia),SUM(cena),termin FROM Zamowienia GROUP BY termin
SELECT termin AUG(cena) FROM Zamowienia GROUP BY termin
SELECT SUM(stan* cena) FROM Kompozycje
Dana a informacja:
DANA - określenie wartości faktycznie przechowywanej w bazie danych
INFORMACJA - określenie znacznie tych wartości (np. liczba) rozumianego użytkownika
Rodzaje Baz Danych:
wg modelu danych:
hierarchiczny - dane organizowane w str. drzewiaste
sieciowy - dane organizowane w dowolne struktury sieciowe
relacyjny - dane organizowane są w relacje (zb. krotek)
obiektowy
relacyjno-obiektowy
obiektowo-relacyjny
SZBD - system zarządzania bazą danych; oprogramowanie realizujące wszelki dostęp do bazy danych; zarządza bazami danych, służy do wykonywania tabel, formularzy, zapytań, raportów, procedur, podprogramów oraz produkcji gotowych aplikacji (np. Oracle, Sysbase)
Relacja znormalizowana - relacja, w której każdemu elementowi tablicy znajdującemu się na przecięciu dowolnego wiersza i dowolnej kolumny odpowiada wartość, nie zaś zbiór wartości (inaczej 1PN)
Formalna definicja BD:
SBD=<{S,BD,SO,SZBD,P},R>
S - zb. urządzeń sprzętowych, które bezpośrednio wykorzystywane są do pamiętania danych w bazie
BD - opis dostępu, gdzie jakie ścieżki, baza danych
SZBD - system zarządzania bazą danych
P - zb. poleceń użytkowników
R - zb. relacjj określających powiązania między obiektami SBD oraz otoczeniam
TRANZAKCJE - przeprowadzony ciąg zdarzeń polegający na przeprowadzeniu bazy danych ze stanu spójnego w spójny
Transakcja jest wykonywanym programem, na który składa się jeden lub więcej operacji dostępu do bazy danych, takich jak odczytywanie czy aktualizacja rekordów. Właściwości transakcji to ACID:
Niepodzielność (Atomicity) - transakcja jest niepodzielną jednostką przetwarzania (wykonywana w całości, albo wcale)
Zachowanie spójności (Consistency preservation) - transakcja zachowuje spójność, jeżeli jej pełne wykonanie przenosi bazę danych z jednego stanu spójnego do innego spójnego.
Izolacja (Isolation) - transakcja powinna wyglądać tak, jakby była wykonywana w izolacji od innych transakcji. Oznacza to, że wykonywanie transakcji nie powinno kolidować ze współbieżnym wykonywaniem innych transakcji.
Trwałość (Durability) - zmiany zastosowane względem bazy danych przez zatwierdzone transakcje muszą być trwałe. Zmiany te nie mogą zostać utracone w wyniku jakiejkolwiek awarii.
Do czego służą BD:
-narzędzie implementacyjne
-nadawanie obiektom cech trwałości
-efektywne operowanie na dużych ilościach danych
-gromadzenie i przechowywanie danych (informacji i wartości)
Operacje na relacjach:
mnogościowe (r jest zbiorem): suma; różnica; przekrój; dopełnienie
relacyjne (r jest funkcją): projekcja; selekcja; złączenia; podzielenie
Dlaczego używamy BD:
-zmniejszenie redundancji pamiętanych danych (integracja tych samych danych)
-uniknięcie do pewnego stopnia problemów niezgodności pamiętanych danych
-udostępnianie danych wielu użytkownikom
-ograniczanie dostępu do danych
-wprowadzenie standardów
-zachowanie integralności danych
-zapewnienie niezależności danych
PRZETWARZANIE TRANZAKCYJNE - gwarantuje, że baza danych nie pozostanie w stanie niespójnym mimo przerwania transakcji (np. w skutek awarii).
Postaci normalne:
0PN - każda informacja powinna być reprezentowana w modelu encji tylko raz. Każda encja musi mieć zbór atrybutów, które w sposób unikalny ją definują
1PN -każdy atrybut musi mieć jedną wartość dla każdego wystąpienia jego encji w danym momencie czasu
2PN - wartość każdego atrybutu musi zależeć od całego identyfikatora jego encji (tabela)
3PN - wartość każdego atrybutu nie może zależeć od niczego innego poza identyfikatorem unikalnym
Funkcje SZBD:
-gromadzi dane w bazie danych
-utrzymuje BD w stanie niesprzeczności
-realizuje polecenia
użytkowników
-realizacja odwzorowań pomiędzy trzema poziomami architektury systemu baz danych
-realizacja operacji dostępu do danych na poziomie fizycznym
-zapewnienie integralności danych
-obsługa współbieżności
-ochrona danych
-śledzenie operacji dokonywanych na BD
-obsługa rozproszenia
Relacja w relacyjnej bazie danych:
dane organizowane są w relacje(zbiory krotek o ustalonej prostej strukturze)