Zgryźliwość kojarzy mi się z radością, która źle skończyła.
WŁASCIWOSCI TRANSAKCJI (ACID)
• Atomowość (niepodzielność) – ang Atomicity: zbiór operacji, które wchodzą w skład transakcji jest niepodzielny.
• Spójność – ang. Consistency preservation: baza przed i po wykonaniu transakcji musi być spójna (odpowiadać rzeczywistości). Nie mogą być naruszone więzy integralności (reguły pozwalające utrzymywać bazę w poprawnym stanie).
• Izolacja – ang. Isolation dwie wykonywane jednocześnie transakcje nie powinny na siebie wzajemnie wpływać. Jeśli wpływają, to musi nastąpić ich wycofanie.
• Trwałość – ang. Durability: po zakończeniu transakcji (z zatwierdzeniem) wynik jej działania nie może zostać utracony nawet przy zaniku napięcia zasilającego. W przypadku awarii zmiany muszą być odwracalne.
Etapy projektowania
• analiza zagadnienia,
• projekt pojęciowy (np. model związków encji i diagram ER),
• wybór systemy DBMS,
• projekt logiczny np. relacyjny,
• generacja bazy danych (z zastosowaniem odpowiednich narzędzi lub opracowanego skryptu np. języka SQL).
JĘZYK SQL
SQL (ang. Structured Query Language) opracowany przez firmę IBM język wykorzystywany do zarządzania danymi w bazach typu relacyjnego. SQL nie stanowi sam w sobie systemu programowania i może być wykorzystywany w jednej z trzech postaci:
• interaktywny stosowany w specjalnych opcjach DBMS,
• zagnieżdżony – umieszczony wewnątrz poleceń innego języka programowania wysokiego poziomu,
• statyczny – wpisane polecenie nie ulega modyfikacji,
• dynamiczny – zmieniane są pewne składniki poleceń.
SQL składa się z trzech pod języków:
• język definiowania danych (DDL): np. tworzenie tabel,
• język operowania danymi (DML): tworzenie zapytań. Modyfikacja bazy itp.,
• język kontrolowania danych (DCL): ochrona spójności bazy, transakcje.
Tabela podstawowa
select * from PRACOWNICY
//wyświetl dane z tabeli PRACOWANICY//
select PracImie, PracNazwisko, PracDataZatr from PRACOWNICY
select * from PRACOWNICY where PracStaz>=10
select * from PRACOWNICY where PracStaz>=10 and PracMiasto<>'Kalisz'
select PracID, PracNazwisko, PracImie from PRACOWNICY where PracNazwisko like 'T*'
select PracID, PracNazwisko, PracImie, PracStaz from PRACOWNICY where PracStaz between 5 and 12
select * from PRACOWNICY where PracMiasto is null
select count(*) as [Liczba rekordów] from PRACOWNICY
select avg(PracStaz) as [Średni staż pracy] from PRACOWNICY
select max(PracStaz) as [Max staż pracy] from PRACOWNICY
Funkcje agregujące: COUNT, AVG, SUM, MAX, MIN
select * from PRACOWNICY order by PracNazwisko
select * from PRACOWNICY order by PracNazwisko Desc, PracImie Desc
//malejąco//