Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

I.

H QUN TR CSDL SQL SERVER

1. Gii thiu s lc v SQL Server


Microsoft SQl server l mt h qun tr c s d liu quan h (relational database management system RDBMS) do Microsoft pht trin. SQL Server l mt h qun tr c s d liu quan h mng my tnh hot ng theo m hnh khch ch cho php ng thi cng lc c nhiu ngi dng truy xut n d liu, qun l vic truy nhp hp l v cc quyn hn ca tng ngi dng trn mng. Ngn ng truy vn quan trng ca Microsoft SQL server l Transact-SQL. Transact-SQL l ngn ng SQL m rng da trn SQL chun ca ISO (International Organization for Standardization) v ANSI (American National Standards Institute) c s dng trong SQL Server. Trong lch s , SQL server c Microsoft pht trin qua kh nhiu cc phin bn khc nhau nhng y chng ta s nghin cu v SQL server 2008 bi s tin b v hu hiu ca n so vi cc phin bn khc . Phin bn mi nht l 2012. Microsoft SQL server 2008 c nhng im mi, tin b sau: Mt trong im ni bt khi xem xt v SQL Server 2008 ca Microsoft l tnh nng phn loi bit ng mi v cc li ch vo trong nhm hoc cc vng chnh. C bn vng chnh l Enterprise Data Platform, Dynamic Development, Beyond Relational Database, v Pervasive Insight. SQL Server 2008 c tc dng n by cho cng ngh .NET 3.0 (Dot Net Framework 3.0) vi LINQ (Language Integrated Query ngn ng truy

vn tch hp). Thm vo l s h tr hiu qu hn cho cc thc th d liu doanh nghip cng vi cc ty chn ng b d liu.

2. Cu trc SQL Server


2.1 Cu trc vt l Mi database trong SQL Server cha t nht mt data file chnh (primary), c th c thm mt hay nhiu data file ph (Secondary) v mt transaction log file. Primary data file: file chnh cha data v nhng system tables (ui .mdf) Secondary data file: file ph thng ch s dng khi database c phn chia cha trn nhiu a (ui .ndf) Transaction log file: file ghi li tt c nhng thay i din ra trong mt database v cha y thng tin c th roll back hay forward khi cn (ui .ldf) V mt vt l, CSDL c lu tr trn 2 hoc nhiu tp tin roll

Pages and Extents Page: n v lu tr d liu c s trong SQL Server Khng gian a c cp pht cho tp tin d liu (.mdf hoc ndf) ca mt csdl c phn chia logic thnh cc page v c nh s lin tc t 0 n n. SQL Server thc hin c ghi d liu trn cc page ny C kch thc l 8 Kbs (1MB c 128 pages). 96 byte u tin ca page (page header) lu tr cc thng tin h thng v page nh: s trang, loi trang (data, Index, text/image,..), ch s ID ca trang. 2.2 Cu trc logic

Hu nh mi th trong SQL Server c t chc thnh nhng objects v d nh tables, views, stored procedures, indexes, constraints.... i tng Table Data type View Stored procedure Function Index Kiu d liu i tng CSDL cha cc lnh Select i tng cha cc lnh T-SQL Hm nh ngha cc logic x l i tng CSDL nhm truy cp d liu nhanh hn Constraint Rng buc d liu, c thit lp trn 1 ct hoc nhiu ct to ton vn d liu Trigger Loi th tc lu tr c bit, c thc thi khi CSDL trong bng thay i M t i tng lu tr d liu ca CSDL

3. Mt s c trng ca SQL Server


3.1. Tnh ton vn DL Ton vn d liu l vic t ra cc quy tc trong mt c s d liu kim tra cc gi tr ca d liu trc khi c lu tr phi m bo tnh chnh xc v hp l bn trong mt c s d liu. Nu cc gi tr d liu no vi phm cc quy tc t ra th cc d liu s khng c lu vo bng. Cc quy tc ny phn ln c xy dng da vo cc quy tc hin hu ang tn ti trong cc cng vic thc t.

