Początku nauki

0

Cześć. Chciałbym nauczyć się baz danych od początku. Nie ogarniam kompletnie nic w tej tematyce, znam jedynie kilka programów do tego i to wszystko. Jest dość sporo pracy w której konieczna jest znajomość SQL. Podesłalibyście jakieś linki warte uwagi ?

2

Ponieważ moja ulubiona relacyjna baza danych to PostgreSQL to polecam tutoriale przez nich zebrane https://www.postgresql.org/docs/online-resources/

1

A może napisz najpierw, co byś chciał konkretnie robić.

Czy chcesz stawiać serwery i administrować bazami na nich odpalonymi, a może być programistą, który w pracy korzysta z takich baz? A może coś w kierunku (nienawidzę tego określenia) dev-ops? Z bazami tez mają do czynienia ludzie od SAP'ów, ERP'ów i podobnych wynalazków.

0

Ogólnie chciałbym iść w analizę danych

4

Zacznij od kursu SQL - jest tego sporo wszędzie - jak juz nauczysz się pracować z SQLem to potem możesz zainteresować sie książką Analiza danych w biznesie

4

W moim przypadku (Nie jest powiedziane, że tak samo będzie u Ciebie) największy wzrost wiedzy na temat baz danych pojawił się w momencie, gdy zostałem rzucony na głęboką wodę.
Musiałem zrobić tabelę w PostgreSQL, która zgromadzi około 2 500 000 000 ograniczeń prędkości.
Konieczne było zapewnienie bardzo wysokiej wydajności wyszukiwania przy użyciu współrzędnych (Latitude, Longitude).
Dane miały być insertowane paczkami, po 100 rekordów.

Naturalnie rozpocząłem od normalnej tabelki, skrypt ciągle dodawał kolejne i kolejne dane. Po zgromadzeniu kilkuset milionów rekordów, przyszedł czas na zrealizowanie pierwszego selecta.
Niestety działało to fatalnie, nawet indeksowanie nie dawało zadowalających rezultatów.

W kolejnym kroku podzieliłem tabele na bardzo dużo partycji. Każda partycja była kwadratem z odpowiednio wyznaczonymi punktami latitude oraz longitude. Założyłem indeksy.
Co tym razem mogło pójść nie tak? Odpaliłem ponownie skrypt, zgromadziłem kilkadziesiąt milionów rekordów.
Select działał niesamowicie szybko, rezultat był bardzo zadowalający, lecz drastycznie spadła wydajność każdego kolejnego insertu.
Paczka stu rekordów procesowała się około minutę, fatalny czas. Ponownie musiałem szukać przyczyny.

Okazało się, że każdy insert triggeruje aktualizację indeksów, które z każdym kolejnym rekordem były coraz większe.
Finalnie usunąłem indeksy, zostawiłem partycje. Skrypt dodawał rekordy ze stałą prędkością. Gdy już skończyłem procesować dane założyłem indeksy.
Dobrze napisany select z uwzględnieniem warunków partycjonowania działał bardzo wydajnie, więc zadanie zostało rozwiązane.

Do czego zmierzam. Naucz się podstaw SQL. Jak tworzyć tabele, relacje. Później jak pisać selecty, selecty z joinami, zagnieżdżeniami, procedury, triggery.
Jak już to opanujesz, stwórz tabelę zawierającą kilkaset milionów rekordów, zoptymalizuj ją w ten sposób, żeby dało się w wydajny sposób pisać zapytania.

Kończąc - mając solidne, praktycznie podstawy z o wiele większym zrozumieniem przyswoisz każdą książkę w tematyce baz danych.

0

http://www.sql-ex.ru/ tutaj się szybko nauczysz ;)

0

Przerobiłem kurs o SQL Mosha na yt. Myślę, że w miare to ogarnąłem. Polecacie jakieś ćwiczenia dla MySQL ? Tak w ogóle chciałbym zapytać - czy składnia w MS sql server jest taka sama jak w MySQL ?
Polecacie coś jeszcze do poszerzenia wiedzy ?

2

