Katarzyna Żmuda

Katarzyna Żmuda https://felicana.pl

Temat: Zbiór zadań z SQL

Hej,

Chciałabym bardzo serdecznie polecić swoją książkę, wydaną niedawno przez Helion:
http://helion.pl/ksiazki/sql-jak-osiagnac-mistrzostwo-...

Jest to zbiór zadań z SQL, dla osób, które dopiero zaczynają swoją przygodę, dla baaardzo początkujących :)
Książka zawiera sporo ćwiczeń, gdzie krok po kroku tłumaczę, jak pisać poszczególne zapytania.
Jest też wiele zadań do samodzielnego rozwiązania, sprawdzenia się, czy dobrze się zrozumiało (na przykładowej bazie, którą można ściągnąć ze strony wydawnictwa).

Temat: Zbiór zadań z SQL

Dzień dobry, nie ma Pani wrażenia, że ćwiczenie 4.2 z Pani książki jest rozwiązane błędnie?
Katarzyna Żmuda

Katarzyna Żmuda https://felicana.pl

Temat: Zbiór zadań z SQL

Aaaaaaaaa, faktycznie!
Treść ćwiczenia powinna być "Policz wszystkich pracowników, którzy MAJĄ drugie imię".

Bardzo dziękuję za znaleziony błąd i zwrócenie uwagi.
W ramach podziękowania - jeśli uczy się Pan SQL i ma jakieś pytania lub problemy, to proszę pisać na priv :)

Temat: Zbiór zadań z SQL

Wysłałem jakiś czas temu sugestię do wydawnictwa, ale uwzględnienie przez Helion nawet oczywistych błędów jest trudniejsze do osiągnięcia niż uzyskanie audiencji u papieża :-) Mnie (naj)bardziej pociąga świat Oracle i PL/SQL, ogółem książek do SQL, T-SQL, PL/SQL mam naprawdę sporo, np. nie za bardzo wymagającą pozycję Jasona Pricea czy bardziej sformalizowany wykład Michaela McLaughlina, ale każda wiedza jest wartościowa i wnosi coś na swój sposób. Miłego dnia.

Temat: Zbiór zadań z SQL

Witam, zakupilem i przerobilem cala te ksiazke, ebook z Helion 2015. Ogolnie bardzo brakuje takich czysto praktycznych pozycji z zakresu SQL (chociaz osobiscie preferuje Oracle'a lub PostgreSQL to pracuje rowniez przy MSSQL). Ponizej moje uwagi, wyslalem je do Helionu, ale oni maja sami ze soba chyba jakies problemy bo wyglada na to, ze je zignorowali.

Uwaga ogolna:
1. Wszystkie zadania, w ktorych niezbedne jest policzenie odstepu czasu przy uzyciu DATDIFF (np dla BirthDate lub HireDate z tabeli Employee, przyklad zad 3.16 ze str 127) dla przejrzystosci i przykladow powinny odwolywac sie do koncowej daty podanej w zadaniu, a nie jak jest to napisane 'do teraz'. Ew. powinny byc opisane oba przypadki.

2. Przykladowa baza ma blad projektowy, tabela [Orders] posiada kolumne Ordertotal, ktora jest agregacja danych z kolumn quantity oraz unitcost tabeli [OrderDetails]. Jest to rozwiazanie jakie stosuje sie w bazach typu hurtownia danych/OLAP, ale dla bazy typu OLTP jest to powazny blad projektowy. Takie cos nie powinno miec miejsca w ksiazce, ktora ma uczyc pracy z bazami transakcyjnymi, gdyz czytelnik nabiera zlych umiejetnosci przecacych calej teorii baz OLTP. Po uwzglednieniu tego punktu np rozwiazanie (postac query) zadania 4.7 ze str 159 jest calkowicie inne.
W dalszej czesci ksiazki ten fakt jest uzywany w zad 4.21/str 163, tym gorzej bo nie jest to pomylka autorki, a celowe dzialanie. To tak jakby uczyc dzieci pisania w zeszycie z kalka podkladana za kazdym razem, beda robic notatki dublujac bezsensownie swoja prace przy okazji uczac sie, ze tak byc powinno zawsze.

--zad 1.17/str 52
Blad w tabeli [Employee], pracownik o id=5 ma BirthDate = 1987-01-24, a wg tresci ksiazki powinien miec BirthDate = 1978-01-24

--zad 3.15/str 111
W poleceniu jest by pierwsza litera imienia byla taka jak pierwsza litera nazwiska, natomiast wynik podano dla sytuacji kiedy to pierwsza litera nazwiska jest taka jak pierwsza litera miasta.

--cw 4.23/str 150
W temacie jest 'dla aktywnych pracowników', a wynik podany dla wszystkich

--cw 4.26/str 153
Rezultaty znaczaco roznia sie od przedstawionych w ksiazce

--zad 4.7/str 159
Blad w tabeli [Orders], ordertotal dla order'u o id=3 powinno wynosic 3890, a nie 2890. Wynika to z danych w tabeli [OrderDetails].

--zad 4.9/str 160
Niekonsystencja danych. Z powodu braku nalozonych zaleznosci wystepuje niekonsystencja danch miedzy tabelami [Orders] i [OrderDetails]. Rekord tabeli [Order] o id = 6 zrealizowany przez employee o id=4 nie ma danych powiazanych w tabeli [OrderDetails].

--zad 4.19/str 162
Oczekiwane wyniki sa inne niz dane w bazie, dodatkowo pokazuje sie wynik dla miesiaca Styczen

--zad 4.25/str 164
W temacie zadania jest mowa o zamowieniach z maja 2015, a w tabeli Orders nie ma zadnego zamowienia z tego okresu:
2014-01-14 00:00:00.000
2015-02-21 00:00:00.000
2015-06-29 00:00:00.000
2015-07-24 00:00:00.000
2015-08-02 00:00:00.000

Co wiecej odpowiedz jest niezgodna z tematem zadania, jest mowa o roku i miesacu,a w odpowiedzi niczego na ten temat nie ma.

zad 4.31/str 166
Temat zadania o jednym, a odpowiedz o drugim. Wyraznie jest mowa o zamowieniach, a odpowiedz dotyczy cen podstawowych (jednostkowych).

--cw 5.7/str 182
Rozwiazanie zadania jest ulomne, kierownik wyswietlany jest jednoczesnie jako pracownik (dublowanie danych), znow uczenie zlych nawykow ...

--cw 6.3/str 196
W temacie cwiczenia jest mowa o najmlodszym pracowniku, a podany jest rezulat dla najstarszego

--cw 6.13/str 206
Wyniki sa inne niz podane w ksiazce
Salary DepAvgSalary
Johnatan Davis 1200.00 1952.500000
Linda Brown 2700.00 2800.000000
James Wilson 1000.00 1250.000000
Patricia Wilson 1000.00 1500.000000

--zad 6.6/str 213
Blad w temacie zadania, zamoenienia male maja byc do 1000zl, a nie do 100zl. Niekosystencja danych - w tabeli Orders jest 5 zamowien, a w tabeli OrderDetails sa powiazane 4 zamowienia.



Wyślij zaproszenie do