Archive for the ‘MS SQL Server’ Category

Malo slozeniji CHECK constraint

Monday, August 22nd, 2011

      Kad govorimo o projektovanju baze podataka, nekako uvek mislimo na to kako postaviti tabele i veze izmedju njih. Govoreci SQL jeziokom, oslanjamo se uglavnom na FOREIGN KEY ogranicenja. Cesto zaboravljamo da postoje i druga ogranicenja koja daju isti efekat a ponekad pojednostavljuju konacno resenja. Pokazacemo na jednom primeru kako se moze ...

Nastavak price o poredjenju tabela

Wednesday, September 1st, 2010

Moj poslednji clanak, prica o poredjenju tabela, ostao je nezavrsen. http://www.baze-podataka.net/2010/08/31/poredjenje-tabela/   Pokazali smo kako se mogu porediti dve tabele, pod odredjenim uslovima, ali nismo dali jedinstveni kveri. Zavrsili smo sa tri kverija i obecanjem da u sledecm nastavku krenemo nekim drugim putem. Pre nego sto krenemo drugim putem, ipak da zavrsimo ...

Transparent Gateway problem: Oracle NUMBER -> MS SQL DECIMAL

Friday, October 16th, 2009

Ovih dana smo imali jedan neočekivan problem prilikom prebacivanja podataka iz Oracle baze preko Transparent Gateway-a u jednu MS SQL Server bazu. Pojavljivala se nejasna greška: "ORA-28500: connection from ORACLE to a non-Oracle system returned this message" Pošto je sam tekst greške uopšten i ne prikazuje njen stvarni uzrok, izgubio sam nekoliko sati dok ...

MS SQL: Da li je razmak punopravan znak?

Wednesday, September 9th, 2009

Svi SQL sistemi i programski jezici imaju funkciju za izracunavanje duzine stringa. U MS SQL tu ulogu ima funkcija LEN. Valjda i najveci pocetnik zna da izvrsi ovo: SELECT LEN('abc') i dobije rezultat 3.  Hajde da prosirimo string 'abc', ovako: SELECT LEN('abc        x') Rezultat je 12.  Ako odbacimo 'x' na kraju, ja bih ocekivao ...

MS SQL 2008: Novi tipovi podataka

Monday, June 15th, 2009

    Ovo je skraceni prevod originalnog teksta http://www.simple-talk.com/sql/learn-sql-server/sql-server-2008-the-new-data-types/ koji je napisao Brad McGhee. MS SQL 2008 donosi nekoliko novih tipova podataka: Date and Time: Cetiri nova pod-tipa, koji bi trebalo da olaksaju rad sa date/time podacima. To su: DATE, TIME, DATETIME2, DATETIMEOFFSET Prostorni tip: Dva nova tipa podataka za modelovanje prostora (Geografski Informacioni Sistemi, ...

Logički model baze podataka za ankete

Wednesday, March 25th, 2009

  Ankete koje imaju ‘multiple choice’ pitanja su danas veome česte. Na svako pitanje nudi se N opcija od kojih učesnik ankete bira jednu. Broj opcija može biti različit od pitanja do pitanja. Neka pitanja zahtevaju jednostavni Da/Ne odgovor, a neka mogu imati i desetak opcija.   Najjednostavniji način da se dođe do ...

Ankete i testovi

Thursday, September 25th, 2008

 Automatska obrada podataka pocela je kada je gospodin po imenu Herman Hollerith za potrebe americke vlade obradio prikupljene podatke o popisu stanovnistva. Tada jos nije bilo kompjutera, sve se desava davne 1890. godine.  Gospodin Hollerith je zatim osnovao firmu pod imenom Inetrnational Business Machines, dobro nam poznati IBM. Za ljubitelje istorije, ...

Uskrs

Tuesday, September 2nd, 2008

Pronasao sam kod za izracunavanje Uskrsa, po pravoslavnom i po katolickom kalendaru. Izvor: http://www.tek-tips.com/faqs.cfm?fid=5075 Pravoslavni: CREATE FUNCTION dbo.OEaster (@Yr as int) RETURNS datetime AS  -- SELECT dbo.OEaster(2007) BEGIN    Declare @I int, @J int, @Metonic int, @EMo int, @EDay int, @LeapAdj int    Set @LeapAdj=@Yr/100-@Yr/400-2    Set @Metonic=@Yr % 19    Set @I=(19*@Metonic+15) % 30    Set @J=(@Yr+@Yr/4+@I) % 7    Set @EMo=3+(@I-@J+40)/44    ...

MS SQL bug

Tuesday, September 2nd, 2008

Nesto sto sam nedavno otkrio i opekao se: kada navodite listu kolona u SELECT izrazu, pa zaboravite zarez, MS SQL se ne buni, nego jednostavno ignorise deo naredbe. Na primer: SELECT Artikl, cena, Kolicina FROM Roba treba da ispise tri kolone. Ako napisete SELECT Artikl, cena Kolicina FROM Roba (nema vise zareza iz kolone ...

NULLS, LEFT JOIN, EXISTS i NOT IN

Friday, July 4th, 2008

Kada zelimo da uporedimo dve tabele A i B, i da pokazemo koji su redovi prisutni u A, a nema ih u B (Accessov 'unmatched query'), to generalno mozemo da uradimo na nekoliko nacina. Mozemo da upotrebimo LEFT JOIN, mozemo da upotrebimo NOT IN ili NOT EXISTS. Da li su ...