W SQL jest coś takiego jak standard. i standard SQL większość silników (Oralce, MSSQL, MySQL PostgreSQL) w miarę wspiera. Ale każdy z silników ma jakieś dotykowe rzeczy i rozszerzenia. Odpowiadając na twoje pytanie: tak różni sie, ale w ramach standardu jest takie sama. Do poszerzania wiedzy polecam praktykę - najlepiej to iść na jakieś praktyki albo staż. Co do ćwiczeń to tu np cos masz https://www.w3resource.com/sql-exercises/.

0

Cały czas szukam praktyk, pracy, stażu jednak ciężko mi cokolwiek znaleźć

2

@tomek matusiak: praktyk czy stażu szukaj i nie poddawaj się, w końcu coś znajdziesz. Jeżeli nie masz doświadczenia w IT to zacznij od praktyk jako tester, tu SQL na pewno się przyda a przy okazji to dobry wstęp do świata programowania :)
Co do samej nauki baz danych, to jeżeli chcesz zająć się analizą danych to polecam skoncentrowanie się na bazach wykorzystywanych w korporacjach przy dużych systemach lub hurtowniach danych. W praktyce w Polsce jest to Oracle lub MS SQL. Jeśli chodzi o kurs SQL to polecam swój kurs (choć w fazie powstawania) który tworzę: sql kurs lub blog pana Andrzeja pod tym linkiem, co do MS SQL nie znam się na tyle żeby coś polecić ale na pewno coś znajdziesz :)
Co do samej analizy danych pomyśl jeszcze o nauce i poznaniu narzędzi np. do Business Intelligence (Oracle BI, Jaspersorft, tableau i wiele innych) oraz ucz się programować w językach często wykorzystywanych w analityce jak np. Python, R czy JAVA(która jest wykorzystywana wszędzie:^) ).

0
tomek matusiak napisał(a):

Cały czas szukam praktyk, pracy, stażu jednak ciężko mi cokolwiek znaleźć

Wejść z bazy tak z ulicy jest ciężko, bo przeważnie firmy szukają kogoś, kto już coś umie. Tutaj nie bardzo łapię, czy chcesz bazy robić (konfiguracja,instalacja itd) czy raczej być klientem bazy (właśnie analiza danych itd).
IMHO musisz umieć sql (przerób jakiś tutorial, żebyś znał różnicę między joinami itd), jakiś język skryptowy bash (a najlepiej to i pythona) i do tego podstawy zarządzania serwerami i sieciami (żebyś wiedział np. że masz port do serwera bazodanowego zablokowany). Jako entry (ja tak zaczynałem) poszukaj w jakieś dużej korpo pracy jako administrator aplikacji. Nawet jeśli nie ma ofert, to wysyłaj cv, jeśli masz okazję, to osobiście zanoś i zostawiaj na recepcji. Nic nie kosztuje, a może się uda.

2

Hej,
może spodoba ci się praca analityka danych z sql, tak na początek. Nauczysz się wiecej zdobędziesz doswiadczenie i pyk na SQL Developera :D Wielu tak zaczynało.
Tutaj masz link, w jednym miejscu zebrano wszystkie książki do nauki SQL, Power BI itp

http://bideveloper.pl/index.php/2020/04/03/ksiazki-dla-poczatkujacego-bi-developera/

0

ja polecę Ci literaturę na sam początek. Wyniesiesz z tych książek naprawdę bardzo dużo przy małym nakładzie

  1. SQL Rusz głową
  2. SQL. Jak osiągnąć mistrzostwo w konstruowaniu zapytań
  3. SQL. Od podstaw

To są naprawdę rewelacyjne pozycje warte uwagi. Zacznij od pozycji 1. Gdyż jest naprawdę rewelacyjna. Bardzo dużo się z niej dowiesz i bardzo dużo z niej wyniesiesz. Pozostałe też są obowiązkowe. Jeżeli chodzi o literaturę dla zaawansowanych to niestety ciężko na taką trafić.

0

Cześć.

Jak już tak polecamy :)

Poleciłbym filmy od UW-TEAM: tu akurat kurs MySQL

Tutaj - jak postawić i zarządzać własnymi bazami:

Ponadto na kanale jest sporo filmów o szeroko pojętym IT, Serwerach, hostingach - może coś Cię zainteresuje.

PS. Tak luźno, jeśli ktoś z Forumowiczów widział te filmy z UW-TEAM to ciekaw jestem opinii na ich temat. Mnie one dość dobrze siadają jako taka przystawka do dalszego zgłębiania tematu.

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