You are on page 1of 41

Chng 1: To c s d liu (Creating Databases) CHNG 1: TO C S D LIU (CREATING DATABASES).............2 I Ni dung trnh by................................................................................... 2 II Cc xem xt cn lu i vi vic to mt c s d liu........................ 3 II.

.1 Cc c s d liu x l giao dch trc tuyn (OLTP databases)....... 4 II.2 Cc c s d liu x l phn tch trc tuyn (OLAP databases)....... 5 II.3 Cc cn nhc khi hoch nh mt c s d liu .............................. 5 II.4 V d to mt c s d liu.............................................................. 7 III Ghi s giao dch (Transaction Logging)............................................... 19 III.1 Giao dch (Transaction)................................................................ 19 III.2 S ghi giao dch (Transaction log)................................................ 20 III.3 Logging process........................................................................... 21 III.4 Cc xem xt lin quan v tr ca tp tin s ghi (Log file)................ 22 IV Cc tu chn cho c s d liu (Database Options)........................... 23 IV.1 Phn loi ty chn c s d liu................................................... 24 V Thng tin ngun c s d liu (Sources of Database Information)....... 29 V.1 SQL Server Management Studio................................................... 29 V.2 Catalog views................................................................................ 30 V.3 Metadata functions........................................................................ 32 V.4 Stored procedures ca h thng................................................... 38 VI Ti liu tham kho............................................................................... 41

SQL Server 2005 - GV: Trn Xun Hi

Trang 1

Chng 1: To c s d liu (Creating Databases)

CHNG 1: TO C S D LIU (CREATING DATABASES)


I Ni dung trnh by
Ni dung ca chng ny s cp n cc vn sau:

Nhng iu cn lu khi to c s d liu. Tin trnh ghi s giao dch (transaction logging process) v nhng iu cn lu tm i vi s inh v tp tin s ghi (log file).

Cc ty chn c s d liu (database options). Thng tin ngun c s d liu (sources of database information).

L chuyn vin pht trin c s d liu, bn c th c mong ch l ngi ln k hoch, thit k, v ci t cc c s d liu. Bn cng c th c bn phn lm vic vi cc c s d liu ang tn ti m trc bn hay nhng chuyn vin pht trin c s d liu khc to. Bi v c s d liu to thnh mt phn then cht ca nhiu ng dng doanh

SQL Server 2005 - GV: Trn Xun Hi

Trang 2

Chng 1: To c s d liu (Creating Databases)

nghip, vic hiu cch m cc c s d liu c to v cc ty chn no thng thng c s dng l iu quan trng. Trong chng ny, chng ta s tm hiu mt s cn nhc xem xt m bn cn phi tnh n khi thit k mt c s d liu Microsoft SQL Server 2005. Chng ta cng s tm hiu cch thc s ghi giao dch SQL Server 2005 lm vic, cch thit lp cc ty chn c s d liu, v cch xem cu trc d liu (metadata) ca mt c s d liu v cc i tng ca n.

II Cc xem xt cn lu i vi vic to mt c s d liu


Bn c th s dng SQL Server thc hin vic x l giao dch, lu tr v phn tch d liu. SQL Server thuc h cc sn phm v cng ngh m kho d liu ph hp vi cc yu cu mi trng x l giao dch trc tuyn (online transaction processing - OLTP) v x l phn tch trc tuyn (online analytical processing - OLAP). SQL Server l h qun tr c s d liu quan h (relational database management system - RDBMS) vi cc tnh nng sau:
SQL Server 2005 - GV: Trn Xun Hi
Trang 3

Chng 1: To c s d liu (Creating Databases)

Qun l kho d liu cho cc giao dch (transactions) v phn tch (analysis). Kh nng lu tr d liu vi cc kiu d liu c min gi tr rng, bao gm text, numeric, Extensible Markup Language (XML), v cc i tng ln. p tr cc yu cu t cc ng dng client. S dng Transact-SQL, XML, hay cc cu lnh SQL Server khc gi cc yu cu gia ng dng client v SQL Server.

H qun tr c s d liu SQL Server l ng tin cy i vi: Vic duy tr cc mi quan h gia cc i tng d liu trong mt c s d liu. Vic bo m rng d liu c lu tr ng n v ng n v cc quy tc nh ngha cc quan h gia cc i tng d liu l khng b xm phm. Vic khi phc tt c d liu ti mt im point of known consistency, trong s kin li h thng.

II.1 Cc c s d liu x l giao dch trc tuyn (OLTP databases)


Cc table quan h t chc d liu trong mt c s d liu OLTP gim thiu thng tin d tha v tng tc cp nht. SQL Server cho php s lng ln ngi dng thc thi cc giao dch v s thay i ng thi d liu theo thi gian thc trong cc c s d liu OLTP.

SQL Server 2005 - GV: Trn Xun Hi

Trang 4

Chng 1: To c s d liu (Creating Databases)

II.2 Cc c s d liu x l phn tch trc tuyn (OLAP databases)


