Bug istnieje, oto dowód

Mało znany błąd SQL Servera dotyczący funkcji HASHBYTES w połączeniu z kolumną wyliczaną.

Dziś pchełka SQL o przewrotnym tytule, dzięki któremu mam cichą nadzieję ściągnąć tu jakiegoś wojującego… no nie wiem właściwie kogo. W każdym razie rzecz będzie o ciekawym i bardzo mało znanym błędzie SQL Servera, na który miałem niedawno okazję się nadziać (na szczęście bezboleśnie).

Jak powszechnie wiadomo[citation needed], jedną z bardziej wydajnych metod na sprawdzenie spójności danych jest ich haszowanie za pomocą funkcji skrótu. Czytaj dalej Bug istnieje, oto dowód

Pchełki SQL: Szanse kolizji

O synchronizacji danych i szansach kolizji kryptograficznych.

Dzisiejsza Pchełka nie zawiera ani jednej linii kodu SQL. Da się? Da się!

Jednym z możliwych podejść do synchronizacji danych między dwiema dużymi tabelami na SQL Serverze jest używanie funkcji haszującej.

W praktyce wygląda to tak: Czytaj dalej Pchełki SQL: Szanse kolizji

Pchełki SQL: między językami

Od tyłu też można, tylko bez palindromów. Po angielsku i po polsku.

Dziś Pchełka dość krótka, za to całkiem interesująca, ponieważ podczas jej pisania poznałem nową konstrukcję języka SQL (a konkretnie jego microsoftowej odmiany czyli TSQL).

W ramach zabaw z nową wersją SQL Servera zaciągnąłem sobie do bazy słownik polski oraz angielski.

Ograniczyłem się do słów o długości nieprzekraczającej 15 znaków – tyle bowiem ma w każdą stronę plansza do Literaków. Czytaj dalej Pchełki SQL: między językami

Pchełki SQL: Próba konwersji

Wpis głównie dla bazyli, o przydatnej funkcji TRY_CONVERT().

Patrzymy na okno i wiemy od razu, że to jest okno, prawda? Patrzymy na głowę, nieważne czyją – i od razu wiemy, że to jest głowa. Patrzymy na wieszak i prawie na pewno nie pomylimy go z glebogryzarką. Potrafimy kategoryzować w zasadzie odruchowo i bez większych oporów.

Komputery, może poza naiwnymi namiastkami sztucznej inteligencji, które co i rusz ktoś gdzieś próbuje promować, tak nie mają. Im trzeba powiedzieć konkretnie: to jest liczba siedem. A to jest tekst „siedem”. I tak dalej. Czytaj dalej Pchełki SQL: Próba konwersji

Pchełki SQL: kompresja, DotNet i triggery

O kompresji dużych danych na SQL Server 2012.

Dziś pchełka nieco bardziej zaawansowana niż zwykle, za to dość przydatna.

Jak powszechnie wiadomo[citation needed], dane komputerowe można kompresować. Robi się to z rozmaitych przyczyn, z których główna to – uwaga, niespodzianka – próba zaoszczędzenia miejsca, które owe dane zajmują. Czytaj dalej Pchełki SQL: kompresja, DotNet i triggery

Pchełki SQL: wiele kolumn i operator IN

O deduplikacji stałych w zapytaniach SQL.

Dziś króciutka pchełka, która narodziła mi się całkiem niechcący.

Tym razem zamiast wstępów od razu lecimy z gęstym. Czytelnik zorientowany sobie poradzi, a Czytelnik niezorientowany prawdopodobnie zamknął artykuł już po przeczytaniu tytułu 😉 Czytaj dalej Pchełki SQL: wiele kolumn i operator IN

Tabele temporalne

Już w latach 90 zeszłego stulecia firma Postgres próbowała zrealizować ideę tabel temporalnych, jednak ze względu na bardzo wysokie koszty składowania ogromnych ilości danych pomysł zarzucono.

W roku 2013 tabele temporalne trafiły do kolejnej wersji specyfikacji języka SQL.

Od niedawna wszyscy więksi dostawcy baz danych przejęli się tematem i zaczęli implementować tę opcję w swoich produktach. Jak na razie udało się to kilku firmom: Oracle, Postgres, Teradata, IBM DB2, Microsoft, Cockroach DB oraz MarkLogic (ten ostatni nie jest bazą stricte SQL-ową, ale mimo wszystko zaimplementowali „temporalność” w swoim produkcie). Czytaj dalej Tabele temporalne

Pchełki SQL: małe – duże

Praca programisty jest – przynajmniej w teorii – fajna, prosta i przyjemna. Dostajemy projekt, dostajemy dokumentację, z której jednoznacznie wynika co mamy na wejściu i co chcemy dostać na wyjściu, siadamy, piszemy kod, testujemy kod, prosimy kilku użytkowników, żeby przetestowali wyniki i jak wszyscy są zadowoleni, wrzucamy kod do ogólnego użytku, wystawiamy fakturę i voila, gotowe.

A zaraz potem przybiega pierdzący tęczą jednorożec w towarzystwie reniferów, Świętego Mikołaja i uczciwego polityka… Czytaj dalej Pchełki SQL: małe – duże