Bazy danych

advertisement
Bazy danych
Prawdopodobnie najczęściej używany typ oprogramowania
Służą do gromadzenia, przetwarzania i udostępniania informacji
Najprostsza baza danych: kartka z tabelkami, np.
Lista pracowników firmy (Imię, Nazwisko, Stanowisko, data_ur, data_zatr,
Nr_leg)
Lista płac (Imię, Nazwisko, Kwota)
itd.
Przetwarzanie danych tego typu wymagało pracy urzędników.
Pierwsze próby automatyzacji wyszukiwania informacji:
Karty perforowane – sortery to maszyny, które umożliwiały sortowanie tych
kart (pierwsze pojawiły się pod koniec XIX w)
Karty obrzeżnie dziurkowane
Ułatwiały mechaniczne wyszukiwanie informacji,
Na obrzeżu karty zawierającej zapisaną treść mieściły się male otworki.
Mechanicznie wycinano papier łączący otworek z brzegiem kartki szyfrując w
ten sposób informację o zawartości karty. Karty wkładano do pudełka tak by
otwory ustawiły się w jednej linii. Nastepnie przez wybrane otwory
wprowadzano sztywne druty i wyjmowano z pudełka karty, których otwory nie
zostały przecięte.
Komputery umożliwiły gromadzenie i przetwarzanie ogromnych ilości
informacji
Komputerowa baza danych to program, który pozwala zapisywać na dyskach
tabele z danymi, przeszukiwać zapisaną informację i wprowadzać zmiany do tej
informacji.
Wiekszość dużych baz danych pracuje w systemie klient-serwer, tzn.
użytownicy bazy na swoich maszynach mają oprogramowanie klienta, które
pozwala nawiązać łaczność z serwerem przechowującym informację i
wykonującym jej przetwarzanie.
Podstawowe pojęcia:
Baza danych składa się z tabel (ang. Table)
Wiersze tabeli to tzw. rekordy (ang. Record)
Rekordy składają się z tzw. pól (ang. Field), śa to odpowiedniki kolumn w tabeli
Pola w rekordzie mają unikalne nazwy(w danej tabeli nie mogą wystąpić
identycznie nazwane pola/kolumny), pola przechowują pojedyncze dane w
rekordzie, w wiekszości przypadków pola mają taką samą długość (liczbę
bajtów)
Typowe dane:
 - liczby (całkowite lub rzeczywiste) – budując tabelę możemy określić
dozwolony zakres wartości tych liczb
 - znakowe – ciągi znaków (np. nazwiska) – typowy rozmiar to zwykle ok.