Cng ngh OLAP c s dng t chc v tng hp s lng d liu ln mt ngi phn tch c th nh gi d liu mt cch nhanh chng v theo thi gian thc. Microsoft SQL Server Analysis Services t chc d liu ny h tr cc gii php i vi doanh nghip ln, xut pht t cc bo co cng ty v s phn tch m hnh ha d liu v h tr quyt nh.

II.3 Cc cn nhc khi hoch nh mt c s d liu


Khi hoch nh mt c s d liu mi, bn cn tnh n vic cn nhc xem xt mt s kha cnh sau: Mc tiu ca kho d liu (Purpose of data storage): cc c s d liu OLTP v OLAP c cc mc tiu khc nhau v v vy cc yu cu thit k cng s khc nhau. Tn sut giao dch (Transaction throughput) : cc c s d liu OLTP thng c nhu cu cao i vi s lng cc giao dch c th c x l mi pht, gi, hay mi ngy. Mt thit k t hiu sut cao lin quan n mt mc thch hp ca s chun ha
SQL Server 2005 - GV: Trn Xun Hi
Trang 5

Chng 1: To c s d liu (Creating Databases)

(normalization), cc ch mc (indexes), v s phn chia d liu c th t c mt mc rt cao ca tn sut giao dch. Kh nng tng tr ng v kha cnh vt l ca kho lu tr (Potential growth of physical data storage): S lng d liu ln i hi phn cng ph hp i vi b nh (memory), dung lng a cng (hard disk), v kh nng ca n v x l trung tm (central processing unit - CPU). Vic c lng s lng d liu m c s d liu ca bn s phi lu tr trong nhiu thng v nhiu nm tip theo sau s bo m rng c s d liu ca bn s duy tr lm vic hiu qu. Bn c th nh cu hnh cc c s d liu sao cho cc tp tin tng trng mt cch t ng vi bc tng theo thng s xc nh no n mt kch thc ti a c ch nh. Tuy nhin, vic tng trng t ng tp tin c th nh hng n hiu sut hot ng. Trong hu ht cc gii php c s d liu server-based, bn nn to c s d liu vi kch thc cc tp tin ph hp, theo di gim st khng gian thng s dng, v ch cp pht thm khng gian cho tp tin ch khi thy cn thit.
SQL Server 2005 - GV: Trn Xun Hi
Trang 6

Chng 1: To c s d liu (Creating Databases)

File location: Ni m bn t cc tp tin c th c tc ng nh hng v hiu sut thc thi. Nu c th, bn nn s dng nhiu a, bn c th dn tri cc tp tin c s d liu ca bn trn nhiu hn mt a. iu ny cho php SQL Server nhn c s thun li ca vic c nhiu kt ni v nhiu u c a cho vic c v ghi d liu hiu qu.

II.4

V d to mt c s d liu Bn c th to mt c s d liu bng cch s dng

cng c trc quan trong SQL Server Management Studio hoc s dng cu lnh CREATE DATABASE ca TransactSQL. V d sau y trnh by cch to mt c s d liu bng cch s dng Transact-SQL.
CREATE DATABASE TestDB ON (NAME = 'TestDB_Data', FILENAME = 'D:\DATA_ViDu\TestDB_Data.mdf', SIZE = 20 MB, FILEGROWTH = 0) LOG ON (NAME = 'TestDB_Log', FILENAME = 'D:\DATA_ViDu\TestDB_Log.ldf', SIZE = 5 MB, FILEGROWTH = 0)

SQL Server 2005 - GV: Trn Xun Hi

Trang 7

Chng 1: To c s d liu (Creating Databases)

Hnh I.1 trnh by cch thc thi cu lnh trn bng cch s dng trnh son tho Query trong SQL Server Management Studio

(Hnh I.1)

Nu mun, thay v s dng cu lnh Transact SQL bn c th dng cng c trc quan SQL Server Management Studio to mt c s d liu. lm theo cch ny, bn ln lt theo cc bc sau: Bc 1: T mn hnh windows start Microsoft SQL Server 2005 SQL Server Management Studio (hnh I.2)
SQL Server 2005 - GV: Trn Xun Hi
Trang 8

Chng 1: To c s d liu (Creating Databases)

(Hnh I.2) Bc 2: Trong hp thoi Connect to Server, bn cn chn cc thng s thch hp vi cc ngha c gii thch bn di (hnh I.3)

(Hnh I.3)
SQL Server 2005 - GV: Trn Xun Hi
Trang 9

Chng 1: To c s d liu (Creating Databases)

ngha cc thng s trong hp thoi Connect to Server : Server type : mc ny cho php chn mt loi server thc hin vic ng k. Combo tng ng vi mc ny cha danh sch bao gm: Database Engine, Analysis Services, Reporting Services, SQL Server Mobile, v Integration Services. Phn cn li ca hp thoi ch trnh by cc ty chn m chng s c p dng ti loi server chn. Khi ng k mt server t Registered Servers, mc Server type l read-only, v ph hp vi loi server c hin th trong thnh phn Registered Servers. ng k mt loi server khc, chn Database Engine, Analysis Services, Reporting Services, SQL Server Mobile, hoc Integration Services t thanh cng c Registered Servers trc khi bt u ng k mt server mi. Server name: chn server instance thc hin kt ni. Server instance ln sau cng c kt ni s c hin th mc nh. hnh I.1 ti thc hin vic kt ni n my server c tn l TXHAI v instance c tn l TXHAI_2005
SQL Server 2005 - GV: Trn Xun Hi
Trang 10

