1a. Bazy danych. Wprowadzenie


1.1. Definicje

W szerokim znaczeniu:
Baza danych
. Zorganizowany zbiór informacji, zawierający jednolity rodzaj danych.  

W węższym znaczeniu
Baza danych
(ang. data base). Zbiór uporządkowanych, powiązanych ze sobą tematycznie danych zapisanych w pamięci komputera

Definicja techniczna:
Baza danych to zestaw związanych ze sobą obiektów (tablic, formularzy, raportów, kwerend i zbiorów poleceń) utworzonych i zorganizowanych przez system zarządzania bazą danych (database manegement system - DBMS) 

Zatem baza danych to:

Database manegement system [DBMS] (system zarządzania bazą danych - oprogramowanie użytkowe, które steruje danymi w bazie danych. Oprogramowanie to zajmuje się m. in.: organizacją, przechowywaniem, odzyskiwaniem, ochroną i nadzorem nad integralnością danych. DBMS może także: formatować raporty, importować i eksportować dane, a także dzięki własnemu językowi skryptów formułować zapytania (query) 

Definicja prawna:
Baza danych oznacza zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody, indywidualnie dostępnych w jakikolwiek sposób, w tym środkami elektronicznymi, wymagający istotnego, co do jakości lub ilości, nakładu inwestycyjnego w celu sporządzenia, weryfikacji lub prezentacji jego zawartości 


1.2 KLUCZOWE POJĘCIA

Rekord (zapis) podstawowa jednostka informacji z bazie danych zawierająca pełny zestaw informacji o gromadzonych obiektach (np. opis bibliograficzny, dane teleadresowe itp.)

Wyróżniamy dwa podstawowe typy rekordów:

      Pola      
 

Autor

Tytuł

Podtytuł

Miasto

Rok

……

Rekordy

Kowalski, Jan

Poezje

 

Warszawa

2001

 
  Kowalski, Jan Wspomnienia    Wrocław 2001  
  Wysocka, Ewa Wspomnienia młodość Wrocław 1999  

Przykładowy rekord:

Hasło

Strefa 1

Strefa 2

Strefa 4

Kowalski 
Jan 
(1945-1998)
Poezje
 
 
Wyd. 3 zm.
 
 
Warszawa 
PIW 
2001
       

Lub

Hasło

Nazwisko

Kowalski

Imię

Jan

Data

(1945-1998)

Strefa 1

Tytuł

Poezje

Podtyt.

     

Strefa 2

Wyd.

Wyd. 3

Równol.

     

Strefa 4

Miejsce

Warszawa

Wydawca

PIW

Rok

2001

 


1.3 Typologia baz danych (wybrane podziały)

  1. Ze względu na zastosowany model danych wyróżniamy:

Przykład bazy kartotekowej

Rekord 1

Rekord 2

Rekord 3

 

N: Kowalski, Jan 
T: Poezje 
M: Kraków R: 2000

N: Kowalski, Jan 
T: Wspomnienia 
M: Wrocław R: 2001

N: Wysocka, Ewa 
T: Filozofia 
M: Kraków R: 2001

Przykład bazy relacyjnej

  Tabela miast  
M: Kraków 
M: Wrocław 
  Tabela osób  
N: Kowalski, Jan
N: Wysocka, Ewa

Relacje  (N, M)

Relacje (N, M)

Relacje (N, M)

 

Rekord 1

N: Kowalski, Jan
T: Poezje 
M: Kraków 
R: 2000
 

Rekord 2

N: Kowalski, Jan
T: Wspomnienia 
M: Wrocław 
R: 2001
 

Rekord 3

N: Wysocka, Ewa
T: Filozofia 
M: Kraków 
R: 2001

... szerzej: Bazy danych. Ppodstawy relacyjnych baz danych. - http://db.tigra-system.pl/art.php?id=17 

  1. Ze względu na przeznaczenie wyróżniamy m .in.:
  1. Ze względu na architekturę (sposób dostępu do danych) wyróżniamy m .in.:
  1. Ze względu na rodzaj przechowywanej informacji (jest to tradycja  bibliotekarska)
bibliograficzne, np. 
źródłowe (faktograficzne), np.
skierowujące

Źródło: Sadowska J.: Jakie bazy danych w bibliotekach ? Por. Bibl. 2000 nr 6 s. 6-8

5. Ze względu na zastosowany model języka i sposób przetwarzania danych :

... szerzej: Bazy danych. Porównanie Relacyjnych, Obiektowych i Obiektowo-Relacyjnych Baz Danych. - http://db.tigra-system.pl/art.php?id=17 

6. Inne podziały.

1.4 Ważniejsze systemy zarządzania bazą danych 

  1. Systemy profesjonalne (stosowane przez agendy rządowe, banki, biblioteki i  duże firmy)
  1.  DBMS dla mniejszych firm (małe systemy na komputery osobiste i stacje robocze)

 (Tekst 1.4 wg: Włodzisław Duch, Notatki do wykładów wstępnych: http://www.phys.uni.torun.pl/~duch/Wyklady/komput/spdypl.html)


1.5 Mechanizmy wyszukiwawcze:

1. Indeksy (szczególnie w bazach kartotekowych MAK, ISIS, MOL)

 

Rekord 1

Rekord 2

Rekord 3

 

N: Adamski, Józef 
T: Poezje 
M: Kraków 
R: 2000

N: Kowalski, Jan 
T: Wspomnienia 
M: Wrocław 
R: 2001

N: Wysocka, Ewa 
T: Filozofia 
M: Kraków 
R: 2001

Powiązania

Indeks aut:

 

Indeks miejsc:

Adamski, Józef 
Kowalski, Jan 
Wysocka, Ewa

 

Kraków 
Wrocław

2. przeglądanie sekwencyjne (we wszystkich typach baz) [np. MAK - wg kryterium, Access Ctrl+f]
3. Sortowanie, porządkowanie (we wszystkich typach baz)
4. Kwerendy (rodzaje kwerend na przykładzie Accessa):
5. Strukturalny język zapytań SQL
  1. Inne mechanizmy:

1. Raporty - czyli wydruki

2. Formularze (Access), maski (MAK) - interfejsy ekranowe (inaczej: sposoby prezentacji danych)

3. Makra (skrypty) - miniprogramy wspomagające wykonywanie szeregu kolejnych czynności (np. sterowanie formularzami)

4. Moduły (fragmenty kodu źródłowego w języku programowania wysokiego poziomu, np. Visual Basic, C++ itp.) - moduły pełnią tę samą funkcje co marka. Są stosowane do projektowania skomplikowanych operacji. Np. obliczeń, skalowania, interakcyjnych interfejsów itp.

5. Mechanizmy grupowej modyfikacji (np. kwerendy aktualizujące w Accesie, czy procedury MAKa)

6. Strony dostępu (formularze umożliwiające dostęp przez www, Access 2000 i nowsze)

 


1.6. Typ danych  (na przykładzie Accessa)


1.6. Metody sieciowego udostępniania baz danych (platformy)

... > [więcej]


 

Lektura uzupełniająca:

  1. Artykuł ze Słownika encyklopedycznego informacji, języków i systemów informacyjno-wyszukiwawczych. Oprac. B. Bojar. Warszawa 2002, s. 27-28

BAZA DANYCH - uporządkowany zbiór informacji (danych) z określonej dziedziny lub tematyki, przeznaczony do wyszukiwania. Termin baza danych upowszechnił się wraz z rozwojem informatyki, umożliwiającym tworzenie baz danych na maszynowym nośniku informacji. Obecnie oznacza zazwyczaj kom­puterową bazę danych. Ostatnio daje się zaobserwować tendencja zamiennego stosowania terminów baza danych i system informacyjny (system informacyjno-wyszukiwawczy). Często, zwłaszcza w literaturze z zakresu informatyki, terminem baza danych określany jest zbiór danych wraz z oprogramowaniem i innymi środkami służącymi do przetwarzania danych. Baza danych składa się z wielu zbiorów (plików), z których najważniejszymi są zbiór główny i indeks (indeksy). Rekordy w bazie oraz pola w rekordach mogą być wzajemnie powiązane. Istnieje wiele modeli danych, ale w praktyce bardzo często przy projektowaniu baz danych stosowane są rozwiązania własne. Przez wiele lat rozróżniano trzy podstawowe modele struktury bazy: hierarchiczny, sieciowy i relacyjny, a w ostatniej dekadzie bardzo się roz­powszechnił model obiektowy. Zdefiniowanie bazy danych polega na określeniu: (l) formatu rekordu (i ew. powiązań między rekordami), (2) formatu (formularza wejściowego) wprowadzania informacji do bazy, (3) zasad tworzenia indeksu (indeksów), (4) formatu wyświetlania/wydruku. Podczas projek­towania bazy danych należy określić zasady tworzenia zapytań informacyjnych kierowa­nych do bazy. Tworzenie i użytkowanie baz danych wymaga korzystania z oprogramowania. Pakiety programów do obsługi baz danych są obecnie bardzo zróżnicowane, najogólniej należy rozróż­niać oprogramowanie wewnętrzne, składające się na system zarządzania bazą danych, oraz oprogramowanie zewnętrzne, służące do realizacji konkretnej bazy danych. Baza danych może się fizycznie znajdować: (l) u dysponenta (producenta i/lub dystrybutora) bazy, użytkownik korzysta z bazy online za pośrednictwem sieci komputerowych lub zleca przeprowadzenie wyszukiwania w trybie wsadowym, (2) u użytkownika, który pozyskuje bazę na nośniku informacji (CD-ROM, taśma magnetyczna, dyskietka) do własnego przetwa­rzania: na jednym komputerze, na kilku komputerach lub w sieci lokalnej. Rozpowszechnia się także korzystanie z rozproszonych baz danych w modelu klient/serwer. Zaproponowano wiele typologii baz danych. Wyróżnia się rodzaje baz danych najczęściej zależnie od: a) Rodzaju gromadzonej w nich informacji: bibliograficzne, zawierające  informację dokumentacyjną, i faktograficzne, zawierające informację faktograficzną; b) Rodzaju denotacji utrwalonych danych: źródłowe, denotujące obiekty rzeczywistości poza językowej, np. bazy danych faktograficzne i bazy danych odsyłające, denotujące zbiory dokumentów, czyli pełniące funkcję metainformacyjną względem innych zbiorów informacji. Bazę danych odsyłającą może stanowić baza danych bibliograficznych lub faktograficznych, np. baza danych terminologicznych (słownikowa) zawierająca terminologię danej dziedziny wiedzy lub słownik języka informacyjno-wyszukiwawczego, służąca jako pomoc przy formułowaniu strategii wyszukiwawczej, np. baza danych Chemname, Vocabulary Switching System (VSS). Bazy danych faktograficznych odsyłające do innych baz nazywane są często bazami skierowującymi, np. Dialindex w systemie Lockheed-Dialog; c) Zakresu tematycznego (pola semantycznego) danych: jednodziedzinowe i wielodziedzinowe. Wśród baz wielodziedzinowych wyróżnia się bazy transdyscyplinowe zawierające dane jednej głównej dziedziny, np. medycyny oraz w ograniczonym zakresie dane z innych dziedzin komplementarnych z punktu widzenia przedmiotu i metod badań, np. chemii, biologii; d) Rodzaju bazy notacyjnej danych: numeryczne, tekstowo-numeryczne i ikonograficzne; e) Poziomu opisu organizacji danych na nośniku informacji: logiczne, reprezentujące przyję­ty w danym  systemie informacyjno-wyszukiwawczym model danych oraz fizyczne, reprezentujące realizację danego modelu na konkretnym nośniku informacji; f) Przyjętego modelu danych (struktury danych): hierarchiczne, sieciowe, relacyjne; g) Zakresu realizacji funkcji wyszukiwawczej w charakterystykach wyszukiwawczych dokumentów (2). Z tego punktu widzenia wydziela się bazy danych: pełnotekstowe, za­wierające teksty dokumentów pierwotnych, odróżniane od baz danych bibliograficz­nych, w których możliwe jest realizowanie funkcji wyszukiwawczej w pełnym zakresie charakterystyki wyszukiwawczej dokumentu. Por. wyszukiwanie pełnotekstowe; h) Przeznaczenia, które może polegać na zaspokajaniu potrzeb informacyjnych określonej kategorii użytkowników. Wyróżnia się tzw. bazy ukierunkowane zadaniowo, np. baza danych NASA, IN1S, ERDA. Wszystkie stosowane w praktyce podziały baz danych nie są podziałami logicznymi, po­nieważ do ich uzyskania zastosowano jednocześnie różne kryteria. Typowymi elementami opisu baz danych w katalogach baz danych są: nazwa; skrót naz­wy; inne wersje nazwy i skrótu nazwy; producent (często z rozróżnieniem na producenta in­formacji i na producenta bazy, np. na dysku CD-ROM); źródła informacji zawartych w bazie; język; typ; zakres geograficzny; zakres czasowy; zakres przedmiotowy (tematyka, opis zawartości); odpowiedniki drukowane i/lub na nośnikach maszynowych; informatyczne wymagania użytkowania; ograniczenia licencyjne; oprogramowanie; producent oprogra­mowania; data pierwszego wydania; częstotliwość aktualizacji; aktualna wersja bazy; cena (np. prenumeraty na jedno stanowisko, na wiele stanowisk, w sieci, w serwisach online);  

