Książka o bazach danych dla zaawansowanych programistów

0

Wśród kilkudziesięciu książek informatycznych jakie mam, brakuje pozycji poświęconej typowo bazom danym. Jestem raczej zaawansowanym programistą, ale w ciągu ostatnich 2 lat pracowałem w warstwach programu dość sporo wyższych niż SZBD i chciałbym odświeżyć wiedzę. Mam sporo fajnych materiałów jeszcze z czasów studiów, ale one dotyczą raczej Oracle'a (którego raczej nie będę używał w przyszłości), mało w nich praktyki, nie są książkami (a ja LUBIĘ książki!) i... i nie mam czego polecać innym ludziom, którzy pytają mnie się o coś na temat baz danych.

Nie znalazłem żadnego artykułu na 4p.net traktującego o książkach do baz danych. Znalazłem jeden dosyć fajny temat (z 2007 roku), w którym autor pytał prawie że o to samo, co ja. Niestety, nie otrzymał tam satysfakcjonującej odpowiedzi.

Napiszę w punktach wymagania odnośnie książki:
*Ma dotyczyć konkretnie SQL, najlepiej MySQL.
To ma być praktyczna pozycja. Nie tylko dla mnie. Załóżmy, że nie interesuje nas historia baz danych; nie chcemy być wybitnymi specjalistami wyłącznie z tej kategorii, tylko chcemy mieć wiedzę umożliwiającą profesjonalne użycie popularnych baz danych w naszych aplikacjach.
*Ma pokrywać podstawy, ale bardzo skrótowo.
Raczej dla przypomnienia. A jeśli ktoś miałby się uczyć SQL od zera, to zakładamy, że będzie na tyle ogarnięty, że znajdzie sobie inne materiały pomocnicze w razie zbyt szybkiego tempa na początku książki. (Ja osobiście przez kilka lat rutynowo siedziałem w bazach danych; na studiach również miałem kilka dobrze prowadzonych semestrów z tej dziedziny -- nie jestem noobem, tylko zardzewiałym człowiekiem)
*Ma dochodzić do dosyć zaawansowanych rzeczy.
Ponownie: nie chodzi nam o książkę dla noobów. Po opanowaniu materiału z książki powinniśmy mieć przyzwoitą wiedzę. Taką, żebyśmy się nie wstydzili stworzyć bazę danych dla jakiejś średniej wielkości aplikacji.
*Dobrze żeby uczyła również praktycznego projektowania baz danych. Najlepiej z branży webowej
To nie absolutny mus, ale siedzę głównie w tej właśnie branży i również ludzie z tych okolic pytają się mnie o jakieś książki dla nich.
*Nie musi się bardzo zagłębiać w wydajność, ani w wewnętrzne mechanizmy bazy danych.
Zastanawiałem się np. nad tą książką, ale uznałem, że jest zbyt specjalistyczna; brakuje w niej skrótowego podsumowania SZBD.
*Musi być książką (nie żadnym tutorialem) i musi być po polsku.
Czytam po angielsku swobodnie, ale książki kupuję w zasadzie wyłącznie po polsku, bo to choćby dobre źródło terminologii.
*Plz, niech nie będzie sucharsko napisana.
Istnieją książki świetnie napisane. Z pasją, charakterem, duszą. Suche biblie słabo się czyta. Wiele książek łączy przyjemne z pożytecznym i mam nadzieję, że wśród tych o bazach danych również takowe istnieją.

Mi osobiście chodzi o przyjemne i bezbolesne przypomnienie sobie wiadomości o bazach danych, konkretnie o MySQL lub czymś podobnym. Jasne, nawet w tym momencie mógłbym sklecić jakąś bazę danych i akurat w branży webowej byłaby pewnie lepsza niż większość istniejącego chłamu (niektórzy nie słyszeli nawet pojęcia "postać normalna" [pierwsza!]). Ale w tym momencie, po paru latach przerwy, nie chciałbym zabierać się za projekt, w którym to JA odpowiadałbym za bazę danych, bo na tę chwilę nie mam wystarczających kompetencji (na profesjonalnym poziomie).

Zabieram się do tych baz danych jak sójka za morze. Nie chce mi się czytać samych specyfikacji i materiałów w necie, a non stop czytam jakąś techniczną książkę i myślę, że odpowiednia pozycja z BD dałaby mi jakże potrzebny impuls :).

Jakieś propozycje?

0

I to ma być jedna książka? Chyba takiej nie znajdziesz. Ze swojej strony mogę polecić to http://helion.pl/ksiazki/modelowanie_danych_sharon_allen,modany.htm, która spełnia kilka punktów. Co prawda brak tu podstaw SQLów, procedur i innych porad w stylu "załóż indeksy", ale opisuje w sposób praktyczny (bez nadmiaru teorii) proces tworzenia bazy danych. Taki wstęp, gdzie można poczuć esencje baz danych, zanim się przejdzie do zaawansowanych zagadnień.

0

Jeśli takiej nie ma, to będę musiał zweryfikować wymagania lub wziąć książkę, która spełnia tylko część z nich. Lub też zrezygnuję z zakupu.

Wymagań może się wydawać dużo, ale zauważ, że nie chcę na maksa dogłębnie przerabiać każdego elementu dotyczącego baz danych. Żeby być totalnym specjalistą z dziedziny BD, z pewnością nie wystarczy opanowanie materiału z jednej książki.