Chng 1: To c s d liu (Creating Databases)

Authentication (S chng thc hay tnh xc thc): Mang ngha biu th bn l ai i vi h thng. C hai ch xc thc sn dng khi bn thc hin vic kt ni n mt instance ca Database Engine: o Windows Authentication Mode: Ch chng thc Windows cho php mt ngi dng thc hin vic kt ni thng qua mt ti khon ngi dng ca Windows (Windows user account). o SQL Server Authentication: Khi ngi dng thc hin kt ni vi mt tn ng nhp v mt khu xc nh xut pht t mt non-trusted connection, SQL Server thc thi s chng thc ca chnh n vi vic kim tra xem xt phi chng mt ti khon ng nhp SQL Server c thit lp v phi chng mt khu c xc nh l ph hp vi nhng g trc ghi nhn. Nu khng, s chng thc b li v ngi dng s nhn mt thng bo li.

Ch : V l do an ton v tnh bo mt, bn nn s dng s chng thc ca Windows (Windows Authentication)


SQL Server 2005 - GV: Trn Xun Hi
Trang 11

Chng 1: To c s d liu (Creating Databases)

User name: G vo tn ngi dng mag bn s dng kt ni. Ty chn ny ch hiu lc khi trc bn chn kt ni bng cch s dng s chng thc Windows.

Login : G vo tn ng nhp m bn s dng kt ni. Ty chn ny ch hiu lc khi trc bn chn kt ni vi vic s dng s chng thc ca SQL Server.

Password : G vo mt khu tng ng vi tn ng nhp (login). Ty chn ny ch c hiu lc nu bn chn kt ni vi vic s dng s chng thc SQL Server.

Connect : Click nt lnh ny thc hin vic kt ni vi cc thng s nh bn trn.

Options : Click nt lnh ny b sung cc ty chn kt ni server, v d nh vic ng k mt server v ghi nh li mt khu.

Bc 3: Trong khung Object Explorer click phi ti mc Databases New Database (hnh I.4). Nu khng thy hin th khung ny, bn c th click chc nng view trn thc n click chn mc Object Explorer hin th n.
SQL Server 2005 - GV: Trn Xun Hi
Trang 12

Chng 1: To c s d liu (Creating Databases)

(Hnh I.4) Bc 3: Trong ca s New Database bn thc hin theo hng dn trnh bay tip theo sau

(Hnh I.5)
SQL Server 2005 - GV: Trn Xun Hi
Trang 13

Chng 1: To c s d liu (Creating Databases)

Database name : G vo tn ca c s d liu. Trong v d ny bn g vo tn ca c s d liu l QLKD_CHMayTinh

Owner : Xc nh quyn ch s hu c s d liu ang to bng cch click nt lnh danh sch. chn trong

Use full-text indexing : Mc ny nu check vo cho php to cc ch mc loi full-text trn c s d liu.

Database Files : cho php thc hin cc thao tc Add, view, modify, hoc remove cc tp tin c s d liu lin quan vi c s d liu ang to. Cc tp tin c s d liu c cc thuc tnh sau: o Logical Name : Mc nh s ly tn theo tn xc nh ti mc Database (i vi tp tin log s t ng c gn thm t log pha sau tn tp tin). Nu mun bn c th sa i li. o File Type : Chn loi tp tin t danh sch. Loi tp tin c th l Data hoc Log. Bn khng th sa i loi tp tin ca mt tp tin ang tn ti.

SQL Server 2005 - GV: Trn Xun Hi

Trang 14

Chng 1: To c s d liu (Creating Databases)

o Filegroup : Chn filegroup cho tp tin t danh sch. Mc nh, filegroup s l PRIMARY. Bn c th to mt filegroup mi bng cch chn mc Filegroup khung bn tri click nt lnh Add. Bn khng th sa i filegroup ca mt tp tin ang tn ti. o Initial Size : G vo hoc sa i kch thc khi to ca tp tin theo MB (megabytes). MB l n v tnh mc nh cho vic xc nh kch thc c s d liu. Cng theo mc nh, kch thc ca tp tin loi Data l 2MB v kch thc ca tp tin loi Log l 1MB. o Autogrowth: Mc ny hin th thng tin lin quan n cc thuc tnh autogrowth i vi tp tin. Mc nh, thuc tnh autogrowth ca tp tin loi Data c bc tng trng mi ln l 1MB v khng c s hn ch v kch thc ti a i vi tp tin. Cng theo mc nh, thuc tnh autogrowth ca tp tin loi Log c bc tng trng mi ln l 10 % kch thc tp tin v khng c hn ch v kch thc ti i vi tp
SQL Server 2005 - GV: Trn Xun Hi
Trang 15

