intTypePromotion=3

giáo trình SQL server 7.0 phần 4

Chia sẻ: Nguyễn Thị Ngọc Huỳnh | Ngày: | Loại File: PDF | Số trang:15

0
74
lượt xem
10
download

giáo trình SQL server 7.0 phần 4

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình sql server 7.0 phần 4', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: giáo trình SQL server 7.0 phần 4

  1. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com PhÇn V. Qu¶n trÞ vµ Khai th¸c CSDL 5.1. C¸c c«ng cô qu¶n trÞ CSDL . Giíi thiÖu vÒ Microsoft SQL Server Roles: ý nghÜa: ThiÕt lËp c¸c vai trß ®Æc biÖt c¸c quyÒn mÆc nhiªn mµ kh«ng ®−îc g¸n cho c¸c User Account. NÕu b¹n cã quyÒn ®ã th× ph¶i thªm (Add) c¸c User Account ®ã vµo Roles . Roles cã hai d¹ng: 1) Fixed Server Roles: + SysAdmin + Server Admin + Setup Admin + Security Admin + ProccessAdmin + Dbcreator + DiskAdmin 2) Fixed database roles + Public + DB_Owner + DB_AccessAdmin + DB_ dataReader + DB_dataWriter + DB_ddlAdmin + DB_SecurityAdmin + DB_BackupAdmin + DB_Denydatareader 49
  2. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + DB_DenydataWriter NÕu b¹n muèn huû bá ROLES th× b¹n ph¶i xo¸ toµn bé c¸c User trong database ROLES. T¹i sao ph¶i dïng database Roles? + Lµ v× nã gióp b¹n më réng database, t¹o hiÖu suÊt truy nhËp.. . + C¸c user cã cïng chung c¸c ®Æc tr−ng nªn ng−êi qu¶n lý ph¶i t¹o ra c¸c nhãm, hay c¸c ROLES ®Ó qu¶n lý dÔ dµng h¬n. Lµm thÕ nµo ®Ó t¹o mét User Roles? 1) Chän ROLES NhÊn nót ph¶i chuét-> chän New Roles Tõ ®©y: nhËp tªn database roles Add c¸c user cÇn t¹o ra thùc hiÖn song nhÊn OK NÕu lµ c¸c øng dông th× b¹n chän Application Roles -T¹o kiÓu d÷ liÖu do ng−êi dïng ®Þnh nghÜa - user defined data types. KiÓu d÷ liÖu do ng−êi dïng ®Þnh nghÜa nh»m më réng cho ng−êi sö dông dÔ dµng t¹o ra riªng cho m×nh c¸c lo¹i d÷ liÖu t−¬ng øng víi nhu cÇu ®Æt ra 50
  3. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com Lµm thÕ nµo ®Ó t¹o user defined data types ? 2) Chän user defined data types 3) NhÊn nót ph¶i chuét 4) Chän New user defined data types NhËp tªn lo¹i d÷ liÖu cÇn t¹o : (Name) KiÓu d÷ liÖu: Data type ChiÒu dµi: Length Gi¸ trÞ NULL: Allow nulls DTS (data transformation services) Lµ c¸c dÞch vô cña Microsoft SQL Server cung Êp cho ng−êi dïng chuyÓn ®æi d÷ liÖu nh− trong phÇn Import and export data 51
  4. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com Ngoµi ra ta còng cã thÓ sö dông mét sè lÖnh cña Transact SQL ®Ó thùc hiÖn trªn SQL Server Analyzer VÝ dô nh− lÖnh : BCp database_name..Tablename {IN| OUT} dataFile [/F firstrow][/L lastrow][/b batchsize][/C ][/U login_ID] [/P Password] [/S Servername]. 5.2. C¸c nhiÖm vô vµ quyÒn h¹n trong viÖc qu¶n trÞ vµ së h÷u CSDL (Management). 1) SQL server Agent- C¸c t¸c nh©n qu¶n lý server: + C¶nh b¸o: Alert +Operator: Ng−êi ®iÒu hµnh c«ng viÖc trong c¸c ngµy trong tuÇn +Jobs: C¸c c«ng viÖc ®−îc ®Þnh ra trong c¸c ngµy trong tuÇn. Ai lµm viÖc ? 52
  5. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 2) Current Ativity 10/23/00 NhËt ký lµm viÖc h»ng ngµy cña SQL server. NÕu b¹n lµ Admin th× b¹n cã thÓ nh×n thÊy tÊt c¶ c¸c th«ng tin mµ SQL Server ®· vµ ®ang lµm viÖc. 3) SQL Server Log: Ghi l¹i toµn bé c«ng viÖc mµ SQL server ®· thùc hiÖn nh»m gióp ng−êi qu¶n trÞ m¹ng hiÓu biÕt thªm vÒ th«ng tin ®−îc xö lý trªn m¸y còng nh− theo dâi c¸c vÊn ®Ò cã liªn quan. VÝ dô nh− ai ®· truy nhËp vµo database LUUTRU vµo lóc 10:22:40 AM ngµy 20 th¸ng 10 n¨m 2000 vµ ®· xo¸ ®i mét sè d÷ liÖu quan träng. Security: 1) Login: T¹o logon_id ®Ó login vµo m¹ng SQL server. + Name: NhËp login_name + Password: nhËp mËt khÈu vµo (hai lÇn nhËp) + Chän database cho user cÇn truy nhËp. (Ng«n ng÷ ngÇm ®Þnh lµ English.) 53
  6. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com TiÕp theo b¹n ph¶i chän c¸c quyÒn truy xuÊt cho user ®ã khi truy xuÊt vµo database. Database access: Chän quyÒn truy xuÊt vµo c¸c database + Link Servser. ChØ ®Þnh c¸c mèi liªn kÕt víi c¸c server kh¸c. Remote server: Tªn m¸y Server truy nhËp tõ xa. 54
  7. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 4) Support Servic: Cung cÊp c¸c dÞch vô, t¹o hiÖu suÊt truy nhËp cao, ®a d¹ng. - Distributed Transaction Coordinator - SQl Mail SQL Server ProFile T¹o c¸c Trace nh»m theo dâi chÝnh x¸c lóc cã c¸c t¸c nh©n t¸c ®éng vµo CSDL. 55
  8. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com Lµm thÕ nµo ®Ó t¹o ra TRACE? 1) Vµo menu File Chän New TRACE 2) NhËp tªn TRACE cÇn t¹o 3) NhËp tªn Server 4) Capture to file: Tªn file l−u tr÷ l¹i c¸c th«ng tin mµ trace n¾m b¾t ®−îc 5) Capture to table: Tªn table l−u tr÷ l¹i c¸c th«ng tin mµ trace n¾m b¾t ®−îc . 6) Chän kiÓu cña Trace : (Share type, Private type) trong ph¹m vi cã chia sÎ hay chØ t¹i m¸y ®¬n 5.3. TÝnh toµn vÑn vµ tÝnh an toµn CSDL - Toµn vÑn møc b¶ng, møc tr−êng, møc quan hÖ, møc rµng buéc logic An toµn d÷ liÖu hay tÝnh toµn vÑn d÷ liÖu lµ ®iÓm mÊu chèt trong c«ng cuéc b¶o vÖ th«ng tin d÷ liÖu. + ë d¹ng b¶ng: C¸c b¶ng th−êng ®−îc b¶o mËt bëi c¸c quyÒn ®−îc Adminstrator g¸n cho kÕt hîp víi viÖc ®−îc sö dông nh÷ng c©u lÖnh nµo cho tõng lo¹i b¶ng trong CSDL. 56
  9. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + Field: Tr−êng d÷ liÖu lµ c¸c cét d÷ liÖu hay c¸c thuéc tÝnh cña b¶ng, tËp hîp c¸c cét cña b¶ng t¹o thµnh 1 b¶n ghi hay cßn gäi lµ hµng d÷ liÖu ®−îc b¶o vÖ bëi quyÒn ®−îc g¸n cho b¶ng vµ còng nh− c¸c mèi liªn kÕt trong b¶ng ë møc quan hÖ, kÕt nèi gi÷a c¸c kho¸ víi nhau cña c¸c b¶ng kh¸c nhau (kho¸ trong vµ kho¸ ngoµi). - An toµn vÒ sù kÕt nèi truy nhËp ®Õn CSDL (authentication) vµ quyÒn thao t¸c (permission) trªn c¸c ®èi t−îng cña CSDL • NÕu muèn g¸n quyÒn b¹n chän Permission. Click vµo ®©y Trong nhãm 1: user/DB roles/Pulic Gåm c¸c login_ID vµ c¸c nhãm lµm viÖc . Nhãm 2: TËp c¸c lÑnh trong Transact SQL NÕu b¹n check vµo « nµo cña user/nhãm nµo th× user/nhãm ®ã ®−îc quyÒn sö dông lÖnh ®ã. Sau khi ®· check song “quyÒn “ TiÕp tôc nhÊn nót OK (cã thÓ Apply) 57
  10. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com NÕu b¹n muèn thay ®æi bÊt cø mét ®iÒu g× trong table nµo ®ã th× b¹n h·y lµm nh− sau: 1) Chän table cÇn modify 2) Click nót ph¶i chuét 3) Chän Design database Ngoµi ra b¹n cßn cã rÊt nhiÒu chøc n¨ng ë ®©y khi nhÊn nót ph¶i chuét (Open table, Full text index table, All task , copy, delete , rename, property.. .) - Sao l−u CSDL - Backup d÷ liÖu: NÕu b¹n muèn t¹o b¶n d÷ liÖu nh©n b¶n th× sö dông chøc n¨ng backup: - Backup gåm hai b−íc: T¹o thiÕt bÞ backup vµ chän CSDL cÇn backup. 58
  11. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 5.4. C¸c h×nh thøc khai th¸c CSDL: - C©u lÖnh Microsoft SQL Server. LÖnh Microsoft SQL Server (Trong Transact SQL ) lµ tËp hîp c¸c c©u hái (truy vÊn) “th«ng minh” nh»m ®¸p øng nhanh, chÝnh x¸c vµ ®¸p øng cho nhiÒu ng−êi dïng tin. Ng«n ng÷ SQL ng−êi ta th−êng gäi lµ ng«n ng÷ “Th«ng minh”. i) C¸c c©u lÖnh chÝnh th−êng hay dïng trong Microsoft SQL Server còng nh− trong DMO (c¸c øng dông khai th¸c CSDL cña SQL ). 1. C©u lÖnh SELECT: LÊy d÷ liÖu tõ b¶ng (table) trong c¬ së d÷ liÖu. Có ph¸p: SELECT [ALL | DISTINCT] select_list [INTO [new_table_name]] [FROM {table_name | view_name}[(optimizer_hints)] [[, {table_name2 | view_name2}[(optimizer_hints)] [..., {table_name16 | view_name16}[(optimizer_hints)]]] [WHERE clause] [GROUP BY clause] [HAVING clause] [ORDER BY clause] [COMPUTE clause] [FOR BROWSE] Trong ®ã: ALL: LÊy tÊt c¶ c¸c gi¸ trÞ theo kho¸. ALL lµ tham sè ngÇm ®Þnh cña truy vÊn lùa chän. DISTINCT: ChØ lÊy c¸c gi¸ trÞ duy nhÊt. Gi¸ trÞ NULL còng ®−îc lÊy vµo kÕt qu¶ nh−ng chØ cã mét gi¸ trÞ NULL ®−îc lùa chän mµ th«i. 59
  12. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com select_list: X¸c ®Þnh c¸c cét ®−îc lùa chän lÊy d÷ liÖu. Select_list cã thÓ lµ : - DÊu sao (*): TÊt c¶ c¸c cét theo thø tù ®−îc t¹o b»ng c©u lÖnh CREATE TABLE cña c¸c b¶ng trong mÖnh ®Ò FROM cña truy vÊn lùa chän. - Danh s¸ch tªn cña c¸c cét theo thø tù mong muèn, dïng dÊu phÈy (,) ®Ó t¸ch tªn cña c¸c cét nÕu select_list cã nhiÒu h¬n mét cét. - Tªn cét ngÇm ®Þnh lµ tiªu ®Ò cét. Cã thÓ thay ®æi tiªu ®Ò cét theo có ph¸p: Tiªu_®Ò_cét = Tªn_cét hoÆc Tªn_cét Tiªu_®Ò_cét NÕu cã dÊu c¸ch (space) trong tªn cña tiªu ®Ò cét th× ph¶i dïng dÊu ngoÆc kÐp (' ' hoÆc " ") ®èi víi tiªu ®Ò cét. VÝ dô: SELECT 'Tªn t¸c gi¶' = au_lname FROM authors - Mét biÓu thøc (tªn cét, h»ng sè, hµm hoÆc lµ sù kÕt hîp cña tªn c¸c cét, c¸c h»ng sè, c¸c hµm b»ng c¸c to¸n tö hoÆc c¸c truy vÊn con). - Cã thÓ dïng tõ kho¸ IDENTITYCOL thay cho tªn cña cét cã thuéc tÝnh IDENTITY (gi¸ trÞ cña cét lµ NOT NULL). - BiÕn côc bé hoÆc biÕn toµn côc. - G¸n biÕn côc bé theo có ph¸p: @variable = BiÓu thøc Chó ý: NÕu select_list gåm viÖc g¸n biÕn th× kh«ng thÓ thùc hiÖn lÊy d÷ liÖu. INTO Tªn_b¶ng_míi: T¹o ra mét b¶ng míi víi c¸c cét ®−îc chØ ra trong select_list vµ c¸c gi¸ trÞ tho¶ m·n mÖnh ®Ò WHERE. §Ó chän d÷ liÖu 60
  13. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com vµ ®−a vµo mét b¶ng cè ®Þnh, lùa chän select into/bulkcopy ph¶i ®−îc ho¹t ®éng (b»ng c¸ch thùc hiÖn thñ tôc l−u tr÷ cña hÖ thèng sp_dboption). Khi mét c¬ së d÷ liÖu ®−îc t¹o míi, lùa chän select into/bulkcopy ngÇm ®Þnh lµ kh«ng ho¹t ®éng. Tªn b¶ng míi ph¶i tu©n theo c¸c qui t¾c gièng tªn b¶ng gèc, gåm: - NÕu select into/bulkcopy ®ang ho¹t ®éng trong c¬ së d÷ liÖu mµ b¶ng sÏ ®−îc t¹o ra, b¶ng cè ®Þnh ph¶i ®−îc t¹o ra tr−íc ®ã. Tªn b¶ng ph¶i duy nhÊt trong c¬ së d÷ liÖu vµ ph¶i tu©n theo c¸c qui t¾c nhËn d¹ng. - NÕu select into/bulkcopy kh«ng ho¹t ®éng trong c¬ së d÷ liÖu mµ b¶ng sÏ ®−îc t¹o ra th× kh«ng thÓ t¹o ra ®−îc b¶ng cè ®Þnh b»ng lÖnh SELECT INTO; chØ cã thÓ t¹o ra c¸c b¶ng t¹m thêi côc bé hoÆc toµn côc. §Ó t¹o b¶ng t¹m thêi, tªn cña b¶ng t¹m thêi ph¶i ®−îc b¾t ®Çu b»ng dÊu # (#Tªn_b¶ng) ®èi víi b¶ng t¹m thêi côc bé vµ hai dÊu ## (##Tªn_b¶ng) ®èi víi b¶ng t¹m thêi toµn côc khi t¹o b¶ng b»ng CREATE TABLE. - Ho¹t ®éng cña SELECT INTO gåm hai b−íc. B−íc ®Çu tiªn lµ t¹o b¶ng, ng−êi sö dông ph¶i cã quyÒn t¹o b¶ng trong c¬ së d÷ liÖu ®Ých. B−íc thø hai lµ thªm c¸c dßng gi¸ trÞ vµo b¶ng míi. NÕu b−íc thø hai kh«ng thùc hiÖn ®−îc v× bÊt kú lý do g× (lçi phÇn cøng, v−ît qu¸ dung l−îng ®Üa cña c¬ së d÷ liÖu, ...) th× b¶ng míi vÉn tån t¹i nh−ng kh«ng cã gi¸ trÞ. - Cã thÓ dïng SELECT INTO ®Ó t¹o ra mét b¶ng cã cÊu tróc gièng nhau (kh¸c tªn b¶ng) b»ng c¸ch ®−a ®iÒu kiÖn sai trong mÖnh ®Ò WHERE. - Kh«ng thÓ dïng SELECT INTO cïng víi mÖnh ®Ò COMPUTE hoÆc trong mét giao dÞch do ng−êi dïng ®Þnh nghÜa. - NÕu chän cét cã gi¸ trÞ NOT NULL vµo b¶ng míi th× cét míi sÏ cã thuéc tÝnh IDENTITY (cã gi¸ trÞ NOT NULL) trõ khi mét trong sè c¸c ®iÒu kiÖn sau ®−îc tho¶ m·n: . C©u lÖnh SELECT bao gåm mÖnh ®Ò liªn kÕt (join), mÖnh ®Ò GROUP BY hoÆc c¸c hµm tæng hîp. 61
  14. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com . NhiÒu c©u lÖnh SELECT ®−îc kÕt hîp víi nhau b»ng to¸n tö UNION. . Cét cã gi¸ trÞ NOT NULL ®−îc liÖt kª nhiÒu h¬n trong select_list. . Cét cã gi¸ trÞ NOT NULL lµ mét phÇn cña biÓu thøc. FROM: ChØ ra c¸c b¶ng ®−îc sö dông trong lÖnh SELECT. NÕu select_list chØ lµ h»ng sè, biÕn vµ c¸c biÓu thøc sè mµ kh«ng cã tªn cét th× kh«ng cÇn mÖnh ®Ò FROM. Sè l−îng b¶ng tèi ®a trong mÖnh ®Ò FROM lµ 16 b¶ng, kÓ c¶ c¸c truy vÊn con. - Tªn_b¶ng = [[Tªn_c¬ së_d÷_liÖu.]Chñ_c¬_së_d÷_liªu.]{Tªn_b¶ng} NÕu cã nhiÒu b¶ng trong mÖnh ®Ò FROM th× dïng dÊu phÈy (,) ®Ó ph©n t¸ch c¸c b¶ng. NÕu c¸c b¶ng tån t¹i trong c¬ së d÷ liÖu kh¸c th× ph¶i ®−a ra tªn b¶ng ®Çy ®ñ (Tªn_c¬_së_d÷_liÖu.Chñ_c¬_së_d÷_liÖu.Tªn_b¶ng). Mçi tªn b¶ng cã thÓ cã bÝ danh ®Ó sö dông cho thuËn lîi hoÆc ®Ó ph©n biÖt c¸c vai trß kh¸c nhau cña c¸c b¶ng khi liªn kÕt hoÆc thùc hiÖn c¸c truy vÊn con. §Ó dïng bÝ danh, tr−íc hÕt ph¶i chØ ra tªn b¶ng, sau ®ã lµ mét kho¶ng tr»ng (space) vµ cuèi cïng lµ tªn bÝ danh, vÝ dô: SELECT au_lname, au_fname, title FROM titles t, authors a, titleauthor ta WHERE ta.title_id = t.title_id AND ta.au_id = a.au_id ORDER BY title, au_lname, au_fname Thø tù cña c¸c b¶ng sau tõ kho¸ FROM kh«ng ¶nh h−ëng ®Õn kÕt qu¶ cña c©u lÖnh. WHERE: X¸c ®Þnh c¸c ®iÒu kiÖn ®Ó lùa chän d÷ liÖu trong c©u lÖnh. Sè l−îng c¸c ®iÒu kiÖn lµ kh«ng h¹n chÕ (trong c©u lÖnh cña ng«n ng÷ hái ®¸p cã cÊu tróc SQL). WHERE search_conditions 62
  15. S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com GROUP BY: X¸c ®Þnh c¸c nhãm trong b¶ng, nÕu trong select_list cã c¸c hµm tæng hîp th× x¸c ®Þnh gi¸ trÞ tæng qu¸t cho mçi nhãm. C¸c d÷ liÖu kiÓu v¨n b¶n (text) vµ ¶nh (image) kh«ng ®−îc dïng trong mÖnh ®Ò GROUP BY. GROUP BY [ALL] aggregate_free_expression [, aggregate_free_expression]... HAVING: X¸c ®Þnh c¸c kiÓu h¹n chÕ kh¸c nhau ®èi víi c¸c hµm tæng hîp trong select_list. HAVING search_conditions search_conditions h¹n chÕ c¸c dßng gi¸ trÞ kÕt qu¶ cña truy vÊn mµ kh«ng ¶nh h−ëng ®Õn viÖc tÝnh to¸n cña c¸c hµm tæng hîp. Khi dïng mÖnh ®Ò WHERE, search_conditions h¹n chÕ c¸c dßng gi¸ trÞ ®−îc tÝnh to¸n trong c¸c hµm tæng hîp nh−ng kh«ng h¹n chÕ c¸c dßng gi¸ trÞ kÕt qu¶ cña truy vÊn. C¸c d÷ liÖu kiÓu v¨n b¶n (text) vµ ¶nh (image) kh«ng ®−îc dïng trong mÖnh ®Ò HAVING. Sè l−îng ®iÒu kiÖn kh«ng h¹n chÕ trong search_conditions. MÖnh ®Ò HAVING cã thÓ ®−îc dïng ®éc lËp víi mÖnh ®Ò GROUP BY. NÕu mÖnh ®Ò HAVING ®−îc dïng víi mÖnh ®Ò GROUP BY ALL th× HAVING sÏ phñ nhËn ý nghÜa cña tõ kho¸ ALL. ORDER BY: S¾p xÕp kÕt qu¶ theo cét, cã thÓ s¾p xÕp tèi ®a lµ 16 cét. ORDER BY {{table_name. | view_name.}column_name | select_list_number | expression} [ASC | DESC] [...{{table_name16. | view_name16.}column_name | select_list_number | expression} [ASC | DESC]] C¸c gi¸ trÞ Null ®−îc xÕp tr−íc c¸c gi¸ trÞ kh¸c, c¸c cét cã gi¸ trÞ v¨n b¶n (text) hoÆc ¶nh (image) kh«ng ®−îc dïng trong mÖnh ®Ò ORDER BY. COMPUTE: §−îc dïng víi c¸c hµm tæng hîp theo dßng (SUM, AVG, MIN, MAX, vµ COUNT). 63

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản