W 1970 roku Edgar Frank Codd przedstawia koncept relacyjnej bazy danych w swojej pracy pt. „A Relational Model of Data for Large Shared Data Banks„. Blisko pół wieku później programiści nadal wykorzystują dzieło Codd-a w swoich projektach korzystając z MS SQL Server, PostgreSQL itd. Istnieje jednak stosunkowo nowy nurt, którego zadaniem jest dopełnienie funkcjonalności swojego poprzednika. Mowa o bazach danych NoSQL. I to właśnie o tym nurcie porozmawiałem w drugim odcinku DevReview. Moim gościem był Raf...
Bazy danych i XML 3124 dni, 19 godzin, 8 minut temu 118 źrodło rozwiń
Jakiś czas temu w ramach serii CodeTip podzieliłem się z Wami trikiem, który pozwalał w Entity Framework na aktualizację property bez uprzedniego pobrania obiektu. W razie czego link do wpisu macie tu. Jeden z czytelników zwrócił uwagę na możliwe użycie biblioteki, która ułatwia cały proces, a w dodatku oferuje kilka ciekawych opcji, niedostępnych w EF. Po zapoznaniu się z tym „wynalazkiem” jestem bardzo mile zaskoczony, w związku z czym chciałbym przedstawić jego możliwości. Batch update i delete ...
Bazy danych i XML 3129 dni, 4 godziny, 55 minut temu 338 źrodło rozwiń
In the previous post I’ve written about new features in Neo4j. One of the new game changing functions were stored procedures. But, as I experienced, getting them to run on a Windows / .NET environment wasn’t that easy, and I was seeing “There is no procedure with the name …” more often then I wished for. So here is a short how to. Hope to save you some googling.
Bazy danych i XML 3145 dni, 7 godzin, 2 minuty temu 25 źrodło rozwiń
Last week I had the opportunity to attend Graph Connect Europe. Many great sessions, but one thing topped them all - Neo4j 3.0 is out! And as with previous major release (it introduced Cypher) there are many bug fixes, tweaks, speed improvements, but here are my personal favorites.
Bazy danych i XML 3149 dni, 1 godzinę, 48 minut temu 28 źrodło rozwiń
Object-Relational Mapping (w skrócie ORM) powstał, aby pogodzić dwa niekompatybilne ze sobą światy: obiektowy oraz relacyjny. Dzięki zastosowaniu ORM-ów programiści nie muszą martwić się ręcznym tworzeniem połączeń do bazy danych czy chociażby pisaniem klasycznych zapytań SQL. Wszystko co musimy zrobić to pobrać framework i dokonać prostej konfiguracji. Niestety jak to zwykle w życiu bywa, każdy kij ma dwa końce. I o ile ORM-y powstały, aby ułatwić pracę każdemu z nas, o tyle brak zrozumienia jak one dzi...
Bazy danych i XML 3150 dni, 2 godziny, 16 minut temu 479 źrodło rozwiń
Witam serdecznie, po zmaganiach z architekturą oraz logowaniem użytkownika, zbliżamy się nieubłaganie do implementowania pierwszych widoków aplikacji. Zanim to jednak nastąpi warto omówić jeszcze jeden temat, który nie będzie ściśle związany z logiką biznesową. Projektując wszelkiego rodzaju systemy informatyczne zdarza się (niestety często), że proces „tworzenia” bazy danych kończy się po wykreowaniu odpowiedniej jej struktury. Model fizyczny jest spójny, generujemy zapytania SQL, execute i gotowe. Czy...
Bazy danych i XML 3159 dni, 8 godzin, 8 minut temu 244 źrodło rozwiń
0Posted on by Dariusz Pawlukiewicz Czołem, jeśli coś mogę powiedzieć o Wojskowej Akademii Technicznej to fakt, że poziom wymagany od studentów na przedmiocie Bazy danych był wysoki. Pisanie zapytań SQL na kartce z kilkoma klauzulami join, group by, select itd. to był dla mnie niepojęty kosmos. Sporo pojawiło się także teorii, którą później w mniej lub bardziej zgrabny sposób przytoczę. Kiedyś jednak natrafiłem na artykuł, który zahaczał o temat poziomów izolacji (ang. isolation level). Co to jest? Czy...
Bazy danych i XML 3175 dni, 8 godzin, 18 minut temu 430 źrodło rozwiń
Czasami tak projektujemy naszą aplikacje, że każdy model ma jedną lub kilka cech wspólnych. Od najbardziej oczywistych, jak na przykład ID, poprzez czas i datę utworzenia, modyfikacji, czy-usunięty, czy-opublikowany i inne czy-? W zależności od poziomu lenistwa cechy te definiowane i utrzymywane są w każdej z klas z osobna lub w jednym lub-lub w kilku interfejsach który jest implementowany przez modele.Do momentu pisania posta byłem gościem, który posiadał jeden wsp...
Bazy danych i XML 3196 dni, 21 godzin, 7 minut temu 158 źrodło rozwiń
Dzisiaj podstawy, ale wcześniej nie miałem potrzeby skorzystania z funkcji GroupJoin. Myślę, że prosty przykład jest najlepszą dokumentacją. Dosyć częstą używaną funkcją jest GroupBy. Jeśli mamy np. listę zamówień w postaci (IdCustomer, Name), wykonując GroupBy na IdCustomer otrzymamy słownik, gdzie kluczem jest identyfikator zamówienia, a wartością lista zamówień danego klienta. GroupJoin, jak sama nazwa sugeruje jest połączeniem Join z GroupBy. Załóżmy, że mamy nast...
Bazy danych i XML 3196 dni, 21 godzin, 7 minut temu 170 źrodło rozwiń
EXPECTEXCEPTION oraz EXPECTNOEXCEPTION. SQL Server oczywiście nie ma jako takich wyjątków, znanych ze świata C#. Mamy za to pojęcie Severity Level. Określa one jak bardzo dany błąd jest poważny. Stwórzmy procedurę, która próbuje użyć nieistniejącej tabeli: CREATE PROCEDURE DoSomething AS BEGIN SELECT * FROM NOTEXISTINGTABL...
Bazy danych i XML 3204 dni, 7 godzin, 46 minut temu 41 źrodło rozwiń
TSQLT – IZOLACJA TABEL Jedną z największych korzyści z tSQLt jest moim zdaniem izolacja danych. Załóżmy, że mamy na następującą tabelę...
Bazy danych i XML 3218 dni, 4 godziny, 46 minut temu 98 źrodło rozwiń
Często logika zawarta w procedurach jest dość skomplikowana. W zależności od projektu, może okazać się, że potrzebujemy testów jednostkowych. Dzięki tSQLt możemy testować tSQL w analogiczny sposób do nUnit+moq, czyli:Dane po wykonaniu testu są usuwane. Każdy test jest wykonywany w transakcji. Nie musimy się zatem martwić, że testując coś będziemy zaśmiecać bazę danych.Każdy element może być odizolowany, czyli możemy stworzyć mock dla tabeli, procedury lu...
Bazy danych i XML 3226 dni, 3 godziny, 46 minut temu 211 źrodło rozwiń
Z SQL Injection jest jak z polio czy odrą: w drugiej dekadzie XXI wieku możemy o nim zapomnieć. Wystarczy się zaszczepić, czyli: nie sklejać ręcznie poleceń SQL. Prawda? “Użyj parametrów z ADO.NET, a będzie cacy” – mówili. “Użyj Simple.Data, a złęgo obawiać się nie musisz” – mówili. Ależ kłamali! Jakież przeogromne było moje zdziwienie, gdy niedawno dostałem buga mówiącego, iż “coś dziwnego się dzieje jeśli w nazwie rekordu wstawi się apostrof”. WTF, jak to? Oczywiście sugestią naprawienia błędu od str...
Bazy danych i XML 3370 dni, 6 godzin, 12 minut temu 278 źrodło rozwiń
AML (Anti-Money Laundering), zwane potocznie przeciwdziałaniem praniu brudnych pieniędzy, ale... również i wspieraniu terroryzmu, są to działania, mające na celu wykrycie i odpowiednie zaraportowanie podejrzanych transakcji, a nast. ich zablokowanie, włącznie z zamrożeniem konta osob podejrzanych. Wymogi stosowania AML w spółkach finansowych nakładają stosowne organy, takie jak np. KNF, Komisja Europejska czy Departament Skarbu USA. Te podmioty, publikują m.in. listy os. podejrzanych. Na takich l...
Bazy danych i XML 3542 dni, 3 minuty temu 253 źrodło rozwiń
A first step into big data world.
Bazy danych i XML 3594 dni, 2 godziny, 55 minut temu 258 źrodło rozwiń
Do eksportu danych jest masa pluginów, i jak coś macie to trzymajcie się tego :) ja nie miałem, płacić za wersję 2012 nie chciałem a i też nie miałbym możliwości jak tego zainstalować na serwerze :) Więc musiałem znaleźć inny sposób. I co mnie zaskoczyło sposób był pod ręką cały czas, ale trzeba było o nim „wiedzieć” (opcja na pewno istnieje od SSMS 2008) :)...
Bazy danych i XML 3653 dni, 8 godzin, 5 minut temu 264 źrodło rozwiń
Jednym z pytań, które zadawane jest na rozmowach kwalifikacyjnych jest to o Entity Framework i odpowiednim podejściu, które należy wybrać podczas tworzenia aplikacji...
Bazy danych i XML 3684 dni, 16 godzin, 40 minut temu 644 źrodło rozwiń
Nie zawsze kwerendy działające świetnie na małych zbiorach są równie dobre dla dużych tabel. Porównanie wydajności zapytań w funkcji liczebności zbioru. Przykład ze stałą złożonością obliczeniową.
Bazy danych i XML 3716 dni, 17 godzin, 38 minut temu 340 źrodło rozwiń
W artykule przedstawione są różne metody pomiaru wydajności i porównywania szybkości zapytań SQL, bazując na narzędziach dostępnych w SQL Server - widoki DMV/DMF, Extended Events i Profiler. Omówione są także typowe błędy w analizach za pomocą podstawowych statystyk.
Bazy danych i XML 3719 dni, 8 godzin, 55 minut temu 378 źrodło rozwiń
Wstęp do zagadnień związanych z optymalizacją i mierzeniem wydajności zapytań SQL. Jest to fragment darmowego kursu pisania zapytań SQL opisującego proces przetwarzania kwerend przez silnik bazodanowy.
Bazy danych i XML 3725 dni, 10 godzin, 52 minuty temu 475 źrodło rozwiń