Leksion 1

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 38

LEKSION 1

Dizenjimi dhe Krijimi i nje database-i ne


MSSQL Server.
Krijimi i tabelave.
Tipet e te dhenave ne SQL Server.

Database 2 MSc. Lisana Berberi


Krijimi i nje database-i

 Nje database perben nje bashkesi skedaresh, ku


secili prej tyre ka nje emer dhe nje pozicion
ruajtjeje.
 Ekzistojne menyra te ndryshme per krijimin e nje
database-i:
Per te krijuar ne menyre vizuale nje database ne
MSSQL Server Management Studio (MSSQL MS), tek
zona Object Explorer, klikojme me te djathten nyjen
Databases dhe zgjedhim komanden ‘New Database’.
Kjo do te hape dritaren dialoguese si ne Figuren 1.
Database 2 MSc. Lisana Berberi
Figure 1. Krijimi i nje baze te dhenash

Database 2 MSc. Lisana Berberi


Krijimi i nje database-i
 Ne kutine e tekstit Database name vendosim emrin e database-it i cili
duhet te jete unik konform rregullave per identifikuesit e SQL Server te
paraqitur ne figuren 2.
Ketu mund te specifikojme dhe emrin e file-it si dhe vendin e file-ve te te
dhenave (te specifikuar si bashkesi file-sh primare) per database-in.
(shiko figuren 3)
 Madhesia e nje database-i
Madhesia fillestare e nje database-i eshte 2MB. Kjo vlere mund te
ndryshohet sipas rastit.
Kolona Autogrowth (shiko figuren 4.) mundeson konfigurimin e
madhesise maksimale dhe percakton rritjen ne MB te cdo file-i
individualisht. Keshillohet qe opsioni Autogrowth te vendoset sakte ne
menyre te tille qe database-i te rritet sipas nevojes per te akomoduar te
dhenat qe do te futen.

Database 2 MSc. Lisana Berberi


Figure 2. Rregullat per identifikuesit ne SQL
Database 2 MSc. Lisana Berberi
Krijimi i nje database-i

Figure 3. Database Properties

Database 2 MSc. Lisana Berberi


Figure 4. Ndryshimi i rritjes automatike
Database 2 MSc. Lisana Berberi
Krijimi i nje database-i
 Pozicioni i nje database-i
 Sic e dime, cdo file ne kompjuter duhet te kete nje path
(rrugekalim).
 Kur krijojme nje database MSSQL ne menyre te paracaktuar e
ruan ate ne folderin :
 Drive:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

 File-i i ri krijohet automatikisht se bashku me prapashtesen .MDF.


Psh. BankingDB.mdf.
 Gjithashtu ne menyre automatike krijohet dhe file-i Log perkates.
Rekomandohet qe ky file Log te ruhet ne nje device te ndryshem nga ai i file-
ve te te dhenave primare, ne rastin e nje avarie disku.
 Ky path mund te ndryshohet nen kutine e tekstit Path te dritares
dialoguese New Database.
Database 2 MSc. Lisana Berberi
Krijimi i nje database-i
 Database-t e paracaktuara
 Pas instalimit te MSSQL, gjithashtu instalohen dhe 4 database te tjera te quajtura :
 master,
 model,
 msdb, dhe
 tempdb

 Keto database do te sherbejne vetem per perdorim te brendshem, qe dmth duhet


te shmanget perdorimi direkt i tyre, vetem ne rastin kur ju e dini se cfare po beni.
 Database Master
 Ky db ruan te gjithe info rreth serverit ku keni instaluar MSSQL. Psh. Per te kryer
cdo veprim ne server duhet te logohemi. Ky db identifikon cdo user qe akseson db
kur dhe si.
 Pervec identifikimit te aksesit te db-se, db master gjithashtu ruan gjurme te cdo
gjeje qe ju beni ne server, duke perfshire ketu krijimin dhe mirembatjen e db-ve.
 Duhet te kemi kujdes te mos modifikojme kete db sepse rrezikojme te korruptojme
sistemin, dhe nese kjo ndodh ath sistemi nuk do te funksionoje.

Database 2 MSc. Lisana Berberi


Krijimi i nje database-i

 Per te vendosur disa opsione shtese nje db-je


ath klikojme tek tab-i Options (shiko tabelen
1):
 Pas percaktimit te te gjitha propertive te nje
db-je shtypim butonin Add per krijimin e db-
se
 Mund te shkarkoni shembuj database-sh dhe kodesh nga Projektet e komunitetit te MSSQL
te lokalizuar ne:
 www.codeplex.com/sqlserversamples.

