Crash Course 101
10 moduły
5 Tygodnie

Baza danych

Kliknij, aby skopiować

Wprowadzenie do baz danych


Z JSON-em już sobie poradziliśmy. Teraz przechodzimy do rzeczy głównej, do baz danych. Dane mogą być w nich przechowywane na wiele sposobów. Jednocześnie historycznie rozwinęły się one w ten sposób, że największą dystrybucję uzyskał relacyjny model bazy danych.

Przy zastosowaniu modelu relacyjnego dane przechowywane są w postaci tabel, zawierających określony zestaw danych, których struktura jest sztywno określona na etapie projektowania bazy. Opis struktury danych w relacyjnych bazach danych nazywany jest schematem. Określa on skład tabel, strukturę pól w tych tabelach, a także relacje między nimi.

SQL

Do zarządzania danymi o modelu relacyjnym system DBMS (DataBase Management System) wykorzystuje język SQL.

SQL - Structured Query Language (strukturalny język zapytań). Jest to język deklaratywny, co oznacza, że jego polecenia opisują jedynie niezbędną akcję (znajdź dane, usuń je, zmień), a każdy DBMS sam decyduje, jak ją wykonać.

Istnieje wiele różnych relacyjnych systemów DBMS. Do najczęściej spotykanych należą Oracle, MySQL, MS SQL, PostgreSQL. Nawiasem mówiąc, AppMaster używa PostgreSQL, co oznacza, że korzysta z nowoczesnego, zaawansowanego DBMS, który działa w ogromnej liczbie różnych organizacji, a także jest wolnym oprogramowaniem (czyli nie trzeba płacić dodatkowych pieniędzy za korzystanie z niego).

Czy zauważyłeś obecność skrótu SQL w prawie każdej nazwie DBMS? Tak naprawdę alternatywną nazwą dla relacyjnej bazy danych jest baza SQL.

NoSQL

Istnieje jednak alternatywne podejście. Nierelacyjne bazy danych, czyli NoSQL. Warto zauważyć, że No w tym przypadku nie jest zaprzeczeniem "nie", ale skrótem od Not only. Czyli "nie tylko SQL".

Nierelacyjne SZBD nie korzystają ze wspólnego formatu zapytań (jak SQL), każdy z nich implementuje własny sposób pracy z danymi.

Nie wymagają jednoznacznie zdefiniowanej struktury przechowywania danych. Same dane są w nich przechowywane nie w postaci ścisłych tabel, ale w postaci obiektów z arbitralnym zestawem atrybutów (dużo jak JSON). Może to mieć znaczenie w przypadku pracy z danymi, których struktura podlega częstym zmianom.

Jednocześnie, ze względu na swobodną strukturę, rozwiązania NoSQL są łatwiejsze do skalowania w przypadku konieczności stworzenia bazy danych rozproszonej na wielu serwerach.

Przykładami NoSQL DBMS są MongoDB i Redis.

Was this article helpful?
Nadal szukasz odpowiedzi?