2. BAZA DANYCH. Hasło z Nowej encyklopedii powszechnej PWN. - Tryb dostępu: http://encyklopedia.pwn.pl/6376_1.html 

BAZA DANYCH, inform. zbiór wzajemnie powiązanych danych wraz z oprogramowaniem umożliwiającym ich definiowanie, wykorzystywanie i modyfikowanie. Powiązane tematycznie dane są grupowane w jednostki zw. rekordami i zapamiętywane w plikach; rekord odpowiada na ogół pewnemu konkretnemu opisywanemu obiektowi (osobie, rzeczy, pojęciu), pliki zaś grupują rekordy o podobnej strukturze. Programy baz danych — wyszukujące lub zmieniające dane — zawierają wiedzę o strukturze plików i rekordów: fiz. (metoda zapisu w pamięci) i log. (interpretacja programisty). Struktura bazy danych zależy od celu jej stworzenia, tzn. od rodzaju zastosowań, do których będzie używana.

Zorganizowanie wielkiej liczby danych oraz efektywne zarządzanie nimi (przy łatwym dostępie dużej liczby użytkowników z różnych, często odległych miejsc) wymagało stworzenia specjalnego oprogramowania obsługującego bazy danych, zw. systemami zarządzania baz danych lub systemami baz danych. Należą one do najbardziej skomplikowanych rodzajów oprogramowania — mają zarówno cechy kompilatorów, jak i systemów operacyjnych. Systemy baz danych są używane w fabrykach, bankach, szpitalach, urzędach itp., gdzie na co dzień korzysta się z wielu danych. Sposób reprezentowania obiektów modelowanego świata oraz zachodzących między nimi związków zależy od przyjętego modelu danych. Najczęściej używanymi modelami danych były (chronologicznie): hierarchiczny, sieciowy i relacyjny. Ten tradycyjny podział traci jednak powoli na aktualności.