Database 2 MSc. Lisana Berberi


Opsioni Kuptimi
Restrict access– MultiUser Vetem user-at qe jane zoterues ose
administrator sistemi mund te perdorin db

Restrict access– SingleUser Vetem nje user ne nje kohe mund te hap db-ne

Database Read-Only Database eshte vetem i lexueshem

Recovery Model Ky opsion lejon te vendoset nje model per


rekuperimin e modelit per ta rikthyer nga nje
backup si Simple, Full etj

ANSI NULL default Kolonat ne tabela lejojne vlerat Null pervec


atyre qe jane te specifikuara si Not Null

Auto Close Mbyll database-in si duhet ath kur perdoruesi i


fundit largohet

Auto Shkrink Instrukton SQL server per te ‘shkurtuar’ db-ne


periodikisht

Use Quoted Identifiers Lejon perdorimin e thonjezave per te


percaktuar identifikuesit (emrat e objekteve)

ANSI Nulls Enabled Kur vendoset ON, te gjithe krahasimet me nje


vlere null vleresohen me NULL

Tabele 1. Opsionet dhe domethenia e tyre


Database 2 MSc. Lisana Berberi
Krijimi i nje database-i
 Krijimi i database-it me kod
 Per krijimin dhe menaxhimin e db-ve, perfshire ketu objektet e tyre,
perdoret gjuha DDL. Kjo gjuhe perbehet me se shumti me komanda.
Psh komanda baze per krijimin e db-se jepet nepermjet ketij
instruksioni:

 CREATE DATABASE DatabaseName

 P.sh CREATE DATABASE BankingDB;

 Ky kod shkruhet ne Query Editor (Editorin Query)


 Cdo instruksion ne SQL mund te perfundoje me nje ;

 Kujtese: SQL nuk eshte case-sensitive


Database 2 MSc. Lisana Berberi
Krijimi i nje database-i

 Per te specifikuar se ku do te lokalizohet file-i


kryesor i db-se, ath do te perdorim
instruksionin e meposhtem:

 CREATE DATABASE DatabaseName ON


PRIMARY ( NAME = LogicalName, FILENAME
= Path )

Database 2 MSc. Lisana Berberi


Krijimi i nje database-i

 Path eshte vendndodhja e direktorise se file-it .


 Ky perfundon me emrin e file-it dhe prapashtesen .mdf

 CREATE DATABASE BankingDB ON PRIMARY ( NAME


= DataRepository, FILENAME = 'C:\Exercises\
BankingDB.mdf')
GO

 Pas shkrimit te instruksionit per ekzekutimin e tij


shtypim butonin Execute te toolbar-it SQL Editor ose
tastin F5.
Database 2 MSc. Lisana Berberi
Krijimi i nje database-i

 Krijimi i nje db-je me ane te kodeve template


(te gatshem)
 MSSQL Server mundeson perdorimin e disa
kodeve te gatshme per kryerjen e veprimeve te
ndryshme. Psh, ne rastin e krijimit te nje db-je:
Klikojme tek menyja View/Template Explorer
Pastaj zgjedhim nyjen Databases dhe terheqim
nyjen Create Database dhe e leshojme ne editorin
Query. (shiko figuren 5)

Database 2 MSc. Lisana Berberi


Selektimi i nje database-i

 Gjate shkrimit te kodit ne nje Editor Query, ju


duhet te dini me saktesi ne cilin db jeni duke
punuar, perndryshe ju mund te shtoni nje kod
ne database-in e gabuar.
 Per te selektuar nje database grafikisht, ne
toolbar-in SQL Designer klikojme ne
shigjeten e combo box-it Available Databases
dhe selektojme db e deshiruar. (shiko figuren
6.)
Database 2 MSc. Lisana Berberi
Figure 5. Krijimi i nje database-i me ane
Database 2 te template explorer MSc. Lisana Berberi
Figure 6. Database Options
Database 2 MSc. Lisana Berberi
Selektimi i nje database-i

 Instruksioni per selektimin e nje db-je ne nje


Editor Query eshte:

 USE DatabaseName;

 Psh.

 USE BankingDB;

Database 2 MSc. Lisana Berberi


Rifreskimi i listes se db-ve

Pas krijimit te nje db-je ne Editorin Query, emri i tij nuk do te


shfaqet ne listen e Object Explorer.
Per te pare ndryshimet e fundit ath duhet rifreskuar dritarja, kjo
realizohet duke klikuar me te djathten ne listen e db-ve nga nyja
e Databases, zgjedhim opsionin Refresh.
 Per fshirjen e nje db-je shtypim:

