dr - napredne tehnike sql servera

Upload: kristen-juarez

Post on 17-Oct-2015

61 views

Category:

Documents


0 download

TRANSCRIPT

  • FAKULTET ZA POSLOVNU INFORMATIKU

    NAPREDNE TEHNIKE SQL SERVERA

    - Diplomski rad -

    Beograd, 2007.

    Mentor: Prof dr Mladen Veinovi

    Student: Dragana Stankovi

    Br. indeksa: III-48//2004

  • FAKULTET ZA POSLOVNU INFORMATIKU

    UNIVERZITET SINGIDUNUM FAKULTET ZA POSLOVNU INFORMATIKU Beograd, Danijelova 32 Broj: __________/2007 Kandidat: Dragana Stankovi Broj indeksa: III-48/2004 Smer: Projektovanje i programiranje Tema: Napredne tehnike SQL servera Zadatak: Opisati nain funkcionisanja SQL Servera kao sistema za rad sa bazama podataka i napredne tehnike vezane za novu verziju SQL Servera 2005 . MENTOR ________________________ Prof. dr Mladen Veinovi Datum odobrenja teme: . Beograd DEKAN ________________________ Prof. dr Milan Milosavljevi

  • Sadraj

    UVOD .................................................................................................................................................... - 1 -

    1 Osnove sistema RDBMS: ta ini bazu podataka SQL Servera? ................................................ - 3 - 1.1 Pregled objekata baze podataka ............................................................................................ - 4 -

    1.1.1 Baza podataka kao objekat ................................................................................................ - 4 - 1.1.2 Dnevnik transakcija .......................................................................................................... - 5 - 1.1.3 Osnovni objekat baze podataka: tabela .............................................................................. - 5 -

    1.1.3.1 Indeksi .................................................................................................................... - 6 - 1.1.3.2 Okidai.................................................................................................................... - 6 - 1.1.3.3 Ogranienja ............................................................................................................. - 6 -

    1.1.4 Grupe datoteka ................................................................................................................. - 7 - 1.1.5 Dijagrami ......................................................................................................................... - 7 - 1.1.6 Prikazi .............................................................................................................................. - 8 - 1.1.7 Uskladitene procedure ..................................................................................................... - 9 - 1.1.8 Funkcije koje definise korisnik .......................................................................................... - 9 -

    1.1.8.1 Korisnici i role ....................................................................................................... - 10 - 1.1.8.2 Pravila ................................................................................................................... - 10 - 1.1.8.3 Podrazumevane vrednosti ...................................................................................... - 10 - 1.1.8.4 Tipovi podataka koje definise korisnik ................................................................... - 10 - 1.1.8.5 Katalozi servisa Full-text ....................................................................................... - 10 -

    1.2 Tipovi podataka kod SQL Servera ........................................................................................ - 11 - 1.2.1 Podaci tipa NULL ........................................................................................................... - 14 -

    2 Pregled Microsoft SQL Servera 2005......................................................................................... - 15 - 2.1 Platforma SQL Server-a ...................................................................................................... - 15 - 2.2 ta je novo u sistemu SQL Server 2005 ................................................................................ - 18 -

    2.2.1 Upravljanje poslovnim podacima .................................................................................... - 18 - 2.2.1.1 Mogunost upravljanja........................................................................................... - 18 - 2.2.1.2 Dostupnost ............................................................................................................ - 19 -

    2.2.2 Skalabilnost-proirivost .................................................................................................. - 21 - 2.2.3 Sigurnost ........................................................................................................................ - 23 - 2.2.4 Produktivnost razvojnih timova ....................................................................................... - 24 -

    2.2.4.1 Proirena jezika podrka ....................................................................................... - 24 - 2.2.5 Poboljani razvojni alati .................................................................................................. - 26 - 2.2.6 Mogunost proirivanja................................................................................................... - 28 - 2.2.7 Poboljani web-servisi i servisi za pristup podacima ........................................................ - 29 - 2.2.8 Obavetenja o upitima..................................................................................................... - 29 - 2.2.9 MARS ............................................................................................................................ - 30 - 2.2.10 Transparentno prevladavanje zakazivanja za proces pravljenja slike baze podataka .... - 30 -

    2.2.10.1 Podrka za XML .................................................................................................... - 31 - 2.2.11 plikacioni okvir ....................................................................................................... - 32 -

    2.3 Poslovna inteligencija-Business Intelligence ........................................................................ - 34 - 2.3.1 Potpuno integrisana platforma za poslovnu inteligenciju .................................................. - 34 - 2.3.2 Integracioni servisi.......................................................................................................... - 35 - 2.3.3 Analitiki servisi ............................................................................................................. - 36 - 2.3.4 Servisi za izvetavanje .................................................................................................... - 36 - 2.3.5 Integracija sa sistemom Microsoft Office ........................................................................ - 38 -

    3 Zajedniki plan razvoja Windows Server Systema ................................................................... - 39 -

    4 Zakljuak .................................................................................................................................... - 40 -

    5 Literatura ................................................................................................................................... - 41 -

  • Abstract Microsoft SQL Server2005 predstavlja revoluciju u dosadanjem razvoju. Domet novih mogunosti ini ga veoma naprednim i atraktivnim izdanjem. Ne samo to prua prvoklasne mogunosti na polju menadmenta , performansi i pouzdanosti, on razvojnim timovima i administratorima pojednostavljuje i redukuje napore potrebne za kreiranje, upravljanje i razvijanje aplikacija vezanih za baze podataka. Istovremeno, garantuje utedu bez ikakvih odricanja Abstract Microsoft SQL Server2005 represents a major revolution of the product. The range of new capabalities makes it a very compellinng and feature-rich release. While offering world-class capabilities in term of management, perfomance.and reliability, it helps developers and database administrators simplify and reduce the effort involved in creating, managing, and deploying database applications. At the same time, delivers economy without sacrificing anything.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 1 -

    Tradicionalni pristup razvoju programskih sistema za uvanje i obradu podataka, do pojave baza podataka krajem ezdesetih godina, bio je u sutini ad hoc: polazei od definicije aplikacije, kreirala bi se datoteka ili skup datoteka podataka potrebnih za definisanu aplikaciju, i pisali bi se programi koji obrauju podatke tih datoteka u skladu sa aplikacijom. Sva proirenja definisane aplikacije realizovala bi se dodavanjem novih datoteka i pisanjem dodatnih programa. Ovakav pristup je brzo pokazao sve svoje nedostatke:

    Ponavljanje istih podataka uz razliite aplikacije. Na primer, u jednom bibli-

    otekom okruzenju, aplikacije za obradu knjiga, reversa i italaca mogle bi da koriste odgovarajuce datoteke - KNJIGE, REVERSI, ITAOCI, redom. pri tom bi, s obzirom na potrebe ovih aplikacija, datoteka REVERSI sadrala sve podatke o knjizi i itaocu koji su ve sadrani i u datoteci KNJIGE odnosno ITAOCI..

    Nekonzistentnost podataka. Zbog ponavljanja istih podataka u raznim da- totekama, moe se dogoditi da se promena vrednosti primercima istog po- datka ne izvede dosledno, tj. da se jednom primerku istog podatka vrednost promeni (namerno ili nenamerno), a da se to ne uini sa ostalim primercima tog podatka. Na primer, adresa istog itaoca moze da bude razlicito zapisana u datotekama ITAOCI i REVERSI, to ce proizvesti nekonzistentnost (neko- rektnost) podataka.

    Programi za obradu podataka zavise od naina struktuiranja podataka. Tako e ti programi biti razliiti u sluajevima razliite organizacije datoteka (sekvencijalna, indeks-sekvencijalna, direktna, indeksirana, itd). Zato pro- mena strukture podataka zahteva promenu programa.

    Obrada podataka je skupa, s obzirom na nekonzistentnost i zavisnost pro- grama od organizacije podataka.

    Korienje istih podataka od strane veeg broja korisnika je oteano. Na primer, istovremeni pokuaj dva ili vie korisnika da promene sadraj datoteke

    REVERSI zavrie se, u mnogim sluajevima, pamenjem promena samo onog korisnika koji je poslednji zavrio rad sa datotekom. Ostali korisnicini ni na koji nain nee biti obaveteni o tome da njihove promene nisu upamene. U drugim sluajevima viekorisnikog pristupa podacima smetenim u sistem datoteka, kada se pristup vri istoj kopiji datoteke, mogui su i tei primeri naruavanja korektnosti podataka.

    neadekvatna realizacija oporavka od pada sistema. U sluaju pada sistema (npr. nestanka elektrinog napajanja), aktivni poslovi nemaju mogunost ponitavanja svojih deliminih izvrenja (ako su ona deo jedinstvene logike celine), a esto, po uspostavljanju sistema, ni evidenciju o svom deliminom izvrenju.Na primer, ako bi svim itaocima trebalo produiti (na reversu) rok zaduenja za po 10 dana, i ako bi usred izvravanja tog posla dolo do pada sistema, po uspostavljanju rada ne bi postojala informacija o tome koji su reversi obraeni a koji jo nisu.

    Da bi se mogle iskoristiti pogodnosti raunara za uvanje podataka, neophodno je obezbediti i programske alate prenosa podataka, upravljanja podacima i komunikacije sa korisnikom.

    UVOD

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 2 -

    Zato nova organizacija podataka, nazvana baza podataka, zajedno sa programskim alatima koji je podravaju, treba da obezbedi:

    o nezavisnost struktura podataka od programa koji ih obrauju, i programa od struktura podataka (izmena podataka ne utie na programe);

    o minimalnost ponavljanja podataka; o da obrada podataka nije vezana za programski jezik opte namene, ve za

    vii "upitni" jezik; o korienje baze podataka od strane veeg broja korisnika.

    Pojam baza podataka pojavio se krajem ezdesetih godina i oznaavao je skup meusobno povezanih podataka koji se uvaju zajedno, i meu kojima ima samo onoliko ponavljanja koliko je neophodno za njihovo optimalno korienje pri vie-korisnikom radu. Podaci se pamte tako da budu nezavisni od programa koji ih koriste, i struktuiraju se tako da je omoguen porast baze. Posle svake aktivnosti nad bazom, koja predstavlja logiku celinu posla, stanje baze mora biti konzistentno (valjano); to znai da podaci u bazi i odnosi medu njima moraju zadovoljavati unapred zadate uslove koji odslikavaju deo realnosti modelirane podacima u bazi. Za efikasan rad sa podacima i odravanje konzistentnog stanja baze koristi se specifini programski proizvod - sistem za upravljanje bazama podataka (krace SUBP - DBMS, Data Base Management System). Baze podataka zajedno sa SUBP ine sistem baza podataka. U irem smislu, u sistem baza podataka spada i odgovarajui hardver, svi programski alati koji se nadgrauju na SUBP i olakavaju rad sa bazama, kao i raznorodni korisnici baza podataka (od krajnjih korisnika, preko aplikativnih programera do administratora baza podataka). U razvoju sistema baza podataka moze se uoiti nekoliko generacija SUBP, koje su ili koegzistirale na tritu ili smenjivale jedna drugu. Fundamentalna razlika izmeu sistema ovih generacija je razlika u modelu podataka, koja se u implementaciji odgovarajuih SUBP reflektuje na efikasnost pristupa podacima i obrade podataka, produktivnost korisnika, funkcionalnost sistema i podrku raznovrsnim aplikacijama. Tako se u prve dve generacije svrstavaju tzv. mreni (CODASYL) sistemi i hijerarhijski sistemi, koji su gotovo u potpunosti prevazieni, osamdesetih godina, relacionom tehnologijom kao treom generacijom SUBP (Relacioni SUBP - RSUBP). Sve tri generacije namenjene su pre svega poslovno-orijentisanim aplikacijama. Ogranienja relacione tehnologije odnose se na neadekvatnu podrku aplikacijama nad podacima kompleksnijim od podataka u poslovnoj obradi, npr. nad prostornim ili tekstuelnim podacima. Zato se relacioni model podataka proiruje konceptima objektnog modela, koji na adekvatniji nain apstrahuje svojstva kompleksnih objekata; istovremeno, relaciona tehnologija se integrie sa objektnom tehnologijom gradei tako novu, etvrtu generaciju SUBP. Objektna tehnologija je jos uvek u istraivakoj fazi, mada postoje i prototipske i komercijalne implementacije sistema za upravljanje bazama podataka. Teorijske osnove objektne tehnologije, za razliku od relacione, jo nisu postavljene; ovo vai i za sam objektni model.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 3 -

    ta ini bazu podataka? To su svakako podaci. (Kakva je korist od baze podataka, ako nita ne skladiti?) Meutim, sistem za upravljanje relacionom bazom podataka (relational database management system, RDBMS) sainjavaju i mnoge druge stvari. Savremeni napredni sistemi RDBMS ne samo da skladite podatke, ve i upravljaju njima tako to ograniavaju podatke koji mogu ui u sistem, a takoe omoguuju uzimanje podataka iz sistema. Ako vam je potrebno samo da smestite podatke negde na sigurno, moete da koristite bilo kakav sistem za skladitenje podataka. Sistemi RDBMS vam omoguuju da odete iznad samog skladitenja podataka u domen definisanja naina na koji bi ti podaci trebalo da izgledaju ili poslovnih pravila za podatke. Ne treba meati ono to se naziva poslovnim pravilima za podatke" sa generalizovanim poslovnim pravilima koja upravljaju celokupnim sistemom (na primer, neko ne moe nita da vidi dok se ne prijavi na sistem ili automatsko prilagoavanje tekueg perioda u rauno-vodstvenom sistemu prvog u mesecu). Ti tipovi pravila u stvari se mogu primeniti na bilo kom nivou sistema, (u dananje vreme to se obino primenjuje u srednjem ili klijentskom sloju vieslojnog sistema.) Umesto toga, ono po emu se ovde govori su poslovna pravila koja se posebno odnose na podatke. Na primer, ne moe postojati porudbina sa negativnom koliinom. Kod sistema RDBMS ta pravila mogu da se ugrade direktno u integritet same baze podataka. U ovom poglavlju e biti rei o:

    o objektima baze podataka, o tipovima podataka, o drugim konceptima baze podataka koji obezbeuju integritet podataka.

    1 Osnove sistema RDBMS: ta ini bazu podataka SQL Servera?

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 4 -

    1.1 Pregled objekata baze podataka Sistem RDBMS kao to je SQL Server sadri veliki broj objekata Kod SQL Servera spisak nekih vanijih objekata baze podataka sadri stvari kao to su:

    sama baza podataka indeksi dnevnik transakcija sklopovi tabele izvetaji grupe datoteka katalozi servisa Full-text dijagrami tipovi podataka koje definise korisnik prikaz role uskladitene procedure korisnici funkcije koje definise korisnik

    1.1.1 Baza podataka kao objekat

    Baza podataka je u stvari objekat najvieg nivoa koji moe da se referencira u okviru datog SQL Servera. (Tehniki govorei, i sam server se moe smatrati objektom, ali ne iz bilo kakve realne programerske" perspektive.) Veina drugih objekata SQL Servera, ali ne svi, izvedeni su od objekta baze podataka. Baza podataka obino predstavlja grupu koja sadri barem skup objekata tabela i najee druge objekte kao to su uskladitene procedure i prikazi koji se odnose na odreeno grupi-sanje podataka sauvanih u tabelama baze podataka.

    Koje tipove tabela uvamo u samo jednoj bazi podataka, a ta se nalazi u zasebnoj bazi poda-taka? Posmatrajui jednostavno rei emo da se svi podaci za koje se smatra da pripadaju samo jednom sistemu ili da su znaajno povezani, uvaju u jednoj bazi podataka. Sistem RDBMS kao to je SQL Server moe da ima vie korisnikih baza podataka na samo jednom serveru, a moe da ima i samo jednu. Broj baza podataka koji moe biti smeten na jednom SQL Serveru zavisi od faktora kao to su kapacitet (snaga CPU, I/O ogranienja diska, memorija itd.), autonomija (elite da jedna osoba ima pravo upravljanja serverom na kojem se nalazi taj sistem, a da neko drugi ima administratorska prava na drugom serveru) ili samo broj baza podataka koje vaa kompanija ili klijent ima. Veliki broj servera ima samo jednu proizvodnu bazu podataka, dok ih drugi mogu imati i vie. Treba imati na umu da kod svake verzije SQL Servera koju nalazimo u upotrebi danas (SQL Server 2000 je bio ve pet godina star kada je zamenjen), ima mogunost postojanja veeg broja primeraka SQL Servera - ukljuujui i posebno prijavljivanje i posebna prava upravljanja - i to sve na fiziki jednom serveru.

    Kada se prvi put pokrene SQL Server, poinje se sa sistemskim bazama podataka: o master o model o msdb o tempdb

    Sve ove baze podataka moraju se instalirati da bi server radio na odgovarajui nain. (Kada su

    neke od tih baza podataka u pitanju, server uopte nee hteti da radi bez njih.) Stvari se dalje

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 5 -

    razlikuju zavisno od toga ta se bira prilikom instaliranja. Moda e se videti neka od sledeih baza podataka:

    o Adventure Works (primer baze podataka) o AdventureWorksDW (primer za korienje sa aplikacijom Analysis Services)

    1.1.2 Dnevnik transakcija Sama datoteka baze podataka nije mesto na kome se deava veina stvari. Iako se podaci definitivno itaju odatle, svaka izmena koja se pravi ne ide inicijalno u samu bazu podataka. Umesto tamo, oni se serijski upisuju u dnevnik transakcija. U nekom kasnijem trenutku baza podataka zadaje trenutak provere kontrolne take - u tom trenutku vremena sve izmene iz dnevnika se prenose na samu datoteku baze podataka. Baza podataka ima ureenje koje se zasniva na sluajnom pristupu, ali je sam dnevnik po svojoj prirodi serijski. Dok sluajan pristup datoteci baze podataka omoguuje brz pristup, serijski pristup dnevniku omoguuje praenje stvari odgovarajuim redosledom. Dnevnik akumulira izmene za koje se smatra da su uraene, a zatim nekoliko izmena odjednom upi-suje u samu datoteku baze podataka. Da bi imali funkcionalnu bazu podataka potrebni su i datoteka baze podataka i dnevnik transakcija.

    1.1.3 Osnovni objekat baze podataka: tabela Baze podataka sainjavaju mnoge stvari, ali nijedna od njih nije toliko centralna za samu sadrinu baze podataka kao to je tabela. Tabela se moe smatrati ekvivalentom glavnoj knjizi raunovoe ili radnom listu u Excelu. Sastoji se od takozvanih podataka domena (kolone) i podataka entiteta (redovi). Sami podaci iz baze podataka uvaju se u tabelama. Svaka definicija tabela sadri i metapodatke (opisne informacije o podacima) koji opisuju pri-rodu podataka koje bi tabela trebalo da sadri. Svaka kolona ima svoj skup pravila koja odre-uju ta se moe uvati u toj koloni. Krenje pravila u bilo kojoj koloni moe da dovede do toga da sistem odbaci red koji elite da unesete ili da odbije da aurira postojei red ili da sprei brisanje reda. Pogledajmo tabelu publishers u bazi podataka pubs. (Prikaz predstavljen na slici 1-1 dobijen je iz SQL Server Management Studija. To je osnovna alataka SQL Servera.

    Slika 1-1

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 6 -

    Tabela na slici 1-1 sastoji se od 5 kolona podataka. Broj kolona ostaje isti bez obzira na to koliko se podataka (ak i kad ih nema) nalazi u tabeli. Trenutno tabela ima osam zapisa. Broj zapisa e se menjati kada budemo dodavali ili brisali podatke, ali priroda podataka u svakom zapisu (ili redu) je opisana i ograniena tipom podataka za posmatranu kolonu

    1.1.3.1 Indeksi Indeks predstavlja objekat koji postoji samo unutar radnog okruenja odreene tabele ili pri-kaza. Indeks funkcionie veoma slino kao i indeks na kraju enciklopedije; postoji nekakva vrednost po kojoj se pretrauje (ili kljuna vrednost), koja je ureena na odreeni nain i kada je naete, dobili ste drugi klju pomou kojeg moete da pronaete same informacije koje su vam potrebne. Indeks nam obezbeuje naine koji omoguuju da se ubrza pretraivanje informacija. Indeksi spadaju u dve kategorije:

    o Grupisane - Samo jedan ovakav indeks moe da postoji po tabeli. Ako je indeks grupisani,to znaci da je tabela u kojoj se nalazi fizicki uredena u skladu sa tim indeksom. Kada bi indeksirali enciklopediju, klasterski indeks bi bio broj strane; informacije u enciklopediji su sauvane prema redosledu brojeva strana.

    o Negrupisane Moe ih biti vie u svakoj tabeli. On se vie uklapa u ono to se obino podrazumeva kada se uje re indeks". Ovaj tip indeksa ukazuje na neku drugu vrednost koja e omoguiti da se pronau podaci. U enciklopediji, to bi bio indeks kljunih rei na kraju knjige.

    Treba obratiti panju na to da prikazi koji imaju indekse ili indeksirani prikazi - moraju imati bar jedan grupisani indeks da bi uopte mogli imati negrupisane indekse.

    1.1.3.2 Okidai Okida je objekat koji postoji samo unutar radnog okruenja neke tabele. Okidai su delovi logikog koda koji se automatski izvravaju kada se odreene stvari dese u tabeli, kao to su ubacivanje redova, auriranje ili brisanje. Okidai se mogu koristiti za razliite stvari, ali se uglavnom koriste ili za kopiranje podataka prilikom unoenja ili za proveru pri auriranju podataka kako bi se obezbedilo da podaci ispunjavaju odreene kriterijume.

    1.1.3.3 Ogranienja

    Ogranienje je jo jedan objekat koji postoji samo unutar granica tabele. Ogranienja su ba to to i njihovo ime govori; objekti koji ograniavaju podatke u tabeli tako da ispunjavaju odreene kriterijume. Ogranienja se na neki nain takmie sa okidaima kao mogua reenja za zahteve u vezi sa integritetom podataka. Meutim, oni ne predstavljaju istu stvar; imaju razliite prednosti.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 7 -

    1.1.4 Grupe datoteka Prema podrazumevanoj opciji, sve tabele i sve ostalo u vezi sa bazom podataka (izuzev dnev-nika) uva se u jednoj datoteci. Ta datoteka je deo neega to se naziva primarna grupa datoteka. Meutim, to nije sve to se tie ureenja. SQL Server dozvoljava definisanje nesto vise od 32 000 sekundarnih datoteka.Te sekundarne datoteke mogu se pridruiti primarnoj grupi datoteka ili se mogu napraviti kao deo jedne sekundarne grupe datoteka ili vie takvih grupa. Dok postoji samo jedna primarna grupa datoteka (i ona se u svari naziva Primary"), mogu postojati do 255 sekundarnih grupa datoteka. Sekundarna grupa datoteka se pravi kao opcija u okviru komande CREATE DATABASE ili ALTER DATABASE.

    1.1.5 Dijagrami Dijagram baze podataka vizuelno predstavlja dizajn baze podataka ukljuujui razliite tabele, imena kolona u svakoj tabeli i veze izmeu tabela. Postoji termin dijagram entitet-veza - ili ERD (entity-relationship diagram). Na ERD dijagramu baza podataka je podeljena na dva dela: entiteta (kao to su snabdeva" i proizvod") i veze (kao to su nabavka" i kupovina"). Slika 1-2 predstavlja dijagram koji prikazuje razliite tabele iz baze podataka Adventure Works. Dijagram takoe opisuje mnoga druga svojstva baze podataka. Obratite panju na male ikone za kljueve i znak za beskonano. Oni opisuju prirodu veze izmeu dve tabele.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 8 -

    Slika 1-2

    1.1.6 Prikazi

    Prikaz je neto nalik na virtuelnu tabelu. U veini sluajeva, prikaz se i koristi kao tabela, ali se od tabele razlikuje po tome to ne sadri svoje podatke. Prikaz predstavlja unapred plani-rano mapiranje i predstavljanje podataka koji se uvaju u tabelama. Taj plan se uva u bazi podataka u obliku upita. Upit zahteva podatke iz nekoliko kolona (nije neophodno da budu iz svih) iz jedne ili vise tabela. Vraeni podaci moda moraju, ili ne (zavisno od definicije prikaza) da ispunjavaju odreene kriterijume da bi se pojavili u tom prikazu.Do SQL Servera 2000 osnovna svrha prikaza bila je kontrola onoga to korisnik moe da vidi. Na to utiu dve osnovne stvari: bezbednost i lakoa korienja. Sa prikazima moete da kontroliete ono to korisnici vide, tako da ako postoji deo tabele kojem moe da pristupi samo nekoliko korisnika (na primer, detalji u vezi sa platama), moete da napravite prikaz koji sadri samo kolone kojima svi mogu da pristupe. Pored toga, prikaz se moe napraviti tako da korisnik ne mora da pretrauje kroz nepotrebne informacije.Pored ovih najosnovnijih primena prikaza, postoji mogunost da se napravi i takozvani indeksirani prikaz. On je isti kao i bilo koji drugi prikaz,

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 9 -

    izuzev to u odnosu na taj prikaz moemo da napravimo indeks. To ima nekoliko uticaja na performanse (neki su pozitivni, a neki negativni):

    Prikazi koji referenciraju vie tabela izvravaju se mnogo bre ako je prikaz indeksiran zato to je spajanje tabela unapred napravljeno.

    Agregiranja koja se obavljaju u prikazu unapred se raunaju i uvaju se kao deo indeksa; to opet znai da se agregacija obavlja u jednom trenutku (kada se unese ili aurira neki red), a zatim se moe itati iz informacija koje sadri indeks.

    Unoenje ili brisanje reda je sporije zato to i indeks u prikazu mora odmah da se au- rira; auriranja su takoe sporija ako auriranje utie na kolonu koja predstavlja klju u indeksu.

    1.1.7 Uskladitene procedure Uskladitene procedure (ili store procedure) su istorijski, pa ak i u eri .NET-a, osnova programske funk-cionalnosti kod SQL Servera. Uskladitene procedure u stvari predstavljaju nizove iskaza Transact-SQL-a (jezik koji se koristi za zadavanje upita kod Microsoft SQL Servera) spojenih u jednu logiku celinu. Dozvoljavaju korienje promenljivih i parametara kao i konstrukcija koje omoguuju izbor i prolazak u ciklusima. Uskladitene procedure nude nekoliko prednosti u odnosu na slanje pojedinanih iskaza serveru zbog sledeih razloga: Referenciraju se korienjem kratkih imena, umesto dugakih nizova teksta, zbog ega je potrebno manje mrenog saobraaja kako bi se izvrio kd unutar uskladitene procedure. One su preoptimizovane i prekompajlirane, ime se tedi mala koliina vremena svaki put kada se uskladitena procedura izvrava. Uauruju proces, obino iz bezbednosnih razloga ili da bi se sakrila sloenost baze podataka. Mogu se pozivati iz drugih uskladitenih procedura, zbog ega se mogu smatrati ponovo upotrebljivim u nekom uem smislu. Pored toga, moete da koristite bilo koji .NET jezik ako u uskladitene procedure elite da ubacite programske konstrukcije koje se ne nalaze u maternjem jeziku T-SQL.

    1.1.8 Funkcije koje definie korisnik Funkcije koje definie korisnik (UDF-ovi) imaju veoma mnogo slinosti sa uskladitenim procedurama, a razlikuju se po tome to: Mogu da vrate vrednost iji tip moe biti veina tipova podataka koji postoje kod SQL Servera. Povratna vrednost ne moe biti tipa text, ntext, image, cursor, timestamp. Ne mogu imati sporedne efekte". U osnovi, one ne mogu da urade nita izvan domena funkcije, kao to je menjanje tabela, slanje elektronskih poruka ili menjanje parametara sistema ili parametara baze podataka. Funkcije koje definie korisnik slicne su funkcijama koje biste koristili u standardnom pro-gramskom jeziku kao to je VB.NET ili C++. Moete da prosledite vie od jedne promenljive i da dobijete rezultat na osnovu njih. Funkcije koje definie korisnik kod SQL Servera razlikuju se od funkcija koje moete nai u mnogim proceduralnim jezicima; ali po tome da se sve promenljive koje se prosleuju funkciji uvek prosleuju po vrednosti. Meutim, postoje neke dobre vesti, a to su da moete vratiti poseban tip podataka koji predstavlja tabelu i naziva se table.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 10 -

    1.1.8.1 Korisnici i role Ovo dvoje uvek idu zajedno. Korisnici su prilino ekvivalentni nalozima. Ukratko, ovaj obje-kat predstavlja identifikator potreban da bi se neko prijavio na SQL Server. Svako ko se pri-javljuje na SQL Server mora da se preslika u korisnika (direktno ili indirektno zavisno od bezbednosnog modela koji se koristi). Korisnici pripadaju jednoj roli ili veem broju rola. Prava da se obave odreeni postupci kod SQL Servera mogu se dodeliti direktno korisniku ili roli kojoj pripada jedan ili vie korisnika.

    1.1.8.2 Pravila Pravila i ogranienja ograniavaju informacije koje mogu da uu u tabelu. Ako aurirani ili ubaeni zapis kri pravilo, ubacivanje ili auriranje e se odbaciti. Pored toga, pravilo moe da se koristi za definisanje ogranienja kod korisniki definisanih tipova podataka. Za razliku od pravila, ogranienja nisu ba samostalni objekti, ve delovi metapodataka koji opisuju odreenu tabelu. Pravila se moraju smatrati objektom koji tu postoji samo zbog kompatibilnosti unazad i tre-balo bi ih izbegavati u novim aplikacijama.

    1.1.8.3 Podrazumevane vrednosti Postoje dva tipa podrazumevanih vrednosti. Postoji podrazumevana vrednost koja predstavlja samostalan objekat i podrazumevana vrednost koja u stvari i nije objekat ve predstavlja metapodatke koji opisuju odreenu kolonu u tabeli (slino kao to imamo pravila, koja predstavljaju objekte, i ogranienja, koja nisu objekti ve metapodaci). Imaju istu namenu. Ako prilikom ubacivanja novog reda ne obezbedite vrednost za neku kolonu, a kolona ima definisanu podrazumevanu vrednost, automatski ce se ubaciti vrednost koja je definisana kao podrazumevana. .

    1.1.8.4 Tipovi podataka koje definie korisnik Tipovi podataka koje definie korisnik predstavljaju proirenja za tipove podataka koje defi-nie sistem. Poevi od ove verzije SQL Servera, mogunosti u ovoj oblasti su skoro beskrajne. Iako su SQL Server 2000 i prethodne verzije imali pojam tipova podataka koje definie korisnik, ti tipovi podataka bili su ogranieni na razliito filtriranje postojeih tipova podataka. Kod SQL Servera 2005 imate mogunost da vezujete .NET sklopove za vae tipove podataka, to znai da moete imati tip podataka koji uva (sa razlogom) sve to moete sauvati u .NET objektu.

    1.1.8.5 Katalozi servisa Full-text Katalozi servisa Full-text predstavljaju mapiranja podataka koja ubrzavaju traenje odreenih blokova teksta unutar kolona koje imaju omogueno pretraivanje pomou servisa full-text. Iako su ovi objekti vezani za tabele i kolone koje mapiraju, ipak predstavljaju zasebne objekte i zbog toga se ne auriraju automatski kada se neto menja u bazi podataka.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 11 -

    1.2 Tipovi podataka kod SQL Servera

    Sada kada sme se upoznali sa osnovnim objektima baze podataka SQL Servera, pregledaemo opcije koje SQL Server ima za jednu od temeljnih stvari za svako okruenje koje se bavi podacima, a to su tipovi podataka. Ovde su prikazane specifinosti tipova podataka kod SQL Servera. SQL Server 2005 ima tipove podataka prikazane u sledeoj tabeli

    Naziv tipa podataka

    Klasa Veliina u bajtovima

    Priroda podataka

    Bit Integer 1 Veliina vas moe navesti na pogrene zakljuke. Prvi tip podataka bit u tabeli zauzima jedan bajt; narednih sedam koristi isti bajt. Dozvoljavanje vrednosti null dovodi do korienja dodatnog bajta.

    Bigint Integer 8 Ovaj tip podataka izlazi na kraj sa injenicom da sve ee koristimo sve vee i vee brojeve. Ovaj tip podataka vam dozvoljava da kori-stite cele brojeve od -263 do 263-1. To je plus ili minus oko 92 kvintriliona.

    Int Integer 4 Predstavlja cele brojeve od -2 147 483 648 do 2 147 483 647.

    SmallInt Integer 2 Predstavlja cele brojeve od -32 768 do 32 767 .

    TinyInt Integer 1 Predstavlja cele brojeve od 0 do 255.

    Decimal ili Numeric Decimal/ Numeric

    Promenljiva Predstavlja brojeve fiksirane preciznosti i skale od -1038-1 do 1038-1. Ta dva naziva predstavljaju sinonime.

    Money Money 8 Predstavlja novane jedinice od -263 do 263 plus preciznost na etiri decimalna mesta. Obratite panju na to da moe predstavljati bilo koju novanu jedinicu, a ne samo dolare.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 12 -

    Naziv tipa podataka Klasa Veliina u bajtovima

    Priroda podataka

    SmallMoney Money 4 Predstavlja novane jedinice u opsegu od -214 748.3648 do +214 748.3647

    Float (takoe sinonim za ANSI tip Real)

    Approximate Numerics

    Promenljiva Prihvata argument (na primer, Float(20)) koji odreuje veliinu i preciznost. Obratite panju na to da se argument izraava u bitima, a ne u bajtovima. Opseg je od -1.79E+308 do 1.79E+308.

    DateTime Date /Time 8 Predstavlja podatke koji se odnose na datum i vreme od 1. januara 1753 do 31. decembra 9999, sa tanou od tri hiljadita dela sekunde.

    SmallDateTime Date /Time 4 Predstavlja podatke koji se odnose na datum i vreme od 1. januara 1900 do 6. juna 2079, sa tanou od jednog minuta.

    Cursor Special Numeric

    1 Predstavlja pokaziva na kursor. Iako pokaziva zauzima samo jedan bajt, imajte na umu da rezultujui skup koji ini sam kursor takoe zauzima memoriju - koliko e je zauzeti zavisi od rezultujueg skupa.

    Timestamp/ rowversion Special Numeric (binary)

    8 Predstavlja specijalnu vrednost koja je jedinstvena unutar date baze podataka. Vrednost postavlja auto-matski sama baza podataka svaki put kada se unese ili aurira zapis, ak iako kolona tipa timestamp nije referencirana u iskazu UPDATE. (U stvari, nije vam ni dozvoljeno da direktno aurirate polje tipa time-stamp.)

    Uniqueldentifier Special Numeric (binary)

    16 Predstavlja specijalni jedinstveni globalni identifikator (GUID). Zagarantovana je njegova jedinstve-nost u prostoru i vremenu.

    Char Character Promenljiva Predstavlja znakovne podatke fiksne duzine. Vrednosti koje su krae od postavljene duine dopu-njuju se razmacima do postavljene duine. Podaci nisu tipa Unicode. Maksimalna duina koja se moe navesti je 8000 znakova.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 13 -

    Naziv tipa podataka

    Klasa Veliina u bajtovima

    Priroda podataka

    VarChar Character Promenljiva Predstavlja znakovne podatke promenljive duine. Vrednosti se ne dopunjuju razmacima. Podaci nisu tipa Unicode. Maksimalna duina koja se moe navesti je 8000 zna-kova, ali moete da koristite kljunu re max da biste ukazali na to da je u pitanju u sutini veoma veliko znakovno polje (do 2A31 bajtova podataka).

    Text Character Promenljiva Predstavlja podrku SQL Servera 2005 zaostavtini. Umesto njega, koristite tip varchar(max).

    NChar Unicode Promenljiva Predstavlja znakovne podatke fiksne duine tipa Unicode. Vrednosti koje su krae od postavljene duine dopunjuju se razmacima. Maksimalna duina koja se moe navesti je 4000 znakova.

    NVarChar Unicode Promenljiva Predstavlja znakovne podatke tipa Unicode promenljive duine. Vrednosti se ne dopunjuju razmacima. Maksimalna duina koja se moe navesti je 4000 znakova, ali moete da koristite kljunu re max da biste ukazali na to da je u pitanju u sutini veoma veliko znakovno polje (do 2A31 bajtova podataka).

    Ntext Unicode Promenljiva Kao i tip podataka Text, postoji samo kao podrka zaostavtini. U ovom sluaju koristite tip nvarchar(max). To su znakovni podaci tipa Unicode promenljive duine.

    Binary Binary Promenljiva Predstavlja binarne podatke fiksne duine sa maksimalnom duinom od 8000 bajtova.

    VarBinary Binary Promenljiva Predstavlja binarne podatke promenljive duine sa maksimalnom duinom od 8000 bajtova, ali moete da koristite kljunu re max da biste ukazali na to da je u pitanju u sutini polje tipa LOB (do 2A31 bajtova podataka).

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 14 -

    Naziv tipa podataka

    Klasa Veliina u bajtovima

    Priroda podataka

    Image Binary Promenljiva Predstavlja podrku SQL Servera 2005 zaostavtini. Umesto njega, koristite tip varbinary(max). Table Druga Specijalna Ovaj tip je prvenstveno name-njen da se koristi prilikom rada sa rezultujuim skupom, obino kada se takav skup podataka prosleuje kao rezultat funkcije koju definise korisnik. Ne moe se koristiti kao tip podataka unutar definicije tabele.

    Sql_variant Druga Specijalna Ovaj tip je pomalo povezan sa tipom Variant kod VB-a i C++-a. U sutini to je kontejner koji vam omoguuje da u njemu uvate veinu drugih tipova podataka SQL Servera. To znai da moete da ga koristite kada jedna kolona ili funkcija treba da radi sa vie tipova podataka. Za razliku od VB-a, korienje ovog tipa podataka primorava vas da ga eksplicitno konvertujete u konkret-niji tip podataka. XML Character Promenljiva Definise znakovno polje koje predstavlja XML podatke. Obezbeuje proveru ispravnosti podataka u odnosu na XML emu i korienje specijalnih funkcija koje su orijenti-sane ka XML-u.

    Veina ovih tipova podataka ima ekvivalentne tipove podataka u drugim programskim jezi-cima. Na primer, tip int kod SQL Servera ekvivalentan je tipu Long u Visual Basicu, a za veinu sistema i kombinacija kompajlera kod C++-a, ekvivalentan je tipu int. Ukratko, tipovi podataka kod SQL Servera obavljaju skoro istu funkciju kao i u drugim okruenjima za programiranje. Spreavaju pojavu greaka u programima tako to obezbeuju da podaci koji se unose imaju prirodu koju bi trebalo da imaju (ne zaboravite da 1/1/1980 znai jedno kao datum, a neto sasvim drugo kao broj) i obezbeuju da operacija koju obavljate bude ono to i oekujete.

    1.2.1 Podaci tipa NULL ta ako imate red koji ne sadri nikakve podatke u odreenoj koloni? - to jest, ta ako jednostavno ne znate tu vrednost? Na primer, recimo da imamo zapis koji pokuava da uva informacije o radu kompanije tokom date godine. Sada zamislite da je jedno od polja procenat porasta u odnosu na prethodnu godinu, ali nemate zapise za godinu pre prvog zapisa u bazi podataka. Moete doi u iskuenje da unesete nule u kolonu PercentGrowth. Meutim, da li e to obezbediti prave informacije? Oni koji ne znaju detalje mogu pomisliti da ta nula oznaava da ste imali procenat rasta od nula posto, a ne injenicu da jednostavno ne znate vrednost za posmatranu godinu. Vrednosti koje su neodreene oznaavaju se kao vrednosti NULL. Izgleda da me svaki put kada drzim cas iz programiranja, barem jedan ucenik pita da definisem vrednost NULL. To je veoma tesko zato sto po definiciji vrednost NULL znai da ne znate koja je vrednost. Mogla bi biti 1; mogla bi biti 347; mogla bi biti -294 i to je sve to znamo. Ukratko, znai da je vrednost nedefinisana ili moda neprimenljiva.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 15 -

    Preduzea i ustanove se danas suoavaju s brojnim izazovima vezanim za podatke, kao to su potrebe za brim i brojnijim odlukama utemeljenim na podacima, potrebe za poboljanom produktivnou i fleksibilnou razvojnih timova kao i pritiska radi smanjenja trokova vezanih uz informacione tehnologije uz istovremeno prilagoavanje infrastrukture da bi to bolje ispunila stalno rastue zahteve. Nova verzija Microsoft SQL Server osmiljena je tako da kompanijama olaka hvatanje u kotac s tim izazovima. Microsoft SQL Server 2005 je softver sledee generacije za upravljanje podacima i daje njihovu analizu, a nudi poboljanu skalabilnost, dostupnost i sigurnost poslovnih podataka i analitikih aplikacija, a istovremeno olakava njihovo stvaranje, instaliranje i odravanje Oslanjajui se na jake strane sistema SQL Server 2000, SQL Server 2005 nudi integrisano reenje za upravljanje informacijama koje e preduzeima i ustanovama svih veliina pomoi da:

    Izgrade i implementiraju sigurnije, skalabilnije i pouzdanije poslovne aplikacije i da upravljaju njima.

    Maksimiziraju produktivnost informatikih odeljenja smanjivanjem sloenosti pravljenja, implementacije i upravljanja aplikacijama za rad s bazama podataka.

    Zajedniki koriste podatke na vie platformi, aplikacija i ureaja kako bi lake povezale unutranje i spoljne sisteme.

    Nadziru trokove bez rtvovanja performansi, raspoloivosti, skalabilnosti ili sigurnosti.

    U nastavku ete saznati koje novine SQL Server 2005 donosi na tri kljuna podruja: upravljanje poslovnim podacima, produktivnost razvojnih inenjera i poslovna inteligencija.

    2.1 Platforma SQL Server-a SQL Server je integrisano i sveobuhvatno reenje za upravljanje podacima koje korisnicima na svim nivoima organizacije nudi vee mogunosti delovanja jer im osigurava sigurnu, pouzdanu i produktivnu platformu za aplikacije vezane uz poslovne podatke i poslovnu inteligenciju (engl. Business Intelligence, BI). SQL Server 2005 IT profesionalcima i zaposlenima koji se bave informacijama nudi poznate, mone alate i smanjuje sloenost pravljenja, implementacije, upravljanja i korienja poslovnih podataka i analitikih aplikacija na platformama u rasponu od mobilnih ureaja do velikih poslovnih sistema podataka. Zahvaljujui meuoperativnosti s postojeim sistemima i automatizaciji rutinskih zadataka, SQL Server 2005 nudi potpuno reenje za upravljanje podacima u preduzeima svih veliina.

    2 Pregled Microsoft SQL Servera 2005

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 16 -

    Slika 1 prikazuje emu platforme SQL Server 2005.

    Slika 1: Platforma SQL Server 2005 Platforma SQL Server 2005 obuhvata sledee alate: Relaciona baza podataka: siguran, pouzdan, skalabilan, visoko dostupan mehanizam

    relacione baze podataka s poboljanim performansama i podrkom za struktuirane i nestruktuirane (XML) podatke.

    Replikacioni servisi: replikacija podataka za distribuirane ili mobilne aplikacije za obradu podataka, visoka raspoloivost sistema, skalabilne mogunosti istovremenog pristupa uz sekundarna spremita podataka za reenja za poslovno izvetavanje kao i integracija s raznovrsnim sistemima, ukljuujui postojee Oracle baze podataka.

    Servisi za obavetavanje: napredne mogunosti obavetavanja za razvoj i implementaciju skalabilnih aplikacija koje omoguuju pruanje prilagoenih, pravovremenih i aurnih informacija putem raznovrsnih povezanih i mobilnih ureaja.

    Integracioni servisi: mogunosti izdvajanja, pretvaranja i uitavanja omoguavaju skladitenje podataka i njihovo integrisanje na nivou celog preduzea.

    Analitiki servisi: elektronska analitika obrada (OLAP) nudi brzu, sofisticiranu analizu velikih i sloenih skupova podataka pomou viedimenzionalnog skladitenja.

    Servisi za izvetavanje: sveobuhvatno reenje za izradu, upravljanje i isporuku izvetaja, kako onih tradicionalnih na papiru, tako i interaktivnih, utemeljenih na webu.

    Upravljaki alati: SQL Server sadri integrisane upravljake alate za napredno upravljanje bazama podataka, a ti su alati vrsto integrisani s alatima kao to su Microsoft Operations Manager (MOM) i Microsoft Systems Management Server (SMS). Standardni protokoli za pristup podacima drastino smanjuju vreme potrebno za integraciju podataka s platforme SQL Server s postojeim sistemima. Takoe, u SQL Server ugraena je podrka za web-servise kako bi se osigurala meuoperativnost s ostalim aplikacijama i platformama.

    Razvojni alati: SQL Server nudi integrisane razvojne alate vezane uz mehanizam baze podataka, ekstrakciju, pretvaranje i uitavanje podataka (ETL), dubinsku

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 17 -

    analizu podataka (data mining), OLAP i izvetavanje. Ti su alati vrsto integrisani s okruenjem Microsoft Visual Studio da bi se omoguio razvoj sveobuhvatnih (end-to-end) aplikacija. Svaki od vanijih podsistema SQL Server donosi sopstveni objektni model i skup API-ja za proirivanje sistema podataka u bilo kom smeru specifinom za poslovanje.

    Platforma SQL Server 2005 organizacijama svih razmera nudi ove pogodnosti: Iskoriavanje podataka kojima raspolau: osim to se oslanja na sigurnu i pouzdanu

    bazu podataka za specifine poslovne i opte analitike aplikacije, SQL Server 2005 korisnicima omoguuje izvlaenje vee vrednosti iz podataka kojima raspolau i primenu ugraenih funkcija kao to su izvetavanje, analize i dubinska analiza podataka.

    Poveanje produktivnosti: opsene mogunosti vezane uz poslovnu inteligenciju i integracija s poznatim alatima kao to su Microsoft Office System i SQL Server 2005 onim zaposlenima na nivou cele organizacije koji se bave informacijama pruaju kljune i pravovremene poslovne informacije prilagoene njihovim specifinim potrebama. Cilj je proiriti BI na sve korisnike unutar organizacije i na kraju korisnicima na svim nivoima olakati donoenje poslovnih odluka na temelju njihove najdragocjenije imovine podataka kojima raspolau.

    Smanjenje sloenosti informacione tehnologije: SQL Server 2005 pojednostavljuje razvoj, implementaciju i upravljanje specifinim poslovnim i optim analitikim aplikacijama nudei prilagodljivo razvojno okruenje i integrisane, automatizovane upravljake alate za administratore baza podataka.

    Nii ukupni trokovi posedovanja (TCO): integrisani pristup i usresreenost na jednostavnost upotrebe i implementaciju nude najnie trokove inicijalne nabavke, implementacije i odravanja, a time i brzo vraanje ulaganja u bazu podataka.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 18 -

    2.2 ta je novo u sistemu SQL Server 2005

    2.2.1 Upravljanje poslovnim podacima

    U savremenom povezanom svetu podaci i sistemi koji njima upravljaju moraju uvek biti zatieni, ali i dostupni korisnicima. Uz SQL Server 2005 korisnici i strunjaci za informacionuu tehnologiju iz cele organizacije uivae pogodnosti smanjenog praznog hoda, poboljane skalabilnosti i performansi kao i vrste, ali prilagodljive kontrole nad sigurnou. SQL Server 2005 raspolae i brojnim novim i poboljanim mogunostima za poveanje produktivnosti informatiara. SQL Server 2005 donosi kljuna poboljanja u upravljanju poslovnim podacima na ovim podrujima:

    o mogunost upravljanja o dostupnost o skalabilnost o sigurnost

    2.2.1.1 Mogunost upravljanja SQL Server 2005 olakava implementaciju, upravljanje i optimizaciju poslovnih podataka i analitikih aplikacija. Kao platforma za upravljanje poslovnim podacima, nudi objedinjenu upravljaku konzolu koja administratorima podataka iz bilo kog dela organizacije omoguuje praenje, upravljanje i podeavanje baza podataka i pripadnih servisa na nivou celog preduzea. Na taj nain on nudi proirivu upravljaku infrastrukturu koja se lako programira primenom upravljakih objekata za SQL (engl. SQL Management Objects, SMO), to korisnicima omoguva da se prilagode i proire svoje upravljao okruenje, a nezavisnim proizvoaima softvera (ISV) izradu dodatnih alata i funkcionalnosti. SQL Server Management Studio SQL Server 2005 pojednostavljuje upravljanje nudei integrisanu upravljaku konzolu za praenje relacionee baze podataka u sistemu SQL Server i upravljanje njom, kao i usluge integracije ,analize, izrade izvetaja i SQL Mobile kroz veliki broj distribuiranih servera i baza podataka. Administratori baza podataka mogu obavljati vie poslova istovremeno, izmeu ostalog i : autorizacija i izvravanje upita, pregled serverskih objekata, upravljanje objektima i praenje aktivnosti sistema i pregled pomoi na mrei. SQL Server Management Studio sadri razvojno okruenje za autorizaciju, ureivanje i upravljanje skriptama i skladitenje procedura koristei Transact-SQL, Multidimensional Expressions (MDX), XMLA i SQL Server Mobile Edition. Management Studio lako se integrie sa sistemima za kontrolu izvornog koda. Management Studio raspolae i alatima za zakazivanje poslova programa SQL Server Agent i upravljanje planovima za odravanje radi automatizacije dnevnog odravanja i operativnih zadataka. U kombinaciji s mogunostima upravljanja svim vrstama servera, taj oblik integracije upravljanja i stvaranja u istom alatu poveava produktivnost administratora baza podataka.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 19 -

    Proaktivni nadzor i podeavanje performansi SQL Server 2005 donosi preko 70 novih merila za interne performanse baze podataka i korienja resursa, od upotrebe memorije, zakljuavanja i zakazivanja do transakcija i U/I za mreu i disk. Ti dinamiki upravljaki prikazi (DMV) obezbeuju veu transparentnost baze podataka i uvid u nju, kao i snanu infrastrukturu za proaktivni nadzor stanja i performansi baze podataka. Upravljaki objekti za SQL (SQL management objects) Upravljaki objekti za SQL (SMO) novi su skup programskih objekata koji omoguuje pristup funkcijama upravljanja bazom podataka. U stvari, Management Studio je izgraen korienjem funkcije SQL management objects. SMO je primenjen kao skup sistema Microsoft .NET Framework. SMO moete koristiti za automatizaciju uobiajenih administratorskih zadataka vezanih za SQL Server, kao to su programsko povezivanje postavki konfiguracije, kreiranje novih baza podataka, primene Transact-SQL skripti, kreiranje poslova za SQL Server Agent i zakazivanja izrade rezervnih kopija. Objektni model SMO predstavlja bezbedniju, pouzdanija i proiriviju zamenu modela objekata za distribuirano upravljanje (engl. Distributed Management Objects, DMO), koji se koristio u ranijim verzijama sistema SQL Servera.

    2.2.1.2 Dostupnost Investicije u tehnologije visokog nivoa dostupnosti, u dodatne mogunosti izrade rezervnih kopija i vraanje podataka u prethodno stanje kao i prorenja replikacije omoguie preduzeima da izgrade i primene izuzetno dostupne aplikacije. Inovativne funkcije koje obezbeuju visok nivo dostupnosti, na primer pravljenje slike baze podataka, trenutni snimcibaze podataka i poboljano manipulisanje na mrei, skratie vreme zastoja u radu i omoguie da kritini sistemi preduzea ostanu dostupni korisnicima. U sledeem odeljku detaljnije pozabaviti ovim poboljanjima. Pravljenje slike baze podataka Pravljenjem slike baze podataka omoguuje neprekidan tok evidencije transakcija sa izvornog na odredini server. U sluaju otkazivanja primarnog sistema aplikacije se mogu trenutno prebaciti na bazu podataka na sekundarnom serveru. Sekundarna instanca nakon nekoliko sekundi otkriva otkazivanje primarnog servera i poinje prihvatati pokuaje povezivanja s bazom podataka. Pravljenje slika baze podataka radi na standardnom sereverskom hardveru i ne zahtieva posebne ureaje za skladitenje ili kontrolere.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 20 -

    Slika 2 prikazuje osnovnu konfiguraciju pravljenja slike baze podataka

    Slika 2: Osnovna konfiguracija pravljenja slike baze podataka

    Funkcije vezane za dostupnost Miroring baza podataka

    Formiranje klastera otpornih na greke

    Automatsko grupisanje instanci koje su pale

    Da Da

    Transparentno preusmeravanje klijenata

    Da, automatski preusmeravanje

    Da, ponovnim povezivanjem s istom IP adresom

    Uinak na ukupnu propusnu mo Minimalan ili nikakav uinak

    Bez uticaja

    Bez ikakvog gubitka obavljenog posla

    Da Da

    Zahteva sertifikovani hardver Ne Da Osigurava redundantnost podataka Da Ne

    Trenutni snimci baze podataka SQL Server 2005 administratorima baza podataka donosi mogunost brzog kreiranja prikaza baze podataka koji se mogu samo itati. Trenutni snimci baze podataka pruaju stabilan prikaz stanja baze podataka bez vremenskih ili prostornih optereenja ,to je sluaj kada se pravi kompletna kopija baze podataka. Poto se primarna baza podataka ne slaesa trenutnim snimkom, trenutni snimak dodaje svoju sopstvenu kopiju izmenjenih stranica onako kako se one menjaju. Zato se trenutni snimak moe koristiti za brz oporavak od sluajnih izmena u bazi podataka tako to e se jednostavno originalne stranica iz trenutnog snimka ponovo primeniti na primarnu bazu podataka. Brzi oporavak SQL Server 2005 poboljava dostupnost SQL Server baza podataka putem nove opcije za brzi oporavak. Korisnici se mogu ponovo povezati s oporavljenom bazom podataka poto se

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 21 -

    evidencija transakcija ispravi. Ranije verzije SQL Servera traile su od korisnikada ekaju da se zavri vraanje nepotpune transakcije, ak i u sluaju da korisnici nisu imali potrebu da pristupe onim delovimabaze podatakakoji su ovim bili pogoeni. Posveena administratorska veza SQL Server 2005 uvodi posveenu administratorsku vezu za pristup pokrenutom serveru ak i ako taj server ne odgovara ili je iz nekog drugog razloga nedostupan. Time se omoguuje izvravanje dijagnostikih funkcija ili Transact-SQL naredbi radi reavanja problema sa serverom. Vezu aktiviraju lanovi s fiksnim administratorskim ulogom na serveru (sysadmin), a ona je dostupna samo kroy komandni odzivnik SQLCMD , bilo lokalno ili s udaljenog raunara. Manipulisanje na mrei (manipulisanje sa indeksima i povratak u prethodno stanje) Mogunost kreiranja, ponovne izgradnje ili ostavljanja indeksa na mrei poboljana je funkcija sistema SQL Server 2005 koja pojaava mogunost indeksiranja iz ranijih verzija. Mogunost indeksiranja baze podataka dozvoljava istovremene izmene (auriranje, brisanje i umetanje) osnovne tabele ili grupisanih indeksnih podataka i svakog pridruenog indeksa tokom izvravanja naredbi jezika za definisanje podataka (engl. Data Definition Language, DDL). Osim podrke za rad s indeksima na mrei , indekse moete dodavati bez preklapanja sa pristupom tabelama ili ostalim postojeim indeksima. Osim toga, nain rada servera dozvoljava da manipulacije indeksom koriste prednosti paralelne obrade. SQL Server 2005 uvodi i mogunost izvoenja operacije vraanja podataka dok je pokrenuta instanca sistema SQL Server. Taj oblik vraanja podataka poveava dostupnost sistema SQL Server jer e samo podaci koji se vraaju biti nedostupni u tom razdoblju. Ostatak baze podataka ostaje na mrei i dostupan je. Ranije verzije sistema SQL Server zahtevale su da se pre vraanja podataka onemogui spoljanji pristup bazi podataka. Replikacija Replikacija je dizajnirana radi poveanja dostupnosti podataka njihovom distribucijom na vie servera za baze. Dostupnost se poveava jer se aplikacijama omoguava da SQL Serveru smanje posao itanja kroz baze podataka. SQL Server 2005 nudi poboljanu replikaciju koristei peer-to-peer model s novom topologijom, u kojoj se baze podataka mogu sinhronizovati transakciono sa bilo kojom identinom ravnopravnom bazom podataka

    2.2.2 Skalabilnost-proirivost Poboljanja skalabilnosti, poput podele tabela, izolovanje trenutnog snimka i 64-bitna podrke, omoguie izradu i implementaciju najzahtevnijih aplikacija uz pomo SQL Servera 2005. Podela velikih tabela i indeksa znatno poboljava performanse upita u veoma velikim bazama podataka. Deljenje tabela i indeksa Podela tabela i indeksa olakava upravljanje velikim bazama podataka svodei predmet upravljanja na manje i praktinije delove kojima se lake upravlja. Iako koncept podele podataka izmeu tabela, baza podataka i servera nije novitet u svetu baze podataka, SQL

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 22 -

    Server 2005 otvara nove mogunosti za podelu tabela na grupe datoteka u sklopu iste baze podataka. Horizontala podela omoguuje deljenje tabele na manje grupacije koje se zasnivaju na emi podele. Podela tabela je predviena za veoma velike baze podataka, u rasponu od nekoliko stotina gigabajta do jednog ili vie terabajta pa i vie. Izdvajanje trenutnog snimka Kada to se podaci jednom kopiraju, transformiu i arhiviraju u analitiki orijentisanu bazu podataka , ona se periodino mora odravati i/ili obnavljati. Korisnici nesumnjivo imaju korist to gledaju pred sobom transakciono konzistentnu bazu podataka, s druge strane verzija podataka koju gledaju vie nije aktualna. Izgradnje i indeksiranje mogu oduzeti mnogo vremena, a to moda verovatno nije ono to je korisnicima potrebno. Tu na scenu stupa izolovanje trenutnog snimka. Nivo izolovanja trenutnog snimka omoguava korisnicima da pristupe poslednjem redu koji je obraen tako to e koristitit ransakciono konzistentan prikaz baze podataka. Ovaj novi nivo izolovanja nudi sledee pogodnosti:

    Poveana dostupnost podataka za aplikacije koje ih samo itaju. Doputanje neblokirajuih operacija itanja u OLTP okruenju. Automatsko obavezno otkrivanje neusaglaenosti za transakcija upisivanja. Jednostavnija migracija aplikacija s Oracle-a na SQL Server.

    Nadgledanje replikacije (Replication Monitor) Replication Monitor je alat koji intuitivnim korisnikim interfejsom i bogatstvom metrike postavlja nove standarde jednostavnosti upotrebe na podruju upravljanja sloenim operacijama replikacije podataka. Podrka za 64-bitne Itanium2 i x64 sisteme SQL Server (64-bitni) optimizovan je za procesor Intel Itanium ite koristi prednosti naprednog adresiranja memorije za kljune resurse kao to su grupe bafera, ke i hipovi sortiranja, a to smanjuje potrebu za viekratnim U/I operacijama radi pribavljanja podataka s diska u memoriju i obratno. Vei mogunosti obrade bez kazne u obliku U/I kanjenja otvara novo poglavlje proirivosti aplikacija. Windows Server 2003 x64 omoguuje visoke performanse i 32-bitnih i 64-bitnih aplikacija na istom sistemu. Osnovna arhitektura se zasniva je na 64-bitnim proirenjima skupa instrukcijaindustrijskog standarada x86 ,to doputa dananjim 32-bitnim aplikacijama da se prirodno izvravaju na x64 procesorima. Istovremeno se 64-bitne aplikacije izvravaju se u 64-bitnom reimu, koji zbog obrade vee koliine podataka u jednom ciklusu to omoguava bolji pristup memoriji i ubrzava numerika izraunavanja. Krajnji rezultat svega ovoga je platforma koja podrava brojne postojee 32-bitne aplikacije, a istovremeno osigurava neosetnu migraciju na 64-bitno raunarstvo.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 23 -

    2.2.3 Sigurnost SQL Server 2005 donosi znatna poboljanja sigurnosnog modela platforme za baze podataka s ciljem preciznije i fleksibilnije kontrole i bolje zatite podataka. Mnogo je uloeno u odreen broj funkcijakoje e pruiti visok nivo bezbednosti poslovnih podataka, a to su, izmeu ostalog:

    o Prenos pravila za lozinke za prijavu na SQL Server u podruje autentifikacionog prostora.

    o Vea granularnost u pogledu specifikovanja dozvola za razliite opsege unutar autentifikacionog prostora.

    o Omoguavanje razdvajanja vlasnika i ema unutar prostora za upravljanje bezbednou.

    Autorizacija Novi bezbednosni model u SQL Serveru 2005 dozvoljava administratorima da upravljaju dozvolama na granularnom nivou kao i u naznaenom opsegu, ime se olakava upravljanje dozvolama i garantuje ouvanje principa najmanjih privilegija. SQL Server 2005 omoguuje preciziranje konteksta u okviru kojeg se izvravaju instrukcije u modulu. Ova funkcija se istovremeno ponaa i kao izvrstan mehanizam granularnog upravljanja dozvola. Provera identiteta SQL Server 2005 grupisanje podrava Kerberos proveru identiteta prema SQL Server 2005 virtuelnom serveru. Administratori mogu navoditi smerniceza standardno prijavljivanje na nain na koji se to radiu operativnom sistemu Microsoft Windowsa pa e se tako konzistentne smernice primenjivati na sve naloge u domenu . Ugraeno ifriranje SQL Server 2005 podrava ifriranje unutar same baze podataka, koje su u potpunosti integrisane sa osnovnom infrastrukturom upravljanja. Komunikacija izmeu klijenata i servera je, prema podrazumevanom podeavanju ifrirana. Radi centralizacije osiguranja zatite mogu se definisati serverska pravila za odbijanje neifrovane komunikacije. SQL i Raunarstvo dostojno poverenja(Trustworthy computing) Inicijativa Raunarstvo dostojno poverenja skiciraokvir koji definie neophodne korakekoji se moraju napraviti da bi se podralo bezbedno raunarstvo, kao i mera za implementaciju i odravanje bezbednog okruenja. Ovi koraci pomau da se zatiti povjerljivost, integritet i dostupnost podataka i sistema u svim fazama ivotnog ciklusa softvera od projektovanja i isporuke do odravanja. Microsoft i tim za SQL Server preduzeli su sledee korake da bi obezbedili potovanje etiri osnovna principa inicijative Trustworthy computing:

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 24 -

    Bezbednost u samom dizajnu Razvojni tim SQL Servera sproveo je viestruke bezbednosne revizije i potroio je vie od dva meseca prouavajui komponente SQL Servera i njihovu interakciju. Tim je analizirao svaku potencijalnu bezbednosnu pretnju i kako bi je ocenio i obavio dodatne potrebne izmene u dizajnu i testirao ih te tako neutralizovao potencijalne bezbednosne probleme. Zbog toga SQL Server 2005 raspolae brojnim novim bezbednosnim funkcijama za zatitu servera.

    Bezbednost se podrazumeva. Nakon instalacije SQL Server 2005 bira odgovarajui skup konfiguracionih vrednosti za sve opcije podeavanja, ime se obezbeuje da sistem, posle instalacije bude u bezbednom stanju , ve prema podrazumevanom podeavanju.

    Zatita u procesu implementacije. Microsoft je razvio odgovarajue sadraje koji organizacijama pomau pri implementaciji sistema SQL Server uz primenu prikladnih sigurnosnih sertifikata i punom razumevanju potrebnih koraka i ovlaenja. Alati za implementaciju sistema SQL Server nude informacije potrebne za razumevanje odluka koje morate doneti u sklopu tog procesa. Sigurnosne je dopune lako pronai i instalirati a ako izaberete tu mogunost, instalirae se same. Raspoloivi su i alati za lake ocenjivanje i upravljanje sigurnosnim rizicima na nivou cele organizacije.

    2.2.4 Produktivnost razvojnih timova SQL Server 2005 donosi mnogo novih tehnologija koje znatno poveavaju produktivnost razvojnih timova. Poevi od podrke za .NET Framework pa sve do tesne integracije s okruenjem Visual Studio, razvojnim timovima daju mogunost jednostavnijeg stvaranja bezbednih i robusnih aplikacija za baze podataka uz nie trokove. SQL Server 2005 omoguuje razvojnim timovima da prenesu svoje ranije steene vetine na itav niz razvojnih jezika,dok istovremeno prua end-to-end razvojno okruenje za baze podataka. Ugraene mogunosti vezane uz XML ujedno e razvojnim timovima olakati stvaranje novih vrsta povezanih aplikacija na bilo kojoj platformi ili ureaju. U poboljanja namenjena razvojnim timovima ubrajaju se:

    Proirena jezika podrka poboljani razvojni alati proirivost poboljani pristup podacima XML i web-servisi temeljna aplikativna struktura

    2.2.4.1 Proirena jezika podrka Budui da je zajednika jezina biblioteka (engl. Common Language Runtime, CLR) deo baze podataka, razvojni timovi mogu birati izmeu vie poznatih jezika za razvoj aplikacija koje rade s bazama podataka, kao to su Transact-SQL, Microsoft Visual Basic .NET i Microsoft Visual C# .NET. Uz to, integracija CLR-a prua razvojnim timovima veu fleksibilnost putem primene korisniki definiranih tipova i funkcija. CLR ujedno omoguuje upotrebu koda iz drugih izvora radi vrlo brzog razvoja aplikacija.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 25 -

    Integracija CLR-a i sistema .NET Framework Od objavljivanja sistema Microsoft SQL Server 2005 programeri koji rade s bazama podataka mogu u potpunosti iskoristiti Microsoft .NET Framework biblioteku klasa i savremene programske jezike da bi primenili funkcionalnost na serveru. Koristei integrisanost CLR komponenti,u .NET Framework jeziku koji odaberete moete kodirati svoje uskladitene procedure, funkcije i okidae. Microsoft Visual Basic .NET i C# nude objektno orijentisane strukture, struktuirano rukovanje izuzecima, grupe, prostore za ime i klase. Osim toga, .NET Framework nudi hiljade klasa i metoda s ekstenzivnim mogunostima ugraivanja koje lako moete upotrebiti na strani servera. Brojni zadaci koji se nepraktino ili teko izvravaju koristei TransactSQL mogu se bolje obaviti primenom kontrolisanog koda. Dostupne su i dve nove vrste objekata baze podataka agregacije i korisniki definisani tipovi. Sada moete bolje iskoristiti ve steena znanja i vetine za pisanje koda u sklopu pojedinih procesa. Ukratko, SQL Server 2005 omoguuje proirenje servera baze podataka s ciljem lakeg obavljanja odgovarajuih izraunavanja i radnji u pozadini. Taj oblik integracije sistema SQL Server i CLR-a nudi nekoliko velikih prednosti

    Poboljani programski model: Programski jezici kompatibilni sa sistemom .NET Framework u mnogo emu su bogatiji od jezika Transact-SQL i nude strukture i mogunosti koje ranije nisu bile dostupne SQL razvojnim timovima.

    Proirena pouzdanost u radu i bezbednost: Kontrolisani kod izvrava se u CLR okruenju koji se nalazi u maini baze podataka. Zbog toga su .NET Framework objekti baze podataka pouzdaniji i sigurniji od proirenih uskladitenih procedura u ranijim verzijama sistema SQL Server.

    Korisniki definisani tipovi i agregati: Prisustvom CLR komponenti omoguena su dva nova objekta baze podataka, koji proiruju mogunost skladitenja i postavljanja upita SQL Servera.

    Zajedniko razvojno okruenje: Razvoj baze podataka integrisan je u razvojno okruenje Microsoft Visual Studio 2005. Za razvoj i otklanjanje greaka u objektima baze podataka moete koristiti iste alate i skriptove kao i za pisanje .NET Framework komponenti i servisa namenjenih srednjem ili klijentskom sloju.

    Performanse i proirivost: Budui da se kontrolisani kod pre izvravanja prevodi u prirodni, u nekim je scenarijima mogue ostvariti znatna ubrzanje performansi.

    Primenom jezika kao to su Visual Basic .NET i C# moete iskoristiti integraciju CLR-a za pisanje koda koji sadri sloeniju logiku i koji je bolje prilagodjen raunarskim zadacima. Uz to, Visual Basic .NET i C# podravaju objektno orijentisane mogunosti, na primer enkapsulaciju, nasleivanje i polimorfizam. Srodni kod moete lako organizovati u klase i prostore za ime, to znai da moete lake organizovati i odravati ono to ste radiliu kodu kada radite sa velikim koliinama koda . Mogunost logike i fizike organizacije koda u sklopove i prostore za ime predstavlja ogromnu pogodnost koja vam doputa da bolje pronalazite i povezujete delove koda prilikom implementacije velikih baza podataka. Kontrolisani kod je mnogo efikasniji nego Transact-SQL u obradi brojeva i upravljanju komplikovanom logikom izvravanj, a nudi ekstenzivnu podrku za manipulisnje nizovima, regularnim izrazima i drugo. Osim toga, kroz funkcionalnost biblioteke klasa sistema .NET Framework dobija se puni pristup hiljadama gotovih klasa i rutina kojima moete bez tekoa pristupati iz bilo koje uskladitene procedure, trigera ili korisniki definisane funkcije. Sve u rasponu od poboljanih funkcija za rukovanje nizovima, matematikih funkcija, operacija s

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 26 -

    datumima, pristupanja sistemskim resursima, naprednih algoritama ifrovanja, pristupanja datotekama, obrade slike i manipulisanja XML podacima lako je dostupno iz upravljanih uskladitenih procedura, funkcija, trigera ili agregacija. Jedna od glavnih prednosti kontrolisanog koda je bezbednost u kucanju. Pre izvravanja kontrolisanog koda CLR sprovodi nekoliko provera u sklopu procesa verifikacije kako bi se uverio da se kod moe izvriti bez rizika. Na primer, proverava se da kod ne ita sadraj memorije u koju nita nije bilo upisivano. Transact-SQL proirenja Transact-SQL je dugo bio osnova iteve programabilnosti SQL Servera. SQL Server 2005 nudi mnogo novih mogunosti upotrebe programskih jezika za razvoj proirivih aplikacija za rad s bazama podataka. Ta poboljanja obuhvataju rukovanje grekama, nove mogunosti rekurzivnih upita i podrku za nove funkcije SQL Server Databse Engine mogunosti. Poboljanja jezika Transact-SQL u SQL Server 2005 proiruju pisanje upita te omoguuju poboljanje performansi koda i temeljitije upravljanje grekama. Trajni napori uloeni u proirivanje Transact-SQL mogunosti odraavaju vrstu veru u znaaj uloge koju on ima za SQL Server.

    2.2.5 Poboljani razvojni alati Razvojni timovi e moi koristiti isti razvojni alat za Transact-SQL, XML, viedimenzionalne izraze (MDX) i XML za analize (XML/A). Integracija s razvojnim okruenjem Visual Studio ubrzae razvoj i otklanjanje greaka u specifinim poslovnim aplikacijama i aplikacijama za poslovnu inteligenciju (BI). Business Intelligence Development Studio Business Intelligence Development Studio predstavlja opte razvojno okruenje namenjeno izgradnji reenja za poslovnu inteligenciju utemeljenih na okruenju Visual Studio, a obuhvata mehanizam baze podataka kao i analitike i servise za izvetavanje. Grafiki korisniki interfejs okruenja Business Intelligence Development Studio koristi se pri projektovanju SQL Server Integration Services (SSIS) paketa namenjenih aplikacijama za upravljanje podacima u sklopu sistema SQL Server (SSIS). SSIS paketi u sklopu okruenja Business Intelligence Development Studio projektuju se, razvijaju i ispravljaju povlaenjem zadataka iz alatki, definisanjem njihovih svojstava i meusobnim povezivanjem u skladu s ogranienjima mogueg redosleda. Slika 3 prikazuje intrefejs za Business Intelligence Development Studio u okruenju Visual Studio

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 27 -

    Slika 3: Interfejs za Business Intelligence Development Studio u okruenju Visual Studio Integracija s okruenjem Visual Studio SQL Server 2005 i Visual Studio 2005 u kombinaciji pruaju dosad najdublju integraciju izmeu baze podataka i okruenja za razvoj aplikacija. Izrada CLR uskladitenih procedura, funkcija, korisniki definisanih tipova i agregacija sada je mogua direktno iz razvojnog okruenja Visual Studio. Svi se ti novi objekti baze podataka mogu implementirati direktno iz okruenja Visual Studio bez potrebe za prebacivanjem u neki drugi alat. Visual Studio 2005 direktno podrava sve nove tipove podataka SQL Servera, na primer ugraeni XML. Mogue je i dodavanje CLR objekata baze podataka istom sistemu za nadzor nad izvornim kodom koji se koristi pri izradi ostalih projekata u okruenju Visual Studio, ime se osigurava jo vii nivo integracije i sigurnosti razvojnih procesa. Vieslojno i viejezino otklanjanje greaka SQL Server 2005 i Visual Studio 2005 u kombinaciji pruaju vii stepen integracije na podruju otklanjanja greaka u aplikaciji. Takva kombinacija omoguuje neprimetno otklanjanje greaka u CLR i Transact-SQL kodu putem zajednikog interfejsa za otklanjanje greaka u sklopu okruenja Visual Studio. Prua se i mogunost otklanjanja greaka uz prelazak iz CLR koda u Transact-SQL kod i obratno, bez obzira nalazi li se kod na maini za razvoj ili je uskladiten u SQL Server bazi podataka

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 28 -

    2.2.6 Mogunost proirivanja Korisniki definisani tipovi i agregati Korisniki definisani tipovi u sistemu SQL Server nisu mehanizmi objektno-relacionog proirivanja. Re je o nainu proirivanja sistema skalarnih tipova u bazi podataka. Skalarni sistem tipova sastoji se od kolona tipova u sklopu sistema SQL Server (npr. int, nvarchar, uniqueidentifier itd.). Putem korisniki definisanih tipova mogue je definisati vlastiti tip namenjen, na primer, definiciji kolona. Izrada korisniki definisanih tipova potrebna je kad je va tip stvarno osnovna vrednost koja se moe modelirati kao kolona. Korisniki definisani tipovi koriste se i pri definisanju vlastitog skalarnog tipa. Primeri scenarija primene takvih tipova jesu prilagoeni oblici datuma/vremena u nekim vrstama kalendara ili tipovi podataka koje se odnose na valute. Korisniki definisanim tipovima moe se kreirati jedan objekt koji e odraavati sve mogunosti odreenog tipa, a istodobno sadravati ili skrivati osnovne podatke koje taj tip uva. Svako ko treba da pristupi podacima mora to da uini putem programskog interfejsa za korisniki definisani tip. Ako se uz to moete posluiti i postojeim funkcionalnostima okruenja .NET Framework (kao to su funkcije internacionalizacije ili kalendara), dobili ste i dodatni razlog da primenite sopstveni tip podataka kao korisniki definisan. Veliki je broj sluajeva u kojima treba sprovesti agregaciju preko podataka. Meu njima su, na primer, statistika izraunavanja poput avg, stddev itd. Ako eljena funkcija nije direktno podrana kao ugraena funkcija agregacije podataka, tri su naina na koje se sprovodi prilagoena agregacija u SQL Serveru 2005:

    Agregacija se definie kao korisniki definisana agregacija. Agregacija se pie koristei CLR uskladitene procedure.

    Koristiti se kursor na serveru. Upravljaki objekti za SQL (SMO)-SQL Management Objects Upravljaki objekti za SQL (SMO) ini model objekata upravljanja za SQL Server 2005. SMO donosi znaajna poboljanja dizajna i arhitekture SQL Server objektnog modela upravljanja. Re je o jednostavnom, ali ujedno i bogatom objektnom modelu zasnovanom na .NET Framework kontrolisanom kodu. SMO je osnovni alat namenjen razvoju aplikacija za upravljanje bazama podataka pomou .NET Framework. Koriste ga svi dijaloki okviri okruenja SQL Server Management Studio, a uz pomo SMO-a moete provesti i bilo koji administratorsku radnju u sklopu tog okruenja. Novi SMO model objekata i API-ji sistema Microsoft Windows Management Instrumentation (WMI) zamena su dosadanjem modelu SQL-DMO. Gde god je to mogue, SMO zbog lakoe korienja obuhvata objekte nalik onima u modelu SQL-DMO. U sistemu SQL Server 2005 moete koristiti i SQL-DMO, ali taj se model nee aurirati radi podrke za upravljanje novim pogodnostima koje postoje samo u SQL Serveru 2005.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 29 -

    Objekti za upravljanje analizom-Analysis Management Objects Objekti za upravljanje analizom (AMO) doputaju klijentskim aplikacijama da pristupe nizu administrativnih komandi i mogunosti dostupnih analitikim servisima. To ine uz pomo biblioteke objekata koja prua mogunost verifikacije na nivou objekta umesto prethodnog runog generisanja DDL skriptova za naredbe analitikih servisa i upotrebe esto predugog sadraja elementa ObjectDefinition u sklopu jezika Analysis Services Scripting Language (ASSL) ObjectDefinition. Aplikacije koje koriste AMO mogu se povezati i raditi direktno sa objektima u pokrenutoj instanci analitikih servisa ili kreirati takve objekte bez postojee veze i uvati metapodatke za kasniju primenu. AMO ujedno "prelama" elemente i komande iz ASSL-a.

    2.2.7 Poboljani web-servisi i servisi za pristup podacima SQL Server 2005 omoguuje razvoj XML web-servisa na sloju baze podataka, pretvarajui SQL Server u HTTP prijemnik. Time aplikacije orijentisane na web-servise dobijaju novu mogunost pristupa podacima. U SQL Serveru 2005 mogue je direktno pristupiti SQL serveru putem HTTP-a, a da se pritom ne koristi prijemnik na srednjem sloju, kao to je npr. Microsoft Internet Information Services (IIS). SQL Server otkriva interfejs web-servisa ne bi li omoguio izvrenje SQL upita i pozivanje funkcija i procedura. Rezultati upita vraaju se u XML formatu i mogu iskoristiti infrastrukturu web-servisa u okruenju Visual Studio. ADO.NET 2.0/ADOMD.NET Mnogo je novosti u sledeoj verziji alata ADO.NET. Od nove podrke za obavetavanja o promeni upita do viestrukih skupova aktivnih rezultata (MARS), ADO.NET podie nivo skalabilnosti i fleksibilnosti pristupa skupovima podataka.

    2.2.8 Obavetenja o upitima SQL Server 2005 uvodi podrku za obavetavanje za SQL Server upite. Podrka slui za slanje komandi SQL Serveru i zahteve za generisanjem obavetenja kada ponovo izvoenje iste komande da rezultate drukije od onih dobijenih prilikom prvog izvoenja. To se postie korienjem objekta meuzavisnosti koji prepoznaje promenu osnovnih podataka. Komande koje se alju serveru putem bilo kog klijentskog API-ja kao to su ADO.NET, OLE DB, Open Database Connectivity (ODBC), Microsoft ActiveX Data Objects (ADO) ili SOAP mogu sadravati oznaku kojom se zahteva obavetenje. Server za svaki upit izvren u sklopu ovog zahteva, kreira pretplatu na obavetenje koje se puta po jedanput za svaki upit obuhvaen zahtevom. Obavetenja se alju iz reda ekanja u sklopu alata SQL Service Broker koji je dostupan na uvid aplikacijama, a koriste aktivacione servise ili blokiranje instrukcija koji se vraaju. Obavetenja o upitima korisna su za omoguivanje uvanja rezultata u prirunu memoriju u primenama kao to su web-stranice bazirane na bazama podataka. Slika 4 prikazuje proces obavetavanja o upitima.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 30 -

    Slika 4: Obavetenje o upitima

    2.2.9 MARS MARS omoguuje vie otvorenih zahteva, odnosno zadatih skupova rezultata po vezi. Podrazumevani skupovi rezultata oznaeni su kao "samo za itanje" i "samo za prosleivanje". U sluaju podrazumevanih skupova podataka klijentski upravljaki programi transparentno pozivaju podatke u velikim segmentima (veliine bafera za Tabular Data Stream) pa se zahtevi aplikacije ispunjacaju bez povratnog putovanja do servera (kao to je to sluaj kod serverskih kursora). Aplikacije se mogu sluiti jednostavnim modelom programiranja red po red bez ugroavanja performansi. Funkcija viestrukih aktivnih skupova rezultata uklanja postojea ogranienja po kojima otvoreni podrazumevani skup rezultata blokira upravljaki program pri slanju zahteva serveru sve dok se ne potroi itav skup rezultata.

    2.2.10 Transparentno prevladavanje zakazivanja za proces pravljenja slike baze podataka

    SQL Server 2005 podrava mogunost "brze zamene" tokom procesa pravljenja slike baze podataka. U sluaju zakazivanja instance SQL Servera posao se automatski moe prebaciti na rezervni server. Za to je potrebna instanca koja e svedoiti o padu i koja se (nimalo iznenaujue) naziva instancom-svedokom. Scenario brze zamene mogu je jedino ako postojee klijentske veze "znaju" kako da prevladajui pad (uspostaviti vezu s novom serverskom instancom). Klijentske veze koje prilikom sledeeg pokuaja pristupa generiu greku i zahtevaju "runo prevladavanje pada" uz pomo klijentskog programiranja nisu optimalne za ovakvu primenu. SqlClient u sklopu alata ADO.NET 2.0 podrava klijentsko izbegavanje padova bez posebnog prilagoavanja aplikativnog programa.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 31 -

    2.2.10.1 Podrka za XML Poboljanja poput ugraenog XML tipa podataka i pomoi za XQuery preduzeima i ustanovama uvelike pomau pri besprekornom povezivanju internih i eksternih sistema. SQL Server 2005 ima ugraenu podrku za relacione i XML podatke, pa preduzea koje ga koriste mogu uvati i analizirati podatke u formatu koji im odgovara. Isto vredi i za upravljanje podacima. Podrka za postojee i nove otvorene standarde, kao to su Hypertext Transfer Protocol (HTTP), XML, Simple Object Access Protocol (SOAP), XQuear i definicijski jezik XML Schema (XSD), uvelike e olakati komunikaciju na svim nivoima proirenih poslovnih sistema. XML tip podataka XML ima sposobnost modeliranja sloenih podataka i nije ogranien na skalarne tipove koje podrava SQL Server. Stoga ugraeni tipovi podataka zasnovani na nizovima, kao to su char ili varchar, sami po sebi nisu dovoljni za potpuno i delotvorno iskoritavanje brojnih mogunosti i prednosti XML-a. Sauva li se,primera radi, XML u obliku niza, moete umetnuti i odabrati itav dokument ili ak iz njega pozvati meusobno povezane bajtove, ali ne moete postaviti upit u sadraj samog dokumenta. Putem XML tipa podataka SQL Server 2005 omoguuje postavljanje upita o delovima XML dokumenta, proveru usklaenosti dokumenta s XML emom, pa ak i menjanje sadraja samog XML dokumenta. Novi sistem ujedno integrie klasine, relacione podatke s podacima u nestrukturiranim ili polustrukturiranim XML dokumentima na naine koji nisu bili mogui u sistemu SQL Server 2000. SQL Server 2005 uva XML podatke kao BLOB-ove (Binary Large Object) u internoj reprezentaciji koja omoguuje delotvornu ponovnu analizu i i odreen stepen kompresije. Kolona tipa XML moe se povezati sa zbirkom XML ema. Na taj se nain omoguuje verifikacija ogranienja, insertovanja i auriranja, ali i tipizacija vrednosti u sauvanim XML podacima kao i optimizacija procesa skladitenja i postavljanja upita. SQL Server 2005 sadri i nekoliko DDL instrukcija namenjenih upravljanju emama na serveru. XQuery XML Query Language ili XQuery je inteligentan i robustan jezik optimizovan za upite vezane uz sve tipove XML podataka. XQuery vam omoguuje postavljanje upita vezanih uz varijable i kolone tipa XML uz pomo s njima povezanih metoda. Kao i u sluaju mnogih drugih XML standarda, razvoj jezika XQuery pod nadzorom je Konzorcijuma World Wide Weba (W3C). Razvio se iz jezika za upite po imenu Quilt, temeljenog na nekoliko razliitih jezika za upite kao to su XML Path Language (XPath) verzija 1.0, XQL i SQL. XPath 2.0 je podskup jezika XQuery. Onima koji su ve radili u jeziku XPath 1.0 znanje e biti od velike koristi jer nee morati uiti potpuno nov jezik za upite. Ipak, ovaj jezik sa sobom donosi mnoga znatna poboljanja koja uvelike proiruju domete jezika XPath 1.0, poput tipizacije, posebnih funkcija i podrke za bolje iteracije, sortiranje rezultata i konstrukcije. U sklopu SQL Servera 2005 dostupne su opsene mogunosti jezika XQuery koje omoguuju manipulaciju XML objektima na sloju obrade podataka. SQL Server 2005 podrava statiki tipiziran podskup radne verzije jezika XQuery 1.0 od 2003 godine.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 32 -

    Podrka za web-servise SQL Server 2005 omoguuje razvoj XML web-servisa na sloju baze podataka, pretvarajui SQL Server u HTTP prijemnik. Time aplikacije orijentisane na web-servise dobijaju novu mogunost pristupa podacima. U sistemu SQL Server 2005 mogue je direktno pristupiti SQL sereveru putem HTTP-a, a da se pritom ne koristi prijemnik na srednjem sloju, kao to je npr. Microsoft Internet Information Services (IIS). SQL Server otkriva interfejs web-servisa ne bi li omoguio sprovoenje SQL upita i pozivanje funkcija i procedura. Rezultati upita vraaju se u XML formatu i mogu iskoristiti infrastrukturu web-servisa u okruenju Visual Studio. XML za analitike servise (XML/A) XML za analitike servise (XML/A) predstavlja prirodni protokol koji poiva nastandardima i namenjen komunikaciji sa serverom za usluge analize. Sada su mogue sasvim nove aplikacije, a olakano je i njihovo razvijanje. Re je o aplikacijama koje u realnom vremenu integriu analitiku i operacijea. Klijenti analitikih servisa se zbog ugraenog protokola XML/A mogu konfigurisati tako da uopte ne troe memoriju i da svaki server automatski postaje web-servis. Dostupan je i Win32 sloj sa malom potronjom memorije koji omoguuje kompatibilnost s preanjim verzijama alata, kao to su analitiki servisi na OLE DB za OLAP, ADOMD i ADOMD.NET.

    2.2.11 plikacioni okvir SQL Server 2005 u SQL Server uvodi novi aplikacioni okvir koji obuhvata: Service Broker, Notification Services, SQL Server Mobile i SQL Server Express. Service Broker predstavlja aplikacijski okvir koji nudi pouzdanu asinhronu razmenu poruka izmeu baza podataka. Service Broker Sve vei broj aplikacija za e-trgovinu u zadnjih je desetak godina stvorio potrebu za vrim upravljanjem radnim procesima na svim nivoima aplikacija za rad s bazama podataka. Kada, primera radi, kupac putem interneta narui knjigu, ta se narudba mora preneti skladitu, odeljenju za otpremu i sistemu za obradu kreditnih kartica, a uz pomo druge web-aplikacije kupcu se mora poslati potvrda o primljenoj narudbini. ekanje na kompletno sprovodjenje svih tih procesa nije pogodno za skaliranje. SQL Server 2005 stoga nudi novu, skalabilnu arhitekturu namenjenu asinhronom usmeravanju poruka. Slika 5 prikazuje arhitekturu tehnologije Service Broker.

  • Dragana Stankovi Napredne tehnike SQL Servera

    - 33 -

    Slika 5: Arhitektura tehnologije Service Broker Tehnologija Service Broker uz pomo proirenja uobiajenog jezika Transact-SQL za manipulaciju podacima internim i spoljnim procesima omoguuje pouzdano slanje i primanje asinhronih poruka. Poruke se alju u red ekanja u poiljaoevoj bazi podataka, drugoj bazi podataka u sklopu iste instance sistema SQL Server ili drugoj instanci sistema SQL Server na istom ili udaljenom serveru. Servisi za obavetavanje Microsoft SQL Server Notification Services je platforma namenjena razvoju i implementaciji aplikacija za generisanje i slanje obavetenja korisnicima. Obavetenja su pojedincima prilagoene i pravovremene poruke koje se alju na raznovrsne ureaje. Obavetenja odraavaju pretplatn