[C++] Bazy danych i C++ -> książka

0

Witam,
Od jakiegoś czasu zacząłem uczyć się programować w C++. Niestety z braku czasu jeszcze go do końca nie ogarnąłem a już zacząłem się martwić o przyszłość :/.

W przyszłości chciałem zrobić sobie program, który będzie analizował duuużo danych. Przykładowo może to być temperatura z każdego dnia z ostatnich 10 lat i inne zmienne, które powinny na nią wpływać (np. siła wiatru, zachmurzenie, wilgotność etc.). Dane te muszę gdzieś zapisać...
Moje pytanie brzmi czy ja te dane powinienem trzymać w plikach czy lepiej wykorzystać do tego bazę danych? Z tego co się dowiedziałem dla dużej ilości danych lepiej wykorzystać bazy danych. Niestety ja nic o nich nie wiem a jest ich trochę: SQL, MySQL, Orade i inne. Przy ich opisie zazwyczaj odnosi się do serwera a ja raczej nie w tym kierunku chciałem się tego uczyć :/.

Czy może mi ktoś wyjaśnić co będzie najlepiej pasowało do C++? Bardzo proszę o wyjaśnienie które bazy danych powinny mnie najbardziej interesować pod kontem programów pisanych w C++ (czy to będzie baza SQL czy MySQL etc.) i jakie książki polecacie.

Chciałem kupić sobie jakąś książkę ale nie chcę kupić czegoś co mi się później nie przyda... :/

Pozdrawiam i z góry dzięki

0

Używając C++ można się połączyć z praktycznie każdą bazą danych. Od accessowej po oracla.
Ja osobiście do tego celu używam ADO (z przyczyn wyższych ;)), ale całkiem możliwe, że jest coś prostszego, lepszego, wygodniejszego or whatever.

Ogólnie na pewno się przyda znajomość języka SQL (chociaż podstawy). Jeżeli nie zamierzasz tworzyć i utrzymywać serwerów baz danych to nie musisz się tego uczyć. Baza danych dla piszącego aplikację z niej korzystającą może być czarną skrzynką.

//jak piszę głupoty to proszę mnie zbesztać ;)

0

Hey byku_guzio, bardzo dziękuję za odpowiedź :)
Dobrze wiedzieć, że mogę będę mógł się połączyć z każdą bazą danych :).
Mam jednak jeszcze małą prośbę: czy mógłbyś mi pomóc w takim razie z wyborem, których baz najlepiej byłoby się zacząć uczyć :). Postanowiłem, że będzie to SQL bo jest chyba najbardziej znane ale mamy 3 możliwości: SQL, SQL Server i MySQL -> czy możesz mi napisać czym one się między sobą różnią i który będzie najlepiej współgrał z Visual C++?
MySQL występuje praktycznie zawsze z PHP, jeśli dobrze zgaduję to SQL server dot. baz danych na serwerze - pytanie tylko czy jak będę robił stronkę www i będę chciał się wspomóc bazą danych to czy ona będzie właśnie SQL server? Sorry ale mam mały mętlik w głowie :(. No i pozostaje tradycyjna nazwa czysty SQL - czy mogę go wykorzystać zarówno na serwerze (do mojej strony www) oraz na komputerze stacjonarnym (dla różnych aplikacji)?
Jeśli znasz dobrze temat to prosiłbym również o propozycję jakiejś książki -> domyślam się, że dużo informacji jest na necie ale książka to zawsze książka :D
Pozdrawiam i jeszcze raz dziękuję :)

0

Tematu dobrze nie znam - szczególnie teoria baz danych to dla mnie problem.
Książek też nie znam, ale chyba najpierw możesz poszukać info na google.

Może zacznij od tego: http://pl.wikipedia.org/wiki/SQL

0
NewBe napisał(a)