Bn trong c s d liu ca Microsoft SQL Server vic kim tra tnh ton vn d liu s thng qua hai i tng qun l, l cc constraint v trigger. C hai i tng ny u c lin kt trc tip vo bng d liu. Cc loi quy tc kim tra tnh ton vn d liu bao gm : Kim tra tnh duy nht ca d liu Kim tra tn ti d liu Kim tra min gi tr

3.2 Kh nng bo mt
Bo mt l mt trong nhng yu t ng vai tr quan trng i vi s sng cn ca c s d liu. C s d liu l ton b thng tin v hot ng ca cng vic thc thi bi vy m vic gi an ton bo mt cho c s d liu s gip cng vic hot ng n nh, khng b nhng ngi dng khng c quyn hn truy cp v lm thay i gy mt tnh ton vn ca c s d liu. Hu ht cc h qun tr c s d liu thng mi hin nay u cung cp kh nng bo mt c s d liu vi nhng chc nng nh: Cp pht quyn truy cp c s d liu cho ngi dng v cc nhm ngi dng, pht hin v ngn chn nhng thao tc tri php ca ngi s dng trn c s d liu. Cp pht quyn s dng cc cu lnh, cc i tng c s d liu i vi ngi dng. Thu hi (hu b) quyn ca ngi dng. Bo mt d liu trong SQL c thc hin da trn ba khi nim chnh sau y:

Ngi dng c s d liu (Database user) : L i tng s dng c s d liu, thc thi cc thao tc trn c s d liu nh to bng, truy xut d liu, Mi mt ngi dng trong c s d liu c xc nh thng qua tn ngi dng (User ID). Mt tp nhiu ngi dng c th c t chc trong mt nhm v c gi l nhm ngi dng (User Group). Chnh sch bo mt c s d liu c th c p dng cho mi ngi dng hoc cho cc nhm ngi dng. Cc i tng c s d liu (Database objects): Tp hp cc i tng, cc cu trc lu tr c s dng trong c s d liu nh bng, khung nhn, th tc, hm c gi l cc i tng c s d liu. y l nhng i tng cn c bo v trong chnh sch bo mt ca c s d liu. c quyn (Privileges): L tp nhng thao tc c cp pht cho ngi dng trn cc i tng c s d liu. Chng hn mt ngi dng c th truy xut d liu trn mt bng bng cu lnh SELECT nhng c th khng th thc hin cc cu lnh INSERT, UPDATE hay DELETE trn bng . SQL cung cp cho ngi lp trnh cu lnh cp pht quyn truy cp cho ngi dung cng nh thu hi quyn s dng , cu trc cu lnh s c nhc n phn sau.

4. T-SQL
4.1. Gii thiu s lc v T-SQL Transact-SQL l ngn ng SQL m rng da trn SQL chun ca ISO (International Organization for Standardization) v ANSI (American National

Standards Institute) c s dng trong SQL Server khc vi P-SQL (Procedural-SQL) dng trong Oracle. Trong phn ny chng ta s tm hiu s qua v T-SQL. Chng c chia lm 3 nhm: Data Definition Language (DDL): y l nhng lnh dng qun l cc thuc tnh ca mt database nh nh ngha cc hng hoc ct ca mt table, hay v tr data file ca mt database...thng c dng : Create object_Name Alter object_Name Drop object_Name Trong object_Name c th l mt table, view, stored procedure, indexes... Data Control Language (DCL): y l nhng lnh qun l cc quyn truy cp ln tng object (table, view, stored procedure...). Thng c dng sau: Grant Rovoke Deny Data Manipulation Language (DML):
y l nhng lnh ph bin dng x l data nh :

Select Update Insert