W latach 70. i 80. dominowały scentralizowane systemy baz danych, w których wszystkie dane były zarządzane przez jeden komputer. Ostatnio zaczęły powstawać systemy rozproszonych baz danych, tj. takie, w których dane są przechowywane w różnych, oddalonych od siebie komputerach; za pośrednictwem sieci komputerowej system steruje dostępem do tych danych.

Od systemów baz danych (scentralizowanych i rozproszonych) wymaga się zapewnienia m.in.: integralności (poprawności) danych, współbieżnej obsługi żądań dostępu do baz danych, zgłaszanych jednocześnie przez różnych użytkowników, kontroli dostępu do danych, możliwości odtworzenia bazy danych (np. jej stanu przed awarią sprzętu).

Do poł. lat 80. uporano się zasadniczo z problemami sprawnego zarządzania dużymi zbiorami danych, efektywnej realizacji żądań użytkowników, a także niezawodności oraz ochrony dużych baz danych. Wraz z rozwojem systemów baz danych wykształciły się nowe potrzeby ich użytkowników: 1) lepszego modelowania świata rzeczywistego (zwł. w przypadku obiektów o złożonej strukturze); 2) sprawnego zarządzania danymi niesformatowanymi, np. tekstami, obrazami, mapami, sygnałami dźwiękowymi itp.; 3) przechowywania wiedzy o modelowanym świecie nie tylko za pomocą faktów, ale i w postaci ogólnych reguł, a także dokonywania na ich podstawie wnioskowania. Bazy danych spełniające wymagania 1 i 2 zw. są obiektowymi (obiektowo zorientowanymi), a wymaganie 3 — dedukcyjnymi; dotychczasowe rozwiązania (1990) mają raczej charakter badawczy i prototypowy.