Postanowiłem, że będzie to SQL bo jest chyba najbardziej znane ale mamy 3 możliwości: SQL, SQL Server i MySQL -> czy możesz mi napisać czym one się między sobą różnią i który będzie najlepiej współgrał z Visual C++?
MySQL występuje praktycznie zawsze z PHP, jeśli dobrze zgaduję to SQL server dot. baz danych na serwerze - pytanie tylko czy jak będę robił stronkę www i będę chciał się wspomóc bazą danych to czy ona będzie właśnie SQL server? Sorry ale mam mały mętlik w głowie :(. No i pozostaje tradycyjna nazwa czysty SQL - czy mogę go wykorzystać zarówno na serwerze (do mojej strony www) oraz na komputerze stacjonarnym (dla różnych aplikacji)?

SQL to język do operowania na bazach danych. Dzięki nie mu możesz taką bazę utworzyć, w ramach niej utworzyć tabele, zapisywać do nich dane, pobierać je, usuwać, itd.

MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, to nazwy systemów baz danych. Upraszczając - programów, które instalujesz i które zarządzają bazami danych, do których możesz wysłać polecenie języka SQL, a one je wykonają.
To jaki system baz danych sobie zainstalujesz to Twój wybór, musisz go dokonać w zależności od potrzeb i funduszy jakimi dysponujesz.

Rozumiesz teraz?

0

Kolejny raz bardzo Ci dziękuję somekind za odpowiedź :)

Mylące jest dla mnie SQL Server, gdyż kojarzę to z serwerem a nie komputerem stacjonarnym :/.
Rozumiem w takim razie, że jak ściągnę sobie bazę danym SQL Server 2008 Express Edition na mój stacjonarny komputer (wersja darmowa) to będę mógł robić na niej praktycznie wszystko (tzn. w zakresie "Express"-a). Tzn. nie muszę posiadać żadnego serwera lub innych urządzeń.

Bardzo proszę o potwierdzenie tego - chciałem w takim razie kupić sobie książkę o SQL Serwisie i nie chcę mieć żadnej niespodzianki :P.

0

Aha no i oczywiście bardzo proszę również o potwierdzenie, że wspomniany SQL Server 2008 Express Edition będzie bez większych problemów funkcjonował z językiem Visual C++.
Książki jakie zamierzam kupić to:

  • Modelowanie danych w SQL Server 2005 i 2008 Przewodnik oraz
  • Serwer SQL 2008 Usługi biznesowe Analiza i eksploracja danych
    Mam nadzieję, że czegoś się z nich nauczę :P

Pozdrawiam i dziękuję za pomoc!

0
NewBe napisał(a)

Rozumiem w takim razie, że jak ściągnę sobie bazę danym SQL Server 2008 Express Edition na mój stacjonarny komputer (wersja darmowa) to będę mógł robić na niej praktycznie wszystko (tzn. w zakresie "Express"-a). Tzn. nie muszę posiadać żadnego serwera lub innych urządzeń.

Jasne, ten "serwer" to tylko nazwa dla programu, który instalujesz na dowolnym komputerze. :)
Jeszcze tylko uściślę trzy rzeczy:

  • teraz najnowszą wersją jest SQL Server 2008 R2;
  • źle się wyraziłeś, bo SQL Server to nie jest to baza danych lecz System Zarządzania Bazami Danych. Baza danych to Twoje dzieło, a SZBD musisz mieć, żeby mieć do niej dostęp;
  • SZBD działa zazwyczaj jako usługa systemu, to znaczy, że nie masz żadnego GUI do zarządzania nim. Dlatego jeśli będziesz ściągał, to od razu z Management Studio - jest to program, który da Ci łatwy graficzny dostęp do zarządzania Twoimi bazami danych.

Co do dostępu, to pewno potrzebujesz odpowiednich bibliotek dostosowanych do danego SZBD dla swojego języka i tyle.

Jeśli chodzi o książki - druga obejmuje raczej zaawansowane narzędzia, których darmowa wersja SQL Server nie udostępnia. A pierwsza nie w wygląda porywająco.
Kup sobie lepiej coś ogólnie o składni SQL. I w ogóle czytanie zacznij tutaj: http://osilek.mimuw.edu.pl/index.php?title=Bazy_danych

0

Dziękuję ślicznie za odpowiedź :)
Teraz mnie czeka trochę nauki :) ale wszystko małymi kroczkami: C++ -> Visual C++ -> bazy danych -> mój super program :D -> i więcej moich własnych programów :P
Oldschoolowo :)

Pozdrawiam!!!

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