Delete 4.2. C php lnh T-SQL Phn ny chng ta s bn v cc thnh phn to nn c php ca T-SQL Identifiers y chnh l tn ca cc database object. N dng xc nh mt object. (Ch khi ni n Object trong SQL Server l chng ta mun cp n table, view, stored procedure, index.....V hu nh mi th trong SQL Server u c thit k theo kiu hng i tng (objectoriented)). C hai loi Identifiers mt loi thng thng (Regular Identifier) v mt loi gi l Delimited Identifier, loi ny cn c du "" hay du [] ngn cch. Loi Delimited c dng i vi cc ch trng vi t kha ca SQL Server (reserved keyword) hay cc ch c khong trng. Variables (Bin) Bin trong T-SQL cng c chc nng tng t nh trong cc ngn ng lp trnh khc ngha l cn khai bo trc loi d liu trc khi s dng. Bin c bt u bng du @ (i vi cc global variable th c hai du @@) Functions (Hm) C 2 loi hm mt loi l built-in v mt loi user-defined Cc hm Built-In c chia lm 3 nhm: Rowset Functions : Loi ny thng tr v mt object v c i x nh mt table. V d nh hm OPENQUERY s tr v mt recordset v c th ng v tr ca mt table trong cu lnh Select.

Aggregate Functions : Loi ny lm vic trn mt s gi tr v tr v mt gi tr n hay l cc gi tr tng. V d nh hm AVG s tr v gi tr trung bnh ca mt ct. Scalar Functions : Loi ny lm vic trn mt gi tr n v tr v mt gi tr n. Trong loi ny li chia lm nhiu loi nh nh cc hm v ton hc, v thi gian, x l kiu d liu String.... Cc hm User-Defined (c to ra bi cu lnh CREATE FUNCTION v phn body thng c gi trong cp lnh BEGIN...END) cng c chia lm cc nhm nh sau: Scalar Functions : Loi ny cng tr v mt gi tr n bng cu lnh RETURNS. Table Functions : Loi ny tr v mt table Data Type (Loi D Liu) Exact numberics (s chnh xc, khng sai s): BIGINT INT SMALLINT TYNYINT BIT DECIMAL NUMERIC MONEY SMALLMONEY Approximate Numerics FLOAT

REAL Datetime and smalldatetime: DATETIME SMALLDATETIME Character Strings (kiu chui): CHAR VARCHAR TEXT Unicode Character Strings (kiu chui c cha Unicode): NCHAR NVARCHAR NTEXT Binary strings: BINARY VARBINARY IMAGE Other data types (cc kiu d liu khc) Ngoi ra SQL cn h tr mt s kiu d liu khc nh: cursor, sql_variant, table, timestamp v uniqueidentifier. Expressions
Cc Expressions c dng Identifier + Operators (nh +,-,*,/,=...) + Value

Cc thnh phn Control-Of Flow Nh BEGIN...END, BREAK, CONTINUE, GOTO, IF...ELSE, RETURN, WHILE.... Xin xem thm Books Online bit thm v cc thnh phn ny.

Comments (Ch Thch) T-SQL dng du -- nh du phn ch thch cho cu lnh n v dng /*...*/ ch thch cho mt nhm.

4.3. Thc Thi Cc Cu Lnh SQL Thc thi mt cu lnh n: Mt cu lnh SQL c phn ra thnh cc thnh phn c php nh trn bi mt parser, sau SQL Optimizer (mt b phn quan trng ca SQL Server) s phn tch v tm cch thc thi (Execute Plan) ti u nht v d nh cch no nhanh v tn t ti nguyn ca my nht... v sau SQL Server Engine s thc thi v tr v kt qu. Thc Thi mt nhm lnh (Batches) Khi thc thi mt nhm lnh SQL Server s phn tch v tm bin php ti u cho cc cu lnh nh mt cu lnh n v cha execution plan c bin dch (compiled) trong b nh sau nu nhm lnh trn c gi li ln na th SQL Server khng cn bin dch m c th thc thi ngay iu ny gip cho mt batch chy nhanh hn. Lnh GO Lnh ny ch dng gi mt tn hiu cho SQL Server bit kt thc mt batch job v yu cu thc thi. N vn khng phi l mt lnh trong T-SQL.

You might also like