Algorytm tworzenia i użytkowania bazy danych jest następujący:

  1. tworzenie struktury bazy danych,

  2. wprowadzanie danych,

  3. modyfikacja lub usunięcie danych,

  4. tworzenie zapytań do bazy danych,

  5. wykonywanie zapytań,

  6. prezentacja danych.

Ostatnie pozycje przedstawionego algorytmu wykonywane są cyklicznie. Do bazy danych dopisywane są kolejne dane, następuje modyfikacja już wprowadzonych danych, tworzone są i wykonywane zapytania oraz prezentowane wyniki.

iCn9mw3orG_d5e146

Wprowadzanie danych

Wprowadzanie danych do bazy danych można realizować w różny sposób. Najłatwiejszym sposobem jest zaimportowanie(pobranie) danych z istniejących źródeł danych, bezpośrednio do tabel bazy danych. Dane zostaną zaimportowane z pliku z rozszerzeniem csv, w którym zapisane zostały dane o filmach. Plik z danymi możesz pobrać tutaj.

R1PaQtw5ynzKF1
Plik do pobrania
Źródło: Maciej Kacperski, licencja: CC BY 3.0.

Po zaimportowaniu danych widok tabeli Opis_filmu będzie następujący:

RGMphcsRRRj0H1
Animacja: Import danych z plików csv do tabeli bazy danych
Import danych z plików csv do tabeli bazy danych

Jeśli pracujesz z innym oprogramowaniem, odszukaj w swojej bazie danych odpowiednie polecenia.
Podstawowym sposobem komunikacji z bazą danych jest użycie języka SQL (ang. Structured Query Language). Język SQL jest wykorzystywany przez oprogramowanie instalowane na serwerach, komputerach, ale również do wykonywanych za pomocą przeglądarki internetowej modyfikacji danych i realizacji zapytań.
W celu wprowadzania danych do tabeli bazy danych wykorzystuje się instrukcje języka SQL w postaci:
INSERT INTO TABLE_NAME [ (col1, col2, col3,...colN)] VALUES (value1, value2, value3,...valueN);