Chng 1: To c s d liu (Creating Databases)

tin. Trong trng hp mun sa i cc thuc tnh lin quan, bn c th click vo biu tng bn phi ca ct autogrowth hin hp thoi nh hnh I.6. s xut

(Hnh I.6) Bn c th da trn ngha c gii thch sau y cn nhc cc chn la khi thc hin: Mc Enable Autogrowth: Nu bn click vo loi b thit lp t ng tng trng v kch thc ca tp tin. iu cng c ngha rng bn cn phi tnh ton d tr chnh xc kch thc xin cp pht ph hp cho tp tin khi to c s d liu. Vic ny s khin cho h thng
SQL Server 2005 - GV: Trn Xun Hi
Trang 16

Chng 1: To c s d liu (Creating Databases)

hot ng hon ho hn (ng nhin vi iu kin l bn phi c s tnh ton d tr v kch thc tp tin chnh xc). Cc thuc tnh cn li ng nhin ph thuc vo vic bn c gi check ny khng. Ti mc File Growth: Bn c th chn mt trong hai ty chn. Nu mun tp tin tng theo MB bn click chn In Megabytes v xc nh s lng MB mi ln tng trong combo tng ng bn phi. Nu mun kch thc tp tin tng theo phn trm kch thc tp tin chn In percent. Ti mc Maximum File Size: Bn c th gi nguyn ty chn mc nh i vi mc ny Unrestricted File Growth nu khng mun c s hn ch v kch thc ti a ca tp tin. Nu mun, bn c th chn ty chn cn li Restricted File Growth xc nh kch thc ti
SQL Server 2005 - GV: Trn Xun Hi
Trang 17

Chng 1: To c s d liu (Creating Databases)

a ca tp tin xc nh s lng ti combo tng ng bn phi. C l bn ch nn lm iu ny i vi tp tin Log. o Path : Hin th ng dn ni lu tr tp tin. xc nh ng dn cho tp tin mi click nt lnh tp tin. bn phi ct ny xut hin hp thoi nh hnh I.7. Bn c th chn li ni lu

(Hnh I.7)

o File Name : Hin th tn ca tp tin.


SQL Server 2005 - GV: Trn Xun Hi
Trang 18

Chng 1: To c s d liu (Creating Databases)

o Add : Thm tp tin mi ti database. o Remove : Xoa tp tin chn xut pht t database. Mt tp tin s khng th b loi b tr khi n rng (empty). Cc tp tin primary data v tp tin log l khng th loi b.

III Ghi s giao dch (Transaction Logging)


III.1 Giao dch (Transaction)
Mt giao dch l khi nim dng m ch n mt n v cng vic n l trong mt c s d liu. Nhm t ACID thng c dng m t cc c trng ca mt giao dch. Quan im ACID c th din gii nh sau:

Atomicity (Tnh nguyn t): Mt giao dch l mt n th nguyn t (atomic unit), c ngha l n khng th c chia nh, tt c cc cc hnh ng c nh ngha trong giao dch c hoc hon hon tt hoc chng c hnh ng no trong chng c hon tt.

Consistency (Tnh nht qun): Kt qu tc ng ca mt giao dch i vi d liu lun bo m tnh nht qun ca chng.

SQL Server 2005 - GV: Trn Xun Hi

Trang 19

Chng 1: To c s d liu (Creating Databases)

Isolation (Tnh c lp): Mt giao dch hnh ng trong s c lp tch ri khi cc hot ng c s d liu khc. Cc hot ng c s d liu khc khng c hiu lc vi giao dch.

Durability (Tnh bn vng): Bo m rng mt khi giao dch y thc kt qu ca n c duy tr c nh khng b xa khi CSDL d giao dch c thnh cng hay khng.Tnh bn vng dn n khi nim phc hi CSDL(database recovery). SQL Server h tr khng tng minh (implicit) cc giao dch i vi cc lnh ring l sa i d liu v tng minh cc giao dch i vi cc lnh phc tp m chng phi c thc thi nh l mt n th.

III.2 S ghi giao dch (Transaction log)


SQL Server ghi s mi giao dch trong s ghi giao dch duy tr tnh nht qun c s d liu v gip khi phc li c s d liu. S ghi l mt phm vi lu tr lu vt t ng cc thay i i vi c s d liu. SQL Server ghi chp trn a s sa i vo s ghi khi s s i c thc thi v trc khi chng c ghi nhn vo trong c s d liu.

SQL Server 2005 - GV: Trn Xun Hi

Trang 20

Chng 1: To c s d liu (Creating Databases)

III.3 Logging process


