1.11.2. Wprowadzenie do baz danych

Poznaliście już arkusz kalkulacyjny, dowiedzieliście się również, że w arkuszu kalkulacyjnym można przechowywać dane w tabelach, składających się z kolumn i wierszy.
W bazie danych informacje są zapisywane w podobnej strukturze danych jak w arkuszu kalkulacyjnym. Dane zapisywane są w tabelach. Baza danych może zawierać wiele tabel. Tabela musi mieć swoją niepowtarzalną nazwę w bazie danych. Tabela składa się z pól, które odpowiadają kolumnom w arkuszu kalkulacyjnym, a dane gromadzone są w wierszach, które nazwane są rekordami. Rekordy nie mają, w odróżnieniu od arkusza kalkulacyjnego, swojego numeru wiersza i mogą być wprowadzane do tabeli w dowolnej kolejności.
Informacje zapisane w arkuszu kalkulacyjnym, można zapisać w ten sam sposób również w bazie danych.

Tworzenie bazy danych

Utworzymy bazę danych, składającą się z jednej tabeli, w której będziemy przechowywali dane o filmach.
Możecie samodzielnie przygotować projekt bazy danych z interesującymi dla was informacjami.
Istnieje szereg programów do tworzenia relacyjnych baz danych, takich jak phpMyAdmin, Access, phpPgAdmin, SQLiteStudio, EMS SQL Manager for MySQL oraz wiele innych, z interfejsem w języku polskim lub angielskim. Jednym z nich jest program zarządzający bazą danych SQLiteStudio na licencji otwartej, który można pobrać ze strony sqlitestudio.pl.
W tej części zajęć możecie zapoznać się przykładową bazą danych informacji o filmach. Utworzymy bazę danych Filmy zawierającą tabelę Opis_filmu w programie SQLiteStudio. Taką bazę można utworzyć w dowolnej innej bazie danych dostępnej w waszej pracowni komputerowej lub na komputerze w domu.
Baza będzie zawierała następujące pola: Tytuł filmu, Gatunek filmu, Datę premiery, Nazwisko i Imię reżysera, Ocenę filmu. Jest to przykładowy zestaw danych opisujący film. Wspólnie z nauczycielem możecie rozszerzyć zakres proponowanych danych.
Bardzo ważną cechą charakteryzującą tabele w bazie danych jest to, że każde z pól występujące w tabeli ma ściśle określony typ danych. Typy danych poznaliście już na zajęciach z programowania. W naszym przykładzie zostały użyte trzy typy danych:
  • Tekstowy - CHAR
  • Numeryczny (liczba rzeczywista) - REAL
  • Data - DATE
Oczywiście typ danych przypisany do danego pola bazy danych zależy od tego, jakie informacje będą zapisywane w takim polu. W polu reżyser zapisywane są znaki, więc jest to pole tekstowe, w polu ocena filmu, wpisywana jest liczba rzeczywista. W polu data premiery, będzie przechowywana informacja o tym, kiedy była premiera filmu.
W poniższej animacji został przedstawiony sposób tworzenia bazy danych Filmy zawierającą tabelę Opis_filmu.
Tabela "Opis_filmu" zawiera pola danych:
  • Rezyser - jest to pole tekstowe;
  • Tytul - również jest polem tekstowym;
  • Gatunek - pole tekstowe;
  • Data - pole typu data;
  • Ocena - pole numeryczne typu rzeczywistego.
Utworzona baza danych jest pusta. Możemy utworzyć wiele baz danych, ale pracować możemy tylko z jedną bazą danych.
W interfejsie użytkownika wykorzystywanej przez was aplikacji można modyfikować pola tabeli w bazie danych, czyli jej strukturę. Interfejs użytkownika umożliwia również dodawanie i modyfikację danych. Dodawanie danych może być realizowane za pomocą widoku tabeli lub widoku formularza. Zwykle dane wprowadzane są za pomocą widoku formularza. W programie SQLiteStudio nie można modyfikować widoku formularza. W niektórych programach do tworzenia i obsługi baz danych można projektować własne formularze.
W aplikacji SQLiteStudio w zakładce dane można wprowadzać dane bezpośrednio do tabeli.

Zadanie 1.11.2.1.

Znajdź odpowiednie narzędzia w aplikacji, w której pracujesz w swojej pracowni komputerowej.

Zapamiętaj

Przy tworzeniu tabeli w bazie danych konieczne jest podanie jej nazwy oraz nazw pól tabeli wraz z typem danych, jakie będą tam zapisywane. Sposób tworzenia tabel w różnych programach może być odmienny, ale zawsze będą wymagane podane wcześniej informacje. Podczas tworzenia nazw pól w tabeli bazy danych należy unikać nazw, w których występują spacje oraz polskie znaki diakrytyczne.