Jaka baza danych dla początkującego ?

1

Jedni powiedzą SQLite - zasobooszczędna, poręczna, działa nawet na urządzeniach mobilnych.
Inni: MySQL lub PostgreSQL - darmowe, nieźle wyposażone w funkcje, dynamicznie rozwijane, zdobywające coraz większą popularność, również w przedsiębiorstwach.
Kolejni: Oracle lub SQL Server - popularne w wymagających środowiskach, bogate w funkcje, mające wspracie zamożnych i prężnych producentów.

Są również osoby doradzające MS Access ;-)

Wizjonerzy (a może rewolucjoniści?) doradzają bazy dokumentowe lub grafowe.

Anarchiści - pliki płaskie wystarczą ;-)

Kołcze radzą aby najpierw odpowiedzieć sobie na pytanie 'po co?'.

Niemniej wszyscy zgodnie twierdzą - ucz się SQL.

A jak Ty radzisz początkującemu rozpocząć przygodę z bazami danych ? Jak Ty zaczynałaś/zaczynałeś ? Jak oceniasz swój wybór patrząc z perspektywy czasu i Twojego obecnego doświadczenia ? Co byś zrobiła/zrobił inaczej ? Co się sprawdziło, a co nie ?

2

Obojętnie jaka, byle tylko nie bawić się w "instalacje i konfiguracje" ale pociągnąć gotowy obraz Docker i od razu mieć gotową i skonfigurowaną bazę

Nie spasuje wybór? To jest Docker i inne gotowe obrazy Linux+baza

2

A po co ma wybierać tę bazę?

1

" Jak Ty zaczynałaś/zaczynałeś ?"
Wybrałem bazy danych jako specjalizacje na studiach.
(trochę overkill xD)

1

Moim zdaniem SQLite - bo wprawdzie działa ona trochę inaczej, ale na początku to różnicy nie zauważysz - SELECT czy UPDATE działają tak samo, ale za to odpada cała otoczka - konfigurowanie serwera, nadawanie uprawnień itp. Skupiasz się na samej logice zapytań i rozmowy z bazą. A jak nabędzie się wprawy to można pójść o krok dalej i ogarnąć to troszkę z poziomu administratora bazy.
Aczkolwiek wypadałoby od razu takiemu uczniowi zaznaczyć, że docelowo ktoś, kto korzysta z bazy oraz jej administrator to są dwa różne stanowiska, a ich kompetencje się prawie w ogóle nie zazębiają.

4

A ja bym proponował jednak MySql wraz z Workbanch.
Jest testowa baza "Sakila" chyba. Można wygenerować sobie łatwo schemat bazy i przy okazji popatrzeć co to się tam łączy z czym :) i co się namotało.
Na pewno nie zabrałbym bym się za bazy od strony dociera i obrazu. Chociaż raz czy dwa warto to postawić od zera, żeby wiedzieć jakie problemy się z tym mogą wiązać.

1

@jurek1980: czemu chcesz od razu pchać ludzi w komercyjne i zamkniętoźródłowe rozwiązania? Jeśli chcesz polecać "prawdziwy" silnik to czemu nie Postgres albo (w ostateczności) Maria?

Poza tym wydaje mi się, ze na początku walka z ustawieniami, tworzeniem kont, przyznawaniem uprawnień itp, niepotrzebnie wprowadzi zamieszanie i dorzuci dodatkowe tematy, które trzeba ogarnąć. Oczywiście - nie jest to jakaś czarna magia, ale dla osoby początkującej sam język SQL już będzie czymś nowym, nie dorzucajmy dodatkowych rzeczy na start.

1

Dla początkującego to znaczy do nauki.
Więc ma być dobrze znana, "otutorialowana" po polsku, na której wychowały się pokolenia studentów. Na tyle uniwersalne, że zdobywa wiedza nie będzie specyficzna.
Status licencji nie ma znaczenia, bo status zaliczenia początkujący/student powinien zamknąć do maja. ewentualnie do września.

Do nauki SQL + zaliczenie IMHO MySQL będzie najbezpieczniejszym wyborem. W przypadku początkującego studenta 'najbezpieczniejszy = najlepszy'

3

@cerrato: zgoda co do otwartości kodu nie mniej za MySQL nic nie płacisz.. Najmniej w życiu miałem do czynienia z Postgres i było to już na etapie znajomości innych silników.
Po prostu pamiętam jak fajnym narzędziem był Workbench. Oczywiście można podpiąć go do MariaDB, ale powiedz wtedy komuś kto się uczy silnik taki narzędzie takie.
Zainstalowanie takiej bazy to graficzna prezentacja chociażby nazw, portów. Postawisz na dockerze - to musisz już wiedzieć co to port, jak go przekazać, dostajesz plik z masą różnych na początku wydających się być losowymi cyferkami.
Jak ktoś uczy się, to nie zakładamz że wie co to porty.

1

@jurek1980:

Używając Dockera, wszystko jest auto-magicznie, obraz sam się ściągnie, serwer sam wystartuje zmapowany na portach jak by był na localhost, porty domyślne, wszystko domyślne i bezproblemowo startujące od kopa

Tylko jedno polecenie w terminalu w którym ustawia się swoje hasło (zamiast mojetajnehaslo wisać uniwersalne, przez większość używane i łatwe do zapamiętania dupa) i po minucie ma się wszystko gotowe

docker run -d -p 3306:3306 -e MYSQL_ROOT_HOST=% -e MYSQL_ROOT_PASSWORD= mojetajnehaslo --name=mysql mysql/mysql-server:latest

To polecenie jest i tak do Copy/Paste na WWW DockerHuba w opisie obrazu MySQL.

1

@BraVolt:
Postaw się na miejscu człowieka, który uczy się co to select * który nie słyszał co to porty. Jeszcze nie wie, że w bazie jest taki użytkownik jak root i że taki użytkownik musi mieć hasło. GUI Cię przeprowadzi.

1

@jurek1980: Jak studenta informatyki (AFAIK baz danych nie ma na pierwszym semestrze) musi GUI przeprowadzać, bo nie da rady przekleić z przeglądarki jednej linijki polecenia to powinien pomyśleć nad przebrażowieniem.

BTW, hasło już jest ustawione na "my-secret-pw"

ROOT_PASSWORD=my-secret-pw

więc nie trzeba ustawiać hasła w Konsoli dla Hackerów, a od przyszłego programisty/informatyka wymaga się minimum zaradności = copy/paste jednej linijki ze zrozumieniem co się wkleja

1 użytkowników online, w tym zalogowanych: 0, gości: 1