3. Wybrane artykuły z Wikipedii [wersja pol.]: http://pl.wikipedia.org/wiki/ 

SQL to skrót od Structured Query Language (ang. strukturalny język zapytań). Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z serwerami relacyjnych baz danych, takimi jak IBM-owskie DB2 i SQL/DS, a także MySQL, PostgreSQL, Oracle, Microsoft SQL Server, Microsoft Access, Sybase Adaptive Server Enterprise, Sybase SQL Anywhere, Computer Associates Ingres, Informix, mSQL, First SQL i inne. Można powiedzieć, że korzystanie z relacyjnych baz danych, to korzystanie z SQLa. Pierwszą firmą, która włączyła SQL do swojego produktu komercyjnego, był Oracle. Dalsze wprowadzanie SQLa, w produktach innych firm, wiązało się nierozłącznie z wprowadzaniem modyfikacji pierwotnego języka. Wkrótce utrzymanie dalszej jednolitości języka wymagało wprowadzenia standardu.

W 1986 roku SQL stał się oficjalnym standardem, wspieranym przez Międzynarodową Organizację Normalizacyjną (ISO) i jej członka, Amerykański Narodowy Instytut Normalizacji (ANSI). Wczesne wersje specyfikacji (SQL86 i SQL89) były w dużej mierze jedynie określeniem wspólnej płaszczyzny łączącej różne istniejące wówczas produkty i pozostawiały wiele swobody twórcom implementacji. Z czasem jednak systemy komputerowe uległy integracji i rynek zaczął domagać się aplikacji oraz ich funkcji faktycznie współpracujących z wieloma różnymi bazami danych. Pojawiła się potrzeba określenia standardu ściślejszego. Mógł on jedynocześnie obejmować nowe elementy, nieujęte do tej pory w języku. Tak powstał SQL92, obowiązujący w produktach komercyjnych do dziś.

