podstawowe pojęcia. 1. Definicja bazy danych, Baza danych to uporz

advertisement
ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. –
podstawowe pojęcia.
1.
Definicja bazy danych,
Baza danych to uporządkowany zbiór danych z pewnej dziedziny tematycznej,
zorganizowany w sposób ułatwiający dostęp do danych i operowanie nimi według
określonych kryteriów. W każdym przypadku na podstawie danych gromadzonych
w bazie, możemy uzyskiwać dane określonego typu
Bazy danych istniały dużo wcześniej zanim pojawiły się komputery. Klasycznym
przykładem bazy danych może być kartoteka w bibliotece czy też w przychodni
lekarskiej. Można uznać, że najprostszą formą bazy danych jest tabela. Także
dziennik lekcyjny jest bazą danych. Są w nim dane z pewnej dziedziny tematycznej,
są one uporządkowane, w taki sposób, aby łatwy był do nich dostęp i łatwość
zarządzania nimi. Dane w dzienniku lekcyjnym posortowane są według nazwiska,
podzielone na dane podstawowe, dane adresowe, dane o frekwencji, o wynikach
w nauce czy zachowaniu.
2.
Komputerowa baza danych.
Komputerowa baza danych składa się z bazy danych właściwej, w której w plikach
bazodanowych zorganizowana jest struktura bazy oraz systemu zarządzania bazą
danych (DBMS — Data Base Management System), który zarządza danymi w bazie,
umożliwia ich przetwarzanie (wykonuje operacje na 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. Dzięki nim zostaje usprawnione działanie firm i instytucji, uzyskuje
się szybki dostęp do informacji oraz oszczędza czas użytkowników bazy.
3.
Rodzaje baz danych oraz ich charakterystyka
Ze względu na sposób przetwarzania i udostępniania danych wyróżniamy trzy
rodzaje baz danych:
baza jednostanowiskowa,
To najprostszy przypadek bazy danych. Zarówno baza, jak i system zarządzania nią
są zainstalowane tylko na jednym komputerze. Dostęp do bazy w danym momencie
posiada tylko jeden uprawniony użytkownik. W bazach tego typu nie występuje więc
problem równoczesnego dostępu do danych (współdzielenia plików) przez kilku
użytkowników bazy.
Warto zwrócić uwagę, że dostęp do bazy ma tylko jeden użytkownik w tym samym
czasie co w ogólności nie wyklucza dostępu do bazy więcej niż jednego
użytkownika.
Przykład.
Wyobraźmy sobie, że w małej bibliotece jest baza danych jednostanowiskowa, gdzie
na jednym komputerze jest baza danych z kartoteką książek. Taką bazę może
obsługiwać np. dwóch uprawnionych użytkowników. Jeden od godziny 8 – 13, drugi
od 13 – 18, lecz w tym samym czasie dostęp do bazy będzie miał tylko jeden z nich.
baza ze współdzieleniem plików,
W przeciwieństwie do bazy jednostanowiskowej rozwiązanie ze współdzieleniem
plików zapewnia równoczesny dostęp do danych wielu użytkownikom. Oznacza to,
że baza, jak i system zarządzania nią jest dostępny na wielu komputerach, które
pracują w sieci komputerowej. W ten sposób modyfikacja danych z poziomu jednego
komputera jest automatycznie uwzględniana na innych stanowiskach komputerowych
mających dostęp do tej bazy. W bazach tego typu współdzielone są jedynie pliki
1
danych, jednak przetwarzanie samych danych odbywa się na każdym komputerze
oddzielnie.
Bardzo istotnym elementem bazy danych ze współdzieleniem plików jest to, że jeżeli,
którykolwiek z użytkowników bazy dokona jej modyfikacji, zmiana ta jest
automatycznie widoczna przez pozostałych użytkowników bazy.
Przykład:
Wyobraźmy sobie przedsiębiorstwo, np. hurtownię, która prowadzi elektroniczną
gospodarkę magazynową. Firma jest duża i magazyn obsługuje kilkunastu
pracowników. Każdy dostarczony lub wydany towar wprowadzany jest do bazy
danych. Baza danych jest współdzielona przez wszystkich pracowników. Jeżeli jeden
z nich wyda towar zdejmując go z ewidencji w bazie danych, pozostali widzą tę
zmianę. W przeciwnym wypadku jeżeli towar byłby wydany z magazynu, a informacja
ta nie widoczna w bazie danych mogłoby dojść do sprzedania towaru, którego
fizycznie nie ma w magazynie.
baza typu klient – serwer.
W dużych bazach, do których konieczny jest równoczesny dostęp z wielu stanowisk,
praktykowany jest system klient—serwer. W takim systemie baza danych wraz
z systemem zarządzania znajduje się na specjalnym komputerze zwanym serwerem
bazy danych. Odpowiada on za zarządzanie danymi, ich przetwarzanie
i udostępnianie. Z serwerem komunikują się połączone w sieć komputery
użytkowników zwane klientami. Komputer klient wysyła odpowiednie zapytanie lub
polecenie do serwera bazy danych, ten przetwarza dane, a wynik przetwarzania
przesyła do komputera klienta. W systemie klient – serwer pracuje większość baz
danych w sieci Internet.
Zasadnicza różnica pomiędzy bazą danych klient –
serwer, a bazą ze
współdzieleniem plików polega na tym, że w bazie danych ze współdzieleniem plików
przetwarzanie danych jest po stronie każdego komputera (na każdym komputerze
zainstalowany jest system zarządzania bazą danych), natomiast w bazie
klient-serwer wyszukiwanie, modyfikowanie wykonywanie operacji jest po stronie
serwera
4.
Modele baz danych oraz ich charakterystyka:
Bazy danych mogą różnić się pod względem sposobu, w jaki dane są zorganizowane
i powiązane ze sobą. Ze względu na strukturę danych rozróżniamy bazy:
kartotekowe, relacyjne, hierarchiczne, sieciowe i obiektowe.
baza hierarchiczna,
Najstarszym modelem baz danych jest model hierarchiczny. W tym modelu baza ma
strukturę drzewiastą z jednym punktem początkowym i wieloma rozgałęzieniami,
podobną. np. do struktury drzewa folderów na dysku komputera czy struktury
typowego drzewa genealogicznego. Struktura hierarchiczna opiera się na modelu
rodzic – potomek. Zbiór nadrzędny nazywany rodzicem. Zawiera on określoną liczbę
podzbiorów nazywanych potomkami, które z kolei zawierają kolejne podzbiory itd. W
modelu hierarchicznym zbiór nadrzędny może mieć wiele podzbiorów, jednak każdy
podzbiór ma tylko jeden zbiór nadrzędny.
baza sieciowa,
Odmianą bazy hierarchicznej jest baza sieciowa. Nazwa ”sieciowa” wynika stąd, że
baza posiada strukturę danych przypominającą. sieć. W odróżnieniu od bazy
hierarchicznej, w bazie sieciowej dowolny zbiór danych może zostać powiązany
z każdym innym. Oznacza to, że w tym przypadku podzbiór (czyli potomek) może
być powiązany z wieloma zbiorami nadrzędnymi (rodzicami) lub z żadnym zbiorem.
2
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. Operują one na obiektach (czyli zbiorach
połączonych danych i procedur umożliwiających manipulowanie tymi danymi) i tzw.
klasach obiektów.
baza kartotekowa,
Baza kartotekowa jest również nazywana bazą dwuwymiarową. Bazy tego typu
posiadają najprostszą strukturę składającą się tylko z jednej tabeli, w której
zgromadzone są wszystkie dane.
Nazwa ”kartotekowa” wzięła się stąd, że każdy rekord takiej bazy można przedstawić
w postaci pojedynczej karty, zawierającej wszystkie informacje w nim zapisane.
Zastosowanie baz tego typu ogranicza się do gromadzenia małych ilości danych
dotyczących jednego tematu.
baza relacyjna.
Bazy relacyjne to obecnie najpopularniejsza grupa baz danych. W bazach tego typu
dane są przechowywane nie w jednej, lecz w wielu tabelach, przy czym każda tabela
przechowuje dane na określony temat. Dodatkowo pomiędzy tabelami tworzone są
specjalne powiązania zwane relacjami. Dzięki nim możliwe jest uzyskiwanie
informacji z bazy na wiele sposobów, poprzez kojarzenie ze sobą danych
pochodzących z różnych tabel.
Podstawowe pojęcia związane z relacyjną bazą danych i systemem zarządzania nią.
5.
Definicja tabeli.
Dane w bazie danych są przechowywane w strukturach zwanych tabelami. Tabele są
podstawowymi obiektami baz danych. Przechowują one dane wykorzystywane przez
inne obiekty, np.. zapytania, formularze czy raporty.
Tabela (table) - zbiór (kolekcja) powiązanych ze sobą danych w bazie danych,
przedstawiony jako układ poziomych wierszy nazywanych rekordami (krotkami)
i pionowych kolumn nazywanych polami rekordu.
Tabele zawierają dane różnego typu. Wszystkie rekordy tej samej tabeli bazy danych
posiadają taką samą liczbę pól. Liczba pól oraz typ danych przechowywanych
w polach rekordu jest określana na etapie projektowania tabeli
6.
Niepożądane zjawiska występujące w jednotabelarycznej bazie danych
złożonej z dużej ilości różnotematycznych danych. Normalizacja bazy danych.
- redundancja (powielanie się danych w bazie)
- anomalie związane z usuwaniem danych z bazy (usuwając zbędne dane przy okazji
usuwamy dane istotne gdyż wszystkie dane znajdują się w jednym rekordzie wierszu)
- anomalie związane z modyfikacją danych (to zjawisko łączy się poniekąd
z redundancją, gdyż jeżeli te same dane powielają się wiele razy to modyfikacją
również musi być wykonana wiele razy)
Normalizacja bazy danych polega na podzieleniu danych na kilka (wiele) tabel
tematycznych i powiązanie ich ze sobą za pomocą relacji. Po znormalizowaniu bazy
danych pozbywamy się ww. niepożądanych zjawisk.
7.
Klucze w relacyjnych bazach danych:
klucze podstawowe,
Aby w bazie danych możliwe było szybkie wyszukiwanie i łączenie danych z tabel
3
(np. za pomocą zapytań ( formularzy), każdy rekord tabeli powinien zawierać pole, za
pomocą którego byłby jednoznacznie identyfikowany w bazie. Pole tego typu
nazywane jest kluczem podstawowym. Klucz podstawowy tworzony jest w oparciu
o nie powtarzające się dane. Możliwe jest również, aby rekord byt identyfikowany
w tabeli za pośrednictwem kombinacji kilku pól —wówczas mamy do czynienia
z kluczem podstawowym wielopolowym.
Właściwe określenie klucza podstawowego pozwala uniknąć możliwości powtórzeń
rekordu w tabeli bazy danych, ponieważ pole klucza podstawowego nie może
przechowywać powtarzających się danych.
klucze obce.
Oprócz kluczy podstawowych w tabelach sa tworzone także klucze obce. Klucz obcy
to nazwa pola, które w jednej tabeli jest kluczem podstawowym, a w drugiej jest
polem łączącym te tabele. Np. w bazie „biblioteka” pole 0 nazwie lDucznia jest
kluczem podstawowym tabeli Uczniowie, ale pole o tej samej nazwie w tabeli
Wypożyczenia jest już kluczem obcym. W oparciu o te pola mogą być tworzone
relacje pomiędzy tabelami.
8.
Definicja relacji.
W relacyjnych bazach danych pomiędzy odpowiednimi polami rekordów różnych
tabel tworzone jest powiązanie nazywane relacją.
Relacja (relation) — powiązanie pomiędzy parą tabel bazy danych za pomocą pola
klucza podstawowego jednej tabeli i odpowiadającego mu pola klucza obcego
w drugiej tabeli. Utworzenie relacji pomiędzy polami tabel jest możliwe tylko
wówczas, gdy pola kluczy (podstawowego I obcego) zawierają ten sam typ danych.
9.
Typy relacji.
Relacje występujące w bazie danych mogą być typu:
jeden do jednego (1 - 1) — czyli jednemu rekordowi pierwszej tabeli odpowiada
jeden rekord w drugiej tabeli;
jeden do wielu (1 - ∞) czyli jednemu rekordowi pierwszej tabeli odpowiada wiele
rekordów w drugiej tabeli, ale każdemu rekordowi drugiej tabeli odpowiada tylko
jeden rekord w pierwszej tabeli. Przykładem takiej relacji może być relacja pomiędzy
tabelą Uczniowie i tabelą Wypożyczenia w bazie danych „biblioteka”;
wiele do wielu (∞ - ∞) czyli wiele rekordów pierwszej tabeli jest powiązanych
z wieloma rekordami w drugiej tabeli.
Spośród wymienionych typów relacji w bazach danych najczęściej występują relacje
typu ,,jeden do wielu”. Najrzadziej spotykanym typem relacji jest ,,jeden do jednego’,
ponieważ zwykle dane, które znajdują się w różnych tabelach i są powiązane taką
relacją, można umieścić w tej samej tabeli. Jednak i zastosowanie tego typu relacji
jest niekiedy uzasadnione.
Tabela występująca w relacji ,,jeden do wielu” po stronie ,,jeden” to tabela
podstawowa, z kolei tabela po stronie ,,wiele” nazywana jest tabelą połączoną.
10.
Reguły integralności baz danych – definicja, przykłady.
Reguły integralności bazy danych to reguły zapewniające poprawność i spójność
danych w bazie. Są one określane zarówno na poziomie pól (np. poprzez określanie
typu danych, nakładanie ograniczeń w postaci tzw. maski wprowadzania itp.), jak i na
poziomie tabel i relacji. W przypadku relacji są to reguły zapewniające poprawność
związków między rekordami powiązanych tabel, np. w przytoczonym wcześniej
przykładzie bazy danych „biblioteka” mogą to być reguły uniemożliwiające usunięcie
4
rekordu z tabeli Uczniowie, jeżeli jest on powiązany z rekordem lub rekordami
w tabeli Wypożyczenia.
11.
Indeksowanie bazy danych.
Jedną z operacji częściej wykonywanych w bazie jest wyszukiwanie rekordów
spełniających określone kryteria. Czas wyszukiwania zależy od tego, czy dane
w bazie są uporządkowane czy nie. Technicznym sposobem realizacji procesu
porządkowania rekordów w bazie jest jej indeksowanie. Polega ono na tworzeniu
informacji (w niektórych systemach np. w postaci pliku na dysku) o tym, w jakiej
kolejności powinny być podawane rekordy, aby spełniały kryterium uporządkowania.
Indeksowanie może odbywać się według jednego lub kilku pól w bazie danych. Np.
gdy tabela bazy danych jest indeksowana względem pola (a tym samym kolumny)
Nazwisko, wówczas w bazie zostanie zapisana informacja o alfabetycznym ułożeniu
wszystkich nazwisk w tej kolumnie.
12.
Definicja zapytania – kwerendy.
Zapytanie (nazywane w niektórych systemach także kwerendą to obiekt bazy
danych, który czerpie informacje z jednej lub wielu tabel bądź innych zapytań.
Zapytania mogą także aktualizować dane w tabelach, usuwać je, jak i wykonywać na
nich obliczenia.
Zapytanie (query) — obiekt bazy danych, umożliwiający wyszukiwanie danych
w bazie według określonych kryteriów oraz umożliwiający przeprowadzanie ich
analizy i modyfikacji.
13.
Podstawowe typy zapytań: wybierające (wirtualne tabele – perspektywy),
funkcjonalne.
Jednym z podstawowych typów zapytań w bazach są zapytania wybierające. Tworzą
one wirtualne tabele (zwane także perspektywami), które przedstawiają informacje
pobrane według określonych kryteriów ze wskazanych (na etapie projektowania
zapytania) tabel lub innych zapytań. Tabele te istnieją jedynie przez czas działania
zapytania. Przy ponownym wywołaniu zapytania tabela zostanie ponownie
utworzona. Oprócz zapytań wybierających istnieją zapytania funkcjonalne. Potrafią
one modyfikować (np. usuwać) dane w tabelach, na których bazują. Z myślą
o formułowaniu zapytań w bazach danych stworzono specjalny język programowania
— język SQL (Structured Query Language).
14.
Definicja formularza i rodzaje formularzy.
Formularz to obiekt systemu zarządzania bazą danych, zwykle przedstawiany
w postaci karty, na której widoczne są wszystkie wymagane dane oraz narzędzia (np.
przyciski nawigacyjne) ułatwiające obsługę formularza. Formularze bazują na
tabelach lub zapytaniach (kwerendach). Odpowiednio zaprojektowany formularz
umożliwia także wykonywanie obliczeń na danych.
Formularz (form) — obiekt systemu zarządzania bazą danych, który umożliwia
w przystępny sposób przeglądanie, wprowadzanie, usuwanie i edytowanie danych.
Formularz kolumnowy umożliwia wypełnianie w danej chwili zawartości pól tylko
jednego rekordu, w przeciwieństwie do formularza tabelarycznego i formularza
w postaci arkusza danych, które równocześnie potrafią zaprezentować wszystkie
rekordy tabeli (kwerendy), z którą są związane. Formularz może pełnić także role
podformularza. Podformularz (zwykle tabelaryczny lub w postaci arkusza danych)
jest umieszczany na innym formularzu w celu umożliwienia wyświetlania danych
5
pochodzących z rożnych tabel lub kwerend. W systemach baz danych spotyka się
formularze kolumnowe, tabelaryczne i w postaci arkusza danych
15.
Definicja raportu.
Raporty prezentują dane zawarte w bazie. Podobnie jak formularze, raporty odwołują
sic do tabel bazy danych bądź zapytań oraz umożliwiają wykonywanie obliczeń na
danych. W przeciwieństwie jednak do formularza, raport może jedynie pobierać dane
z bazy, nie potrafiąc ich modyfikować.
Raport (report) — obiekt systemu zarządzania bazą danych, którego zadaniem jest
pobieranie danych z bazy (tabeli, zapytania) w celu ich wydrukowania na drukarce
lub wyświetlenia na ekranie monitora.
16.
Filtrowanie bazy danych.
Szukając wśród rekordów tabeli tych, które spełniają zadane kryteria, korzystne jest
użycie filtru. Filtry, w przeciwieństwie do zapytań wybierających, nie zmieniają
danych, a jedynie umożliwiają wyselekcjonowanie informacji z bazy.
Filtrowanie (filter) — funkcja systemu zarządzania bazą danych, pozwalająca
selekcjonować rekordy według zadanych kryteriów. W wyniku działania filtru
widoczne są jedynie rekordy, które spełniają kryterium filtrowania.
17.
Sortowanie bazy danych.
Rekordy dodawane do tabeli lub tabel bazy danych są w nich umieszczane
w kolejności ich wprowadzania. Dlatego też, aby zmienić kolejność rekordów, należy
przeprowadzić sortowanie rekordów. Odbywa się ono zwykle według jednego lub
kilku pól rekordu.
Sortowanie (sort) — funkcja systemu zarządzania bazą danych polegająca na
odpowiednim ułożeniu rekordów bazy danych według zadanej kolejności
(np. rosnąco) i sposobu (np. według jednego lub kilku pól rekordów).
6
Download