Wydaje mi się, że istnieją książki dotyczące innych języków/zagadnień, które spełniałyby analogiczne wymagania. Najlepszym przykładem, jaki potrafię wymyślić, jest najnowsze wydanie "PHP i MySQL. Vademecum profesjonalisty" (ja mam jej sporo starsze wydanie). Pokrywa nawet podstawy (włącznie z instrukcjami warunkowymi) i -- dalej -- bardziej "zaawansowane" elementy języka (normalne programowanie obiektowe) wraz z funkcjami bibliotecznymi (np. wyrażenia regularne). Całkiem poważnie podchodzi do kwestii bezpieczeństwa. Nie zabrakło też paru praktycznych projektów lub opisu bibliotek do wykonywania często spotykanych czynności (manipulacja plikami PDF czy obrazkami).

Jest tam też co nieco o MySQL właśnie i jeśli nie znajdę niczego lepszego, to kupię na początek właśnie nowe wydanie "Vademecum profesjonalisty". Nie będzie to dla mnie ideał, bo chciałem się bardziej skupić na PHP (tutaj ze 3/4 książki to jednak PHP), no i mam już starsze wydanie.

Są także całkiem kompaktowe książki, które spełniają większość stawianych przeze mnie zagadnień, ale dotyczą "niewielkich" technologii. Np. Kuloodporny Ajax. Zaczyna się od... wprowadzenia do JavaScriptu (!), a w dalszej części opisuje zasady pisania kodu ajaxowego o bardzo wysokiej jakości, ze szczyptą praktycznych projektów i z uwzględnieniem nawet kwestii dostępności. Ajax to prosta technologia, ale książeczka jest naprawdę malutka.

Takie perełki czasami ciężko jest znaleźć (choć wspomniana książka od PHP stała się akurat bestsellerem), a ja nie znam się na literaturze dotyczącej baz danych. Zawsze uważałem, że na studiach mieliśmy na tyle dobre materiały i wykładowców, że to mi wystarczy. Ale nieużywane organy zanikają ;) i mi zanikł pewien fragment mózgu, który chciałbym teraz odbudować. Założyłem więc niniejszy topic.

Dzięki za propozycję książki. Przejdę się dzisiaj po księgarniach i trochę powęszę, może będę miał okazję do niej zajrzeć.

0

Nie wiem czy książka jest dostępna w ojczystym języku, ale jak tak szukałem coś na temat MySQL, często przewijała się ta pozycja jako dobra:

http://www.amazon.com/High-Performance-MySQL-Optimization-Replication/dp/0596101716/ref=pd_sim_b_1

O nawet jest u nas dostępna:

http://helion.pl/ksiazki/wysoko_wydajne_mysql_optymalizacja_archiwizacja_replikacja_wydanie_ii_baron_schwartz_peter_zaitsev_vadim_tkachenko_jeremy_d_zawodny_arjen_lentz_derek_j_balling,wydmsq.htm

Przy okazji chyba się sam skuszę.

0

@GhostDog:
Ha, dzięki, ale linkowałem do niej w pierwszym poście ;). Oznaczyłem ją jako "odrzuconą" w tym momencie, choć już dawno rzuciła mi się w Empiku jako ciekawa pozycja na przyszłość.

Póki co jednak muszę się ogarnąć z prostszymi, bardziej praktycznymi w mniejszych projektach zagadnieniami. W tamtej książce podstaw nie w ogóle, nawet średnio-zaawansowanych rzeczy nie ma chyba za wiele. Za to są wewnętrzne mechanizmy MySQL, informacje o konfiguracji serwera etc. Na razie są to dla mnie rzeczy... niekrytyczne. W przypadku dużych i bardzo obleganych serwisów zaawansowane sposoby zapewniania wysokiej wydajności mają ekstremalne znaczenie, ale nie mam zamiaru szarpać się na takie serwisy po przeczytaniu jednej książki o MySQL po takiej przerwie. W dużych projektach na razie zostawiłbym wciąż warstwę bazodanową innym, bardziej doświadczonym w tej dziedzinie programistom. Ja niemal w ogóle nie muszę pracować bezpośrednio na bazach danych w tym momencie, ale uznałem, że nie mogę pozwolić na dalsze rdzewienie wiedzy i zgłoszę się do paru rzeczy na ochotnika, ew. sam sobie wymyślę jakieś projekty. Nawet jednak przed tym chciałbym zrobić sobie małe wprowadzenie książkowe. Jestem zdania, że trzeba mieć jednak minimalny poziom aktualnej, świeżej wiedzy, by pisać potencjalnie kod produkcyjny.

Natomiast potem będę miał tę książkę jak najbardziej na oku. MySQL to szybka, tania/darmowa baza o coraz większych możliwościach, więc raczej mi nigdzie nie ucieknie.

Póki co połaziłem po księgarniach. Propozycji studenciaka nawet nie było na półkach. Z braku laku kupiłem wspomniane przeze mnie nowe wydanie "PHP i MySQL. Vademecum profesjonalisty". Zbyt dużo osób mnie się pyta o tą książkę, żebym jej nie przeczytał. Okazuje się też, że różnice w porównaniu z moim wydaniem są gigantyczne, jeśli nie całościowe. Może nawet to, co tam piszą o MySQL wystarczy mi jako bodziec do szybkiego startu i potem od razu przeskoczę do którejś z wymienionych wyżej, bardziej zaawansowanych książek.

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