Autor:Tomasz Stelmach ©Wszelkie prawa zastrzeżone.
Czym tak naprawdę jest baza danych?
Baza danych to uporządkowany zbiór informacji (danych) przechowywany w formie elektronicznej. Bazą danych zarządza zwykle system zarządzania bazami danych (DBMS). Dane i system DBMS oraz powiązane z nimi aplikacje, razem tworzą system bazodanowy, nazywany ogólnie bazą danych.
Dane przechowywane są w zaprojektowanych do tego celu tabelach (macierz kolumn i wierszy). Taka organizacja przetrzymywania danych usprawnia pracę z danymi. Najczęstszymi operacjami wykonywanymi na bazach danych są: wstawianie, usuwanie, edytowanie, wybieranie poszczególnych informacji.
Czym są „dane” ?
Dane są informacjami bezpośrednio odnoszącymi się do konkretnego przedmiotu, rzeczy, zagadnienia.
Np. kolor, rocznik, waga, marka – to dane Twojego samochodu. Metraż, ilość pokoi, lokalizacja – to dane Twojego mieszkania.
Większość baz danych do manipulacji danymi wykorzystuje strukturalny język zapytań SQL (Structured Query Language).
SQL to język programowania wykorzystywany w bazach danych do tworzenia zapytań dotyczących danych, manipulowania nimi i ich definiowania oraz do zapewnienia kontroli dostępu.
Język SQL został opracowany przez firmę IBM w latach 70. przy istotnym współudziale firmy Oracle, co spowodowało wprowadzenie standardu SQL ANSI i powstanie wielu rozszerzeń języka SQL przygotowanych przez firmy IBM, Oracle i Microsoft.
Istnieje wiele implementacji relacyjnych baz danych. Oto kilka najpopularniejszych:
Bazy danych różnią się składnią i wykorzystaniem języka SQL, którego obsługują. Chociaż istnieje standard opisujący język SQL, występują drobne różnice pomiędzy SQL obsługiwanym przez poszczególne bazy danych. Właśnie te różnice w składni i stosowaniu SQL nazywane są dialektami.
Do czego wykorzystywane są bazy danych?
Bazy danych znajdują zastosowanie wszędzie tam, gdzie zachodzi potrzeba pracy w oparciu o większą ilość danych, np.
- Wyszukiwarki internetowe
- Spisy, zestawienia
- Systemy bankowe, płatnicze
- Kartoteki informacyjne
- Multimedialne bazy danych
- Katalogi produktowe
Baza danych vs. plik płaski (np. arkusz Excel)
Baza danych | Arkusz Excel |
Możliwość jednoczesnej pracy dla wielu użytkowników | Nie obsługuje dostępu dla wielu użytkowników |
Możliwe efektywne przechowywanie i przetwarzanie ogromnych ilości | Zaprojektowany do pracy z ograniczoną ilością danych |
Usuń nadmiarowość i integralność | Problemy z redundancją i integralnością |
Zwykle bardziej kosztowna w implementacji. | Tańsze rozwiązanie |
Łatwe do realizacji skomplikowane transakcje | Brak obsługi skomplikowanych transakcji |
To jaki typ bazy danych należy zastosować w celu osiągnięcia optymalnych efektów, zależy głównie od czysto indywidualnych kwestii – takich jak specyfika projektu czy polityka danej organizacji.
Wybrane typy baz danych:
- Obiektowe
Wszystkie informacje mają postać obiektów, wykorzystywane są też niektóre z paradygmatów programowania obiektowego – znane z języków programowania wysokiego poziomu.
- Rozproszone
Rozproszona baza danych składa się z kilku części (co najmniej dwóch plików) znajdujących się w różnych lokalizacjach. Baza danych może być przechowywana na wielu komputerach znajdujących się w tej samej lokalizacji fizycznej lub rozproszonych w różnych sieciach.
- Hurtownie danych
Rodzaj bazy danych, zaprojektowany do obsługi bardzo dużych volumenów danych i umożliwiający do nich szybki dostęp. Hurtownie zwykle posiadają wysokiej klasy mechanizmy analizy przetrzymywanych danych.
- NoSQL
Rodzaj nierelacyjnej bazy danych, umożliwia przechowywanie nieuporządkowanych i częściowo uporządkowanych danych oraz manipulowanie nimi (w przeciwieństwie do relacyjnych baz danych, które określają sposób organizacji danych dodawanych do bazy danych). Nierelacyjne bazy danych od pewnego czasu zyskują coraz większa popularność, gdyż są szeroko wykorzystywane w budowie aplikacji internetowych.
- Grafowe
Grafowa baza danych przechowuje dane w postaci encji i relacji między encjami.
- OLTP
Baza danych OLTP to szybka, analityczna baza danych przeznaczona do wykonywania dużej liczby transakcji przez wielu użytkowników.
- Chmurowe
Chmurowa baza danych to zbiór danych, uporządkowanych lub nie, przechowywany na prywatnej, publicznej lub hybrydowej platformie przetwarzania w chmurze. Istnieją dwa modele chmurowych baz danych: tradycyjny i baza danych jako usługa (DBaaS). W przypadku baz danych DBaaS zadania związane z administracją i konserwacją są wykonywane przez usługodawcę.
- Dokumentowe/JSON
Przeznaczone do przechowywania i pobierania informacji w postaci dokumentów i zarządzania nimi. Dokumentowe bazy danych to nowoczesny sposób na przechowywanie danych w formacie JSON, zamiast w postaci wierszy i kolumn.
- Samoczynne
Najnowsze i najbardziej przełomowe bazy danych, samoczynne bazy danych (nazywane także autonomicznymi bazami danych). Działają w chmurze i wykorzystują uczenie maszynowe do automatyzacji optymalizacji, zabezpieczania, tworzenia kopii zapasowych i aktualizowania baz danych oraz innych rutynowych zadań zarządzania – tradycyjnie wykonywanych przez administratorów baz danych.
Co to jest DBMS?
System zarządzania bazą danych (DBMS) to rodzaj oprogramowania przeznaczony do zarządzania bazą danych w szerokim tego słowa znaczeniu. Dzięki DBMS możemy dowolnie przetwarzać znajdujące się informacje w bazie danych. Jest to bardzo wygodny sposób konsumpcji wyników bazodanowych. Z poziomu DBMS oprócz dodawania, usuwania, manipulowania danymi, możemy administrować bazą danych z zachowaniem wysokiego bezpieczeństwa.
DBMS pozwala użytkownikom tworzyć własne bazy danych zgodnie z ich wymaganiami. Termin „DBMS” obejmuje użytkownika bazy danych i innych aplikacji.
Zapewnia interfejs między danymi a aplikacją.
Zalety DBMS
- Wiele mechanizmów przechowywania i odzyskiwania danych
- Skuteczny moduł obsługi do równoważenia potrzeb wielu aplikacji korzystających z tych samych danych
- Polityki procedur administracyjnych
- Zaawansowane funkcje do wydajnego manipulowania i pobierania danych
- Integralność i bezpieczeństwo danych
- Równoczesny dostęp do danych w taki sposób, że tylko jeden użytkownik może uzyskać dostęp do tych samych danych jednocześnie
- Skrócony czas budowy aplikacji/systemów
Wady DBMS
- Wdrożenie oraz utrzymywanie wymaga określonych nakładów finansowych
- Duża złożoność systemów zarządzania, wymusza konieczność posiadania określonych technicznych umiejętności lub ich nabycia poprzez treningi i szkolenia
- W niektórych organizacjach wszystkie dane są zintegrowane w jednej bazie danych, która może zostać uszkodzona z powodu awarii systemowej
- Używanie tego samego programu na raz przez wielu użytkowników – czasami prowadzi do utraty niektórych danych.
Najpopularniejsze bazy danych w 2019 roku
Lista najpopularniejszych baz danych w roku 2019 – na podstawie corocznej ankiety przeprowadzanej na popularnym serwisie https://stackoverflow.com/
- MySQL
- PostgreSQL
- MS SQL Server
- SQLite
- MongoDB
- Redis
- MariaDB
- Oracle
- Elasticsearch
- Firebase
- DynamoDB
- Cassandra
- Couchbase
PostgrSQL
Na kartach tego kursu będziemy uczyć się korzystać z bazy danych – PostgreSQL. Wybrałem konkretnie tą bazę, ponieważ jest ona w pełni darmowa – oparta na licencji open-source. Oznacza to, że możesz z niej dowolnie korzystać, modyfikować i rozpowszechniać. Dodatkowo warto podkreślić, że jest ona bardzo popularna i szeroko wykorzystywana na rynku. Istnieje zatem duże prawdopodobieństwo, że już ją wykorzystujecie bądź będziecie z niej korzystać w swojej pracy.
W kolejnych lekcjach dokładnie krok po kroku przybliżę PostgreSQL – dzisiaj tylko krótkie objaśnienie.
PostgreSQL jest relacyjnym (obiektowo – relacyjnym) systemem zarządzania bazą danych. Jest jednym z najbardziej zaawansowanych systemów zarządzania bazą danych opartych na licencji open-source.
ZAPAMIĘTAJ!
Baza danych – to uporządkowany zbiór informacji (danych) przechowywany w formie elektronicznej. Bazą danych zarządza zwykle system zarządzania bazami danych (DBMS). Dane i system DBMS oraz powiązane z nimi aplikacje, razem tworzą system bazodanowy, nazywany ogólnie bazą danych.
Dane – są informacjami bezpośrednio odnoszącymi się do konkretnego przedmiotu, rzeczy, zagadnienia
SQL – to język programowania wykorzystywany w bazach danych do tworzenia zapytań dotyczących danych, manipulowania nimi i ich definiowania oraz do zapewnienia kontroli dostępu.
System zarządzania bazą danych (DBMS) to rodzaj oprogramowania przeznaczony do zarządzania bazą danych w szerokim tego słowa znaczeniu.
PostgreSQL jest relacyjnym (obiektowo – relacyjnym) systemem zarządzania bazą danych. Jest jednym z najbardziej zaawansowanych systemów zarządzania bazą danych opartych na licencji open-source.
Typy baz danych:
- Relacyjne
- Obiektowe
- Rozproszone
- Hurtownie danych
- NoSQL
- Grafowe
- OLTP
- Chmurowe
- Dokumentowe/JSON
- Samoczynne
PostgreSQL -> oficjalna strona: https://www.postgresql.org/ , dokumentacja: https://www.postgresql.org/docs/
MySQL -> oficjalna strona: https://www.mysql.com/ , dokumentacja: https://dev.mysql.com/doc/
SQLite -> oficjalna strona: https://sqlite.org/index.html , dokumentacja: https://sqlite.org/docs.html
HyperSQL -> oficjalna strona: http://hsqldb.org/ , dokumentacja: http://hsqldb.org/web/hsqlDocsFrame.html
MongoDB -> oficjalna strona: https://www.mongodb.com/ , dokumentacja: https://docs.mongodb.com/guides/
Redis -> oficjalna strona: https://redis.io/ , dokumentacja: https://redis.io/documentation
0 komentarzy