50 znaków
 - daty – zapisy dat i ew. czasu (rok, miesiąc, dzień, godzina, minuta,
sekunda)
 - logiczne (Prawda/Fałsz, Tak/Nie)
 - walutowe (liczby i symbole waluty)
 - notatnikowe (memo) – dłuższe teksty (np. bazach Microsoftu (MS
Access) – 65 500 znaków, tj. ok. 32 strony tekstu, zwykle są to teksty
niesformatowane
 - binarne – zapis dźwięku, film
 - grafika (rysunki)
 - obiektowe – pole zawiera obiekty tworzone przez inne programy, np.
sformatowane teksty MS Word,
W każdej tabeli jedno z pól rekordu pełni rolę tzw. klucza (ang. Key) –
wymagane jest aby klucze w poszczególnych rekordach (wierszach) tabeli były
niepowtarzalne. Niekiedy, w złożonych bazach może zajść potrzeba
zdefiniowania kluczy pomocniczych – wtedy kombinacja klucza głównego i
kluczy pomocniczych zapewnia unikalność.
Najczęsciej spotykamy tzw. relacyjne bazy danych
Relacje określają charakter powiązań pomiędzy tabelami
Najczęściej spotykane relacje:
Jeden-do-wielu – jeden rekord z tabeli X jest powiązany z wielu w tabeli Y,
odwrotnie
rekordowi z Y odpowiada tylko jeden rekord z X. Np. Jeden
pracownik, opisany w tabeli Pracownicy nadzoruje wiele operacji
sprzedaży produktów
opisanych w tabeli Sprzedaż
Jeden-do-jednego – jedno pole z tabeli X ma tylko jeden odpowiadający mu
rekord w tabeli Y
Sytuacja taka pojawia się raczej rzadko, zwykle wtedy gdy jedna z
tabel zawiera bardzo ważne informacje i należy ją chronić
Typowe operacje w bazie:
- sortowanie – porządkowanie rekordów wg zawartości jednego z pól
- zapytanie/kwerenda – (ang. Query) – pozwala wyszukać informację w bazie.
Wymaga
podania nazw pól i określenia interesujących nas wartości. Zwykle służy
do tego
specjalny język lub narzędzia graficzne (okienko, w kórym wpisujemy
nazwy pól
i interesujące nas wartości danych.
Podajemy również jakie pola z rekordów, które spełniły kryteria
wyszukiwania
powinny pojawić się jako wynik zapytania. Zwykle możliwe jest również
wykonanie
na tych polach działań takich jak sortowanie, obliczenie średniej
wartości,
sporządzenie wykresu itp.
Większość nowoczesnych baz danych pracuje pod kontrolą języka
SQL (Special Query Language)
Dane do bazy możemy wprowadzać albo w trybie tabeli (stosowane zwykle
przy automatycznym wprowadzaniu dużej ilości danych) albo w trybie
formularza – zwykle stosowanym przy ręcznym wprowadzaniu danych. Na
ekranie pojawia się obraz z polami, w których możemy obejrzeć dane, dokonać
ich zamiany lub wprowadzić nowe dane do odpowiednich pól.
Większość dużych baz danych operuje pojęciem tzw. roli, czyli uprawnienia do
wykonywania określonych operacji w bazie. Np. kasjer w banku może
wykonywać tylko ograniczony zakres czynności, np. wpisywać kwoty wpłat i
wypłat, od poniedziałku do piątku w godzinach pracy.
Nie wolno mu wymazać rekordu z listy Klienci, takie uprawnienia może mieć
np. kierownik oddziału. Zakładanie nowej bazy danych, dodawanie nowych
tabel, zmiana organizacji rekordów, nadawanie uprawnień dostępu, tworzenie
kopii bezpieczeństwa bazy to domena tzw. administratora bazy danych
Ze względu na organizację możemy mieć tzw. bazy scentralizowane – cała baza
mieści się na jednym serwerze i bazy rozproszone – informacja jest rozdzielona
pomiędzy pewną liczbę współpracujących serwerów (np. w dużych bankach
informacje o kontach klientów mogą być przechowywane w komputerach
lokalnych oddziałów). Jeżeli klient banku pojawi się w innym mieście i chce
wykonać operację na swoim koncie to lokalny komputer połączy się z
odpowiednim oddziałem i pobierze dane niezbędne do wykonania operacji po
czym prześle dane przeprowadzonej operacji (np. wypłaty) do maszyny na
której prowadzone jest konto klienta.
Bazy przechowujące ważne informacje często pracują w tzw. trybie
przyrostowym, tzn. nie wymazuje się informacji nieaktualnych tylko
przechowuje się wszystkie rekordy, także „historyczne”, np. baza studentów
uczelni może przechowywać dane osób, które już dawno ją ukończyły. Bazy
banków mogą przechowywać informacje o operacjach finansowych sprzed lat –
np. na użytek sądów. Takie „archiwalne” dane są zwykle przechowywane na
bardziej powolnych urządzeniach, np. na taśmach magnetycznych.
Typowy program „biurowej” bazy danych to MS Access, wchodzący w skład
pakietu Microsoft Office – koszt jego zakupu to kilkaset złotych
Bazy danych dla przedsiębiorstw są znacznie droższe: licencja takiej bazy jak.
Np. Oracle, czy DB/2 może kosztować kilkadziesiąt tysięcy USD. Koszt zależy
od liczby klientów tzn. liczby jednoczesnych połaczeń z bazą, wielkości
serwera, zapewnienia pomocy producenta oprogramowania. Koszt poj. klienta,
czyli programu pozwalającego na połączenie się z bazą
To zwykle 100-200 USD.
Istnieje również pewna liczba baz, które można skopiować z Internetu i używać
bez ponoszenia opłat – np. mySQL, PostgresSQL, występują zarówno w
wersjach freeware jak i komercyjnych (w tym drugim przypadku kupuje się
zwykle dodatkowe oprogramowanie ułatwiające zarządzenie bazami oraz
pomoc ze strony osób, które wytworzyły oprogramowanie), zwykle sa to kwoty
rzędu setek USD. Np. magazyny f-my Siemens są zarządzane przy użyciu
mySQL.
Download