Programowanie HTML MySQL C++ Pascal
22. Bazy danych - wykład wstępny
Baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja, NULL, formularz, raport, procedura, sortowanie, typy danych, char, varchar, float, int, date, time
Co to jest baza danych?
Baza danych to uporządkowany zbiór danych (informacji), zazwyczaj zorganizowany jako zestaw powiązanych ze sobą tabel. Przykłady baz danych: książka telefoniczna, katalog biblioteki, użytkownicy portalu Facebook
W związku ze wzrastającą potrzebą gromadzenia coraz to większej ilości danych, opracowano nowy rodzaj oprogramowania komputerowego nazywany Database Management Systems (DBMS) - w języku polskim: System zarządzania bazą danych (SZBD).
Oprogramowanie takie używane jest do tworzenia i administrowania bazą danych (dodawanie, usuwanie, edytowanie, sprawdzanie poprawności informacji itd.)
Mechanizmy działania tego oprogramowania oparte są na dziale matematyki zwanym teorią mnogości. W wielu z dostępnych aplikacji DBMS zastosowano prosty w użyciu język zapytań (SQL), posiadają też intuicyjne interfejsy użytkownika.
Modele baz danych
- Model hierarchiczny
- Model sieciowy
- Model relacyjny
- Model obiektowy
Dziś najczęściej wykorzystuje się model relacyjny bazy danych. W modelu tym dzielimy dane w bazie na tabele i definiujemy w tabelach pola będące tzw. kluczami. Następnie określa się relacje istniejące pomiędzy tabelami, które łączą dane w logiczną całość, zrozumiałą dla osób korzystających z bazy. Zatem relacyjna baza danych to zbiór danych w postaci tabel połączonych relacjami.
Schemat logiczny bazy danych
Na przykładzie bazy danych biblioteki szkolnej:
Słownik podstawowych pojęć
Tabela to pojemnik na dane - kolekcja powiązanych informacji, przedstawiana zwykle jako układ poziomych wierszy i pionowych kolumn. W jednej bazie danych może być ich bardzo wiele i wówczas występują między nimi powiązania logiczne (relacje)
id_ucznia |
imię |
nazwisko |
klasqa |
1 |
Adam |
Mickiewicz |
IV TI |
2 |
Henryk |
Sienkiewicz |
I TI |
3 |
Aleksander |
Fredro |
III TI |
Kwerenda (z ang. Query) - inaczej zapytanie do bazy danych. Istnieje wiele rodzajów zapytań, m.in: kwerendy wybierające, aktualizujące, usuwające, dołączające, krzyżowe, tworzące tabele etc. Np. kwerenda wybierająca może dla nas znaleźć w bazie wszystkich ludzi o danym nazwisku.
SQL jest akronimem pochodzącym od Structured Query Languagen (strukturalny język zapytań kierowanych do bazy danych). Jest to język opracowany przez firmę IBM w celu współpracy z relacyjnymi bazami danych.
SQL stał się standardem w komunikacji z relacyjnymi bazami danych. Dziś SQL-a spotkamy najczęściej w trzech systemach zarządzaniabazami: MySQL firmy Oracle, PostgreSQL opracowany na uniwersytecie w Berkeley oraz FireBird korporacji Borland.
Rekord (krotka) to pojedynczy wiersz w tabeli, czyli zestaw pól w niej występujących. Np. może to być zestaw cech danego człowieka: pesel, imię, nazwisko, data urodzenia, adres.
id_ucznia |
imię |
nazwisko |
klasa |
1 |
Adam |
Mickiewicz |
IV TI |
2 |
Henryk |
Sienkiewicz |
I TI |
3 |
Aleksander |
Fredro |
III TI |
Pole (atrybut) część tabeli przechowująca jednostkowe dane np. nazwisko konkretnej osoby
Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli. Taka cecha klucza nazywana jest unikatowością.
Klucz podstawowy służy do powiązania rekordów w jednej tabeli z rekordami z innej tabeli. Klucz podstawowy jest nazywany kluczem obcym, jeśli odwołuje się do innej tabeli.
Na przykład, w bazie gdzie przechowywane są dane osobowe kluczem podstawowym może być numer PESEL danej osoby
Relacja powiązania logiczne występujące między dwoma tabelami realizowane za pomocą klucza podstawowego i klucza obcego albo specjalnej tabeli (tabela łącząca). Każda relacja opisana jest przez typ relacji.
Rozróżniamy następujące typy relacji:
- jeden-do-jednego, np. jedna książka w tabeli "Książki" do jednej osoby w tabeli "Uczniowie", która ją wypożyczyła z biblioteki
- jeden-do-wielu, np. jedna osoba w tabeli "Uczniowie" do kilku wypożyczonych z biblioteki książek w tabeli "Książki";
- wiele-do-wielu, np. wiele osób w tabeli "Uczniowie" do wielu wykładowców w tabeli "Nauczyciele". Relacje wielu-do-wielu rzadko się stosuje, gdyż praca z tabelami połączonymi taką relacją jest trudna.
Typy danych
W każdej kolumnie tabeli w bazie przechowane są dane jednakowego typu. Systemy zarządzania bazami danych oferują wiele typów danych, m.in.:
Typ |
Rozmiar |
Opis |
CHAR[x] |
x bajtów |
Pole przechowujące od 0 do max. 255 znaków |
VARCHAR[x] |
Długość łańcucha x + 1 bajt |
Pole tekstowe o zmiennej długości |
TEXT |
Długość łańcucha + 2 bajty |
Łańcuch o maksymalnej długości 65535 znaków |
LONGTEXT |
Długość łańcucha + 4 bajty |
Łańcuch o maksymalnej długości 4294967295 znaków |
INT |
4 bajty |
Liczby z zakresu od -2147483648 do 2147483647 |
FLOAT |
4 bajty |
Liczba rzeczywista, zmiennoprzecinkowa |
DATE |
3 bajty |
Data w formacie YYYY-MM-DD |
TIME |
3 bajty |
Data w formacie HH:MM:SS |
NULL jeśli dana wartość nie jest znana lub nie ma jej w ogóle, to mówimy, że jest to warość NULL (to nie to samo co 0 lub znak spacji).
Formularz służy do wygodnego wprowadzania, edytowania i usuwania danych w tabeli. Wymienione operacje wykonuje się za pomocą okna w którym użytkownik obsługuje pola. Znaczenie pól opisane jest za pomocą etykiet, można też wprowadzić mechanizmy wykrywania poprawności wypełnienia formularza (tzw. walidacja poprawności danych)
Raport to informacje wyjęte z bazy danych, sformatowane i poukładane w czytelny dla odbiorcy sposób, tak aby można było je przedstawić np. na wydruku
Procedura Procedurą nazywamy serię poleceń zapisaną w języku programowania baz danych, służącą do wykonywania obsługi na elementach bazy: tabelach, formularzach, raportach, kwerendach.
Sortowanie Sortowaniem rekordów nazywamy ich porządkowanie według jakiegoś kryterium. Kryterium to nazwa lub nazwy pól według których odbywa się sortowanie. Przykładowo może być to sortowanie rosnące (sortuje wartości wporządku rosnącym (od A do Z, albo od 0 do 9) lub sortowanie malejące (sortuje wartości w porządku malejącym od Z do A, od 9 do 0).
Opr. Adam Nawara |