gdzie col1, col2, ... - oznaczają pierwsze i drugie pole w tabeli, a value1, value2, ... oznaczają wartości, które zostaną zapisane w rekordzie w tych kolumnach (polach).
Dodamy szczegółowe dane na temat filmu do tabeli Opis_filmu. Program napisany w języku SQL będzie miał następującą składnię:

  1. INSERT INTO Opis_filmu ( Rezyser, Tytul , Gatunek, Data, Ocena ) VALUES ( 'Jan Jakub Kolski', ‘Serce, Serduszko’ , ‘Dramat’, ‘2014‑11‑21’, 5.6);

  2. INSERT INTO Opis_filmu VALUES (‘Luc Besson', ‘Leon zawodowiec’ , ‘Dramat’, ‘1994‑09‑14’, 8.2);

Przedstawione powyżej instrukcje w języku SQL umożliwiają dodanie kolejnych dwóch rekordów do tabeli Opis_filmu. Zauważyliście zapewne, że składnia tych instrukcji jest nieco inna. W punkcie pierwszym zastosowano pełną składnię polecenia INSERT , w punkcie drugim zastosowano uproszczoną składnię.

RfLh2fSm5LGMs1
Animacja: Dodawanie rekordów w bazie danych
Dodawanie rekordów w bazie danych
Uwaga!

Opis składni poleceń języka SQL dostępny jest na wielu stronach w sieci Internet. Możecie je znaleźć, wpisując w pole wyszukiwania przeglądarki słowa kluczowe SQL polecenia.

Ważne!

Dane wprowadzane są do tabeli poprzez dodanie jednego rekordu. Dodawanie wielu rekordów za pomocą języka SQL realizowane jest cyklicznie za pomocą polecenia INSERT z różnymi argumentami.

Ćwiczenie 1

Do utworzonej bazy Filmy wprowadźcie rekordy zawierające dane o filmach, które ostatnio obejrzeliście.

iCn9mw3orG_d5e244

Modyfikacja danych

Kolejną operacją, jaką można wykonać na rekordach zapisanych w tabelach bazy danych, jest operacja modyfikacji danych. Oznacza ona zmianę zawartości pól w rekordach. Składnia polecenia w języku SQL jest następująca:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
Nowym elementem w tym poleceniu jest użycie klauzuli WHERE w celu zdefiniowania warunku, który określi, w jakim rekordzie chcemy zmienić dane.
Sprawdzimy, jak działa instrukcja UPDATE, zmieniając wcześniej zapisany rekord z filmem o tytule Leon zawodowiec, zmieniając jego ocenę na 9.2.

Uwaga!

Jeżeli w instrukcji UPDATE nie zostanie zdefiniowany warunek, to zmienione zostaną wartości we wszystkich rekordach tabeli.

W programie SQLiteStudio w menu narzędzia wybierzcie opcję otwórz edytor zapytań SQL i wprowadźcie następujący kod. Jeżeli używacie innej aplikacji, zapytajcie nauczyciela o miejsce, w którym można wprowadzić polecenia SQL.
UPDATE Opis_filmu
SET Ocena = '9.2’
WHERE Tytuł=’Leon zawodowiec’;

Wprowadzenie zapytania i wynik jego działania przedstawiony jest na filmie.

R1TvBLdWBdXU91
Animacja: Modyfikacja rekordów w bazie danych
Modyfikacja rekordów w bazie danych

Po wykonaniu polecenia UPDATE zawartość tabeli Opis_filmu dla rekordu o Tytul=’Leon zawodowiec’ w polu Ocena zostanie zmieniona.

Ważne!

Instrukcja UPDATE zmieni dane w wybranych polach tabeli dla wszystkich rekordów wybranych przez warunek umieszczony w klauzuli WHERE tego polecenia.

Ćwiczenie 2

W utworzonej bazie Filmy zmień ocenę dwóch filmów.

iCn9mw3orG_d5e329

Usuwanie danych

Czasem zachodzi potrzeba usunięcia błędnych danych. Usunięcie danych polega na skasowaniu całego rekordu lub grupy rekordów w tabeli. Operacja usuwania danych może być realizowana za pomocą interfejsu programu w widoku tabeli lub widoku formularza.

Operację usuwania danych można również wykonać za pomocą języka SQL. Składnia polecenia jest następująca:
DELETE FROM table_name
WHERE [condition];

Jak widzicie, składnia tego polecenia, oprócz wskazania tabeli, zawiera tylko klauzulę WHERE. Właściwe zdefiniowanie warunku umożliwi usunięcie odpowiedniego rekordu.

Uwaga!

Jeżeli w instrukcji DELETE nie zostanie zdefiniowany warunek, to zostaną usunięte wszystkie rekordy w tabeli.

Spróbujmy utworzyć w edytorze SQL kod polecenia, które usunie rekord z tabeli Opis_filmu o wartości pola Tytul równej Terminator.
DELETE FROM Opis_filmu
WHERE Tytul =’Terminator’;

ROasc4w2j8wk71
Animacja: Usuwanie rekordów w bazie danych
Usuwanie rekordów w bazie danych

Po wprowadzeniu kodu do okna zapytań SQL i wykonaniu zapytania otrzymamy wynik w postaci nowej zawartości tabeli przedmioty.

Ważne!

Użycie instrukcji DELETE musi być przeprowadzone bardzo ostrożnie, gdyż w większości baz danych kasowanie rekordów jest ostateczne. Nie będziemy mogli odzyskać usuniętych danych.

Ćwiczenie 3

W utworzonej bazie Filmy usuń wszystkie rekordy wybranego reżysera. Sprawdź wynik, wyświetlając zawartość bazy danych w widoku tabeli.

iCn9mw3orG_d5e410

Wyszukiwanie informacji w bazie danych

Jedną z najczęściej wykonywanych operacji w bazach danych jest operacja wyszukiwania danych. Można ją wykonać, korzystając z interfejsu programu lub przy pomocy zapytań napisanych w języku SQL.
Operacja wyszukiwania rekordów spełniających określone kryteria była już realizowana przy okazji użycia poprzednich poleceń związanych z modyfikacją danych, gdzie za pomocą klauzuli WHERE zostały wybrane rekordy podlegające modyfikacji.
Wyszukiwanie rekordów w tabeli w interfejsie programu jest realizowane poprzez zastosowanie filtrowania danych w zakładce widoku tabeli lub widoku formularza. W pole wyszukiwania wprowadzany jest szukany ciąg znaków. W widoku tabeli pokazywane są rekordy spełniające kryterium filtrowania danych.
Wyszukaj w programie, w którym pracujesz, odpowiednie narzędzia.

Instrukcją w języku SQL realizującą zapytania do bazy danych jest instrukcja SELECT. Składnia instrukcji jest następująca:
SELECT column1, column2, columnN
FROM table_name
WHERE [condition]

W instrukcji występują już znane wam elementy określające pola tabeli, nazwę tabeli oraz warunki wyszukiwania. Instrukcja SELECT ma znacznie większe możliwości niż proste filtrowanie dostępne w interfejsie użytkownika. Możemy wybrać, jakie pola z tabeli będą prezentowane w końcowym widoku, a także warunki wyboru rekordów mogą dotyczyć każdego pola.
Zrealizujmy przykładowe zapytanie dotyczące ocen filmu dla Opis_filmu.
Kod polecenia będzie następujący:
SELECT Rezyser, Tytul , Gatunek, Data, Ocena
FROM Opis_filmu
WHERE Ocena > 7;
W wyniku działania tego polecenia otrzymamy rekordy, które spełniają podany warunek. Wyniki mogą być zaprezentowane w widoku tabeli lub formularza oraz w widoku tekstowym.

R13S4jlJKiA1B1
Animacja: Modyfikacja rekordów w bazie danych
Wyszukiwanie informacji w bazie danychZadanie Wybieranie danych
Ćwiczenie 4

W utworzonej bazie Filmy wyszukaj filmy z datą premiery między rokiem 2001 i 2007 wyświetl tylko nazwę filmu, datę premiery oraz ocenę filmu.

iCn9mw3orG_d5e492

Sortowanie danych w bazie danych

Dane w postaci rekordów są wprowadzane do tabel bazy danych w sposób nieuporządkowany. Najczęściej stosowanym sposobem uporządkowania prezentowanej struktury danych jest stosowanie sortowania rekordów z zastosowaniem określonych kryteriów. Przykładem sposobu sortowania może być wyświetlanie listy uczniów, gdzie nazwiska i imiona są uporządkowane alfabetycznie. Wiesz już, jak można sortować dane w arkuszu kalkulacyjnym. W bazie danych operacja sortowania wyświetlanych danych może zostać wykonana za pomocą interfejsu użytkownika lub za pomocą poleceń języka SQL. Realizacja sortowania danych za pomocą interfejsu użytkownika jest w programie SQLiteStudio w zakładce dane, widoku tabeli. Należy wskazać kursorem myszy wybrane pole tabeli poprzez wskazanie nazwy pola w nagłówku tabeli i kliknięcie lewym przyciskiem myszki.
Wskazana nazwa pola zmieni wygląd, a dane zostaną posortowane w kolejności alfabetycznej.
W innych wykorzystywanych przez was na zajęciach programach sortowanie może być realizowane w bardziej złożony sposób. Wyszukaj i zastosuj znajdujące się w stosowanym oprogramowaniu narzędzia.
Uniwersalnym sposobem sortowania danych w bazach danych jest zastosowanie instrukcji języka SQL. Składnia instrukcji sortującej dane umożliwia ich sortowanie według wielu pól.
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;

Znane wam polecenie SELECT umożliwia dokonanie wyboru pól, które mają być prezentowane w widoku końcowym. Polecenie FROM określa tabelę, na której mamy wykonać operację sortowania danych. Poleceniem odpowiedzialnym za operację sortowanie jest instrukcja ORDER BY, której parametrami są nazwy pól oraz parametry określające rodzaj sortowania:
ASC –rosnąco (alfabetyczne),
DESC – malejąco.
W naszym przykładzie zrealizujmy zapytanie, które wybierze dwa pola z tabeli Opis_filmu, będą to pola ReżyserTytuł. Rekordy zostaną uporządkowane rosnąco dla dwóch pól Reżyser oraz Tytuł
Kod polecenia będzie następujący:
SELECT Reżyser, Tytuł
FROM Opis_filmu
ORDER BY Reżyser, Tytuł ASC;
Wynikiem działania tego polecenia są wszystkie rekordy z tabeli Opis_filmu uporządkowane rosnąco – w porządku alfabetycznym. Wyświetlone zostaną tylko pola ReżyserTytuł . Wyniki mogą być zaprezentowane w widoku tabeli lub formularza oraz w widoku tekstowym.

RNrPij0mP8t1W1
Animacja: Sortowanie danych w tabelach bazy danych
Sortowanie danych w tabelach bazy danych