SYSTEMY ZARZĄDZANIA BAZĄ DANYCH: DBASE, ACCESS, SQL
- Wstęp: Pojęcie bazy danych
- Systemy zarządzania bazami danych
- Przetwarzanie i udostepnianie danych w komputerowych bazach
danych: baza jednostanowiskowa,
baza ze współdzieleniem
plików, baza typu klient serwer
- Modele baz danych: baza hierarchiczna i baza sieciowa, baza obiektowa, baza kartotekowa, baza relacyjna.
- Wybrane zagadnienia relacyjnych baz danych:
- tabele i rekord
- podział danych na tabele i klucze w relacyjnych bazach danych
- baza danych z jedną tabela
- baza danych z wieloma tabelami
- klucze w relacyjnych bazach danych
- relacje
- typy relacji
- reguły integralności BD
- indeksowanie BD
- zapytania/kwerendy
- raporty
- filtrowanie BD
- sortowanie BD
Wstęp - pojęcie bazy danych:
Systemy baz danych są jednym z najważniejszych zastosowań komputerów.
Najogólniej mówiąc przez bazę danych rozumiemy uporządkowany zbiór danych przechowywany w urządzeniach pamieciowych systemu komputerowego.
System zarządzania bazą danych jest programem zarządzajacym dostepem do bazy danych.
Baza danych jest to
uporządkowany zbiór danych z pewnej dziedziny tematycznej,
zorganizowany w sposób ułatwiajacy dostęp do danych i operowanie
nimi wg określonych kryteriów.
Baza danych jest abstrakcyjnym, informatycznycm odzwierciedleniem wybranego fragmentu rzeczywistosci, zwanego miniświatem
Bazą danych moze być np. zbiór danych o uczniach i ich ocenach czy kartoteka pacjentów.
Każda baza danych posiada
- swoje źródło danych
- swoich użytkowników
- związki z reprezentowaną rzeczywistościa
Projektanci baz danych definiują strukturę baz danych i przygotowuja programy - aplikacje BD.
Baza danych musi być wypełniona danymi a następnio przetworzona.
SYSTEM ZARZĄDZANIA BAZĄ DANYCH - SZBD - DBMS - Data Base Management System.
Najpopularniejszą obecnie formą organizowania danych są komputerowe bazy danych.
Komputerowe bazy danych i systemy zarządzania nimi w postaci
rozbudowanych nieraz aplikacji zastąpiły tradycyjne metody
przechowywania danych w wielu dziedzinach życia.
Usprawniły działanie firm i instytucji, umożliwiajac szybki dostęp do informacji.
Komputerowe BD różnią sie pod względem sposobu przetwarzania i
udostępniania danych oraz sposobu ich organizowania w bazie.
SZBD jest oprogramowaniem ogólnego przeznaczenia ułatwiajacym
procesy definiowania, konstruowania i przetwarzania baz danych dla
różnych aplikacji:
-
Definiowanie bazy danych polega na specyfikacji typów danych przechowywanych w niej
-
Konstruowanie b.d. polega na zapamiętaniu danych na nośniku
-
Przetwarzanie polega na generowaniu zapytań do b.d. w celu wyszukiwania danych, uaktualniania, generowania raportów.
System bazy danych składa się z bazy danych i systemu zarządzania bazą danych
Kazda baza danych umożliwia jednoczesną pracę wielu użytkowników.
Oznacza to, że w danej chwili współbieżnie jest przetwarzanych wiele informacji.
Użytkownicy powinni mieć wrazenie, ze system jest im dedykowany.
Wymaga to spccjalnych technik zarządzania transakcjami - moduł zarządzania transakcjami
- Pierwszy wazny moduł SZBD to moduł zarządzania transakcjami.
- Drugim ważnym modułem SZBD jest moduł zarządzania dostępem do danych.
Umożliwia on m.in. właściwą interpretację danych, wprowadzanie nowych danych, usuwania i modyfikowanie danych.
Baza danych to dane i schemat.
Dane opisują cechy obiektu.
Schemat jest opisem struktury przechowywanych danych oraz powiązań wzajemnych między nimi.
Przykładowe struktura informacji dot. grup studenckich:
1) Studenci
Tabela STUDENT (Nazwisko, NrIndeksu, Rok, Kierunek)
Dane: Nowak, 18175, I, informatyka
Kowalik, 33573, II, telekomunikacja
2) Prowadzone wykłady
Tabela: WYKŁAD (Nazwa, Nr, Godziny, Prowadzący)
Dane: Języki programowania, CS201, 8, Misiak
Bazy danych, C8100, 8, Pilecki
3) Grupy studenckie
Tabela: GRUPA (NrGrupy, NrWykładu, Semestr, Rok)
Dane: 85, CS201, letni, 96
92, CS445, zimowy, 96
4) Oceny z zaliczeń modułów dysaktycznych
Tabela: OCENY )NrIndeksu, NrGrupy, NrWykładu, Ocena)
Dane: 18175, 92, CS100, 4
19551, 101, CS445, 5
33573, 117, CS100, 3
Własności baz danych
- Niezależność aplikacji i danych. Dane wprowadzane bez konieczności modyfikowania aplikacji
- Abstrakcyjna reprezentacja danych. Przygotowanie aplikacji
realizowane przy użyciu deklaratywnych jezyków programowania na
wyższym poziomie niż w przypadku klasycznych jezyków
programowania.
- Różnorodność sposobów widzenia danych. Różni
użytkownicy widzą różnie te same dane - filtry, perspektywy.
- Fizyczna i logiczna niezależność danych - rozszerzenie systemu komputerowego nie narusza danych.w bazie danych.
Korzyści stosowana BD
- Zmniejszenie nadmiarowości przechowywania danych - dane nie są duplikowane
- Współdzielenie danych - na tych samych danych pracują różne aplikacje, bez zagrozenia zniszczenia
- Autoryzacja dostępu do danych uniemożliwiajaca użytkowanie poufnych danych przez niepowołanych użytkowników
- Wielosć interfejsów do danych - wizualizacja tych samych danych w różnych formatach, np. formularze
- Reprezentacja złozonych zwiazków pomiedzy danymi
- Ograniczenia integralnościowe - zabezpieczenie pzred wpisywaniem do BD niewłaściwych wartosci
- Ochrona przed awariami - uodpornienie SZBD np.na zanik zasilania - odtworzenie poprawnego stanu sprzed awarii.
Kiedy nie zaleca się stosowania BD
-
W przypadku ograniczonych mozliwości firmy
-
W przypadku gdy mechanizmy SZBD w zakresie współbiezności, dostępu, bezpieczeństwa itp. są nadmiarowe
- W przypadku przetwarzania danych przez pojedynczego użytkownika
lub grupę użytkowników pracujacych w sposób ściśle
skoordynowany, np. sekwencyjny.
- W przypadku przechowywania prostych danych o niskim stopniu
powiązania oraz używania prostych programów, nie rozwijanych w
przyszłosci.
- W przypadku istitnych ograniczeń czasowych na czas realizacji transakcji, np. czasu rzeczywistego.
PRZETWARZANIE I UDOSTĘPNIANIE DANYCH W KOMPUTEROWYCH BAZACH DANYCH
Mogą być niewielkie bazy danych, np. baza znajomych, z której
korzysta jedynie właściciel albo np. baza danych w banku, do
której jest konieczny dostęp z wielu stanowisk.
Baza danych może pracować jako
- baza jednostanowiskowa,
- baza ze współdzieleniem plików lub
- baza typu klient serwer.
Baza jednostanowiskowa - baza jak i system zarządzania BD są zainstalowane tylko na jednym komputerze.
Dlatego do bazy danych w danym momencie ma tylko jeden uprawniony
użytkownik. W bazach tego typu nie występuje problem
równoczesnego dostępu.
Baza ze współdzieleniem plików
Rozwiązanie to zapewnia równoczesny dostęp do danych wielu uzytkowników.
Baza jak i SZBD są dostępne na wielu komputerach.
Modyfikacja danych z poziomu jednego komputera jest automatycznie
uwzgędniana na innych stanowiskach komputerowych mających dostęp do
bazy.
W bazach tego typu współdzielone są jedynie pliki danych, ale
przetwarzanie danych odbywa się na każdym komputerze oddzielnie.
Baza typu Klient - Serwer
System klient-serwer praktykowany jest w dużych bazach, do których konieczny jest równoczesny dostęp z wielu stanowisk.
W takim systemie baza danych i SZBD znajduje się na specjalnym komputerze zwanym serwerem bazy danych.
Serwer BD odpowiada za zarządzanie danymi, przetwarzanie danych i udostępnianie.
Z serwerem sa połaczone przez sieć komputery użytkowników, zwane klientami.
Komputer klient wysyła odpowiednie zapytania lub polecenia do serwera
bazy danych, ten przetwarza dane a wynik wysyła do komputera - klienta.
W systemie klient-serwer pracuje większość baz danych w systemie sieci Intranet i Internet.
MODELE BAZ DANYCH
Bazy danych mogą róznić się sposobem, w jaki dane są zorganizowane i powiazane ze sobą.
Pzrez model danych rozumiemy zbiór pojęć stosowanych do opisu struktury bazy danych.
Struktura BD obejmuje:
- typy danych, zwiazki miedzy nimi i ograniczenia nałożone na dane
- zbiór operacji do definiowania, wyszukiwania i uaktualniania BD
Wśród modeli danych mozna wyróżnić następujące kategorie:
- Koncepcyjne modele danych.
Są to modele najbardziej zblizone poziomem abstrakcji do wymagań
projektantów BD, stosowane w pierwszych etapach
projektów, w celu weryfikacji wyróżnionych w miniśsiwciw
obiektów i zwiążków miedzy nimi
- Implementacyjne modele danych, stosowane do transformacji wcześniej przygotowanego modelu koncepcyjnego do konkretnego modelu BD,
a więc do postaci, która jest z godna z wymaganiami określonego SZBD.
Wśród modeli implementacyjnych wyróżniamy modele:
- hierarchiczny
- sieciowy
- relacyjny
- obiektowy
- Fizyczne modele danych, określające sposoby organizacji danych w pamieci zewnętrznej komputerów.
Operuje się yu pojęciami takimi jak np. rekord, plik, adres.
Z modeli implementacyjnych modele hierarchiczne i sieciowe są już prawie nie stosowane w praktyce.
Model relacyjny dominuje w komercyjnych bazach danych. Przykładem jest relacyjny model w bazie danych Oracle.
Baza hierarchiczna
W modelu hierarchicznym baza ma strukturę drzewiastą, z jednym punktem
początkowym i wieloma rozgałęzieniami, podobną do struktury drzewa,
folderów na dysku komputera czy drzewa genealogicznego.
Zbiór nadrzędny nazywamy rodzicem zawiera podzbiory zwane potomkami.
Przykład:
Odmiana bazy hierarchicznej jest baza sieciowa.
Baza sieciowa
W odróżnieniu od hierarchicznej, w bazie sieciowej dowolny zbiór danych może być powiązany z każdym innym.
Baza kartotekowa
Nazywana również bazą 2-wymiarową. Bazy takie skłądają się tylko
z jednej tabeli, w której zgromadzone są wszystkie dane.
Kazdy rekord takiej bazy mozna przedstawić w postaci pojedynczej karty.
Przykład: zestaw kart katalogowych ksiazek w bibliotece lub kart pacjentów.
Kartotekowa baza danych oparta jest o 1 plik danych.
Baza obiektowa
Bazy opierające się na modelu obiektowym łączą cechy programów
komputerowych tworzonych za pomocą nowoczesnych języków
programowania obiektowego z cechami aplikacji bazodanowych.
Aplikacje bazodanowe bazują na obiektach (zbiorach połączonych danych i
procedur umożliwiajacych manipulowanie tymi danymi) i tzw. klasach
obiektów.
Bazy relacyjne
Prawie najpopularniejsza grupa baz danych.
Dane przechowywane w wielu tabelach, pomiędzy tabelami tworzone są specjalne powiązania zwane relacjami.
Ogólne zagadnienia relayjnych baz danych
Relacyjna baza danych oparta jest zwykle o kilka tablic danych, które powiązane są ze sobą przez pole o wspólnej nazwie.
Przykładem moze być baza hurtowni, zawierająca dane o klientach, towarach i wystawionych faktuirach.
Wszystkie te tabele pozwalają na wprowadzanie danych, przechowywanie w pamieci masowej, sortowanie, wyszukiwanie, wydruk.
Tabele i rekordy
Dane przechowywane są w formie strukturalnej.
Każda informacja zapisywana jest w podstawowym elemencie jakim jest rekord.
Rekordy są podzielone na pola.
Kazde pola ma swoją nazwę, wielkość oraz definicję typu danych, jakie będą umieszczone.
Główne typy pól: znakowe, numeryczne, datownikowe, logiczne, notatnikowe.
Relacyjny model BD został opracowany w oparciu o dziedzinę matematyki zwanej algebrą relayjną.
Twórcą modelu był amerykański matematyk E. F. Codd.
Dane są przechowywane w strukturach zwanych tabelami. Tabele są podstawowymi obiektami BD.
Przechowują one dane wykorzystywane przez inne obiekty jak np. zapytania, formularze czy raporty.
Tabela (table) - zbiór powiązanych ze soba danych w BD, przedstawiony w postaci poziomych wierszy zwanych rekordami (krotki)
i pionowych kolumn zwanych polami rekordu.
Każde pole posiada unikatową nazwę w obrebie tabeli oraz określony typ danych, np.
Nr, Imie, Nazwisko, Data_urodz, NrTelefon
Podział danych na tabele i klucze w relacyjnych bazach danych
W modelu relacyjnym dane wewnatrz bazy są dzielone między tabele. Podział nazywamy normalizacją baz danych.
W najprostszym przypadku baza danych może sie składać tylko z jednej tabeli.
Przy złozonych danych mogą wystąpić niepoożądane zjawiska utrudniające lub uniemożliwiajace poprawne funkcjonowanie bazy.
Przykład:
Baza danych z jedną tabelą:
Imie_Ucznia |
Nazwisko_Ucznia |
Klasa |
ImieAutora |
NazwAutora |
Tytuł |
Wydawnictwo |
DataWypozycz |
DataOddania |
W takiej prostej bazie danych z jedną tabelą można zauważyć zjawisko
redundendancji, czyli wielokrotnego powtarzania sie pewnych danych w
bazie.
Np. jeśli ten sam uczeń wypożyczy kilka ksiązek, to w każdym rekordzie pojawią się te same dane ucznia.
Gdy np. popełnimy błąd w nazwisku to musimy poprawić osobno w każdym rekordzie dot. tego ucznia.
Gdy uczeń odda wszystkie książki to usuwając rekordy tracimy dane o uczniu. Później trzeba od nowa wprowadzić.
Baza danych z wieloma tabelami.
Model tej samej BD, ale dane zostały podzielone na 3 tabele:
Uczniowie (IDUcznia, IMUcznia, NazwUcznia, Klasa)
Ksiazki (IDKsiazki, ImAutor, NazwAutor, Tytiul, Wydawn)
Wypozyczenia (IDwypoz, IDUcznia, IDKaiazki, DataWypoz, DataZwrotu)
Darmowy hosting zapewnia PRV.PL