Bazy danych to podstawowy sposób na przechowywanie danych aplikacji. Wyróżniamy dwa główne rodzaje baz danych relacyjne oraz nierelacyjne.
Bazy relacyjne
Jest to najbardziej znany rodzaj bazy. Przed utworzeniem takiej bazy pierwszym krokiem jest zaprojektowanie struktury. Gdy po jakimś czasie stwierdzimy, że popełniliśmy błąd, to zmiana może być bardzo kosztowna. Jeżeli chcemy to potem naprawić, musimy wprowadzić zmiany w strukturze, ale również w danych wcześniej zgromadzonych w bazie. W niektórych sytuacjach taka zmiana może być nawet niewykonalna.
Podstawowym językiem bazy relacyjnej jest język SQL. Jeżyk SQL jest zgodny dla wielu baz, jednak każda z nich może mieć swój własny sposób pisania zapytań. Dobrym przykładem jest limit wyświetlanych wierszy. W MySQL jest to limit a MSSQL top. Dzielimy go na cztery kategorie:
- Pobieranie danych – DQL (ang. Data Query Language).
- Manipulacja danymi – DML (ang. Data Manipulation Language)
- Definicja danych – DDL (ang. Data Definition Language)
- Kontrola nad danymi – DCL (ang. Data Control Language)
Pobieranie danych z bazy danych
Do tej kategorii wchodzi tylko zapytanie SELECT. Jednak jest to zapytanie najbardziej rozbudowane i najczęściej używane zapytanie w języku SQL. Zapytanie SELECT nie wpływa na stan zgromadzonych danych i po jego wykonaniu żadne dane nie zmieniają się.
SELECT * FROM Shop SELECT ID, NAME, STREET FROM Shop SELECT * FROM Shop WHERE city='Warszawa'
W pierwszym zapytaniu pobieramy wszystkie kolumny z tabeli Shop, w drugim zaś tylko te wybrane przez nas. W trzecim zawężamy ilość wyświetlanych sklepów do sklepów, które mieszczą się w Warszawie.
Manipulacja danymi
W tej kategorii znajdują się wszystkie zapytania które pozwalają na manipulację danymi. Te zapytania powodują zmianę w istniejących danych. Należą do nich:
- Tworzenie danych INSERT
- Usuwanie danych DELETE
- Zmiana danych UPDATE
INSERT INTO shop (Id,Name,Street,City) VALUES(5,'Twoja zabawki', 'Miła 5', 'Warszawa') DELETE shop WHERE ID=5 UPDATE Shop SET City='Kraków' WHERE Id=5
Definicja danych
W tej kategorii znajdują się wszystkie zapytania które odpowiadają nad tworzenie i zarządzanie strukturą danych, czyli tworzenie tabel i bazy danych oraz usuwanie i modyfikowanie.
- Tworzenie tabeli
- Tworzenie bazy danych
- Usuwanie tabeli
- Usuwanie bazy danych
- Modyfikacja tabeli (modyfikacja kolumn)
Kontrola nad danymi
Ta kategoria służy do nadawania uprawnień dla obiektów bazodanowych. Najważniejsze zapytania w tej kategorii to:
- Nadawanie uprawnień GRANT
- Odbieranie uprawnień REVOKE
Nierelacyjne bazy danych
Nierelacyjne bazy danych, które nie mają stałej struktury. Dlatego zmiana w przechowywanych danych nie jest tak kosztowna. Dane przechowujemy w tak zwanych dokumentach, gdzie każdy dokument przechowuje dane w zestawach klucz=wartość. Dzięki temu każdy z dokumentów może mieć, inna ilość kluczy, w zależności od potrzeb.