(76kB)

BAZY DANYCH – rozważania ogólne

(2kB)

(4kB)

(9kB)

(5kB)

(8kB)

(5kB)

(6kB)

(4kB)

Data aktualizacji 19/07/2005



  1. Relacyjne bazy danych

    Baza danych, której struktura składa się z wielu powiązanych ze sobą tablic. Tablice te to dwuwymiarowe tabele (tzw. relacje). Kolumny tabeli zawierają atrybuty, a wiersze konkretne dane wstawiane do tabeli (tzw. krotki, czyli wystąpienie relacji). Schemat najprostszej bazy danych można przedstawia poniższy rysunek.



    Dane z obydwu tabel można ze sobą skojarzyć przez powtarzający się w obydwu tabelach atrybut: NIP.

    Ponieważ baza danych to właściwie po prostu jakoś poukładane dane niezbędny jest program do obsługi tych danych, czyli tzw. System Zarządzania Bazą danych (SZBD).

    Oto kilka przykładów SZBD oferowanych przez różne firmy:

    • Microsoft SQL Server – przeznaczony głównie dla dużych firm korporacyjnych i obsługi dużych baz danych. Więcej informacji: http://www.microsoft.com/poland/sql/default.mspx

    • Microsoft Access – kompletne narzędzie do zarządzania danymi przeznaczone dla małych i średnich firm. Istnieje możliwość migracji do systemu SQL Server. Więcej informacji:http://www.microsoft.com/poland/office/editions/access.htm

    • Oracle - SZBD przeznaczone dla małych, średnich, dużych i korporacyjnych firm. Jeden z najbardziej popularnych na świecie. Według wielu nr 1 w dziedzinie baz danych i druga firma informatyczna na świecie po Microsofcie. Więcej informacji:http://www.oracle.com/global/pl/database/index.html

      Ciekawie rozwija się konkurencja między SQL Server i Oracle – na swoich stronach obie firmy porównują oba systemy i twierdzą, że ich jest o połowę tańszy od konkurencji.

    • IBM Informix – SZBD przeznaczone dla małych, średnich, dużych i korporacyjnych firm. Więcej informacji: http://www-5.ibm.com/pl/software/informix

    • Sybase –Więcej informacji: http://www.sybase.pl

    • MySQL- darmowy, stosowany szczególnie do obsługi stron internetowych. Więcej informacji: http://www.mysql.com/

    • PostgreSQL – darmowy, stosowany szczególnie do obsługi stron internetowych. Więcej informacji: http://www.postgresql.org.pl/

  2. Normalizacja tabel

    Dane w bazie danych przechowywane są w postać tablic. Prawidłowo zbudowana baza danych zawiera tzw. tablice znormalizowane.

    Teoretycznie każdą bazę danych można przedstawić w postaci jednej tabeli. Taka baz zajmowałaby bardzo dużo miejsca na dysku, jej obsługa programistyczna była by bardzo skomplikowana, dostęp do danych trudny i zabierający wiele czasu, a dane powtarzałaby się i mogłyby zawierać wiele błędów.

    Proces normalizacji pozwala na rozbicie takich dużych tablic na mniejsze. Identyfikacja rekordów w tabelach następuje przy pomocy unikalnych kluczy podstawowych. W tabeli PRACOWNIK może to być np. PESEL pracownika. Połączenie danych między tabelami następuje przy pomocy tzw. kluczy obcych w tabeli WYNAGRODZENIE może to być np. NIP pracownika, którego dotyczy dana pozycja. Na poszczególne kolumny (atrybuty tablicy) można nakładać ograniczenia dające nam pewność, że wprowadzane dane przez użytkowników będą miały prawidłową formę np. NIP musi zawierać 10 cyfr. Data musi mieć format daty. PESEL nie może się powtarzać dla innej pozycji w tabeli. Płeć może zawierać pozycje albo Kobieta, albo Mężczyzna. Dodatkowo na niektóre kolumny tabeli (atrybuty) można założyć indeksy, które znacznie przyspieszą przeszukiwanie tabeli po indeksowanej wartości.

    Te wszystkie mechanizmy zmniejszają rozmiar tabel, minimalizują błędy użytkowników podczas wprowadzania danych, przyspieszają działanie bazy danych.

  3. Transakcje w bazach danych

    Często się zdarza, że operacja wprowadzania danych została rozpoczęta, a nie może być zakończona z różnych powodów np. rezygnacji użytkownika z wprowadzania danych, awarii sprzętu, oprogramowania, awarii na łączach. Wówczas mamy sytuację, w której część danych jest wprowadzona, a część nie, nazywamy to przerwaniem transakcji.

    Przerwaną transakcję należy wycofać tzn. przywrócić stan sprzed rozpoczęcia wpisywania danych przez użytkownika. Sytuacja komplikuje się, gdy już kolejni użytkownicy korzystają z wprowadzonych danych lub informacji o rezerwacji na dane. Np. Wystawiając fakturę użytkownik A pobiera numer faktury, następnie użytkownik B pobiera klejny numer faktury. Użytkownik A rezygnuje z wystawienia faktury. Pozostaje niewykorzystany numer zarezerwowany przez użytkownika A.

    System Zarzadzania Bazą Danych powinien w takim przypadku anulować dane wprowadzane przez użytkownika A i przemianować numer faktury użytkownika B. Różne SZBD różnie radzą sobie z obsługą transakcji i niekiedy obsługa ta musi być wspomagana programistycznie przez projektanda bazy danych.