DROP DATABASE DatabaseName;

 Perpara fshirjes se db-se ne SQL duhet te sigurohemi qe ky


db nuk eshte duke u perdorur nga nje user tjeter ose nga
nje objekt tjeter.
Database 2 MSc. Lisana Berberi
Skemat, namespace
 Hyrje ne Namespaces
 Nje namespace eshte nje grup ‘gjerash’ ku secili prej tyre ka
nje emer unik. Kjo mund te ilustrohet si mepshte:

Database 2 MSc. Lisana Berberi


Skemat, namespace

 Ekzistojne tipe te ndryshme objektesh


brenda nje namespace-i.
 Psh, si ne rastin e nje kompanie, cdo
departament ka nje emer unik.
 Por mund te ekzistojne dy departamente me
te njejtin emer brenda dy kompanive te
ndryshme.

Database 2 MSc. Lisana Berberi


Skemat
 Per te menaxhuar objektet brenda nje namespace-i mund t’i
vendosim ato ne nen-grupe te quajtura skema.
 Nje skeme eshte nje grup objektesh brenda nje namespace-i,
prandaj mund te kemi disa skema brenda nje namespace. Shiko
figuren meposhte:

Database 2 MSc. Lisana Berberi


Krijimi i nje skeme

 Nje skeme eshte nje objekt qe permban disa objekte te tjera.


 Perpara perdorimit te skemes ju mund ta krijoni ate ose te perdorni nje
skeme ekzistuese.
 Ekzistojne dy lloje skemash:
Built-in
Skemat e reja qe krijojme
 Disa nga skemat qe krijohen gjate instalimit te db-se quhen sys, dbo.
 Skema sys permban nje liste te disa objekteve qe ekzistojne ne sistemin
e db-se tone. Nje nga keto objekte quhet databases (qe aktualisht
eshte nje view).
 Per te aksesuar skemat e nje db-je, klikojme me butonin e djathte te
mouse-it nyjen Security Node dhe zgjedhim New Schema
 Shtypim emrin per skemen e re qe duam te krijojme dhe shtypim
butonin OK.
Database 2 MSc. Lisana Berberi
Krijimi i nje skeme

 Krijimi i nje skeme mund te kryhet dhe me


ane te instruksionit:

CREATE SCHEMA schema_name_clause


[ <schema_element> [ ...n ] ]

 Psh.
CREATE SCHEMA PrivateListing;
GO
Database 2 MSc. Lisana Berberi
Aksesimi i nje objekti ne nje skeme

 Per te aksesuar nje objekt te nje skeme duhet


te shtypim se pari emrin e skemes qe
permban kete objekt, te ndjekur nga pas me
karakterin ‘.’ dhe pastaj emrin e objektit.
 Psh. Nese duam te aksesojme objektin
Something1 qe i perket skemes Schema1 ath
shtypim:
Schema1.Something1

Database 2 MSc. Lisana Berberi


Krijimi i tabelave
 Pas krijimit te nje db-je, ai do te permbaje tabelat e sistemit por jo tabelat e user-it.
 Tabelat e sistemit permbajne metadata rreth struktures dhe parametrave te sigurise se db-se.
 Te gjithe tabelat e sistemit kane nje prefiks “sys” ne emrat e tyre.

 Kurse tabelat qe ne krijojme, te quajtura “user tables,” duhet te ndjekin keto rregulla:
 Cdo tabele ka nje emer qe eshte unik ne db dhe ndjek rregullat e identifikatoreve.
Tabelat mund te kene te njejtin emer nese kane pronare te ndryshem dhe pastaj duhet te
perdoren me sintaksen

ownername.tablename syntax.

 Cdo kolone pershkruan nje karakteristike te vetme te nje bashkesie dhe duhet te kete emer
unik ne kete tabele

 Cdo rresht duhet te jete unik dhe pershkruan nje bashkesi te informacionit rreth subjektit te
tabeles. Kjo sigurohet ne baze te vendosjes se primary key-s.

 Cdo kolone eshte e nje tipi te caktuar te dhenash.

 Kjo limiton domain e vlerave te mundeshme qe mund te insertohen ne nje kolone.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server

 Duke percaktuar tipet e te dhenave ne limitojme te


dhenat qe mund te insertohen ne nje nje kolone te ne
tabele te caktuar. Psh nje kolone me nje tip te dhene te
percaktuar si datetime nuk mund te pranoje nje te
dhene string psh.“neser”.
 Tipet e te dhenave lejojne kontrollin e hapesires se
