Baza danych to, najprościej ujmując, uporządkowany zbiór informacji, posiadających własną strukturę, zapisanych w odpowiednim formacie, który pozwala na dostęp do danych. Zależnie od zastosowania, informacje mogą być zapisane na różne sposoby, mające wpływ na wydajność poszczególnych operacji, np. zapis, odczyt, usunięcie czy też modyfikację danych.
Prawidłowa organizacja danych to nic innego, jak odpowiednim ich podzieleniu i pogrupowaniu w taki sposób, aby w przyszłości łatwiej było je pozyskiwać, przetwarzać czy wprowadzać kolejne informacje.
Główne rodzaje baz danych
Bazy relacyjne – to najbardziej popularne bazy danych. Dane w nich są powiązane, wiele tabel danych może współpracować ze sobą. Bazy te wyposażone są w wewnętrzne języki programowania, które najczęściej wykorzystują SQL do prowadzenia operacji na danych. Za ich pomocą tworzy się zaawansowane funkcje obsługi danych.
Bazy obiektowe – informacje przechowywane są w strukturach obiektowych, zdefiniowanych jako klasy, a obiekty posiadają dowolne struktury oraz przypisane do nich procedury.
Bazy relacyjno - obiektowe – dane są przechowywane w strukturze obiektowej, jednak powiązane są ze sobą w taki sposób, jak w przypadku bazy relacyjnej. Pozwala to manipulować danymi jako zestawem obiektów, posiadającym jednak bazę relacyjną jako wewnętrzny mechanizm przechowywania danych.
Bazy temporalne - są odmianą baz relacyjnych. Różnica polega na tym, że każdy rekord posiada swój znacznik (stempel) czasowy, określający czas, w jakim zapisana wartość jest prawdziwa. W tych bazach danych istnieje możliwość wyciągania historii.
Bazy strumieniowe - przechowywane dane przetwarzane są jako zbiory strumieni danych. System zarządzania taką bazą to strumieniowy system zarządzania danymi - Data Stream Managament System (DSMS). Część lub wszystkie napływające do systemu dane nie są dostępne w dowolnej chwili.
Bazy nierelacyjne(NoSQL database) - dane w takich bazach przechowywane są w formie listy par: klucz-wartość. Nie występują tu powiązania relacyjne pomiędzy obiektami, najczęściej też nie jest wymagana jednorodność obiektów pod względem struktury.
Bazy kartotekowe - każda tablica danych to samodzielny dokument, który nie może współpracować z innymi tablicami. Bazy te stosowane są w jednym wybranym celu. Wykorzystują je programy typu: książka telefoniczna, książka kucharska, spisy książek itd.
Bazy hierarchiczne - dane są przechowywane na zasadzie rekordów nadrzędnych-podrzędnych, przyjmując strukturę drzewa. Poza rekordem głównym, wszystkie rekordy podrzędne związane są dokładnie z jednym rekordem nadrzędnym.
Najczęściej stosowane bazy danych
W zależności od potrzeb, posiadanego systemu, ilości przetwarzanych danych, wybrać można jedno z poniższych rozwiązań:
MySQL - najpopularniejsza relacyjna baza danych, którą stosuje się w prostych aplikacjach. Zalety to lekkość, szybkość i bardzo dobre skalowalnie. Baza dostępna jest w wersji komercyjnej oraz na licencji wolnego oprogramowania (GPL).
PostgreSQL (Postgres) - ta relacyjno - obiektowa baza danych uznawana jest często za najbardziej zaawansowaną bazę typu open source. Pasuje do bardzo skomplikowanych procesów analitycznych, inne zalety to szeroka gama funkcjonalności i wysoka rozszerzalność.
SQLite - bezserwerowa baza relacyjna, posiadająca postać biblioteki wbudowanej w aplikację. Znajduje się w jednym pliku, nie służy jej jednak bardzo duże obciążenie. Jest dobrym rozwiązaniem dla stron generujących nieduży ruch czy aplikacji w początkowej fazie jej tworzenia oraz przy testowaniu. SQLite jest często wybierana na potrzeby aplikacji opartych o iOS-a i Androida.
Oracle - bardzo zaawansowana relacyjno-obiektowa baza, oferuje dużo cennych funkcji, dzięki czemu jest dobrze przystosowana do obsługi bardzo dużych zasobów danych.
MongoDB - baza zaprojektowana dla aplikacji, które wykorzystują zarówno nieustrukturyzowane, jak i ustrukturyzowane dane. Informacje mogą być więc szybko przechowywane i dostępne bez względu na swoją strukturę. MongoDB to także wysoka wydajność przy bardzo rozbudowanych zasobach danych.