Simple.Data jest bardzo fajne, ale czasem… niewystarczające. Na przykład na chwilę obecną nie są wspierane podzapytania. Wtedy z pomocą przychodzi biblioteka Simple.Data.RawSql dająca możliwość wysyłania “gołego” SQLa przez Simple.Data.
Bazy danych i XML 2491 dni, 17 godzin, 53 minuty temu 112 źrodło rozwiń
Simple.Data jest super. A ostatnio okazało się jeszcze… supersze. Chciałem wygenerować zapytanie update “doklejające” pewną wartość do kolumny tekstowej. W Postgre byłoby to coś takiego: update people set StatusUpdate = StatusUpdate || "new status," where id=1 Jak widać – robię update jednocześnie odwołując się do wartości kolumny z aktualizowanego wiersza To by akurat nie zadziałało dla pierwszej “iteracji”, bowiem “null || string” zwró...
Bazy danych i XML 2499 dni, 6 godzin, 22 minuty temu 179 źrodło rozwiń
Dzisiaj chciałbym zwrócić Waszą uwagę na pilnowanie typów danych w MS SQLu (i w innych silnikach bazodanowych pewnie też). Czasami przez nieuwagę możemy nieźle namieszać na bazie i nawet początkowo o tym nie wiedzieć.
Bazy danych i XML 2510 dni, 17 godzin, 37 minut temu 264 źrodło rozwiń
W poprzednim artykule została opisana instalacja i konfiguracja wyszukiwania pełnotekstowego dla języka polskiego. Do całości rozwiązania brakowało jednak sposobu zadawania zapytań na indeks FTS, co opisałem w tym artykule. Zadawać zapytania można tylko na kolumnach o typie tekstowym (char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary). Można to zrealizować na dwa sposoby....
Bazy danych i XML 2517 dni, 9 godzin, 18 minut temu 173 źrodło rozwiń
Wyszukiwanie pełnotekstowe, to mechanizm wydajnego przeszukiwania kolumn o charakterze tekstowym. W tym celu zakładany jest specjalny indeks na tabeli, która ma zostać przeszukana. Zapytania wykonywane na takim indeksie pozwalają dokonać językowego przeszukiwania opartego na regułach określonego języka. Zwrócone rezultaty, to obiekty zawierające przynajmniej jedno dopasowanie (tzw. hit). P...
Bazy danych i XML 2554 dni, 10 godzin, 35 minut temu 208 źrodło rozwiń
W trakcie mojej niedawnej prezentacji poświęconej technologii in-memory OLTP w systemie SQL Server 2014 padło pytanie (w pełni zasadne), czy w związku z wprowadzeniem na potrzeby definiowania tabel in-memory możliwości definiowania indeksów inline w składni polecenia CREATE TABLE podobne definiowanie indeksów będzie możliwe dla tradycyjnych tabel. Okazuje się, że tak. W dokumentacji SQL Server 2014 w części poświęconej nowościom w silniku bazodanowym została wymieniona specyfikacja indeks...
Bazy danych i XML 2559 dni, 22 godziny, 43 minuty temu 138 źrodło rozwiń
Ja wiem, że programistyczny świat coraz bardziej zagarniany jest przez różnego rodzaju ORM-y i – co za tym idzie – czysty SQL jest używany coraz rzadziej. Może jednak właśnie z tego powodu warto poruszać związane z nim tematy, aby ci którzy doraźnie lub incydentalnie w nim programują trzymali się jednak pewnych zasad i konwencji. W tym wpisie chciałbym jedną z takich konwencji przybliżyć i tym samym być może zachęcić osoby, które mają do czynienia z SQL-em do jej stosowania. Wspomniana konwencja...
Bazy danych i XML 2595 dni, 23 godziny, 59 minut temu 226 źrodło rozwiń
Zapytano mnie wczoraj czego lepiej używać do konwersji typów w T-SQL, albowiem do wyboru są dwie konstrukcje cast i Convert. Zanim podzielę się odpowiedzią, jakiej udzieliłem ...
Bazy danych i XML 2608 dni, 7 godzin, 59 minut temu 184 źrodło rozwiń
Dziś krótko o pewnym problemie, który jest wydaje się dość powszechny. Tytuł posta dla niektórych czytelników może wyglądać znajomo ponieważ to jest komunikat błędu, z którym można się spotkać podczas pracy z SQL Serverem. Co on oznacza i kiedy można na niego trafić?...
Bazy danych i XML 2623 dni, 5 godzin, 38 minut temu 113 źrodło rozwiń
Bazy danych i XML 2646 dni, 22 godziny, 36 minut temu 323 źrodło rozwiń
Dane w postaci tekstowej mogą posiadać różnorodne formaty. Poszczególne wartości mogą być w nich odseparowane od siebie w dowolny sposób: albo za pomocą dedykowanego znaku, albo poprzez przyjęcie, że każda wartość zajmuje z góry ustalony obszar, a jeśli nie wypełnia jego całości, to jest on uzupełniany spacjami. Same wartości mogą mieć różną postać, wystarczy chociażby pomyśleć o dacie...
Bazy danych i XML 2653 dni, 6 godzin, 15 minut temu 277 źrodło rozwiń
Prosta zagadka. Rozważmy następującą tabelą z dwoma kolumnami: CREATE TABLE Test ( ID Int IDENTITY(1,1) PRIMARY KEY, Name CHAR(10) ) CREATE INDEX IXTESTNAME ON dbo.Test (Name) Teraz na wejściu dostajemy pewien ciąg znaków i przechowujemy go w zmiennej: DECLARE @Variable CHAR(10); SET @Variable = '1234567890'; Chcemy znaleźć wszystkie te rekordy, dla których N pierwszych znaków w kolumnie Name jest takie samo jak N pierwszych znaków w zadanym ciągu. Można to zrobić tak (N=3)...
Bazy danych i XML 2666 dni, 1 godzinę, 45 minut temu 209 źrodło rozwiń
O Simple.Data parokrotnie już pisałem na blogu. W aktualnym projekcie używamy tej biblioteki dość intensywnie – tak naprawdę zastąpiliśmy nią całkowicie NHibernate i jest to nasz jedyny sposób na kontakt z bazą. W większości scenariuszy w tym systemie ów wybór sprawdził się znakomicie. Ma to także swoje wady, ale o tym może kiedy indziej. Problem pojawia się w momencie, gdy chcemy wykorzystać Simple.Data z bazą danych, która nie jest...
Bazy danych i XML 2672 dni, 3 godziny, 12 minut temu 192 źrodło rozwiń
Zgodnie z zapowiedzią pora na kolejną garść "gotowców" – skryptów, które mogą się przydać. Na początek sposób na przetwarzania prostych formuł (jedynie dodawanie i odejmowanie). Załóżmy że mamy takie wyrażenie: A1+A2-A3, a dodatkowo wartości jego składników przechowywane są w tabeli...
Bazy danych i XML 2687 dni, 6 godzin, 31 minut temu 149 źrodło rozwiń
Simple.Data jest lekkim frameworkiem dla .NET, który zapewnia dostęp do bazy w stylu ORM, ale bez obiektów (Object), bez wymogu łączenia się do relacyjnej bazy danych (Relational) a także bez generowania relacji (Mapping)! Wszystko dzięki typom dynamicznym w .NET 4!
Bazy danych i XML 2693 dni, 10 godzin, 55 minut temu 611 źrodło rozwiń
Niedawno opublikowałem zestaw gotowych skryptów SQL, które mogą się przydać w konkretnych sytuacjach lub posłużyć jako wzorzec w innych przypadkach. Ponieważ – w ramach porządków – znowu uzbierało mi się kilka takich skryptów – i je postanowiłem zaprezentować. Tym sposobem samoistnie powstał mi cykl. Na początek przykład ...
Bazy danych i XML 2693 dni, 10 godzin, 55 minut temu 169 źrodło rozwiń
Jeśli kiedykolwiek chciałeś stworzyć xml'a z obiektu, do którego klasy nie mogłeś modyfikować, a nie wystarczał Ci .net-owy XmlSerializer, sprawdź tą bibliotekę, może tobie też się przyda.
Bazy danych i XML 2708 dni, 11 godzin, 39 minut temu 176 źrodło rozwiń
Tak się złożyło, że ostatnio dużo czasu w pracy spędzam nad MS SQL z wykorzystaniem SQL Management Studio 2012 i czuję mały niedosyt. Nie mówię, że edytor jest zły czy coś, ale przeglądanie informacji w oknie "Object Explorer" przy ~200 procedurach składowanych, ~100 funkcjach i 3-4 wyzwalaczach na każdą z tabel nie należy do przyjemności (nie wspominając już o straconym czasie). Tym bardziej jeżeli wchodzi się w głąb zależności pomiędzy obiektami, szaleństwo. Może gubią mnie moje przyzwyczajenia z Visua...
Bazy danych i XML 2718 dni, 4 godziny, 57 minut temu 103 źrodło rozwiń
Few days ago I had to create very simple database, and there was a need to expose API, so first thought was no RDBM!
Bazy danych i XML 2744 dni, 1 godzinę, 11 minut temu 114 źrodło rozwiń
Wyobraźmy sobie, że mamy jakiś zestaw zmiennych, którym chcielibyśmy nadawać wartości w zależności od kategorii, która je opisuje. Jednocześnie – pomimo przynależności do tej kategorii – jeżeli wartość zmiennej dla owej kategorii nie została zdefiniowana – chcielibyśmy, aby taka zmienna używała wartości domyślnej. Zakładamy też, że wartości domyślne posiadają wszystkie zmienne i jeśli zajdzie potrzeba uzależnienia wartości zmiennej od posiadanej przez nią kategorii, nie ma to oznaczać...
Bazy danych i XML 2756 dni, 4 godziny temu 113 źrodło rozwiń