memories qe mund te perdoret per te ruajtur cdo pjese
te dhenash.
 SQL Server ka tipe te dhenash built-in system dhe
gjithashtu suporton dhe tipet e te dhenave te
percaktuara nga perdoruesi (user-defined)
Database 2 MSc. Lisana Berberi
Tipet e te dhenave ne SQL Server
 Tipet e te dhenave te sistemit jane:

binary [(n)] Ruan te dhena binare me gjatesi fikse


nga 1 ne 8000 byte, ku n eshte nje vlere
mes 1 dhe 8000. Madhesia e ruajtjes
perfshin cfaredo qe eshte ne kete
kolone plus 4 byte shtese. Ky tip eshte
efikas nese te dhenat ne kolone jane
afersisht me te njejtin madhesi.

varbinary [(n)] Eshte e njejte me tipin binary, me


perjashtimin e vetem se eshte nje tip
te dhenash me gjatesi variabel. Ketu
ruhet vetem gjatesia e te dhenave dhe
parametri (n) specifikon gjatesine
maksimale te te dhenave. Perdorim
varbinary kur gjatesia e te dhenave
binare eshte e panjohur ose ndryshon.

text Ky tip konsiston ne ruajtjene te


dhenave string literale (shkronjar) non-
Unicode dhe ruan deri 2,147,483,647
karaktere.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
ntext Ky tip mund te ruaje te dhena deri ne
1,073,741,823 karaktere Unicode duke
dyfishuar keshtu numrin e byte-ve per
cdo karakter te nderfutur. Ky tip
perdoret vetem ne rastin kur eshte e
nevojshme te suportohen gjuhe qe
kerkojne unicode.
image Ky tip eshte i ngjashem me tipin e te
dhenave tekst sepse konsiston ne faqe
te te dhenave te lidhura qe konsistojne
ne te dhena binare. Mund te
permbajne deri ne 2,147,483,647 byte
te dhenave binare.

char [(n)] Ky tip eshte me gjatesi fikse dhe mund


te permbaje nga 1 deri ne 8,000
karaktere non-Unicode. Madhesia e
ruatjes eshte (n) pavaresisht nga
gjatesia aktuale e te dhenes. Perdoret
ky tip te dhenash kur nje kolone mban
psh emra shtetesh si (“NY”, “CA”, etj.).

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
varchar [(n)] Eshte i ngjashem me tipin char, me
perjashtim te gjatesise variable. Mund
te permbaje nga 1 deri ne 8,000
karaktere non-Unicode. Parametri (n)
percakton max e gjatesise se nje
stringe dhe vetem e dhena aktuale
ruhet ne kolone. Perdorim kete tip kur
kemi gjatesi kolone te ndryshueshme.
nchar [(n)] Ky tip ka nje tip te dhenash me gjatesi
fikse dhe mund te permbaje nga 1 deri
ne 4,000 Unicode. Eshte i ngjashem
me tipin char, por me dyfishin e
hapesires se ruajtjes.

nvarchar [(n)] Eshte i ngjashem me tipin nchar,


pervec se ka nje gjatesi variabel dhe
mund te permbaje nga 1 deri ne 4,000
Karaktere Unicode. Cdo e dhene qe
eshte me e gjate do te shkurtohet ne
karakterin e n-te.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
datetime Ky tip konsiston ne 2 segmente 4-bytesh.: 4 byte per nr e diteve
para ose pas dates baze te 1/1/1900, dhe 4 byte per nr e
milisekondave pas mesnates, te rrumbullakosur per sekondat .000, .
003, ose .007.
Ky tip perfshin datat ndermjet January 1, 1753 dhe December 31,
9999. Data dhe koha insertohen duke perfshire vlera alfanumerike
me thonjeza teke si (‘).
Data dhe koha procesohen me vehte, keshtu qe mund te futet ose
pjesa e kohes ose e dates e para. Megjithate duhet te futen
elementet e kohes si ora, minutat dhe sekondat, milisekondat dhe
AM/PM ne kete renditje te ndare me presje. Vlera default per pjesen
e dates eshte 1/1/1900, kurse per kohen eshte 12:00:00:000AM.

smalldatetime Ky tip konsiston ne 2-byte integer: 2byte per nr e diteve pas


