A propos formatowania kodu SQL, to ja też lubię pewną czytelność kosztem długości tekstu w pionie. DBeaver mam tak skonfigurowany, że po użyciu Ctrl+Shift+F sam mi ładnie układa kod, każde słowo kluczowe w odrębnej linii, każda nazwa kolumny w nowej linii, slowa kluczowe z wielkich liter i pogrubione. I pięknie się do tego później wraca, jeśli trzeba swój kod ponownie przeczytać po jakimś czasie 🙂
@@KacperSieradziński nie wiem dlaczego, ale mój poprzedni komentarz zniknął. YT ma czasem doprawdy przedziwne kryteria. W takim razie napiszę na razie tyle, że postaram się jakoś w skrócie opisać ustawienia, które mam u siebie zastosowane, żeby ten efekt osiągnąć :)
W sumie dobry pomysł :-) Oczywiście całość wiedzy o bazach danych znajdziesz w kursie skumajbazy.pl :) Natomiast nagram kolejny odcinek tego i jak dojdziemy do 250 łapek w górę to go opublikuje :)
Kacper, czy mógłbyś polecić jakiś tani hosting na własne potrzeby? Chodzi mi o to, żebym mógł sobie na nim trzymać front, backend + właśnie jakąś bazę danych, zapewne backend będę pisać w Node
@KacperSieradzinski Jeśli chodzi o bazy NoSQL, ja osobiście chętnie poznałbym jakieś ich sensowne zastosowania 🙂 Pisałem Ci zresztą kiedyś o tym, ale pewnie umknęło, bo to była tylko mała wzmianka. Siedzę w bazach SQL już niemal 20 lat (a jeszcze wcześniej długo siedziałem w plikowych - Clarion, dBase... prehistoria 😂), robiłem "bazy danych" w Excelu oraz całkiem spore bazy w Accessie, ale z kolei do tych NoSQL nie mogę się przekonać - nie widzę w nich nic, czego bym nie zrobił w SQL-u. Ale może to po prostu moje przyzwyczajenia. Dlatego chętnie poznałbym jakieś praktyczne zastosowanie takiego np. MongoDB; może w połączeniu z Pythonem?
Myślę, że to bariera w głowie, którą też po trochu mam. Cała zabawa polega na tym, że myśląc o bazie danych zastanawiamy się na ujednoliconej strukturze i to jest błąd w ramach którego nie widzimy sensu posiadania baz nierelacyjnych :) Pomyśl np. o przypadku w którym masz dane które mają bardzo różną ilość kolumn. W takim przypadku tworzysz many-many gdzie masz osobno atrybuty, osobno wpisy i osobno tabelę pośredniczącą. Jest to ok, ale nie jest to najbardziej wygodne :) no i to może być dobre zastosowanie do baz nierelacyjnych :-) Natomiast jeżeli chodzi o inne ich typy np. bazy danych grafowe to temat na kolejną pogadankę :)
@@KacperSieradziński o grafowych słyszałem, że mają sensowne zastosowanie w danych hierarchicznych, coś co w SQL musisz budować najczęściej przez łączenie tabeli z nią samą albo dookoła przez funkcje, i to rzeczywiście potrafi być upierdliwe; zwłaszcza, kiedy ta hierarchia przekroczy 3-4 poziomy, gdy do wszystkich niedogodności dochodzą jeszcze problemy z wydajnością. Hmmm... o danych z różną długością kolumn rzeczywiście nie pomyślałem pod tym kątem. Bardziej rozwiązywałbym to tak jak napisałeś, tabelą z atrybutem + wartością przypisaną do "nadrzędnego" wiersza w tabeli z danymi, których atrybuty dodaję. Ciekawy pomysł. Muszę poeksperymentować. Dzięki
@@stefan.ocetkiewicz tu przypomniałem sobie o jeszcze jednym zastosowaniu. Idąc tym torem z dodatkową tabelą z atrybutem czasem masz do napisania zapytanie gdzie np. interesują Cię samochody spalinowe, ze spalaniem powyżej 10l/100, a dodatkowo mające tylko dwa miejsca. Powoduje to, że potrzebujesz robić złożonego joina i wykonywać transpozycję. Inna opcja to np. wyszukiwanie bardziej złożone, zobacz jakie możliwości daje np. elasticsearch 🙂 W takich przypadkach użycie tych baz sprowadzało się do tego, że trzymaliśmy w nich po prostu dane do szukania i zapytanie finalnie zwracało indeksy pasujące do wymagań. Następnie mając te indeksy można było bezpośrednio zapytać bazę typy mysql czy postgresql o konkretne dane. Bardzo często tego typu podejście wykorzystuje przy większych wordpressach, gdzie baza danych ma bardzo określoną strukturę, a jednak potrzebne jest wygodne i szybkie szukanie określonych informacji :)
Moim zdaniem nauka korzystania z baz danych to dużo mniejszy zbiór instrukcji, szczególnie jeśli chodzi o proste zapytania. Reszta wynika z doświadczenia podczas wyzwań. Mam na myśli momenty gdy masz dane w jakiejś formie i chcesz uzyskać konkretny wynik zapytania
Podstaw mniej. Jeśli chciałbyś iść w zaawansowane tematy jak funkcje analityczne, programowanie funkcji czy procedur składowanych, administracja bazą danych - no to więcej 🙂