LUẬN VĂN TỐT NGHIỆP
TÌM HIỂU SQL SERVER
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 1 –
§Æt vÊn ®Ò
¾ C¬ së d÷ liÖu vµ qu¶n trÞ c¬ së d÷ liÖu lµ mét trong nh÷ng vÊn ®Ò cèt
lâi cña tin häc. XÐt cho cïng khi øng dông tin häc ®Ó gi¶i quyÕt c¸c bµi
to¸n th× ng−êi ta ph¶i gi¶i quyÕt vÊn ®Ò x©y dùng c¬ së d÷ liÖu vµ x©y
dùng thuËt to¸n xö lý chóng. Khi c¬ së d÷ liÖu cµng lín nhu cÇu xö lý
phøc t¹p, yªu cÇu b¶o mËt cµng cao th× vÊn ®Ò qu¶n trÞ c¬ së d÷ liÖu cµng
phøc t¹p. V× vËy c¸c môc tiªu cña ®Ò ¸n nµy lµ t×m hiÓu khai th¸c SQL
Server vµ sö dông nã ®Ó gi¶i quyÕt bµi to¸n qu¶n lý d©n c−. Tõ môc tiªu
cña ®Ò ¸n chóng ta thÊy r»ng néi dung cña ®Ò ¸n gåm cã hai phÇn c¬ b¶n:
1. T×m hiÓu khai th¸c SQL Server.
2. Gi¶i quyÕt bµi to¸n qu¶n lý d©n c− trªn SQL Server.
¾ Lý do chän Microsoft SQL Server:
• XuÊt ph¸t tõ ®Æc ®iÓm bµi to¸n kÝch th−íc lín, ph©n t¸n, ®a ng−êi
sö dông.
• MS SQL Server lµ hÖ qu¶n trÞ c¬ së d÷ liÖu hç trî tèt víi l−îng d÷
liÖu lín, cho phÐp ng−êi sö dông theo m« h×nh Client/Server.
• MS SQL Server tiÖn dông trong viÖc ph©n t¸n tra cøu d÷ liÖu
nhanh.
• MS SQL Server hç trî m¹nh víi d÷ liÖu ph©n t¸n.
¾ MS SQL Server ch¹y trªn m«i tr−êng Win NT (Server) vµ Win 9.X,
Win 2000 (Client), …
¾ SQL Server lµ mét trong nh÷ng hÖ phÇn mÒm tiÖn lîi vµ hiÖu qu¶ trong
viÖc ph¸t triÓn c¸c øng dông c¬ së d÷ liÖu lín, ph©n t¸n thÝch hîp cho c¬
quan, tæ chøc, ®Þa ph−¬ng, …
¾ MS SQL Server hç trî tèt trong qu¶n lý xö lý ®ång nhÊt, b¶o mËt d÷
liªu theo m« h×nh Client/Server trªn m¹ng.
¾ Víi m¸y chñ cã MS SQL Server cã thÓ qu¶n trÞ nhiÒu Server víi tªn
kh¸c nhau (c¸c Server lµ hÖ qu¶n trÞ c¸c c¬ së d÷ liÖu riªng cña m×nh), vµ
nhãm c¸c Server (Server group).
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 2 –
¾ Trªn mçi Server th«ng th−êng cã nhiÒu c¬ së d÷ liÖu (Databases). Mçi
c¬ së d÷ liÖu chøa mét sè ®èi t−îng c¬ së d÷ liÖu lµ c¸c b¶ng, c¸c khung
nh×n (view), hay c¸c thñ tôc truy vÊn (query). Mçi c¬ së d÷ liÖu sÏ chøa
danh s¸ch nh÷ng ng−êi sö dông c¬ së d÷ liÖu ®ã, hä ®−îc trao mét sè
quyÒn nhÊt ®Þnh ®Ó truy nhËp ®Õn tõng ®èi t−îng. Ng−êi sö dông cã
quyÒn cao nhÊt víi mét c¬ së d÷ liÖu chÝnh lµ ng−êi t¹o ra c¬ së d÷ liÖu
®ã (Owner).
¾ Chñ nh©n c¬ së d÷ liÖu (Database Owner) lµ ng−êi sö dông t¹o nªn c¬
së d÷ liÖu, mçi c¬ së d÷ liÖu cã mét chñ nh©n, chñ nh©n c¬ së d÷ liÖu cã
®Çy ®ñ ®Æc quyÒn bªn trong c¬ së d÷ liÖu vµ x¸c ®Þnh cung cÊp kh¶ n¨ng
truy cËp tíi ng−êi kh¸c. Trong c¬ së d÷ liÖu cña m×nh ng−êi sö dông ®−îc
giíi thiÖu nh− lµ DBO trong c¬ së d÷ liÖu kh¸c, Chñ nh©n c¬ së d÷ liÖu lµ
®−îc biÕt ®Õn bëi tªn sö dông c¬ së d÷ liÖu cña hä.
¾ Chñ nh©n cña c¸c ®èi t−îng c¬ së d÷ liÖu (Database Object Owner) lµ
ng−êi sö dông t¹o ra c¬ së d÷ liÖu (c¸c b¶ng, c¸c chØ sè, c¸c khung nh×n,
mÆc ®Þnh, c¸c trigger, c¸c quy t¾c, vµ c¸c thñ tôc ). Mçi c¬ së d÷ liÖu cã
duy nhÊt mét ng−êi t¹o ra. Chñ nh©n cña c¸c ®èi t−îng c¬ së d÷ liÖu lµ tù
®éng g¸n quyÒn cho phÐp toµn bé trªn ®èi t−îng c¬ së d÷ liÖu. Chñ nh©n
cña ®èi t−îng c¬ së d÷ liÖu cã thÓ trao quyÒn cho phÐp tíi ng−êi sö dông
kh¸c, tíi ®èi t−îng sö dông.
¾ SQL Server l−u tr÷ c¬ së d÷ liÖu trªn c¸c thiÕt bÞ kh¸c nhau, mçi thiÕt
bÞ cã thÓ n»m trªn ®Üa cøng, mÒm, b¨ng tõ, cã thÓ n»m trªn nhiÒu ®Üa.
¾ C¬ së d÷ liÖu cã thÓ ®−îc l−u tr÷ trªn mét hay nhiÒu thiÕt bÞ. Còng cã
thÓ më réng kÝch th−íc thiÕt bÞ vµ thiÕt bÞ l−u tr÷ mét c¬ së d÷ liÖu.
¾ SQL Server cho phÐp qu¶n trÞ víi tÖp d÷ liÖu lín tíi 32 TB (Tetabyte).
¾ SQL Server ®· kÕ thõa cïng Windows NT t¹o nªn mét hÖ thèng b¶o
mËt tèt qu¶n trÞ user, Server, vµ nh÷ng tiÖn Ých cña Windows NT.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 3 –
Ch−¬ng I CÊu tróc MS SQL Server
I. Nhãm Server vµ Server
I.1 T¹o nhãm Server
¾ B¹n cã thÓ t¹o nhãm Server víi SQL Server Enterprise Manager vµ ®Æt
Server cña b¹n trong nhãm Server. Nhãm Server cung cÊp h−íng thÝch
hîp ®Ó tæ chøc sè l−îng lín Server vµo trong mét nhãm.
¾ C¸c b−íc t¹o mét nhãm Server míi (Enterprise manager)
1. Trªn menu Tools, chän Register SQL Server.
2. Trong hép tho¹i Register SQL Server Properties, trong hép Server,
h·y nhÊp browse(…) ®Ó truy cËp vµo mét danh s¸ch c¸c Server trªn
m¹ng.
3. Trong hép Server Group, nhÊp browse(…).
4. Trong hép name, nhËp vµo tªn mét nhãm Server.
5. Trong hép level, h·y nhÊp:
• Top level group ®Ó t¹o mét nhãm Server míi ë møc cao nhÊt.
• Sub-group of, råi nhÊp mét nhãm Server ®Ó lËp danh s¸ch nhãm
Server míi trong mét nhãm Server ®ang cã.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 4 –
I.2 C¸ch ®¨ng ký mét Server
1. Trªn menu Tools, chän Register SQL Server.
2. Trong hép tho¹i Register SQL Server Properties, trong hép Server,
h·y nhËp tªn cña SQL Server ®Ó ®¨ng ký, hoÆc nhÊp browse(…) ®Ó
truy cËp vµo mét danh s¸ch c¸c Server trªn m¹ng.
3. Trong hép Connect, h·y nhÊp:
y Use SQL Server Authentication ®Ó nçi vµo SQL Server víi
Microsoft Windows NT login ID password cña b¹n.
y Use Windows NT Server Authentication, råi nhÊp mét tªn login
vµ mét password mµ Server cã thÓ nhËn biÕt. ®Ó bæ xung mét
líp cña møc an toµn h·y chän Always promt for login name
password.
4. Trong danh s¸ch Server Group, h·y nhÊp tªn cña SQL Server mµ ë
®ã b¹n muèn ®−a vµo Server ®· ®−îc ®¨ng ký, hoÆc nhÊp
browse(…) ®Ó t¹o mét nhãm Server míi.
II. C¸c thiÕt bÞ vµ c¬ së d÷ liÖu hÖ thèng
¾ C¬ së d÷ liÖu lµ tËp hîp d÷ liÖu, b¶ng d÷ liÖu vµ c¸c ®èi t−îng c¬ së d÷
liÖu kh¸c cã trËt tù vµ ®−îc giíi thiÖu ®Ó ®¸p øng mét môc ®Ých râ rµng,
nh− lµ ®iÒu kiÖn thuËn lîi cña viÖc t×m kiÕm x¾p xÕp vµ tæ chøc l¹i d÷
liÖu. C¬ së d÷ liÖu ®−îc l−u tr÷ trªn c¸c thiÕt bÞ.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 5 –
¾ ThiÕt bÞ (Device) lµ file hÖ ®iÒu hµnh trong c¬ së d÷ liÖu ®−îc l−u tr÷.
Mét c¬ së d÷ liÖu cã thÓ l−u tr÷ trªn mét vµi thiÕt bÞ. SQL Server cã hai
lo¹i thiÕt bÞ: ThiÕt bÞ c¬ së d÷ liÖu nã l−u tr÷ c¬ së d÷ liÖu vµ thiÕt bÞ sao
l−u, l−u tr÷ kh«i phôc c¬ së d÷ liÖu.
¾ Khi SQL Server ®−îc cµi ®Æt ch−¬ng tr×nh cµi ®Æt t¹o ra MASTER,
MSDBDATA, vµ thiÕt bÞ c¬ së d÷ liÖu MSDBLOG. Nã còng t¹o ra c¬ së
d÷ liÖu Master, Model, Tempdb, Pubs vµ ®Æt chóng trªn thiÕt bÞ c¬ së d÷
liÖu MASTER, h¬n n÷a nã còng t¹o ra c¬ së d÷ liÖu Msdb vµ l−u tr÷ trªn
thiÕt bÞ c¬ së d÷ liÖu MSDBDATA vµ n¬i thùc hiÖn Msdb log on thiÕt bÞ
MSDBLOG.
II.1 C¬ së d÷ liÖu chÝnh (Master database)
¾ Khi SQL Server ®−îc cµi ®Æt, ch−¬ng tr×nh cµi ®Æt t¹o ra thiÕt bÞ c¬ së
d÷ liÖu MASTER råi t¹o ra c¬ së d÷ liÖu chÝnh vµ ®Æt nã trªn thiÕt bÞ (
device ). Ng−êi ®iÒu khiÓn sö dông c¬ së d÷ liÖu chÝnh vµ thao t¸c toµn bé
SQL Server. Nã kiÓm tra vµ gi÷ l¹i sù tÝnh to¸n cña ng−êi sö dông, ng−êi
sö dông tõ xa. Server phôc vô tõ xa cã thÓ t−¬ng t¸c víi tiÕn tr×nh ®ang
diÔn ra, cã kh¶ n¨ng ®Þnh cÊu h×nh biÕn m«i tr−êng, hÖ thèng th«ng b¸o
lçi c¬ së d÷ liÖu trªn SQL Server, ph©n ph¸t kh«ng gian l−u tr÷ cho mçi
c¬ së d÷ liÖu, b¨ng vµ ®Üa s½n cã trªn hÖ thèng vµ c¸c kho¸ hiÖn hµnh.
¾ SQL Server còng cã thÓ thªm ®èi t−îng ng−êi sö dông tíi c¬ së d÷ liÖu
chÝnh nh−ng nã kh«ng ®−îc t¹o ra ®èi t−îng trong c¬ së d÷ liÖu chÝnh
dïng cho toµn bé hÖ thèng qu¶n trÞ. SQL Server thiÕt lËp vµ cho phÐp
trong toµn bé c¬ së d÷ liÖu chÝnh mµ phÇn lín ng−êi sö dông kh«ng thÓ
t¹o ra ®èi t−îng. B¹n cã thÓ ng¨n c¶n ng−êi sö dông tõ ®èi t−îng t¹o ra
trong c¬ së d÷ liÖu chÝnh b»ng c¸ch thay ®æi ngÇm ®Þnh cña ng−êi sö
dông c¬ së d÷ liÖu. Tuy nhiªn ng−êi qu¶n trÞ hÖ thèng ngÇm ®Þnh c¬ së d÷
liÖu nªn gi÷ nguyªn c¬ së d÷ liÖu chÝnh.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 6 –
II.2 M« h×nh c¬ së d÷ liÖu (Model Database)
M« h×nh c¬ së d÷ liÖu chøa ®ùng b¶ng hÖ thèng, yªu cÇu cho mçi ng−êi
sö dông c¬ së d÷ liÖu. Nã còng cã thÓ ®−îc söa ®æi theo h−íng tuú biÕn
cÊu tróc míi t¹o ra c¬ së d÷ liÖu còng nh− mäi thay ®æi b¹n t¹o ra m«
h×nh ®−îc ph¶n ¸nh trong mçi c¬ së d÷ liÖu míi. Cã mét vµi thay ®æi
chung t¹o ra m« h×nh:
• Thªm vµo lo¹i d÷ liÖu ng−êi sö dông, c¸c rµng buéc, c¸c quy t¾c
hoÆc ngÇm ®Þnh.
• Thªm vµo ng−êi sö dông nµo lµ ®−îc truy cËp toµn bé c¬ së d÷ liÖu
trªn SQL Server.
• Lùa chän cÊu h×nh c¬ së d÷ liÖu ( nh− lµ select into/bulkcopy), thiÕt
lËp trong m« h×nh c¬ së d÷ liÖu.
II.3 C¬ së d÷ liÖu Msdb (Msdb Database)
C¬ së d÷ liÖu Msdb hç trî thùc hiÖn SQL vµ cung cÊp vïng l−u tr÷ c¸c
th«ng tin lËp biÓu trong thêi gian cµi ®Æt phÇn mÒn Server. Ch−¬ng tr×nh
cµi ®Æt tù ®éng t¹o ra hai device ( 2MB & 1MB ) trªn æ ®Üa t−¬ng tù nh−
lµ c¬ së d÷ liÖu chÝnh råi ®Æt c¬ së d÷ liÖu Msdb trªn 2MB device (
MSDBDATA ) vµ thùc hiÖn nhËp vµo device 1MB ( MSDBLOG ).
II.4 C¬ së d÷ liÖu Tempdb (Tempdb Database)
C¬ së d÷ liÖu Tempdb lµ chia sÎ kh«ng gian lµm viÖc sö dông bëi c¬ së
d÷ liÖu trªn SQL Server. C¸c b¶ng t¹m thêi cña ng−êi sö dông lµ mÊt ®i tõ
Tempdb khi ng−êi sö dông hiÖn hµnh tho¸t khái SQL Server hoÆc trong
thêi gian truy l¹i tõ sù dõng l¹i cña hÖ thèng. Thñ tôc l−u tr÷ c¸c b¶ng
t¹m thêi lµ mÊt ®i khi thñ tôc tho¸t ra. B¶ng t¹m thêi còng cã thÓ mÊt ®i
tr−íc khi kÕt thóc phiªn. KÝch th−íc ngÇm ®Þnh cña Tempdb lµ 2MB.
Ho¹t ®éng nµo ®ã theo sau cã thÓ cÇn thiÕt t¹o nªn ®Ó t¨ng kÝch th−íc cña
Tempdb:
y B¶ng t¹m thêi lín.
y Ho¹t ®éng cã ý nghÜa trªn b¶ng t¹m thêi.
y S¾p xÕp hoÆc nhiÒu s¾p xÕp lín s¶y ra trong b¶ng cïng mét lóc.
y Truy vÊn con vµ tËp hîp l¹i víi GROUP BY.
y Sè l−îng lín cña Open cursor.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 7 –
II.5 C¬ së d÷ liÖu Pubs (Pubs Database)
C¬ së d÷ liÖu Pubs lµ c¬ së d÷ liÖu lÊy mÉu cung cÊp nh− lµ c«ng cô
nghiªn cøu. C¬ së d÷ liÖu pubs lµ c¬ së cña phÇn lín c¸c vÝ dô trong t−
liÖu cña Microsoft SQL Server. C¬ së d÷ liÖu mÉu ®−îc miªu t¶ trong
Microsoft SQL Server Transact-SQL Referrence. NÕu c¬ së d÷ liÖu Pubs
kh«ng yªu cÇu cho môc ®Ých nghiªn cøu, b¹n cã thÓ kh«ng cÇn nã.
II.6 C¸c b¶ng hÖ thèng (System Tables)
¾ B¶ng lµ mét tËp hîp c¸c hµng (Record) mµ cã liªn quan ®Õn c¸c cét (
Fields). C¬ së d÷ liÖu chÝnh vµ ng−êi sö dông c¬ së d÷ liÖu gåm cã c¸c
b¶ng hÖ thèng th«ng tin vÒ toµn bé SQL Server vµ mçi ng−êi sö dông c¬
së d÷ liÖu.
¾ Toµn bé SQL Server cung cÊp b¶ng trong c¬ së d÷ liÖu chÝnh ®−îc xem
xÐt trong b¶ng hÖ thèng. Mçi ng−êi sö dông c¬ së d÷ liÖu t¹o ra b¶ng hÖ
thèng.
¾ C¬ së d÷ liÖu chÝnh vµ b¶ng hÖ thèng ®−îc t¹o ra khi cµi ®Æt SQL
Server. Trong b¶ng hÖ thèng ng−êi sö dông c¬ së d÷ liÖu tù ®éng t¹o ra
kho c¬ së d÷ liÖu. Tªn cña phÇn lín c¸c b¶ng hÖ thèng ®Òu b¾t ®Çu víi
SYS.
¾ Sù cho phÐp b¶ng hÖ thèng (Permission for System Table)
Sù cho phÐp lµ giÊy phÐp ®¶m b¶o cho ng−êi sö dông thùc hiÖn ho¹t ®éng
nµo ®ã trªn ®èi t−îng c¬ së d÷ liÖu nµo ®ã hoÆc sö dông c©u lÖnh nµo ®ã.
Cho phÐp sö dông b¶ng hÖ thèng lµ ®−îc ®iÒu khiÓn bëi c¬ së d÷ liÖu cña
chÝnh m×nh (owner). SQL Server cµi ®Æt ch−¬ng tr×nh thiÕt lËp cho phÐp
toµn bé ng−êi sö dông cã thÓ ®äc hÖ thèng b¶ng ngo¹i trõ mét vµi tr−êng.
¾ Truy vÊn b¶ng hÖ thèng (Querying the System Table)
B¶ng hÖ thèng cã thÓ yªu cÇu ®Õn c¸c b¶ng kh¸c, vÝ dô nh− c©u lÖnh sau
cho trë l¹i tªn toµn bé b¶ng hÖ thèng trong c¬ së d÷ liÖu.
SELECT
Name
FROM SysObject
WHERE Type = ‘S’
SQL Server cã thñ tôc l−u tr÷ hÖ thèng cung cÊp lèi t¾t cho truy vÊn hÖ
thèng b¶ng.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 8 –
II.7 Thñ tôc l−u tr÷ hÖ thèng (System Store Procedure)
¾ Thñ tôc l−u tr÷ hÖ thèng lµ tËp hîp tr−íc khi biªn dÞch c©u lÖnh
Transact-SQL. NhiÒu thñ tôc l−u tr÷ hÖ thèng cã s½n cho viÖc qu¶n trÞ
SQL Server vµ hiÓn thÞ th«ng tin vÒ c¬ së d÷ liÖu vµ ng−êi sö dông.
¾ PhÇn lín tªn thñ tôc l−u tr÷ hÖ thèng b¾t ®Çu víi SP_. Thñ tôc l−u tr÷
hÖ thèng x¸c ®Þnh vÞ trÝ trong c¬ së d÷ liÖu chÝnh vµ chÝnh bëi ng−êi qu¶n
trÞ hÖ thèng. Nh−ng nhiÒu thñ tôc l−u tr÷ hÖ thèng cã kh¶ n¨ng ch¹y tõ
bÊt kú c¬ së d÷ liÖu nµo. NÕu thñ tôc l−u tr÷ hÖ thèng thùc hiÖn trong c¬
së d÷ liÖu kh¸c víi c¬ së d÷ liÖu chÝnh th× nã ®ang lµm viÖc trªn hÖ thèng
b¶ng trong c¬ së d÷ liÖu tõ b¶ng hÖ thèng ®−îc thùc hiÖn.
¾ Thªm vµo thñ tôc l−u tr÷ hÖ thèng vµ thñ tôc l−u tr÷ më réng ®−îc cµi
®Æt víi SQL Server. Thñ tôc l−u tr÷ më réng cung cÊp thªm chøc n¨ng
cho SQL Server, cung cÊp b»ng c¸ch n¹p ®éng vµ thùc hiÖn chøc n¨ng víi
th− viÖn liªn kÕt ®éng (DLL=Data Library Link) g¾n liÒn víi chøc n¨ng
më réng SQL Server. Ho¹t ®éng bªn ngoµi SQL Server cã thÓ dÔ dµng
kÝch ho¹t vµ th«ng tin më réng trë l¹i SQL Server. M· tr¹ng th¸i trë l¹i &
tham sè ®Çu ra lµ còng ®−îc hç trî.
¾ SQL Server bao gåm hÖ thèng l−u tr÷ thñ tôc cã thÓ thªm vµo vµ xo¸ ®i
thñ tôc l−u tr÷ më réng, cung cÊp th«ng tin vÒ thñ tôc l−u tr÷ më réng.
¾ H¬n thÕ SQL Server cung cÊp sè l−îng thñ tôc l−u tr÷ hÖ thèng, thñ tôc
l−u tr÷ hÖ thèng kh¸c cã thÓ t¹o ra bëi ng−êi lËp tr×nh sö dông dÞch vô d÷
liÖu më cña Microsoft.
II.8 ThiÕt lËp kÝ tù vµ trËt tù s¾p xÕp (Character Sets & Sort Order)
¾ ThiÕt lËp kÝ tù x¸c ®Þnh lo¹i kÝ tù mµ SQL Server chÊp nhËn trong c¬ së
d÷ liÖu. ThiÕt lËp kÝ tù lµ thiÕt lËp 256 ch÷ c¸i, ch÷ sè vµ c¸c biÓu t−îng
®Æc tr−ng cho mét quèc gia hay mét ng«n ng÷. Cã thÓ in ra 128 kÝ tù ®Çu
tiªn gièng nh− ®¹i diÖn cho toµn bé thiÕt lËp kÝ tù. 128 kÝ tù sau ®«i khi
®−îc nh¾c ®Õn nh− lµ kÝ tù më réng. B¹n nªn sö dông thiÕt lËp kÝ tù cho
c¶ Client & Server hoÆc kÕt qu¶ cña b¹n cã thÓ thay ®æi. Tuy nhiªn nÕu c¬
së d÷ liÖu cña b¹n sö dông 128 kÝ tù ban ®Çu cña tËp hîp kÝ tù, nã kh«ng
t¹o nªn sù kh¸c biÖt nµo víi thiÕt lËp kÝ tù b¹n sö dông bëi v× 128 kÝ tù
®Çu tiªn ph¶i gièng nh− toµn bé tËp kÝ tù.
¾ TrËt tù s¾p xÕp thiÕt lËp c¸c quy t¾c x¸c ®Þnh SQL Server so s¸nh vµ
giíi thiÖu d÷ liÖu trong sù h−ëng øng tíi c¬ së d÷ liÖu truy vÊn nh− thÕ
nµo ?. TrËt tù s¾p xÕp x¸c ®Þnh trËt tù d÷ liÖu lµ giíi thiÖu tr¶ lêi c©u lÖnh
SQL Server gåm: GROUP BY, ORDER BY & DISTINT. TrËt tù s¾p xÕp
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 9 –
còng ®Þnh râ truy vÊn nµo ®ã lµ ®−îc gi¶i quyÕt nh− lµ truy vÊn: WHERE
& DISTINT.
¾ ThiÕt lËp kÝ tù vµ trËt tù s¾p xÕp cung cÊp cho toµn bé Server. B¹n
kh«ng thÓ cã c¬ së d÷ liÖu kh¸c nhau víi thiÕt lËp kÝ tù kh¸c nhau hoÆc
trËt tù s¾p xÕp trªn Server.
III. C¸c tiÖn Ých, dÞch vô cña SQL Server
III.1 Qu¶n lý c¸c c«ng cô vµ c¸c tiÖn Ých (Administrative Tools & Utility)
C«ng cô ®å ho¹
(Graphical Tools)
M« t¶
(Descrition)
SQL setup
Sö dông cÊu h×nh Server, b¹n cã thÓ sö dông
ch−¬ng tr×nh cµi ®Æt ®Ó thay ®æi c¸c tuú chän hç
trî m¹ng. Thªm vµo c¸c ng«n ng÷, x©y dùng l¹i c¬
së d÷ liÖu chÝnh, thay ®æi thiÕt lËp kÝ tù vµ trËt tù
s¾p xÕp, thiÕt lËp c¸c tuú chän an toµn vµ gì bá
SQL Server.
SQL Server
Manager
Sö dông c©u lÖnh Start, Pause, Continue & Stop
SQL Server vµ SQL Execute.
ISQL/w
Cho phÐp b¹n nhËp lÖnh Transact-SQL vµ thñ tôc
l−u tr÷ hÖ thèng trong giao diÖn truy vÊn ®å ho¹.
ISQL/w còng cung cÊp kh¶ n¨ng cho ph©n tÝch truy
vÊn ®å ho¹.
SQL Security
Manager
Cho phÐp qu¶n lý user account víi SQL Server mµ
sö dông an toµn thèng nhÊt víi Windows NT.
SQL Enterprise
Manager
Cung cÊp dÔ dµng, qu¶n lý xÝ nghiÖp réng tõ
Server hoÆc Workstation. Nã cho phÐp b¹n thùc
hiÖn nhiÖm vô qu¶n trÞ hÖ thèng sö dông giao diÖn
®å ho¹. B¹n cã thÓ ®Æt cÊu h×nh Server, qu¶n trÞ c¬
së d÷ liÖu vµ ®èi t−îng c¬ së d÷ liÖu, lËp thêi biÓu
cho c¸c biÕn cè (event), ®Þnh cÊu h×nh vµ qu¶n lý
sù t¸i t¹o vµ cã thÓ lµm ®−îc h¬n thÕ n÷a.
SQL Transact
Manager
Cung cÊp mét c¸ch dÔ dµng, ®å ho¹ theo c¸ch
truyÒn c¸c ®èi t−îng vµ d÷ liÖu tõ Server tíi n¬i
kh¸c.
SQL Performance
Monitor
TÝch hîp víi Windows NT thùc hiÖn ®iÒu khiÓn
víi SQL Server, …
SQL Server Book Cung cÊp trùc tuyÕn tíi Microsoft SQL Server,
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 10 –
Online
thiÕt lËp t− liÖu bao gåm søc m¹nh vµ kh¶ n¨ng t×m
kiÕm dÔ dµng ®èi víi ng−êi sö dông.
Microsoft ODBC
SQL Server driver
Lµ mét file trî gióp trùc tuyÕn cung cÊp th«ng tin
vÒ Microsoft ODBC SQL Server driver.
SQL Distribute
Manager Object
Lµ mét file trî gióp trùc tuyÕn hiÓn thÞ SQL
Distribute Manager Object.
SQL Client
Configuration
Utility
ThiÕt lËp mÆc ®Þnh Net-Library & Server nèi tíi
th«ng tin trªn Client. Nã còng cã thÓ hiÓn thÞ BD-
Library vµ kiÓm tra cho nhiÒu b¶n sao cña DB-
Library & Net-Library trong ®−êng dÉn cña b¹n.
III.2 SQL Server Book Online
Trong thêi gian cµi ®Æt Server software hoÆc Client software 32 bit hoÆc
16 bit m¸y tÝnh dùa vµo nÒn Windows. Ch−¬ng tr×nh cµi ®Æt ®−a ra cho
b¹n c¸c cµi ®Æt tù chän SQL Server Book Online. SQL Server Book
Online cung cÊp truy cËp trªn mµn h×nh tíi toµn bé thiÕt lËp t− liÖu SQL
Server. §¸ng chó ý vÒ søc m¹nh ®Æc biÖt lµ nã cã kh¶ n¨ng t×m kiÕm ®Çy
®ñ v¨n b¶n mµ cho phÐp t×m nhanh c¸c tõ hoÆc ®o¹n v¨n, b¹n còng cã thÓ
t×m kiÕm toµn bé v¨n b¶n hoÆc th«ng qua lùa chän s¸ch hoÆc c¸c chñ ®Ò.
III.3 DÞch vô cña SQL Server
¾ SQL Server Service Manager sö dông ®Ó b¾t ®Çu (start), t¹m dõng
(pause) vµ dõng (stop) c¸c thµnh phÇn Microsoft SQL Server trªn Server.
C¸c thµnh phÇn ch¹y nh− lµ dÞch vô trªn Microsoft Windows NT vµ cã
thÓ thùc hiÖn riªng biÖt trªn Microsoft Windows 95/98:
DÞch vô MSSQLServer.
DÞch vô SQLServerAgent.
DÞch vô MSDTC (Windows NT).
¾ Sö dông SQL Server Service Manager:
y C¸ch khëi ®éng SQL Server
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 11 –
1. Tõ nhãm ch−¬ng tr×nh Microsoft SQL Server chän SQL Server
Service Manager.
2. Trong hép Service chän MSSQLServer hoÆc MSServerAgent.
3. KÝch vµo nót lÖnh Start.
y C¸ch ng−ng SQL Server
1. Tõ nhãm ch−¬ng tr×nh Microsoft SQL Server chän SQL Service
Manager.
2. Tõ hép Service chän MSSQL Server hoÆc MSServerAgent.
3. NÕu b¹n t¹m dõng SQL Server, kÝch vµo nót Pause ®Ó dõng dÞch vô.
4. KÝch vµo nót Stop ®Ó ngõng ho¹t ®éng.
• HoÆc cã thÓ dïng SQL Server Enterprise Manager.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 12 –
Ch−¬ng II c¸c ®èi t−îng c¬ së d÷ liÖu
I. §èi t−îng c¬ së d÷ liÖu (SLQ-DMO)
¾ §èi t−îng c¬ së d÷ liÖu giíi thiÖu thuéc tÝnh ®¬n cña Microsoft SQL
Server.
¾ Lý do tr×nh bµy c¬ së d÷ liÖu SQL Server, ®èi t−îng c¬ së d÷ liÖu lµ
thµnh phÇn chÝnh cña ®èi t−îng c©y SLQ-DMO. §èi t−îng c¬ së d÷ liÖu
chøa ®ùng tËp hîp x¸c ®Þnh c¸c b¶ng, c¸c thñ tôc l−u tr÷, lo¹i d÷ liÖu, vµ
ng−êi sö dông c¬ së d÷ liÖu. Ph−¬ng thøc cña ®èi t−îng c¬ së d÷ liÖu cho
phÐp b¹n thùc hiÖn tr×nh diÔn b¶n chÊt chøc n¨ng duy tr× c¬ së d÷ liÖu,
nh− lµ kh«i phôc.
¾ Víi ®èi t−îng c¬ së d÷ liÖu, b¹n cã thÓ:
1. T¹o c¬ së d÷ liÖu SQL Server.
2. Thªm c¬ së d÷ liÖu roles, rules, stored procedures, tables, user-
defined data types, user, vµ view cho c¬ së d÷ liÖu hiÖn t¹i SQL
Server.
3. Gì bá hoÆc xo¸ bá ®èi t−îng c¬ së d÷ liÖu (tables, views, …) tõ c¬
së d÷ liÖu hiÖn t¹i SQL Server.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 13 –
4. Thay ®æi ®Üa nguån sö dông bëi c¬ së d÷ liÖu l−u tr÷.
5. Kh«i phôc hoÆc l−u tr÷ c¬ së d÷ liÖu hiÖn hµnh.
6. §iÒu khiÓn b¶o mËt c¬ së d÷ liÖu SQL Server bëi thªm users vµ g¸n
quyÒn, tõ chèi hoÆc t−íc quyÒn truy cËp tíi c¬ së d÷ liÖu.
7. KiÓm tra tÝnh toµn vÑn c¬ së d÷ liÖu.
8. KiÓm tra h−íng sö dông trong c¬ së d÷ liÖu, riªng biÖt, kiÓm tra
tr¹ng th¸i cña kho¸ cung cÊp dùa vµo c¬ së d÷ liÖu nguån.
¾ T¹o c¬ së d÷ liÖu SQL Server
1. T¹o ®èi t−îng Database.
2. ThiÕt lËp thuéc tÝnh Name cña ®èi t−îng Database.
3. T¹o ra ®èi t−îng DBFile.
4. ThiÕt lËp thuéc tÝnh Name cña ®èi t−îng DBFile.
5. ThiÕt lËp thuéc tÝnh PhysicalName cña ®èi t−îng DBFile.
6. ThiÕt lËp thuéc tÝnh ®èi t−îng DBFile tuú chän cho c¬ së d÷
liÖu míi nh− kÝch th−íc.
7. Thªm vµo ®èi t−îng DBFile cho ®èi t−îng Database míi, tªn ®èi
t−îng FileGroup c¬ b¶n.
8. Thªm vµo ®èi t−îng Database cho tËp hîp Database cña kÕt nèi ®èi
t−îng SQL Server.
¾ ChØ ®Þnh file ghi
1. T¹o ®èi t−îng LogFile.
2. ThiÕt lËp thuéc tÝnh Name.
3. ThiÕt lËp thuéc tÝnh PhysicalName.
4. ThiÕt lËp thuéc tÝnh LogFile Size.
5. Thªm vµo ®èi t−îng LogFile cho tËp hîp LogFile cña ®èi t−îng
Transation, ®èi t−îng Database míi.
¾ T¹o gi¶n ®å c¬ së d÷ liÖu
Gi¶n ®å c¬ së d÷ liÖu nªn hç trî yªu cÇu giao dÞch lµ v× c¸c yªu cÇu
query-driven ®Æc tr−ng cña mét thiÕt kÕ c¬ së d÷ liÖu OLTP. VÝ dô nh−
®−a ra gi¶n ®å c¬ së d÷ liÖu tõ hµng ®−a vµo hÖ thèng:
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 14 –
y X¸c ®Þnh sù kiÖn vµ kÝch th−íc b¶ng.
y ThiÕt kÕ c¸c b¶ng thùc.
y ThiÕt kÕ kÝch th−íc b¶ng.
I.1 TËp hîp DatabaseRoles
¾ TËp hîp DatabaseRoles chøa ®èi t−îng DatabaseRole ®−a ra vai trß
®Æc quyÒn b¶o mËt c¬ së d÷ liÖu trong SQL Server.
¾ C¬ së d÷ liÖu Roles trong SQL Server cã thÓ chøa mét hoÆc nhiÒu
thµnh viªn (database user). Mét thuéc tÝnh x¸c ®Þnh ng−êi sö dông cã thÓ
t¹o ra Databaseroles, thªm vµo hoÆc gì bá chóng tõ Databaseroles, g¸n
quyÒn hoÆc phñ nhËn c¬ së d÷ liÖu ®Æc quyÒn tíi roles cho ®Æc quyÒn
qu¶n lý mét hoÆc nhiÒu trËt tù logic ng−êi sö dông.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 15 –
Víi tËp hîp DatabaseRoles, b¹n cã thÓ:
• T¹o ra c¬ së d÷ liÖu roles SQL Server.
• Gì bá c¬ së d÷ liÖu roles SQL Server.
I.2 TËp hîp c¸c mÆc ®Þnh (Defaults)
¾ TËp hîp Defaults chøa ®èi t−îng Default tham chiÕu tíi c¸c mÆc ®Þnh
SQL Server.
Víi tËp hîp c¸c Defaults, b¹n cã thÓ:
T¹o ra c¸c Defaults.
Gì bá c¸c Defaults.
¾ Qu¸ tr×nh gäi liªn kÕt cho phÐp mét mÆc ®Þnh SQL Server. MÆc ®Þnh cã
thÓ giíi h¹n mét hoÆc nhiÒu cét hoÆc lo¹i d÷ liÖu ng−êi sö dông x¸c ®Þnh.
Mét giíi h¹n mÆc ®Þnh kh«ng thÓ gì bá.
¾ C¸c mÆc ®Þnh (defaults)
• Trong SQL Server mçi cét trong b¶n ghi ph¶i chøa ®ùng mét vµi gi¸
trÞ thËm chÝ nÕu gi¸ trÞ ®ã lµ NULL. B¹n x¸c ®Þnh cét nµo cã thÓ chÊp
nhËn gi¸ trÞ NULL bëi kiÓu d÷ liÖu, mÆc ®Þnh, hoÆc c¸c rµng buéc.
• MÆc ®Þnh chØ ®Þnh gi¸ trÞ mµ SQL Server sÏ chÌn vµo khi ng−êi sö
dông kh«ng ®−a vµo gi¸ trÞ (trong c¶ hai cét NULL hoÆc NOT NULL)
• Mét c¸ch dÔ dµng nhÊt ®Ó chØ ®Þnh c¸c mÆc ®Þnh lµ x¸c ®Þnh rµng buéc
DEFAULT khi b¹n tao nªn b¶ng.
• B¹n còng cã thÓ t¹o ra gi¸ trÞ mÆc ®Þnh vµ rµng buéc chóng vµo cét ®Ó
ng−êi sö dông x¸c ®Þnh lo¹i d÷ liÖu.
I.3 TËp hîp FileGroup
¾ TËp hîp FileGroups chøa ®ùng ®èi t−îng FileGroup tham chiÕu
FileGroups cña c¬ së d÷ liÖu Microsoft SQL Server.
FileGroups Collection (SQL-DMO)
Víi tËp hîp c¸c FileGroups, b¹n cã thÓ:
T¹o mét SQL Server FileGroups míi.
Huû bá SQL Server FileGroups.
¾ SQL Server FileGroups cã thÓ ®−îc sö dông kÕt hîp víi file hÖ ®iÒu
hµnh sö dông ®Ó duy tr× c¬ së d÷ liÖu. FileGroups cã thÓ ®¬n gi¶n nhiÖm
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 16 –
vô qu¶n trÞ nh− lµ thao t¸c l−u tr÷ vµ kh«i phôc. Theo mÆc ®Þnh, c¬ së d÷
liÖu SQL Server ®−îc t¹o ra trªn ®óng mét FileGroups gäi lµ PRIMARY.
¾ Khi sö dông Item hoÆc Remove, tËp hîp FileGroups hç trî x¸c minh
thµnh viªn sö dông mét tªn hoÆc thø tù tham chiÕu có ph¸p.
I.4 TËp hîp FullTextCatalogs
¾ TËp hîp FullTextCatalogs chøa ®èi t−îng tham chiÕu
FullTextCatalogs. Microsoft SQL Server t×m kiÕm liªn tôc d÷ liÖu trong
FullTextCatalogs.
Víi tËp hîp FullTextCatalogs, b¹n cã thÓ:
T¹o mét danh môc chØ sè míi cho Microsoft SQL
Server.
Xo¸ bá mét danh môc chØ sè cña Microsoft SQL
Server.
I.5 TËp hîp c¸c quy t¾c (Rules Collection)
¾ TËp hîp Rules chøa c¸c ®èi t−îng Rule tham chiÕu Microsoft SQL
Server, thùc thi rµng buéc tÝnh toµn vÑn d÷ liÖu nh− lµ c¸c ®èi t−îng c¬ së
d÷ liÖu gäi lµ c¸c quy t¾c.
Víi c¸c tËp quy t¾c, b¹n cã thÓ:
T¹o thùc thi rµng buéc tÝnh toµn vÑn SQL Server nh−
lµ c¸c quy t¾c.
Xo¸ bá mét quy t¾c x¸c ®Þnh tõ SQL Server.
¾ C¸c quy t¾c lµ c¸c ®èi t−îng c¬ së d÷ liÖu mµ nã cã thÓ x¸c ®Þnh c¸c
gi¸ trÞ cã thÓ ®−îc chÌn vµo mét cét riªng biÖt.
Chó ý r»ng sö dông c¸c rµng buéc lµ ®Ò cËp c¸ch giíi h¹n c¸c cét d÷ liÖu
bëi v× nhiÒu rµng buéc cã thÓ x¸c ®Þnh trªn mét cét hoÆc nhiÒu cét.
VÝ dô nh− trong mét b¶ng víi cét gäi lµ phone_number, b¹n cã thÓ x¸c
®Þnh quy t¾c mµ x¸c ®Þnh cét chÊp nhËn duy nhÊt 10 con sè ®−a vµo.
I.6 TËp hîp c¸c thñ tôc l−u tr÷ (StoredProcedures Collection)
¾ TËp hîp StoredProcedures chøa ®èi t−îng StoredProcedure tham chiÕu
hÖ thèng vµ ng−êi sö dông x¸c ®Þnh thñ tôc l−u tr÷ cña c¬ së d÷ liÖu
Microsoft SQL Server.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 17 –
Víi c¸c StoredProcedure, b¹n cã thÓ:
T¹o thñ tôc l−u tr÷.
Huû thñ tôc l−u tr÷.
¾ Sö dông thñ tôc l−u tr÷ (using stored procedures)
Thñ tôc l−u tr÷ cã kh¶ n¨ng më réng, hiÖu qu¶ vµ cã tÝnh mÒm dÎo cña
SQL Server, vµ ®ét ngét c¶i tiÕn thùc hiÖn c©u lÖnh SQL vµ file bat.
Thñ tôc l−u tr÷ cã thÓ:
y NhËn tham sè.
y Gäi c¸c thñ tôc kh¸c.
y Trë l¹i gi¸ trÞ tr¹ng th¸i ®Ó gäi thñ tôc hoÆc file bat tíi chØ ®Þnh
thµnh c«ng hoÆc thÊt b¹i.
y Trë l¹i gi¸ trÞ cña tham sè gäi thñ tôc hoÆc file bat.
Thñ tôc l−u tr÷ cã thÓ dïng kü thuËt b¶o mËt, bëi v× ng−êi sö dông cã thÓ
®−îc g¸n quyÒn ®Ó thùc hiÖn thñ tôc l−u tr÷ thËm chÝ hä kh«ng thÓ thùc
hiÖn trªn b¶ng hoÆc khung nh×n tham chiÕu tíi nã.
¾ T¹o ra thñ tôc l−u tr÷
B¹n cã thÓ t¹o ra thñ tôc l−u tr÷ sö dông c©u lÖnh CREATE
PROCEDURE Transact-SQL. Tr−íc khi t¹o thñ tôc l−u tr÷, cÇn l−u ý
®Õn:
y C©u lÖnh CREATE PROCEDURE kh«ng thÓ kÕt hîp víi c©u lÖnh
Transact-SQL kh¸c trong file bat ®¬n.
y Cho phÐp thùc hiÖn t¹o c©u lÖnh CREATE PROCEDURE mÆc ®Þnh
tíi c¬ së d÷ liÖu cña ng−êi t¹o ra nã vµ cã thÓ chuyÓn giao nã tíi
ng−êi sö dông kh¸c.
y Thñ tôc l−u tr÷ lµ c¬ së d÷ liÖu ®èi t−îng vµ mçi tªn ph¶i tu©n theo
quy t¾c chØ ®Þnh.
y B¹n cã thÓ t¹o ra thñ tôc l−u tr÷ duy nhÊt trong c¬ së d÷ liÖu hiÖn
hµnh.
¾ Khi b¹n t¹o ra thñ tôc l−u tr÷, b¹n nªn chØ ®Þnh:
y BÊt kú tham sè ®Çu vµo vµ tham sè ®Çu ra theo h−íng gäi thñ tôc
hoÆc tÖp bat.
y C¸c c©u lÖnh ch−¬ng tr×nh thùc hiÖn thao t¸c trong c¬ së d÷ liÖu,
bao gåm h−íng tíi thñ tôc kh¸c.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 18 –
y Tr¹ng th¸i gi¸ trÞ trë l¹i theo h−íng thñ tôc hoÆc tÖp bat cho biÕt
thµnh c«ng hoÆc thÊt b¹i.
¾ T¹o ra thñ tôc l−u tr÷:
y Tõ menu trong SQL Server Enterprise Manager, chän c¬ së d÷ liÖu
muèn t¹o thñ tôc l−u tr÷, råi kÝch chuét ph¶i vµo Stored procedure
chän New stored procedure…
y Sö dông c©u lÖnh CREATE PROCEDURE.
¾ Quy t¾c ch−¬ng tr×nh thñ tôc l−u tr÷ gåm cã:
y X¸c ®Þnh c©u lÖnh CREATE PROCEDURE cã thÓ gåm bÊt kú sè
vµ kiÓu c©u lÖnh SQL lo¹i trõ c©u lÖnh CREATE, mµ kh«ng thÓ sö
dông bÊt cø chç nµo trong thñ tôc l−u tr÷:
CREATE DEFAULT
CREATE TRIGGER
CREATE PROCEDURE
CREATE VIEW
CREATE RULE
y C¸c ®èi t−îng c¬ së d÷ liÖu kh¸c cã thÓ t¹o trong thñ tôc l−u tr÷.
B¹n cã thÓ tham chiÕu ®èi t−îng t¹o ra trong mét thñ tôc l−u tr÷
chØ cÇn ®−îc t¹o ra tr−íc khi nã ®−îc tham chiÕu.
y B¹n cã thÓ tham chiÕu c¸c b¶ng t¹m trong thñ tôc l−u tr÷.
y Sè l−îng lín nhÊt cña tham sè trong thñ tôc lµ 1024.
y Sè l−îng lín nhÊt cña biÕn côc bé trong thñ tôc l−u tr÷ lµ giíi h¹n
bëi bé nhí cã s½n.
y Tuú thuéc vµo bé nhí, kÝch th−íc cùc ®¹i cña thñ tôc l−u tr÷ lµ 128
MB.
¾ X¸c ®Þnh tªn bªn trong thñ tôc l−u tr÷
• Bªn trong thñ tôc l−u tr÷, tªn ®èi t−îng sö dông víi c¸c c©u lÖnh (vÝ
dô nh− SELECT hoÆc INSERT) mµ kh«ng x¸c ®Þnh ng−êi sö dông
mÆc ®Þnh cho thñ tôc l−u tr÷ cña chÝnh m×nh. NÕu ng−êi sö dông
mµ t¹o ra thñ tôc l−u tr÷ kh«ng x¸c ®Þnh tªn cña b¶ng tham chiÕu
trong c©u lÖnh SELECT, INSERT, UPDATE, hoÆc DELETE trong
thñ tôc l−u tr÷, truy cËp b¶ng nµy th«ng qua thñ tôc l−u tr÷ lµ giíi
h¹n bëi mÆc ®Þnh ®Ó t¹o ra thñ tôc.
• Tªn ®èi t−îng sö dông víi c©u lÖnh ALTER TABLE, CREATE
TABLE, DROP TABLE, TRUNCATE TABLE, CREATE INDEX,
DROP INDEX, UPDATE STATISTICS, vµ DBCC ph¶i ®ñ kh¶
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 19 –
n¨ng cïng víi sù hiÖn diÖn tªn cña chÝnh ®èi t−îng nÕu ng−êi sö
dông kh¸c lµ sö dông thñ tôc l−u tr÷.
¾ §æi tªn thñ tôc l−u tr÷
1. Më réng mét sever group, råi më réng server.
2. Më réng Database, më réng c¬ së d÷ liÖu mµ thñ tôc thuéc vÒ nã
råi kÝch Stores procedure.
3. Trong detail pane, kÝch ph¶i stored procedure, chän rename.
4. Gâ tªn míi cña thñ tôc.
Thùc hiÖn thñ tôc l−u tr÷ hÖ thèng ps_rename.
¾ Xo¸ mét thñ tôc l−u tr÷.
1. Më réng mét sever group, råi më réng server.
2. Më réng Database, më réng c¬ së d÷ liÖu mµ thñ tôc thuéc vÒ nã
råi kÝch Stores procedure.
3. Trong detail pane, kÝch ph¶i stored procedure, chän delete.
4. §Ó xem c¸ch xo¸ bá thñ tôc l−u tr÷ sÏ ¶nh h−ëng nh− thÕ nµo tíi
c¬ së d÷ liÖu, nhÊp show dependencies.
5. NhÊp Drop all.
Sö dông c©u lÖnh DROP PROCEDURE.
I.7 TËp hîp kiÓu d÷ liÖu hÖ thèng (SystemDatatypes Collection)
¾ TËp hîp SystemDatatypes chøa ®èi t−îng SystemDatatype liÖt kª kiÓu
d÷ liÖu c¬ b¶n cña cµi ®Æt Microsoft SQL Server.
¾ SQL Server x¸c ®Þnh sè l−îng cè ®Þnh kiÓu d÷ liÖu c¬ b¶n. Bëi v× sè
l−îng lµ cè ®Þnh, tËp hîp SystemDatatypes, miªu t¶ kiÓu d÷ liÖu nµy, cè
®Þnh c¸c thµnh viªn vµ kh«ng hç trî ph−¬ng thøc Add hoÆc Remove.
I.8 TËp hîp c¸c b¶ng (Tables Collection)
¾ T©p hîp c¸c b¶ng chøa ®èi t−îng b¶ng tham chiÕu hÖ thèng vµ x¸c
®Þnh c¸c b¶ng cña ng−êi sö dông cña c¬ së d÷ liÖu Microsoft SQL Server.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 20 –
Víi tËp hîp c¸c b¶ng, b¹n cã thÓ:
T¹o b¶ng.
Xo¸ b¶ng.
¾ Sù lËp kÕ ho¹ch t¹o b¶ng:
1. QuyÕt ®Þnh kiÓu nµo cña b¶ng d÷ liÖu sÏ chøa ®ùng.
2. QuyÕt ®Þnh cét nµo b¹n cÇn trong b¶ng, lo¹i d÷ liÖu nµo cho mçi
cét.
3. QuyÕt ®Þnh cét nµo nªn chÊp nhËn gi¸ trÞ null.
4. QuyÕt ®Þnh sö dông rµng buéc cã mÆc ®Þnh hoÆc kh«ng quy t¾c.
5. QuyÕt ®Þnh kiÓu chØ sè nµo b¹n cÇn, b¹n cÇn chØ sè ®Ó lµm g× vµ cét
nµo nªn lµ kho¸ chÝnh vµ kho¸ ngoµi.
¾ §Ó t¹o b¶ng
1. T¹o lo¹i d÷ liÖu do ng−êi sö dông x¸c ®Þnh sau ®ã b¹n x¸c ®Þnh
b¶ng nµo b¹n muèn sö dông chóng.
2. T¹o b¶ng víi c¸c rµng buéc, c¸c mÆc ®Þnh sö dông bëi c©u lÖnh
CREATE TABLE.
3. T¹o triggers víi c©u lÖnh CREATE TRIGGER.
4. T¹o c¸c khung nh×n víi c©u lÖnh CREATE VIEW.
5. T¹o b¶ng
y Trong SQL Server Enterprise Manager, chän c¬ së d÷ liÖu b¹n
muèn t¹o b¶ng, chän b¶ng hoÆc ®èi t−îng, kÝch chuét ph¶i råi
chän New table.
y Sö dông c©u lÖnh CREATE TABLE.
y Sö dông tuú chän INTO cña c©u lÖnh SELECT.
B¹n cã thÓ x¸c ®Þnh lªn tíi 250 cét mçi b¶ng. B¶ng vµ tªn cét ph¶i tu©n
theo c¸c quy t¾c cho ®ång nhÊt ho¸, chóng ph¶i duy nhÊt víi b¶ng.
Nh−ng b¹n cã thÓ sö dông tªn cét t−¬ng tù trong b¶ng kh¸c, trong c¬ së
d÷ liÖu t−¬ng tù, B¹n ph¶i x¸c ®Þnh lo¹i d÷ liÖu cho mçi cét.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 21 –
¾ Xo¸ b¶ng
Khi b¹n kh«ng cÇn b¶ng, b¹n cã thÓ gì bá nã tõ c¬ së d÷ liÖu.
1. Trong cöa sæ SQL Server Enterprise Manager, chän b¶ng b¹n
muèn xo¸, kÝch chuét ph¶i, chän delete, råi chän Drop all.
2. Sö dông c©u lÖnh DROP TABLE.
¾ §æi tªn b¶ng
1. Trong cöa sæ SQL Server Enterprise Manager, chän b¶ng b¹n
muèn ®æi tªn, kÝch chuét ph¶i, chän Rename.
2. Thùc hiÖn thñ tôc l−u tr÷ hÖ thèng sp_rename.
VÝ dô: sp_rename title, books
Thay ®æi tªn cña b¶ng titles thµnh b¶ng books.
¾ Thay ®æi b¶ng
Sau khi b¹n t¹o b¶ng, b¹n muèn thay ®æi cÊu tróc b¶ng bëi céng thªm vµo
cét, thªm vµo kho¸ b¶n ghi, hoÆc thay ®æi c¸c rµng buéc.
X¸c ®Þnh b¶ng cÇn thay ®æi
1. Trong SQL Server Enterprise Manager, kÝch ®óp vµo b¶ng thÝch
hîp, råi t¹o nªn sù thay ®æi.
2. Sö dông c©u lÖnh ALTER TABLE.
I.9 TËp hîp kiÓu d÷ liÖu do ng−êi dïng x¸c ®Þnh.
¾TËp hîp UserDefineDatatypes chøa c¸c ®èi t−îng UserDefineDatatypes
tham chiÕu c¬ chÕ tÝnh toµn vÑn d÷ liÖu SQL Server gäi lµ kiÓu d÷ liÖu do
ng−êi sö dông x¸c ®Þnh.
Víi kiÓu d÷ liÖu do ng−êi dïng x¸c ®Þnh, b¹n cã thÓ:
T¹o mét kiÓu d÷ liÖu míi do ng−êi dïng x¸c ®Þnh.
Xo¸ bá kiÓu d÷ liÖu do ng−êi sö dông x¸c ®Þnh.
¾ T¹o nªn kiÓu d÷ liÖu do ng−êi dïng x¸c ®Þnh (create user-defined
datatype)
1. Më réng mét server group, råi më réng server
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 22 –
2. Më réng Database, råi më réng c¬ së d÷ liÖu mµ qua ®ã b¹n t¹o
kiÓu d÷ liÖu do ng−êi dïng x¸c ®Þnh.
3. NhÊp ph¶i chuét vµo Defined Data Type, råi nhÊp New User
Defined Data Type…
HoÆc tõ menu SQL Server Enterprice Manager, chän Action\ New\ user
Defined data type…
1. NhËp tªn cña kiÓu d÷ liÖu míi.
2. Trong danh s¸ch Data type, h·y chän kiÓu d÷ liÖu.
3. NÕu length ®−îc kÝch ho¹t, nã chøa c¸c kiÓu d÷ liÖu:binary, char,
nchar, nvarchar, varbinary vµ varchar.
4. §Ó cho phÐp d÷ liÖu chÊp nhËn c¸c gi¸ trÞ trèng, h·y chän Allow
NULLs.
5. Tuú ý, trong danh s¸ch Rule vµ Default, h·y chä mét quy t¾c hoÆc
mÆc ®Þnh ®Ó buéc vµo kiÓu d÷ liÖu ®· ®−îc ng−êi dïng x¸c ®Þnh.
¾ Xo¸ d÷ liÖu do ng−êi dïng x¸c ®Þnh
1. Më réng mét server group, råi më réng server.
2. Më réng Database, råi më réng d÷ liÖu, råi nhÊp User Defined
Data Types.
3. Trong detail pane, h·y nhÊp kiÓu d÷ liÖu xo¸ bá råi nhÊp Delete.
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 23 –
4. §Ó xem c¸ch xo¸ bá kiÓu d÷ liÖu nµy sÏ ¶nh h−ëng nh− thÕ nµo ®Õn
c¬ së d÷ liÖu, b¹n h·y nhÊp show Dependencies…
5. trong hép tho¹i Drop Object, h·y nhÊp Drop All.
I.10 TËp hîp ng−êi sö dông (Users Collection)
¾ TËp hîp Users chøa ®èi t−îng ph¶n chiÕu ®Þnh nghÜa ng−êi sö dông c¬
së d÷ liÖu cña SQL Server.
Víi tËp hîp Users, b¹n cã thÓ:
T¹o ra c¬ së d÷ liÖu ng−êi sö dông SQL Server.
Huû bá c¬ së d÷ liÖu ng−êi sö dông SQL Server.
I.11 TËp hîp c¸c khung nh×n (Views Collection)
¾ TËp hîp c¸c Views chøa ®èi t−îng View tham chiÕu ®Õn khung nh×n
x¸c ®Þnh trong c¬ së d÷ liÖu Microsoft SQL Server.
Víi tËp hîp c¸c Views, b¹n cã thÓ:
T¹o ra mét b¶ng view.
Huû bá mét b¶ng view.
¾ Sö dông khung nh×n ®Ó tèi −u ho¸ d÷ liÖu
C¸c khung nh×n cho phÐp ng−êi sö dông kh¸c nhau xem d÷ liÖu b»ng
c¸ch kh¸c nhau, ngay c¶ khi hä ®ang sö dông c¬ së d÷ liÖu t−¬ng tù cïng
mét lóc. Sù thuËn lîi nµy lµ ®Æc biÖt quan trong khi ng−êi sö dông víi
nhiÒu quan t©m kh¸c nhau vµ tr×nh ®é kü n¨ng chia sÎ gièng nh− c¬ së d÷
liÖu.
¾ Sö dông khung nh×n ®Ó xuÊt d÷ liÖu
Sö dông khung nh×n, b¹n cã thÓ xuÊt d÷ liÖu tíi c¸c øng dông kh¸c. VÝ dô
gi¶ sö b¹n muèn sö dông b¶ng stores vµ sales ®Ó ph©n tÝch d÷ liÖu b¸n
hµng ®−îc l−u tr÷ trong Microsoft Excel. §Ó lµm ®iÒu nµy, b¹n cã thÓ t¹o
nªn khung nh×n dùa trªn b¶ng stores vµ sales. Råi b¹n cã thÓ xuÊt d÷ liÖu
x¸c ®Þnh bëi sö dông ch−¬ng tr×nh tiÖn Ých bulk copy (bcp).
¾ Sö dông khung nh×n cho sù b¶o mËt
Sö dông c©u lÖnh CREATE VIEW víi WITH CHECK OPTION, b¹n cã
thÓ ®¶m b¶o r»ng ng−êi sö dông truy vÊn vµ söa ch÷a duy nhÊt d÷ liÖu mµ
hä nh×n thÊy. Tuú chän nµy b¾t toµn bé c©u lÖnh söa ch÷a d÷ liÖu thùc
LuËn v¨n tèt nghiÖp Vò Hïng C−êng B2 – CNTT
– 24 –
hiÖn dùa vµo khung nh×n tham gia thiÕt lËp tiªu chuÈn víi c©u lÖnh
SELECT x¸c ®Þnh khung nh×n.
Sö dông c©u lÖnh GRANT vµ REVOKE, b¹n cã thÓ giíi h¹n ng−êi sö
dông c¬ së d÷ liÖu truy cËp ®Ó x¸c ®Þnh ®èi t−îng c¬ së d÷ liÖu bao gåm
c¸c khung nh×n. NÕu khung nh×n vµ toµn bé b¶ng thùc hiÖn g¸n quyÒn tíi
®èi t−îng kh¸c sö dông khung nh×n vµ chñ nh©n cã thÓ tõ chèi truy cËp
tíi khung nh×n ë d−íi b¶ng.
¾ T¹o c¸c khung nh×n
B¹n cã thÓ t¹o views víi SQL Server Enterprise Manager hoÆc sö dông
c©u lÖnh CREATE TABLE.
1. Trong cöa sæ SQL Server Enterprise Manager, chän view thÝch hîp,
råi kÝch chuét ph¶i, chän new view…
2. Sö dông c©u lÖnh CREATE TABLE.
¾ §æi tªn view.
B¹n cã thÓ ®æi tªn view, chñ ®Ò theo h−íng dÉn sau:
y View khi ®æi tªn ph¶i trong c¬ së d÷ liÖu hiÖn t¹i.
y Tªn míi ph¶i theo sau c¸c quy t¾c cho ®ång nhÊt ho¸.
y B¹n cã thÓ ®æi tªn duy nhÊt view cña b¹n.
y Chñ nh©n c¬ së d÷ liÖu cã thÓ thay ®æi tªn cña bÊt kú view cña
ng−êi sö dông.
Thùc hiÖn thñ tôc hÖ thèng sp_rename.
VÝ dô: sp_rename account, owing
II. §Æc t¶ dung l−îng cùc ®¹i cña SQL Server
B¶ng sau chØ ®Þnh kÝch th−íc cùc ®¹i vµ c¸c sè l−îng kh¸c nhau x¸c ®Þnh
®èi t−îng trong c¬ së d÷ liÖu Microsoft SQL Server hoÆc tham chiÕu
trong c©u lÖnh Transact-SQL.
Maximum sizes/numbers
Object (®èi t−îng)
SQL Server 6.5
SLQ Server 7.0
KÝch th−íc file bat (Batch size)
128 KB
65,536* KÝch th−íc
gãi tin m¹ng
(Network Packet Size)
Sè byte cho mçi chuçi kÝ tù cét
(Bytes per short string column)
255
8000