Tin trnh ghi s c thc hin nh sau: Bc 1: ng dng gi mt yu cu sa i d liu. Bc 2: Khi mt trng hp sa i d liu c thc thi, cc trang d liu (data pages) liu b tc ng ti d liu t a vo bn trong vng m cache ca b nh, vi iu kin l cc trang d liu ny cha c trong vng m cache t mt truy vn trc . Bc 3: S ghi ghi nhn mi cu lnh sa i d liu khi s sa i c thc hin. S thay i lun c ghi nhn trong s ghi v c ghi xung a trc khi s thay i c thc hin trong c s d liu. Loi s ghi ny c gi l write-ahead log. Bc 4: Da trn c s mt chu k nht nh, checkpoint process ghi tt c cc giao dch ti c s d liu trn a. Nu h thng b li, tin trnh khi phc t ng s dng s ghi giao dch cung chiu ti tt c cc giao dch c xc nhn hon tt (commit) v quay lui (roll back) mi giao dch khng hon tt. S ghi s dng cc nh du giao dch trong khi t ng khi phc kim cc im bt u v kt thc ca mt giao dch. Mt giao dch c xem nh
SQL Server 2005 - GV: Trn Xun Hi
Trang 21

Chng 1: To c s d liu (Creating Databases)

hon tt khi nh du BEGIN TRANSACTION c mt nh du tng ng COMMIT TRANSACTION. Cc trang d liu (Data pages) c vit ti a khi mt checkpoint xy ra.

III.4 Cc xem xt lin quan v tr ca tp tin s ghi (Log file)


ci tin hiu qu lm vic, khuyn co rng bn nn t tp tin s ghi giao dch trn mt a vt l ring bit tch khi cc tp tin d liu ca bn. iu ny lm gim bt s tranh ginh v cho php dng mt tp cc u c a ghi nhn cc giao dch vo s ghi giao dch trong khi cc u c khc c d liu t cc tp tin d liu ti cng mt thi im. Vic cp nht d liu l nhanh chng bi v cc giao dch c th s c ghi ngay lp tc ti a m khng phi ch cho n khi vic c d liu c hon tt. Bi v cc tp tin s ghi c ghi tip ni, nn nu s ghi c lu tr trn mt a ring bit, cc u c a s vn cn ng v tr cho thao tc ghi k tip. Hnh I.8 trnh by minh ha nguyn tc hot ng ca vic ghi s giao dch trong SQL Server 2005

SQL Server 2005 - GV: Trn Xun Hi

Trang 22

Chng 1: To c s d liu (Creating Databases)

(Hnh I.8)

IV Cc tu chn cho c s d liu (Database

Options)
Sau khi to c s d liu, bn c th thit lp cc ty chn cho c s d liu bng cch s dng cng c trc quan c sn trong SQL Server Management Studio hoc s dng cu lnh ALTER DATABASE ca Transact-SQL. Bn c th nh cu hnh cho mt s ty chn c s d liu, ngoi ra bn c th thit lp chng cho ch ring mt c
SQL Server 2005 - GV: Trn Xun Hi
Trang 23

Chng 1: To c s d liu (Creating Databases)

s d liu ti mt thi im. cc ty chn tc ng ln tt c cc c s d liu mi, bn cn phi thay i model database.

IV.1 Phn loi ty chn c s d liu


C hn 25 ty chn c s d liu c nhm vo trong cc phn loi ty chn khc nhau gip cho vic qun l d dng hn. Bng sau y lit k mt s cc ty chn thng ng s dng hn: Loi ty chn
Automatic Availability

Mc tiu
Kim sot cc hnh vi nh: statistics, database closing, v shrinking Kim sot liu c s d liu c l online, ai c th kt ni ti n, v c s d liu c l read-only hay khng.

Cursor Recovery SQL

Kim sot hnh vi v phm vi cursor Kim sot m hnh khi phc c s d liu. Kim sot s tun th chun ANSI cc ty chn nh l ANSI Null v tnh quy ca cc trigger.

(Hnh I.9)
SQL Server 2005 - GV: Trn Xun Hi
Trang 24

Chng 1: To c s d liu (Creating Databases)

Loi ty chn Automatic

Ty chn AUTO_CREATE_ STATISTIC S

Din gii T ng to mi statistics (thng k) cn thit ph hp vi mt truy vn cho s ti u ha. M c nh l ON. T ng cp nht cc statistics khng cn ph hp vi ng cnh (out-of-date) c yu cu bi mt truy vn cho vic ti u ha. M c nh l ON. Nu thit lp l ON T ng ng mt c s d liu khi ngi dng sau cng thot. M c nh l OFF i vi tt c cc phin bn ca SQL Server 2005 ngoi tr phin bn SQL Server 2005 Express. Cc tp tin c s d liu l ph h p i v i vic shrink (nn li) nh k nu thit lp thuc tnh ny ti ON. Mc nh l OFF. C hai loi tp tin data v log c th c t ng lm co li nu bt thuc tnh ny l ON. AUTO_SHRINK lm gim kch thc ca s ghi giao dch (transaction log) ch khi database c thit lp ti SIMPLE recovery model hay nu tp tin s ghi c backed up.

AUTO_UPDATE_STATISTIC S

AUTO_CLOS E

AUTO_SHRINK

SQL Server 2005 - GV: Trn Xun Hi

Trang 25

