Kao što smo već rekli u prethodnom postu, pogledaj ovde; baza podataka je organizovana kolekcija podataka za brzo pretraživanje i pristup; koja zajedno sa sistemom za održavanje i administraciju, organizovanje i memorisanje tih podataka čine sistem baze podataka. To jednostavno shvatite kao skup objekata između kojih postoji nekakav odnos. Baze podataka su mnogo više nego što programeri smatraju ali i rad sa bazama podataka je višestruk. To znači da postoji više načina da radite istu stvar sa bazom podataka. Najjednostavniji način da kreirate bazu podataka u Microsoft SQL Serveru jeste da to uradite preko Microsoft SQL Server Manager Studio-a u njegovom grafičkom okruženju. Čim pokrenete SSMS i uspešno se ulogujete; sa vaše leve strane će te videti Object Explorer. Desnim tasterom miša kliknite čvor Databases i odaberite New Database. U Database name; unesite naziv baze podataka koju hoćete da kreirate i ako hoćete da sve ostane po default-u kreiranja baze podataka; jednostavno pritisnite OK i SSMS će kreirati novu bazu podataka. Ukoliko ne vidite vašu kreiranu bazu podataka u direktorijumu Database u Object Explorer-u, kliknite desnim tasterom miša na direktorijum Database i kliknite na Refresh. Imajte u vidu da će te često morati koristiti Refresh u Object Explorer-u da bi ste videli promene kad ih kreirate.
( New Database Dialog Form, Microsoft SQL Server Manager Studio )
Prvu stvar koju trebate shvatiti da kad kreirate serversku bazu podataka, ona se često ne sastoji od samo jedne datoteke poput lokalne baze podataka ili Microsoft Access baze podataka. Već se uglavnom vaša baza podataka sastoji od najmanje dve datoteke zbog mogućnosti da vaše datoteke čuvate na više hard diskova. U jednoj datoteci se čuvaju svi vaši podaci koje skladištite, objekti ali i meta podaci i tu datoteku označavamo sa *.mdf ekstenzijom dok druga datoteka je datoteka dnevnika transakcija, i njena oznaka je *.ldf. U datoteku transakcija, ili kako je još zovu log datoteka; se upisuje svaka izmena baze podataka i u slučaju pada sistema ona je od najveće koristi jer čuva podatke od gubljenja. Vi u principu možete praviti više baza podataka ili sve vaše podatke smestiti u jednu bazu podataka. To uglavnom zavisi kakve podatke skladištite i da li ti podaci idu jedni sa drugim. Ponekad je poželjno da smestite sve podatke u samo jednu bazu podataka a ponekad ne. Kad kreirate bazu podataka za vežbanje i učenje, prihvatiti default vrednosti je u redu ali ako hoćete da planirano pravite bazu podataka onda sami trebate da zadate vrednosti za početnu veličinu baze podataka, za njen rast ili čak da je ograničite do koje veličine baza podataka može da bude maksimum. Poželjno je da uvek zadate najveću moguću veličinu koju očekujete da će vaši podaci dostići.
Kako da definišem svoje vrednosti bazi podataka koju hoću da kreiram?
Kada desnim tasterom miša kliknete na čvor Database i odaberete New Database, otvorićete vam se dialog forma u kojoj možete pored naziva baze podataka zadati i druge vrednosti. Kad zadajete ime bazi podataka, vaš naziv bazi podataka se zadaje isto kako kad imenujete neku promenjivu u programiranju. Sva pravila za naziv promenjive se odnosi i za naziv baze podataka. Znači ne možete u nazivu baze podataka da koristite specijalne karaktere; takođe vam ne preporučujem da u nazivu baze podataka koristite razmake. Kad vi zadajete ime nekoj bazi podataka to je logičko ime i ono se često koristi isto i za datoteke na fizičkom uređaju koje čine vašu bazu podataka. Često ime baze podataka i ime log datoteke imaju isti naziv iako vi sva tri naziva možete navesti različito. U opciji Owner podešavate vlasnika baze podataka i njegova administratorska prava. Ako ostavite <default> vrednost, vlasnik baze je Windows korisnik koji je kreira. Takođe, možete promeniti lokaciju gde držite datoteke baze podataka, početnu vrednost i maksimalnu vrednost. Što se tiče rasta vaše baze podataka, taj rast možete podesiti vrednošću u MB ili u procentima. Rast datoteka baze podataka može biti ista ali praksa je da je datoteka transakcija nešto manja i često je ograničena i kad baza podataka to nije.
Kako da promenim ime baze podataka?
Logičko ime vaše baze podataka možete najjednostavnije promeniti u Object Explorer-u kao što menjate ime bilo kojem fajlu u File Explorer-u; samo što treba da imate u vidu da promenom logičkog imena vaše baze podataka niste promenili i ime datoteka na hard disku.
Kako da izbrišem bazu podataka?
Najjednostavniji način da obrišete bazu podataka je da u Object Explorer-u kliknete na čvor Databases, zatim desnim klikom na vašu bazu podataka i onda na Delete.
Kako da kreirate, zadate neke vrednosti, preimenujete i obrišete bazu podataka na najjednostavniji način možete pogledati i na video-u.
( SQL Tutorial - 4. Create, Rename And Delete Database Using SSMS )
Kako da kreiram, promenim naziv i obrišem datoteku koristeći T-SQL jezik?
Mnogo je lakše raditi sa bazom podataka u grafičkom okruženju, ali često kao programer nećete imati tu privilegiju; administratori servera i baza podataka to ne dozvoljavaju; dok poznavanje T-SQL jezika se podrazumeva da znate i radi programiranja ali i radi pravljenja SQL skripti. T-SQL skraćeno od Transact-SQL; gde SQL je skraćenica za Strucured Query Language je strukturno upitni jezik i lako se uči. Iskusnim programerima ali i administratorima baza podataka je ponekad čak lakše koristiti T-SQL za rad sa bazama podataka nego grafičko okruženje. Otvorite SSMS i kliknite na File, zatim na New i na Query with Current Connection ili na dugme New Query na ToolBar-u. Otvoriće vam se SQL Editor. Zatim unesite sledeći T-SQL kod.
-- My
first T-SQL
-- Create
Database Files
USE master;
GO
CREATE DATABASE Students
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.RABBIT\MSSQL\DATA\students.mdf',
SIZE = 100MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 100MB )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL
Server\MSSQL13.RABBIT\MSSQL\DATA\studentslog.ldf',
SIZE = 50MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 80MB ) ;
GO
Obratite
pažnju da naziv putanje gde se nalaze datoteke baze podataka Students nije ista
kao što je kod vas, osim ako ste i vi vašu instancu servera nazvali RABBIT. Ukoliko
niste uopšte zadavali ime vašem serveru putanja je verovatno sledeća:
'C:\Program Files\Microsoft SQL
Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\students.mdf'
Prvo
što možete primeniti u ovom kodu je da se komentari pišu oznakom -- . Takođe
možete zaključiti da se kreiranje baze podataka izvršava T-SQL naredbom:
CREATE
DATABASE naziv_baze_podataka
S
obzirom da podešavamo naše vrednosti za bazu podataka koju kreiramo, svojstva
upisujemo u malim zagradama ( ) odvojena zarezom. Inače da smo hteli da kreiramo
bazu podataka po defaultu za kreiranje baze podataka, to smo mogli uraditi i
ovako.
USE master;
GO
CREATE DATABASE Students
Kad
imate pravilno ispisan kod u SQL Editor-u, kod se izvršava tako što
selektujete deo koda koji hoćete da se izvrši i pritisnete dugme ! Execute. Selektujte kod i izvršite ga i SSMS
će vam kreirati bazu podataka sa vrednostima koje ste naveli. U Object Explorer
kliknite na Refresh da bi ste videli bazu Students kreiranu. Ukoliko ste uspeli
da sve uradite uspešno, dodajte ispod napisanog koda sledeći kod:
-- Rename
Database Files
USE master;
GO
ALTER DATABASE Students
Modify Name = School;
GO
Kad
selektujete sledeći kod i izvršite, promeniće te ime vaše baze podataka iz
Students u School. Obratite pažnju da je ta promena samo vezana za logički
naziv vaše baze podataka. Što znači da se datoteke vaše baze podataka i dalje
zovu isto kao pre. Za menjanje vrednosti ili modifikacije na bazama podataka
uvek koristimo ključnu reč T-SQL jezika:
ALTER DATABASE naziv_baze_podataka
I
ako želite da obrišete bazu podataka tada se koristi sledeća naredba:
DROP
DATABASE naziv_baze_podataka
Znači
ako hoćete da izbrišete bazu koja koristi logičko ime School vi morate navesti
izmenjeno logičko ime baze podataka.
-- Delete
Database Files
USE master;
GO
DROP DATABASE School;
GO
Sav T-SQL kod koji ste napisali možete da sačuvate u tektualnoj datoteci sa
egzistencijom *.sql i da ga koristite kad god hoćete. Datoteku sa T-SQL kodom
često koristimo kada hoćemo da sa našeg servera prebacimo našu bazu podataka na
neki drugi server, npr. u školi. Kako izgleda rad sa navedenim kodom možete
pogledati i na video-u:
( SQL Tutorial - 5. Create, Rename And Delete Database Using T-SQL )
Kako
da attach-ujem ili detach-ujem već napravljenu bazu podataka na svoj server?
Kad
počnete učiti baze podataka, često vam je potrebna već neka napravljena baza
podataka poput AdvantureWorks ili Northwind da bi ste proučavali kako su ove
baze podataka napravljene ili da ih koristite za vaše vežbanje u vašim
programima. Zato ove baze podataka zovemo Sample Database i definitivno ove
baze trebate imati. Možete obe skinuti sa mog bloga; ovde. Uključivanjem već
postojeće baze podataka na naš server radimo tako što u Object Explorer-u
kliknemo desnim tasterom miša na čvor Database i zatim kliknemo na Attach…
Ubacimo putanju sa našim datotekama baze podataka koju hoćemo da uključimo u
naš server i pritisnemo OK. Ali obratite pažnju da će te na taj način dobiti
grešku jer morate SSMS pokrenuti kao Run As Administrator. Isključivanje baze
podataka sa vašeg servera je definitivno bolja opcija nego da brišete bazu
podataka. To radite tako što kliknete na bazu podataka na vašem serveru i zatim
kliknete na Detach. Najbolje pogledajte na video-u kako to sve funkcioniše:
( SQL Tutorial - 6. Attach And Detach Database Using SSMS )
Kako
da kreiram kompletnu bazu podataka uz pomoć SQL skripta?
Ukoliko
imate neku bazu podataka sa podacima konvertovanu u SQL skriptu, to je mnogo
bolji način da kreirate istu bazu podataka sa svim njenim podacima nego da
imate kreiranu ili čak rezervnu kopiju neke baze podataka. Razlog? Iskustvo.
Zamislite da ste arhivirali 5 godina truda i rada sa bazom podataka i posle ne
možete da koristite arhivu jer sadrži neku grešku za koju vi niste ni znali da
postoji jer je sve arhivirano bez prijave i jedne greške. Jednostavno arhive često
stradaju i zbog bad sector-a na hard disku. Zato je po mom nekom ličnom
mišljenju da s vremena na vreme treba da kreirate SQL skriptu sa svim podacima
vaše baze podataka. Pogledajte u sledećem video-u kako je lako kreirati Northwind
bazu podataka kad ste je sačuvali kao SQL skriptu. Neki od vas poštovani
čitaoci mog bloga možete pomisliti ko će pisati hiljade linija T-SQL koda koliko
sadrži skripta Northwind baze podataka? Za velike baze podataka koriste se
razni alati za generisanje SQL skripte. Ovog čarobnjaka imate i u SSMS-u.
( SQL Tutorial - 7. Import The Database Using SQL Script )
Meni nije jasno sta je sekundarna baza podataka i kako da promenimo njeno povecanje na 50 MG i velicinu 500 npr.
OdgovoriIzbrišiPratim Vase radove i jako mi se svidja nacin na koji objasnjavate to.
Hvala
NAME = Sales_dat
OdgovoriIzbrišigdje se ovo nalazi kada kreiramo bazu?