Produkty związane z relacyjnymi bazami danych to nie tylko serwery. Sam serwer określa się często takimi nazwami jak "back end", "engine", czy też "motor bazy danych". Przechowuje on dane oraz zapewnia ich pobieranie i aktualizacje w odpowiedzi na pobierane intstrukcje w SQLu.

Uzupełnieniem serwera jest zazwyczaj "front end", "middleware" czy też "fronton" - narzędzia upraszczające komunikację z serwerem i wyposażone w mechanizmy pozwalające wykorzystać pobrane dane. Należą do nich mechanizmy generowania i obsługi formularzy oraz raportów, języki czwartej generacji (4GL), graficzne języki zapytań, narzędzia konstrukcyjne użytkownika, oprogramowanie do prezentacji multimedialnych, systemy tworzenia hipertekstu, systemy CAD/CAM, arkusze kalkulacyjne, jak również interfejsy dostępu bezpośredniego. Wszystkie one wykorzystują, do komunikacji z serwerem i wykonywania za jego pośrednictwem różnych operacji, język SQL. Serwer odpowiada za przechowywanie, porządkowanie i pobieranie danych, zapewnia ich integralność, bezpieczeństwo oraz zabezpiecza przed ewentualnymi konfliktami między użytkownikami.

Z technicznego punktu widzenia, SQL jest podjęzykiem danych. Oznacza to, że jest on wykorzystywany wyłącznie do komunikacji z bazą danych. Nie posiada on cech pozwalających na tworzenie kompletnych programów. Jego wykorzystanie może być trojakie i z tego względu wyróżnia się trzy formy SQLa:

  1. SQL interakcyjny lub autonomiczny wykorzystywany jest przez użytkowników w celu bezpośredniego pobierania lub wprowadzania informacji do bazy. Przykładem może być zapytanie prowadzące do uzyskania zestawienia aktywności kont w miesiącu. Wynik jest wówczas przekazywany na ekran, z ewentualną opcją jego przekierowania do pliku lub drukarki.
  2. Statyczny kod SQL (Static SQL) nie ulega zmianom i pisany jest wraz z całą aplikacją, podczas której pracy jest wykorzystywany. Nie ulega zmianom w sensie zachowania niezmiennej treści instrukcji, które jednak zawierać mogą odwołania do zmiennych lub parametrów przekazujących wartości z lub do aplikacji. Statyczny SQL występuja w dwóch odmianach.
    1. Embedded SQL (Osadzony SQL) oznacza włączenie kodu SQL do kodu źródłowego innego języka. Większość aplikacji pisana jest w takich językach jak C++ czy Java, jedynie odwołania do bazy danych realizowane są w SQL. W tej odmianie statycznego SQLa do przenoszenia wartości wykorzystywane są zmienne.
    2. Język modułów. W tym podejściu moduły SQL łączone są z modułami kodu w innym języku. Moduły kodu SQL przenoszą wartości do i z parametrów, podobnie jak to się dzieje przy wywoływaniu podprogramów w większości języków proceduralnych. Jest to pierwotne podejście, zaproponowane w standardzie SQL. Embedded SQL został do oficjalnej specyfikacji włączony nieco później.
  3. Dynamiczny kod SQL (Dynamic SQL) generowany jest w rakcie pracy aplikacji. Wykorzystuje się go w miejsce podejścia statycznego, jeżeli w chwili pisania aplikacji nie jest możliwe określenie treści potrzebnych zapytań - powstaje ona w oparciu o decyzje użytkownika. Tę formę SQL generują przede wszystkim takie narzędzia jak graficzne języki zapytań. Utworzenie odpowiedniego zapytania jest tu odpowiedzią na działania użytkownika.