Chng 1: To c s d liu (Creating Databases) Availabilit y OFFLINE |ONLINE | EMERG EN C Y Khi OFFLINE c xc nh, c s d liu ng v biu th offline. Khi ONLINE c xc nh, c s d liu l m (open) v sn sng cho s dng. Khi EMERG EN C Y c xc nh, c s d liu c biu th l READ_ONLY, vic ghi s l khng hiu lc, v vic truy cp c gii hn ti cc thnh vin ca sysadmin. Khi READ_ONLY c ch nh, ngi dng c th c d liu t c s d liu tuy nhin khng th s a n. Khi READ_WRITE c ch nh, c s d liu l sn sng cho cc thao tc c v ghi . M c nh l READ_WRITE.

READ_ONLY |READ_WRITE

SINGLE_US E R | RESTRICTED_U S E R | MULTI_USE R

Kim sot vic ngi dng no l c th kt ni ti c s d liu. SINGLE_U SE R ch cho php mt ngi dng kt ni. RESTRICTED_U S E R cho php cc thnh vin ca db_owner v dbcreator v sysadmin kt ni. MULTI_USE R cho php ngi dng bt k kt ni nu c security permissions ph h p. M c nh l MULTI_USE R.

SQL Server 2005 - GV: Trn Xun Hi

Trang 26

Chng 1: To c s d liu (Creating Databases) Cursor CURSO R_CLO S E_ ON_CO M MIT T ng ng cc cursor m khi mt giao dch c xc nhn hon tt (committed). M c nh l OFF. CUR SO R_D E FAULT_LOCAL hn nh phm vi ca cursor. Ty chn ny l cc b i vi l x l (batch), stored procedure, hay trigger m cursor c to. CUR SO R_D E FAULT_GLOBAL l ty chn thit lp mc nh; phm vi ca cursor l ton cc i vi kt ni (connection). - Khi c ch nh l FULL h tr kh nng khi phc y thit b li v l mc nh. - Khi ch nh l BULK_LOGGED vic khi phc ngay sau khi thit b li vi vic kt hp gia hiu sut tt nht v dung lng s ghi ti thiu s dng cho quy m ln hoc cc thao tc bulk c h tr. - Khi SIMPLE c ch nh mt chin lc backup n gin vi vic s dng khng gian s ghi ti thiu. Cho php SQL Server pht hin ra cc thao tc input/output (I/O) khng hon tt gy ra bi cc s c v ngun in chng hn. Khi CHECK SU M c ch nh, Database Engine tnh ton mt kim tra tng (checksum) thng qua cc ni dung ca ton b trang v lu tr gi tr phn header ca trang khi mt trang c vit ti a. Khi trang
Trang 27

CURSO R_D EFAULT

Recovery

RECOVE RY

Recovery

PAGE_VE RIFY

SQL Server 2005 - GV: Trn Xun Hi

Chng 1: To c s d liu (Creating Databases) c c t a, checksum c tnh ton li v c so snh vi gi tr checksum lu tr trong phn header ca trang. y l gi tr mc nh. Khi TORN_PAGE_DETECTION c ch nh, mt bit ring bit cho mi 512-byte sector trong 8-kilobyte (KB) data page nh l mt b phn ca page header. Cc bit lu tr trong page header c so snh vi thng tin page sector trn thc t khi data pages c c t a. SQL ANSI_NULL_DEFAULT Cho php ngi dng kim sot kh nng mc nh Null ca c s d liu. Khi On c ch nh, gi tr mc nh l Null. Off l mc nh i vi SQL Server 2005 v khi gi tr mc nh l NOT NULL. Khi ON, tt c cc php so snh i v i mt gi tr null s c nh gi ti NULL (unknown). Khi OFF, php so snh ca cc gi tr nonUnicode i vi mt gi tr null c nh gi ti TRUE nu c hai gi tr u l NULL. M c nh, ty chn ny l OFF. Kim sot vic cho php kch hot quy i v i AFTER triggers hay khng. M c nh l
Trang 28

SQL

ANSI_NULLS

SQL

RECU R SIVE_TRIGGE R S

SQL Server 2005 - GV: Trn Xun Hi

Chng 1: To c s d liu (Creating Databases) OFF, n ngn ng a hon ton s quy.

V Thng tin ngun c s d liu (Sources

of Database Information)
Bn c th xem cu trc d liu h thng (system metadata) c s d liu ca bn bng hai cch khc nhau. Khi bn cn xem thng tin v i tng c s d liu, cch d dng nht l s dng SQL Server Management Studio. Khi bn vit cc ng dng ly cu trc d liu (metadata) cc i tng c s d liu, bn nn s dng Transact-SQL ly thng tin t cc danh mc c cung cp bi h thng, nn tn dng cc hm h thng (system functions), hoc thi hnh cc th tc c xy dng sn ca h thng (system stored procedures).

V.1 SQL Server Management Studio


SQL Server Management Studio cung cp cc cng c trc quan hin th metadata ca c s d liu v ng thi thng qua mi trng ny bn c th d dng qun l n. Bng sau y lit k cc cng c thng dng nht:
SQL Server Management Din gii

