<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://live.mscommunity.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>data.hr</title><link>http://live.mscommunity.net/blogs/datahr/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>SQL Server Bootcamp and the new BOL release</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/10/05/sql-server-bootcamp-and-the-new-bol-release.aspx</link><pubDate>Sun, 05 Oct 2008 07:07:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:11595</guid><dc:creator>dvitner</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=11595</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/10/05/sql-server-bootcamp-and-the-new-bol-release.aspx#comments</comments><description>My friend Marko Čulo and I delivered the &amp;quot;SQL Server bootcamp&amp;quot; training in Varaždin MIC last week. Those &amp;quot;bootcamp&amp;quot; trainings are always special, I enjoy them very much. In the near future, I plan to do one more 5-days training at...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/10/05/sql-server-bootcamp-and-the-new-bol-release.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=11595" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL+BOL+bootcamp/default.aspx">SQL BOL bootcamp</category></item><item><title>Sinergija 2008 and DevReach 2008</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/08/26/sinergija-2008-and-devreach-2008.aspx</link><pubDate>Tue, 26 Aug 2008 18:04:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:7345</guid><dc:creator>dvitner</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=7345</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/08/26/sinergija-2008-and-devreach-2008.aspx#comments</comments><description>Today I got an email from Vladimir Knezevic from MS Serbia that my “Microsoft SQL Server 2008 Data Auditing” presentation was accepted at this year&amp;#39;s Sinergija conference . It&amp;#39;s a great news, I&amp;#39;m so thrilled to be given the opportunity to...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/08/26/sinergija-2008-and-devreach-2008.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=7345" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/sqL+community+sinergija+devreach+mobilityday/default.aspx">sqL community sinergija devreach mobilityday</category></item><item><title>SQL Server 2008 RTM'd</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/08/06/sql-server-2008-rtm-d.aspx</link><pubDate>Wed, 06 Aug 2008 18:39:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:6609</guid><dc:creator>dvitner</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=6609</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/08/06/sql-server-2008-rtm-d.aspx#comments</comments><description>About 9:30 PST SQL Server 2008 RTM&amp;#39;d. It&amp;#39;s available for download from MSDN and TechNet. I&amp;#39;m dowloading it already :) http://msdn.microsoft.com/subscriptions/downloads/default.aspx http://technet.microsoft.com/subscriptions/downloads/default...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/08/06/sql-server-2008-rtm-d.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=6609" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL+community/default.aspx">SQL community</category></item><item><title>CodeCamp.BG</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/07/04/codecamp-bg.aspx</link><pubDate>Fri, 04 Jul 2008 13:11:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:4195</guid><dc:creator>dvitner</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=4195</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/07/04/codecamp-bg.aspx#comments</comments><description>Thanks to my good friend Martin Kulov, who invited me, and to Microsoft Bulgaria, who will cover my expences, I&amp;#39;m going to appear at the CodeCamp.BG next weekend. I will be doing my ever-changing and ever-improving &amp;quot;Data Auditing in SQL Server...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/07/04/codecamp-bg.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=4195" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL+community/default.aspx">SQL community</category></item><item><title>Our Lady of the Lake</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/06/23/our-lady-of-the-lake.aspx</link><pubDate>Mon, 23 Jun 2008 18:24:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:3905</guid><dc:creator>dvitner</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=3905</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/06/23/our-lady-of-the-lake.aspx#comments</comments><description>OK, so the Kulendayz ( http://kulendayz.mscommunity.net ) are over.. I still don&amp;#39;t quite believe it, though. It was so intense period -- preparing the event and actually making it happen -- that now I feel kinda empty. It was the best conference ever...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/06/23/our-lady-of-the-lake.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=3905" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL+kulendayz+community/default.aspx">SQL kulendayz community</category></item><item><title>DLinqy-thingy, Part One</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/02/21/dlinqy-thingy-part-one.aspx</link><pubDate>Thu, 21 Feb 2008 18:06:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:2022</guid><dc:creator>dvitner</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=2022</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/02/21/dlinqy-thingy-part-one.aspx#comments</comments><description>At last, I found some spare time to start playing with that Linq2SQL thing. Installed VS2008 RTM. fired it up, created a new C# console project, added a reference to System.Data.Linq, created the appropriate .dbml to Northwind database, and typed in the...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/02/21/dlinqy-thingy-part-one.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=2022" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL+Linq/default.aspx">SQL Linq</category></item><item><title>I unikifikacija ima granice..</title><link>http://live.mscommunity.net/blogs/datahr/archive/2008/02/12/i-unikifikacija-ima-granice.aspx</link><pubDate>Tue, 12 Feb 2008 19:21:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:1897</guid><dc:creator>dvitner</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=1897</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2008/02/12/i-unikifikacija-ima-granice.aspx#comments</comments><description>OK, long time no see.. :)) Svi znamo da mozemo kreirati clustered indeks (CI) na (skoro) bilo kojem subsetu kolona iz tablice. Također, svi znamo da možemo kreirati nonclustered indekse (NCI) na (skoro) bilo kojem subsetu kolona iz tablice, manje-više...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2008/02/12/i-unikifikacija-ima-granice.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=1897" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Lublana ma živalski vrt </title><link>http://live.mscommunity.net/blogs/datahr/archive/2007/10/20/lublana-ma-ivalski-vrt.aspx</link><pubDate>Fri, 19 Oct 2007 18:57:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:289</guid><dc:creator>dvitner</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=289</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2007/10/20/lublana-ma-ivalski-vrt.aspx#comments</comments><description>U srijedu sam bio u Ljubljani, kao gost predavač na sastanku slovenačke UG. Prvi slot sam popunio ja, s SQL Server Mythbusting, drugi slot je odradio domaći SQL Server MVP Dejan Sarka s Database Design Myths. Sve u svemu, jako, jako prijatno iskustvo...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2007/10/20/lublana-ma-ivalski-vrt.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=289" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/community/default.aspx">community</category><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Myths&amp;legends</title><link>http://live.mscommunity.net/blogs/datahr/archive/2007/09/25/myths-amp-legends.aspx</link><pubDate>Mon, 24 Sep 2007 19:17:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:49</guid><dc:creator>dvitner</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=49</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2007/09/25/myths-amp-legends.aspx#comments</comments><description>Mitovi i legende (o SQL Serveru, ne o kralju Arturu) su izgleda popularna tema ovih dana. Na privatnoj MVP news grupi je nedavno bio jedan prilično opsežan thread o njima. Maciej Pilecki je upravo danas popodne radio Myths&amp;amp;legends workshop ovdje u...(&lt;a href="http://live.mscommunity.net/blogs/datahr/archive/2007/09/25/myths-amp-legends.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=49" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Kriza identiteta</title><link>http://live.mscommunity.net/blogs/datahr/archive/2007/09/18/kriza-identiteta.aspx</link><pubDate>Mon, 17 Sep 2007 19:23:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:32</guid><dc:creator>dvitner</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=32</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2007/09/18/kriza-identiteta.aspx#comments</comments><description>&lt;p&gt;Je, znam da sam rekao kako ću ovdje pričati o Katmai-ju i uzbudljivim još-uvijek-novim stvarima u Yukon-u.. Budem. Idući put :) Danas, nešto što mi se mota po glavi zadnjih par dana. Stara i otrcana tema, možda, ali nažalost izgleda još uvijek aktualna.&lt;/p&gt;
&lt;p&gt;Prije nekog vremena, na Mobility Day (koji je BTW po meni sasvim uspio kao konfa, svaka čast organizatorima i predavačima!) sjedio sam na predavanju na kojem je predavač, pored još nekih &amp;quot;bisera&amp;quot; koje sad neću spominjati, ničim izazvan ustvrdio kako je ustvari dobra ideja postaviti GUID kao primary key ako se tablica ima namjeru koristiti u replikaciji. Hm..&lt;/p&gt;
&lt;p&gt;Pukom slučajnošću, dan-dva iza toga, na hr.comp.programiranje.baze -- prilično divlje zna biti tamo ponekad, ali moj samaritanski duh se hrani pomažući ljudima gdje god -- u jednom odgovoru sam onako u prolazu savjetovao OP-u da ne koristi IDENTITY za primary key. I u tren oka par ljudi je skočilo s pitanjem &amp;quot;pa zašto sad to?&amp;quot;. Hmm..&lt;/p&gt;
&lt;p&gt;Da stvar bude još gora, jedan učesnik u threadu je, valjda iz želje da pojasni stvari, postao link na &lt;a class="" href="http://www.sqlskills.com/blogs/kimberly/2007/02/02/TheClusteredIndexDebateContinues.aspx" target="_blank"&gt;članak&lt;/a&gt; Kimberly Tripp o clustered indeksima. Hmmm..&lt;/p&gt;
&lt;p&gt;OK, čemu dakle taj hm-hmm-hmmm od mene? Zaista, zašto ne koristiti autogenerated vrijednosti (kao što su IDENTITY i GUID) za primary key na tablici? Odakle pomutnja? Pokušat ću jednostavnim jezikom, i uglavnom o IDENTITY-ju, njega se puno više zloupotrebljava.&lt;/p&gt;
&lt;p&gt;Prvi i osnovni razlog je taj što ključevi (primarni, sekundarni, kandidati, kojigod) stvar logičkog dizajna baze podataka, i tiču se samo integriteta podataka. Osnovna zadaća ključeva je da se pomoću njih može jednoznačno identificirati neki red. IDENTITY i GUID su implementacijski detalj u SQL Serveru -- oni ne postoje u realnom svijetu, nisu dio poslovne domene, nemaju ama baš nikakve veze s podacima, njihova vrijednost nije poznata do trenutka nakon što su podaci već upisani, korisniku ne znače ništa i ne može ih koristiti u upitima, GUID pored toga i nije nešto što želite ukucati preko tipkovnice, etc. Očito je da oni ne ispunjavaju onu maloprijespomenutu osnovnu zadaću - da identificiraju red u tablici.&lt;/p&gt;
&lt;p&gt;Tu se javlja i par sasvim praktičnih problema. Prvi je taj da, kako sam već rekao, vrijednost IDENTITY kolone nije poznata prije nego što smo podatke upisali u bazu. Uzmimo za primjer onaj čuveni sa SalesOrderHeader i SalesOrderDetail tablicama iz AdventureWorks sample baze (usputbudirečeno, ta baza je više primjer kako NE dizajnirati bazu, nego obrnuto.. no dobro). Imamo SalesOrderID kolonu s dignutim IDENTITY property-jem kao PK na SalesOrderHeader tablici, i postavljen FK constraint sa SalesOrderDetail na SalesOrderHeader preko SalesOrderID kolone. Što radimo kad želimo upisati novi order, i header i details? Nešto ovakvo:&lt;/p&gt;
&lt;p&gt;INSERT Sales.SalesOrderHeader (&amp;lt;columns&amp;gt;) VALES (&amp;lt;values&amp;gt;);&lt;br /&gt;SET @SalesOrderID = SCOPE_IDENTITY();&lt;br /&gt;INSERT Sales.SalesOrderDetail (SalesOrderID, &amp;lt;other_columns&amp;gt;) VALUES (@ID, &amp;lt;other_values&amp;gt;);&lt;br /&gt;INSERT Sales.SalesOrderDetail (SalesOrderID, &amp;lt;other_columns&amp;gt;) VALUES (@ID, &amp;lt;other_values&amp;gt;);&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Sve pet ako je samo jedan order u pitanju. A što ako želimo odjednom upisati nekoliko ordera? Npr:&lt;/p&gt;
&lt;p&gt;INSERT Sales.SalesOrderHeader (&amp;lt;columns&amp;gt;) SELECT (&amp;lt;columns&amp;gt;) FROM OverseasSales.SalesOrderHeader WHERE &amp;lt;filter&amp;gt;;&lt;br /&gt;INSERT Sales.SalesOrderDetail (SalesOrderID, &amp;lt;other_columns&amp;gt;) SELECT ???&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Ako i uspijete saznati novogenerirane vrijednosti za SalesOrderID (hint: OUTPUT), kako ćete ih logički povezati s onim izvornima? OK, mi smo kreativni ljudi i smislit ćemo već nešto..&lt;/p&gt;
&lt;p&gt;Nadalje, IDENTITY ne mora nužno biti unique (IDENTITY_INSERT, recimo). Bad.&lt;/p&gt;
&lt;p&gt;Za identične podatke -- ako ih upisujemo u dva navrata -- možemo dobiti (ne samo da možemo, nego ćemo i dobiti) dvije različite vrijednosti u IDENTITY koloni. Isto je i ako upisujemo identične podatke u dvije različite baze. Pa onda poslije imamo problema s konsolidacijom (i trošimo novce na skupa MDM rješenja).&lt;/p&gt;
&lt;p&gt;Vrijednost IDENTITY-ja se generira neovisno o transakciji. Npr:&lt;/p&gt;
&lt;p&gt;SET NOCOUNT ON;&lt;br /&gt;GO&lt;/p&gt;
&lt;p&gt;USE tempdb;&lt;br /&gt;GO&lt;/p&gt;
&lt;p&gt;CREATE TABLE tbl (c1 int IDENTITY(1,1), c2 varchar(10));&lt;br /&gt;GO&lt;/p&gt;
&lt;p&gt;INSERT tbl VALUES (&amp;#39;qwerty&amp;#39;);&lt;/p&gt;
&lt;p&gt;BEGIN TRAN;&lt;/p&gt;
&lt;p&gt;INSERT tbl VALUES (&amp;#39;asdfgh&amp;#39;);&lt;/p&gt;
&lt;p&gt;SELECT * FROM tbl;&lt;/p&gt;
&lt;p&gt;ROLLBACK;&lt;/p&gt;
&lt;p&gt;INSERT tbl VALUES (&amp;#39;asdfgh&amp;#39;);&lt;/p&gt;
&lt;p&gt;SELECT * FROM tbl;&lt;/p&gt;
&lt;p&gt;DROP TABLE tbl;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;c1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c2&lt;br /&gt;----------- ----------&lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qwerty&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asdfgh&lt;/p&gt;
&lt;p&gt;c1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c2&lt;br /&gt;----------- ----------&lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qwerty&lt;br /&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asdfgh&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Za drugi red (&amp;#39;asdfgh&amp;#39;) smo prvo dobili vrijednost c1 kolone 2, a nakon ROLLBACK-a pri ponovnom upisu smo dobili 3. Plus toga, imamo i gap (hrvatski: rupu) u redoslijedu, što može i ne mora biti bitno.&lt;/p&gt;
&lt;p&gt;A GUID.. Ajd, sad barem imamo NEWSEQUENTIALID(). I da, istina, morate imati uniqueidentifier kolonu da biste replicirali tablicu. Svejedno, ni to nije razlog da je proglasite za primary key :)&lt;/p&gt;
&lt;p&gt;A što nam je htio reći onaj kolega s početka priče, kad nas je naputio da pročitamo članak o clustered indeksima s bloga Kimberly Tripp? To je jedan od onih &amp;quot;mitova i legendi&amp;quot; o kojima će, pretpostavljam, pričati Marko na bootcampu ovaj mjesec. Radi se naime o tome da su primary key i unique constrainti u SQL Serveru podržani preko (unique) indeksa. Što je sasvim OK. Ono što nije OK je to da će, ako eksplicitno ne kažete drugačije, SQL Server primary key podržati s clustered indeksom. A to nije OK iz najmanje dva razloga. Prvo, to stvara konfuziju kod ljudi, i prečesto se te dvije stvari poistovjećuju, iako se ustvari radi o dvije različite stvari -- jedno je integrity constraint, a drugo implementacija, tj kako je taj constraint realiziran -- pa se onda često priča o jednom, a misli se na drugo. Zatim, clustered indeks je jedna prilično važna alatka iz arsenala perf tuninga. Postavljanjem clustered indeksa na ovoj ili onoj koloni možemo nekad ubrzati određenu vrstu upita, recimo range query-je (ordered scan). Ne, ovime nisam želio reći da ćemo ako želimo ubrzati range upite obavezno postaviti CI na kolonu po kojoj je definiran range. Ovisi. Na koju kolonu ćemo postaviti clustered indeks, ili ga nećemo postaviti uopće, ovisi o podacima i njihovom korištenju, ali želimo li doista odreći se te mogućnosti? &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Nakon svega ovoga -- ipak, IDENTITY uopće nije tako loš, ali važno je znati što nije i koja su ograničenja. Nekad je dapače i koristan -- može se postaviti unique constraint na njega i raditi DRI, pa čak i clustered indeks se može postaviti na njega. Ako imate razloga za to. Sve ovisi :)&lt;/p&gt;
&lt;p&gt;Puno više o svemu ovome ćemo pričati na bootcampu u Varaždinu. Kog zanima, dobrodošao je. Early bird i dodatni popust za community još uvijek se mogu iskoristiti.&lt;/p&gt;
&lt;p&gt;Pozdrav, čujemo se.&lt;/p&gt;
&lt;p&gt;Dean&lt;/p&gt;&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=32" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/community/default.aspx">community</category><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Please allow me..</title><link>http://live.mscommunity.net/blogs/datahr/archive/2007/09/08/please-allow-me.aspx</link><pubDate>Fri, 07 Sep 2007 20:22:00 GMT</pubDate><guid isPermaLink="false">4a43ed64-1a24-4d7d-9bcd-c9f8b8acacd0:27</guid><dc:creator>dvitner</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://live.mscommunity.net/blogs/datahr/rsscomments.aspx?PostID=27</wfw:commentRss><comments>http://live.mscommunity.net/blogs/datahr/archive/2007/09/08/please-allow-me.aspx#comments</comments><description>&lt;p&gt;Što nam donosi SQL Server 2008 (FKA Katmai)? To je jedna od tema kojima ćemo se baviti ovdje u narednim postovima.&amp;nbsp; Budite sigurni, nećemo samo nabrajati i ilustrirati nove feature-s -- kao i uvijek od mene, ovdje mozete očekivati i kritičke osvrte i osobna mišljenja. &lt;/p&gt;
&lt;p&gt;Za početak, ustvari i prije početka, jedan generalni stav -- Katmai ne donosi ništa tako revolucionarno novo kao što je donijela 2005-ica. Nema velikih arhitektonskih promjena, kao što su u Yukonu primjerice bili CLRSQL, XML podrška, ili (najvažnija stvar IMHO) copy-on-write i row versioning. Ono što Katmai donosi, to bi se prije moglo reći da su stvari koje nisu uspjele ući u Yukon timeframe (DATE i TIME tipovi, npr, ali &amp;quot;done right this time&amp;quot;), ili se svode na poliranje postojećih funkcionalnosti (kao recimo unaprijeđenja na DB mirroring-u). Naravno, ima i par zgodnih sasvim novih stvari. Ali, o tome ćemo kasnije.&lt;/p&gt;
&lt;p&gt;Yukon je još uvijek, čak i za mnoge MVP-jeve, &amp;quot;nova&amp;quot; verzija sikvela, nešto što se na mnogim mjestima tek uvodi u poslovanje ili se uvođenje tek priprema. Mnoge stvari koje imamo u Yukonu zato su još nedovoljno poznate ili nedovoljno korištene. Te &amp;quot;nove&amp;quot; stvari, njihovo korištenje u praksi, do&amp;#39;s and don&amp;#39;ts, best practices i perf implikacije, bit će druga velika tema narednih postova.&lt;/p&gt;
&lt;p&gt;Pored ovog dvoga, koristit ću ovaj prostor i za najavu nekih kako svojih osobnih tako i community akcija. &lt;/p&gt;
&lt;p&gt;Za početak, volio bih vas sve pozvati na Vladanov codecamp 19-og (&lt;a href="http://codecamp.mscommunity.net/"&gt;http://codecamp.mscommunity.net/&lt;/a&gt;). Ne znam koliko sad i ovdje smijem reći o samom eventu, jer agenda još nije službeno objavljena, ali već sada je jasno da će to biti najjači skup kvalitetnih i zanimljivih predavača iz (ne samo HR!) MS community-ja okupljenih na jednom mjestu -- ikada. &lt;/p&gt;
&lt;p&gt;Odmah nakon toga, prvi tjedan u listopadu, Marko i ja radimo &amp;quot;second edition&amp;quot; SQL Server botcampa u MSPTC u Varaždinu (&lt;a href="http://www.mscommunity.net/Default.aspx?tabid=1103"&gt;http://www.mscommunity.net/Default.aspx?tabid=1103&lt;/a&gt;). Ako ne znate što je &amp;quot;bootcamp&amp;quot;, samo tri riječi: krv, suze i znoj. Prijavite se, dodjite, nećete požaliti. &lt;/p&gt;
&lt;p&gt;A sredinom listopada, Marko i ja idemo u radni posjet Dejanu i Mihi u Ljubljanu, na sastanak SLO UG. Sunčana strana Alpa :)&lt;/p&gt;
&lt;p&gt;Pozdrav, čujemo se.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Dean&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://live.mscommunity.net/aggbug.aspx?PostID=27" width="1" height="1"&gt;</description><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/community/default.aspx">community</category><category domain="http://live.mscommunity.net/blogs/datahr/archive/tags/SQL/default.aspx">SQL</category></item></channel></rss>