Życzę miłej lektury Autor
2
Arkadiusz Jakubowski – Podstawy SQL – ćwiczenia praktyczne
___________________________________________________________________________________________________
Rozdział 2. Koncepcja bazy danych
W tym rozdziale przedstawiona zostanie koncepcja bazy danych, jej podstawowe elementy składowe
jak tabele i widoki. Omówione zostaną również typy danych, definiowanie tabel oraz rola
i zastosowanie języka SQL w relacyjnych bazach danych.
Tradycyjne bazy danych
W czasie kiedy komputery nie były wykorzystywane tak powszechnie jak dzisiaj,
informacje były gromadzone na papierze.
Pracownik firmy musiał ręcznie organizować dane. Zapisywał je, wyszukiwał, aktualizował itd.
Dzisiaj, oprócz operacji, które musi wykonać ręcznie, pozostałe wykonuje za pomocą funkcji, które
dostarcza relacyjny system bazy danych.
Rys.2.1.
Relacyjny system bazy danych
Relacyjny system bazy danych przechowuje wszystkie dane w tabelach. Każda tabela zawiera dane na
konkretny temat, np dane o klientach, dane o pracownikach, towarach itp. System bazy danych
zarządza tymi danymi, pozwala m.in. na szybsze ich wyszukanie i zorganizowanie
Za każdym razem gdy potrzebujemy informacji z bazy danych, musimy „zapytać" system bazy
danych w języku, który on rozumie. Tym językiem jest SQL - Structured Qu-ery Language
3
Arkadiusz Jakubowski – Podstawy SQL – ćwiczenia praktyczne
___________________________________________________________________________________________________
Rys.2.2.
Wydobywanie informacji z tradycyjnej bazy danych oraz z systemu relacyjnej
bazy danych
Do dzisiaj istnieją tzw. tradycyjne bazy danych. Są to bazy informacji, których nośnikiem jest po
prostu papier. Wiele instytucji w tym niestety policja oraz szpitale korzysta do dziś z takich baz.
Scenariusz wydobywania danych w takich instytucjach jest następujący:
§
l osoba potrzebująca danych np. przełożony prosi drugą osobę o pewne dane;
§ pracownik po otrzymaniu polecenia szuka informacji wśród dokumentów, które zostały złożone
albo w archiwum lub w po prostu w szafie;
§ pracownik po zebraniu pewnej ilości segregatorów z danego okresu przegląda je, a następnie
przygotowuje zbiorczy dokument zawierający żądane informacje;
§ l po wydobyciu danych i zorganizowaniu ich do odpowiedniej formy wysyła je do przełożonego.
Czas wykonania tych operacji jest różny i zależy od wielkości organizacji, jej struktury,
ilości potrzebnych danych oraz od pracowitości osób je zbierających.
Rys.2.3
W systemie relacyjnej bazy danych wszystkie powyższe operacje sprowadzają się do sformułowania
tego samego pytania o dane ale w formie zrozumiałej dla komputera, a ściślej mówiąc, w formie
zrozumiałej dla systemu bazy danych.
Cała operacja wydobywania danych trwa w tym przypadku znacznie krócej. Jakość tych danych jest
przy tym lepsza.
4
Arkadiusz Jakubowski – Podstawy SQL – ćwiczenia praktyczne
___________________________________________________________________________________________________
Mamy więcej pewności, że dane są prawdziwe, że ktoś się nie pomylił lub pominął pewną część
danych przy zestawianiu żądanych informacji.
Rys.2.4.
SQL - Strukturalny język zapytań
Język SQL jest wykorzystywany w większości relacyjnych systemów baz danych. SQL jest
zaimplementowany m.in. w takich systemach baz danych, jak: DB2, Oracie, Inter-Base, MySQL,
dBase, Paradox. Składnia języka SQL dzieli się na trzy typy:
§ język definiowania struktur danych - DDL (Data Definition Language);
§ R język do wybierania i manipulowania danymi - DML (Data Manipulation Language);
§ l język do zapewniania bezpieczeństwa dostępu do danych - DCL (Data Control Language).
Rys.2.5.
Składnia języka SQL wchodząca w skład języka DDL jest używana przez administratorów systemu
relacyjnej bazy danych w celu utrzymania struktury bazy danych, obiektów bazy danych takich jak
m.in. tabele.
Język DCL jest używany przez administratorów do zapewnienia bezpieczeństwa dostępu do danych,
m.in. do nadawania uprawnień do danych.
Język DML jest używany przez wszystkich użytkowników, którzy mają dostęp do bazy danych. Za
pomocą tego typu składni języka SQL użytkownicy mogą otrzymywać, zmieniać dane, dodawać nowe
itp.
5
Arkadiusz Jakubowski – Podstawy SQL – ćwiczenia praktyczne
___________________________________________________________________________________________________
Tabela
Tabela składa się z wierszy i kolumn. Wiersze w tabeli są przechowywane w dowolnym porządku.
Dla każdego wiersza każda z kolumn posiada jedno pole z wartością. Wszystkie wartości w kolumnie
są tego samego typu.
Rys.2.6.
W różnych systemach relacyjnej bazy danych jak np. DB2, Oracie, InterBase czy dBase lub Paradox,
każda tabela jest przechowywana w osobnym zbiorze na dysku twardym lub kilka tabel w jednym
zbiorze. Sposób przechowywania danych z tabeli na dysku twardym jest tematem drugorzędnym.
Ćwiczenia te maja przede wszystkim na celu nauczenie języka SQL. Teraz wystarczy tylko wiedzieć,
że sposób przechowywania tabel zależy od implementacji systemu relacyjnej bazy danych.
Konstrukcja nazwy tabeli
Nazwa tabeli składa się z dwóch części. Pierwsza część to kwalifikator, a druga z kolei to nazwa
tabeli. Kwalifikator i nazwa tabeli oddzielone są kropka. Każda tabela musi mieć unikatową nazwę
w granicach kwalifikatora.
Rys.2.7.
Taka konstrukcja nazwy tabeli nie stosuje się we wszystkich relacyjnych bazach da nych. Między
innymi w opisywanym tutaj systemie InterBase. W InterBase odwołanii do tabeli następuje wprost,
np.
6
Arkadiusz Jakubowski – Podstawy SQL – ćwiczenia praktyczne
___________________________________________________________________________________________________
SELECT * PROM KLIENCI . . .
w systemie DB2
SELECT * FROM DB2ADMIN.KLIENCI
Typy danych
W różnych systemach relacyjnej bazy danych inaczej nazywają się typy danych. Jednak ich zakres i