SQL Server 2005 - GV: Trn Xun Hi

Trang 29

Chng 1: To c s d liu (Creating Databases) Studio tool Object Explorer

Object Explorer l cng c ha cho vic nh v v qun l cc servers, databases, v cc i tng c s d liu (database objects). Mi i tng c s d liu bn trong Object Explorer c mt ca s Properties (cc thuc tnh) tng ng m bn c th truy xut bng cch click phi chut ti i tng v click chn mc chc nng Properties. C a s Properties thay i ph thuc vo loi i tng chn. SQL Server Management Studio cha mt tp h p cc reports cho cc nodes khc nhau c cung cp bn trong Object Explorer bi SQL Server Report Server engine. Cc nodes thng c s dng c th hin th cc reports bao gm: Server Database Service Broker, bn di mt nt Database Logins , bn di nt Security Management

Properties window

Reports

V.2 Catalog views


Catalog views cho php bn truy vn metadata lin quan cc i tng c s d liu SQL Server, nh tables, stored procedures, v constraints. Mt vi catalog views lit k thng tin server-wide, tuy nhin a phn l databasespecific.

SQL Server 2005 - GV: Trn Xun Hi

Trang 30

Chng 1: To c s d liu (Creating Databases)

Catalog views c lit k trong th mc Views. Mt th mc views cho mi c s d liu trong SQL Server Management Studio. Mc d bn c th truy vn chng bng cch s dng c php Transact-SQL chun i vi cc view do ngi dng nh ngha, syntax as for user-defined views, chng khng thc s c ci t nh cc views truyn thng, c ngha l n khng truy vn trn cc table m thay vo n truy vn trc tip trn cc metadata ca h thng. C hn 200 catalog views, v chng c nh ngha trong sys schema. Catalog views c phn loi theo chng nng ca chng. Bng sau y lit k mt s phn loi chnh v cc loi view thng dng tng ng vi mi phn loi :
Phn loi
Databases and files Objects

Loi view
sys.database_files

Din gii
Tr v mt dng i vi mi tp tin ca mt database Tr v mt dng i vi mi ct (column) ca mt i tng cha cc ct (v d : mt table hay mt view) Tr v mt dng i vi mi s kin m mt trigger hay mt hnh ng no kch hot. Tr v mt dng i vi mi index hay heap ca mt danh sch i tng. Trang 31

sys.columns

Objects Objects

sys.events sys.indexes

SQL Server 2005 - GV: Trn Xun Hi

Chng 1: To c s d liu (Creating Databases)


Objects Objects sys.tables sys.views Tr v mt dng i vi mi table trong database Tr v mt dng i vi mi view trong database Tr v mt dng i vi mi schema nh ngha trong database Tr v mt dng i vi mi permission nh ngha trong database Tr v mt dng i vi mi security principal trong database Tr v mt dng i vi mi thnh vin ca mt database role

Schemas Security Security

sys.schemas sys.database_permissions sys.database_principals

Security

sys.database_role_members

V.3 Metadata functions


SQL Server 2005 nh ngha mt s cc loi hm khc nhau tr v thng tin lin quan c s d liu v cc i tng c s d liu. Ngc li vi catalog views tr v nhiu dng thng tin, cc hm ny ch tr v mt gi tr n l v c hiu l hm v hng (scalar functions). Lit k sau y din gii mt s metadata functions thng dng:
DB_ID : Tr v nhn dng database (database identification - ID), mi database s c mt con s nhn dng mang tnh duy nht. C php: SQL Server 2005 - GV: Trn Xun Hi
Trang 32

Chng 1: To c s d liu (Creating Databases)


DB_ID ( [ 'database_name' ] )

Tham s: database_name: Khng bt buc. L tn ca c s d liu. Nu khng ch nh s ly c s d liu hin hnh. Kiu tr v: V d : Tr v database ID ca c s d liu hin hnh: Kiu kt qu tr v : Int

(Hnh ) Tr v database ID ca c s d liu c ch nh:

DB_NAME : Tr v tn ca database tng ng vi database ID ch nh, hay tn ca database hin hnh nu khng ch nh ID.

C php:
DB_NAME ( [ database_id ] )

Tham s: SQL Server 2005 - GV: Trn Xun Hi


Trang 33

Chng 1: To c s d liu (Creating Databases) database_id: Khng bt buc. L s nhn nhn ca c s d liu. Nu khng ch nh s ly c s d liu hin hnh. Kiu tr v: V d : Tr v tn ca c s d liu hin hnh: Kiu kt qu tr v : nvarchar(128)

Tr v tn ca c s d liu tng ng vi ID ch nh ca c s d liu:

FILE_ID: Tr v ID ca tp tin tng ng vi tn ca tp tin logical cho trong c s d liu hin hnh.

C php:
FILE_ID ( file_name )

Tham s:

SQL Server 2005 - GV: Trn Xun Hi

Trang 34

