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 3996 dni, 22 godziny, 26 minut temu 229 ź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 4009 dni, 6 godzin, 26 minut temu 186 ź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 4024 dni, 4 godziny, 5 minut temu 116 źrodło rozwiń
Bazy danych i XML 4047 dni, 21 godzin, 2 minuty temu 325 ź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 4054 dni, 4 godziny, 42 minuty temu 280 ź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 4067 dni, 12 minut temu 211 ź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 4073 dni, 1 godzinę, 39 minut temu 195 ź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 4088 dni, 4 godziny, 57 minut temu 151 ź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 4094 dni, 9 godzin, 21 minut temu 613 ź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 4094 dni, 9 godzin, 21 minut temu 170 ź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 4109 dni, 10 godzin, 6 minut temu 178 ź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 4119 dni, 3 godziny, 23 minuty temu 104 ź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 4144 dni, 23 godziny, 38 minut temu 116 ź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 4157 dni, 2 godziny, 26 minut temu 114 źrodło rozwiń
Ten wpis będzie po trosze prywatą ;). Nazbierało mi się kilka różnych skryptów, zazwyczaj są to pojedyncze polecenia SQL, które warto mieć pod ręką. No właśnie ;). Rzecz w tym, że nie zawsze pod tą ręką są, a tu na blogu praktycznie w 99% przypadków by były. Zatem dzielę się nimi, a przy okazji zapewniam sobie ich większą dostępność dla siebie. Na początek skrypt ...
Bazy danych i XML 4164 dni, 1 godzinę, 14 minut temu 219 źrodło rozwiń
Last week I get interesting task to develop. The task was to search input text in PDF file stored in database as FileStream. The task implementation took me some time so I decided to share it with other developers. Here we are going to use SQL Server 2008 R2 (x64 Developers Edition), external driver from Adobe, Full-Text Search technology and FileStream technology.Because this sems a little bit comlicated let`s make this topic clear and do it step by step. 1) Enable FileStream - this part is prett...
Bazy danych i XML 4165 dni, 9 godzin, 12 minut temu 86 źrodło rozwiń
Since SQL SERVER 2005 it is possible to store XML data in database by using dedicated data type - XML. This type solved many programming problems such storing XML data as simple text which was very unpleasant to maintenance and detecting errors in document structure. Now stroring XML data is very simple and requires only the creation of column in XML data type. But sometimes we may want to do reverse operation. I mean generating XML document or fragment from non XML columns in a single SELECT statement....
Bazy danych i XML 4165 dni, 9 godzin, 12 minut temu 32 źrodło rozwiń
In SQL SERVER 2005 the most common data type for storing BLOBs was an IMAGE datatype. When SQL Server 2008 and later SQL SERVER 2008 R2 occured the image datatypes coexists with several new and recomended by Mictosoft BLOB datatypes such varbinary(MAX). Let`s have a look: varbinary(max) /binary(n) variables store variable-length binary data of approximately n bytes, may store a maximum of 2 gigabytes.image variables store up to 2 gigabytes of data and are commonly used to store any type of data fi...
Bazy danych i XML 4166 dni, 3 godziny, 8 minut temu 23 źrodło rozwiń
Zakładam, że polecenia update języka T-SQL nie trzeba nikomu przedstawiać. Jest to jedno z jego czterech podstawowych poleceń. Służy do aktualizacji zawartości kolumn tabeli. Zakładam jednak, że niewiele osób wie, iż polecenie to potrafi także aktualizować...
Bazy danych i XML 4170 dni, 9 godzin, 44 minuty temu 167 źrodło rozwiń
W dzisiejszym wpisie postaram się przybliżyć bazę MongoDB i sposób korzystania z niej za pomocą C#.
Bazy danych i XML 4180 dni, 18 minut temu 321 źrodło rozwiń