1/1/1900,
dhe 2 byte per nr e minutave pas mesnates. Kufiri i vlerave eshte me
i vogel se ai i tipit datetime, me data te vlefshme ndermjet 1/1/1900
dhe 6/6/2079 si dhe me saktesine e kohes vetem ne minuta.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
decimal [(p[, s])] Keto dy tipe jane vetem dy emra per te shprehur te njejten
and gje. Ato perdoren per numrat me pjesen e plote dhe pas
numeric [(p[, s])] presjes dhjetore fikse, te treguar nga parametrat p,s.
Vlerat e vlefshme jane nga -10^38 -1 der ne 10^38 -1.
Shkallezimi tregon nr max te shifrave qe mund te ruhen
mbas presjes dhjetore dhe duhet te jete me i vogel ose =
me pjesen e plote. Nese nuk specifikoni nje shkalle ose
saktesi, vlera default eshte 18 per pjesen e plote dhe 0 per
pjesen dhjetore.
Psh decimal(5,5) dhe decimal(5,0)
jane tipe te ndryshme te te dhenave.

float [(n)] Nje saktesi dyshe ose float perdor 8 byte hapesire ruajtjeje
dhe mund te ruaje nr ose poz ose neg nga -1.79E+308 deri
ne 1.79E + 308 me nje saktesi binare deri ne 15 shifra.

real Eshte nje version me i vogel se float, qe permban nje


numer vlera e te cilit varion nga –3.40E + 38 deri ne 3.40E
+ 38, me nje madhesi ruajtjeje prej 4 bytes.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
int Ky tip perdor 4 byte hapesire memorie dhe mund te
ruaje te gjithe nr nga
-2^31 (-2,147,483,648) deri ne 2^31
- 1 (2,147,483,647).

smallint Ky tip eshte nje version me i vogel se int, konsumon


vetem 2 byte hapesire mem dhe ruan te gjithe nr
nga
-2^15 (-32,768) deri ne 2^15 - 1 (32,767).

tinyint Ky tip konsumon vetem 1 byte hap.mem. dhe mund


te ruaje te gjithe nr nga 0 ne 255.

bigint Ky tip mund te ruaje nr nga –2^63 deri ne 2^63-1,


dhe perdor 8 byte hap.mem.

money Mund te ruaje te dhena dhjetore te shkallezuar ne 4


shifra dhjetore. Vlerat nga -2^63 (-
922,337,203,685,477.5808) deri ne 2^63 - 1
(+922,337,203,685,477.5807), me nje saktesi deri ne
10/1000 te njesise monetare. Ruajtja kushton 8
byte.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
bit Mund te ruaje nje vlere ose 1 ose 0. vlerat
Null nuk lejohen. Perdoret per te ruajtur te
dhena si true/false ose yes/no.
identity Kjo kolone identity nuk eshte nje tip i vertete
te dhenash– eshte nje kolone specifike e
SQL-se qe siguron nje vlere int auto-
inkrementuese. Kolonat identity zakonisht
perdoren si primary key.
timestamp Ketu gjenerohet nje vlere unike binare e db-
se qe krijohet automatikisht kur nje rresht
insertohet dhe update-het cdo kohe nje
rresht editohet. Nje tabele lejon vetem nje
kolone timestamp dhe konsumon 8 byte
hapesire memorie. Ky tip ndryshon nga tipi i
te dhenave datetime apo koha aktuale ne
oren e pc. SQL perdor timestamp per te
treguar sekuencen e nje aktiviteti ne ate
rresht dhe per te shpejtuar disa operacione
te caktuara.

Database 2 MSc. Lisana Berberi


Tipet e te dhenave ne SQL Server
uniqueidentifier Konsiston ne nje vlere 16-byte qe
perdoret shpesh per te perfaqesuar nje
nr 32-shifror hex, ose GUID (globally
unique identifier).

sql_variant Ky tip mund te ruaje te dhena si int,


binary, dhe vlera char por jo text, ntext,
image ose timestamp.

xml Ruan data te formatit XML. Maximum


2GB

cursor Ruan nje reference tek nje kursor I


perdorur per veprime te ndryshme ne
nje databaze

table Ruan nje bashkesi rezultatesh per


procesim te mevonshem

Database 2 MSc. Lisana Berberi


Krijimi i tabelave

 Per krijimin e nje tabele ndjekim keto hapa:


Ne nyjen Tables te database-it BankingDB
klikojme me te djathten dhe zgjedhim New Table.
(shiko figuren 6)
Pas plotesimit te te gjitha fushave/kolonave dhe
tipet perkates te tyre shtypim butonin save dhe
shkruajme emrin e tabeles.
Per te populluar (insertuar rekorde) tabelen
klikojme me te djathten ne tabelen e sapokrijuar
dhe zgjedhim “Edit Top 200 rows”
Database 2 MSc. Lisana Berberi
Database 2 MSc. Lisana Berberi

You might also like