Chng 1: To c s d liu (Creating Databases) File_name: L mt biu thc loi sysname trnh by tn ca tp tin m ta mun n tr v ID ca tp tin. Kiu tr v: V d : V d sau tr v ID tp tin c tn QLKD_CHMayTinh_log: Kiu kt qu tr v : smallint

FILE_NAME : Tr v tn ca tp tin logical tng ng vi ID tp tin cho.

C php:
FILE_NAME ( file_id )

Tham s: File_id: L s nhn dng ca tp tin m ta mun n tr v tn tp tin tng ng. Kiu tr v: Kiu kt qu tr v : nvarchar(128)

Ch : file_ID tng ng vi ct file_id trong sys.master_files hoc sys.database_files catalog views. V d : SQL Server 2005 - GV: Trn Xun Hi
Trang 35

Chng 1: To c s d liu (Creating Databases) V d sau tr v tn ca tp tng ng vi ID ca tp tin c gi tr l 2:

FILEGROUP_ID: Tr v ID ca filegroup tng ng vi tn ca filegroup ch nh.

C php:
FILEGROUP_ID ( 'filegroup_name' )

Tham s: Filegroup_name: L mt biu thc loi sysname trnh by tn ca filegroup tng ng vi ID ca filegroup tr v. Kiu tr v: Kiu kt qu tr v : int

Ch : filegroup_name tng ng vi ct name trong sys.filegroups catalog view. V d : V d sau tr v ID ca filegroup tng ng vi filegroup c tn l PRIMARY.

SQL Server 2005 - GV: Trn Xun Hi

Trang 36

Chng 1: To c s d liu (Creating Databases)

FILEGROUP_NAME: Tr v tn ca filegroup tng ng vi ID ca filegroup ch nh.

C php:
FILEGROUP_NAME ( filegroup_id )

Tham s: Filegroup_id: l s ID ca filegroup m ta mun n tr v tn filegroup tng ng. filegroup_id l mt smallint Kiu tr v: Kiu kt qu tr v : nvarchar(128)

Ch : filegroup_id tng ng vi ct data_space_id trong sys.filegroups catalog view V d : V d sau tr v tn ca filegroup tng ng vi gi tr ID ca filegroup l 1 trong c s d liu QLKD_CHMayTinh.

SQL Server 2005 - GV: Trn Xun Hi

Trang 37

Chng 1: To c s d liu (Creating Databases)

V.4 Stored procedures ca h thng


SQL Server 2005 cung cp nhiu stored procedures h thng (phn bit vi cc stored procedures do ngi dng nh ngha) ly thng tin metadata c s d liu. Cc th tc (procedures) ny cung cp mt mt kh nng thc hin khc cho vic truy vn thng tin m catalog views cung cp provide v chp nhn cc tham s th tc cho php s ty bin cc tp kt qu. Phn sau y trnh by cc stored procedures h thng thng dng trong hng trm stored procedures h thng sn dng:
sp_databases: Lit k cc c s d liu sn dng bn trong mt instance ca SQL Server hoc c th truy xut thng qua mt database gateway. C php:
sp_databases

SQL Server 2005 - GV: Trn Xun Hi

Trang 38

Chng 1: To c s d liu (Creating Databases) Tham s: Tn ct DATABASE_NAME Khng Kiu d liu sysname Din gii Tn ca database. Trong Database Engine, ct ny trnh by tn database ging nh lu trong sys.databases ca catalog view. DATABASE_SIZE REMARKS int varchar(254) Kch thc ca database, theo kilobytes. i vi Database Engine, field ny lun tr v NULL V d : V d sau trnh by cch thc thi sp_databases Tp kt qu tr v:

sp_stored_procedures: Tr v mt danh sch cc stored procedures trong c s d liu hin hnh.

SQL Server 2005 - GV: Trn Xun Hi

Trang 39

Chng 1: To c s d liu (Creating Databases) sp_help: Bo co thng tin lin quan mt i tng c s d liu, mt kiu d liu do ngi dng nh ngha, hoc mt kiu d liu c cung cp bi SQL Server 2005. C php:
sp_help [ [ @objname = ] 'name' ]

Tham s: [ @objname =] 'name' : L tn ca i tng bt k, trong sysobjects hay bt k kiu d liu do ngi dng nh ngha hay bt k kiu d liu do ngi dng nh ngha trong systypes table; name c kiu l nvarchar(776), vi gi tr mc nh l NULL. Tn ca Database khng c chp nhn. Cc tp kt qu tr v: V d : USE master; GO EXEC sp_help; GO

V d sau lit k thng tin lin quan mi i tng trong c s d liu master

GO

V d sau trnh by thng tin v table c tn Contact

USE AdventureWorks; EXEC sp_help 'Person.Contact'; GO

SQL Server 2005 - GV: Trn Xun Hi

Trang 40

Chng 1: To c s d liu (Creating Databases)

VI Ti liu tham kho


Microsoft SQL Server 2005 Implementation and Maintenance - Joseph L. Jorden, Dandy Weyn

SQL Server 2005 - GV: Trn Xun Hi

Trang 41

You might also like