Wymagania tych trzech form różnią się i znajduje to odbicie w wykorzystywanych przez nie konstrukcjach językowych. Zarówno statyczny, jak i dynamiczny SQL uzupełniają formę autonomiczną cechami odpowiednimi tylko w określonych sytuacjach. Większość języka pozostaje jednak dla wszystkich form identyczna.

4. Wybrane artykuły z Wielkiej internetowej encyklopedii multimedialnej WIEM: http://wiem.onet.pl/ 

Hasło opracowano na podstawie “Słownika Encyklopedycznego - Informatyka” Wydawnictwa Europa. Autor - Zdzisław Płoski. ISBN 83-87977-16-0. Rok wydania 1999.

Hasło opracowano na podstawie “Słownika Encyklopedycznego - Informatyka” Wydawnictwa Europa. Autor - Zdzisław Płoski. ISBN 83-87977-16-0. Rok wydania 1999.

Hasło opracowano na podstawie “Słownika Encyklopedycznego - Informatyka” Wydawnictwa Europa. Autor - Zdzisław Płoski. ISBN 83-87977-16-0. Rok wydania 1999.


Więcej informacji [dla zaawansowanych]:


© W. M. Kolasa. Kraków 2003 http://www.wmkolasa.up.krakow.pl/  - ostatnia modyfikacja: