giáo trình SQL server 7.0 phần 6
lượt xem 10
download
S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + [ LOG ON { [,...n]} ] : ChØ ®Þnh LOGON_name ::= ( [ NAME = logical_file_name, ] FILENAME = 'os_file_name' [, SIZE = size] [, MAXSIZE = { max_size | UNLIMITED } ] [, FILEGROWTH = growth_increment] ) [,...n] ::= FILEGROUP filegroup_name [,...n] C¸c nhãm lÖnh xo¸ : T−¬ng tù nh− trªn nÕu cã tån t¹i lÖnh thiÕt lËp th× sÏ tån t¹i lÖnh xo¸ . + DROP View View_name AS Select Statemant + DROP Procedure + DROP default + DROP Index + DROP Rule...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: giáo trình SQL server 7.0 phần 6
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + [ LOG ON { [,...n]} ] : ChØ ®Þnh LOGON_name ::= ( [ NAME = logical_file_name, ] FILENAME = 'os_file_name' [, SIZE = size] [, MAXSIZE = { max_size | UNLIMITED } ] [, FILEGROWTH = growth_increment] ) [,...n] ::= FILEGROUP filegroup_name [,...n] C¸c nhãm lÖnh xo¸ : T−¬ng tù nh− trªn nÕu cã tån t¹i lÖnh thiÕt lËp th× sÏ tån t¹i lÖnh xo¸ . + DROP View View_name AS Select Statemant + DROP Procedure + DROP default + DROP Index + DROP Rule + DROP Trigger. 2) D¹ng lÖnh: Thªm hoÆc xo¸ mét sè cét cña b¶ng(table) hay h¹n chÕ mét sè thuéc tÝnh cña CHECK, TRIGGER.. Có ph¸p: ALTER TABLE table { [ALTER COLUMN column_name { new_data_type [ (precision[, scale] ) ] [ NULL | NOT NULL ] 77
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com | {ADD | DROP} ROWGUIDCOL } ] | ADD { [ ] | column_name AS computed_column_expression }[,...n] | [WITH CHECK | WITH NOCHECK] ADD { }[,...n] | DROP { [CONSTRAINT] constraint_name | COLUMN column }[,...n] | {CHECK | NOCHECK} CONSTRAINT {ALL | constraint_name[,...n]} | {ENABLE | DISABLE} TRIGGER {ALL | trigger_name[,...n]} } LÖnh nµy còng cã c¸c thèng sè nh− c¸c c©u lÖnh Create table 3) §æi tªn Table hay ®æi tªn CSDL: Có ph¸p: SP_Rename “Tªn cò”,”Tªn míi” 4) Xem th«ng tin vÒ Database: Có ph¸p: sp_helpdb [[@dbname=] 'name'] + [@dbname=] 'name': Cung cÊp tªn database 78
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 5) Cho biÕt th«ng sè : sè hµng trong table, dung l−îng ®ang dïng trong æ ®Üa cña database. Có ph¸p: sp_spaceused [[@objname =] 'objname'] [,[@updateusage =] 'updateusage'] + [@objname =] 'objname': Tªn database + [@updateusage =] 'updateusage': 6) Xem th«ng tin vÒ c¸c ®èi t−îng trong database Có ph¸p: sp_help [[@objname =] name] 7) Cung cÊp th«ng tin vÒ user ®ang truy nhËp vµo Microsoft SQL Server Có ph¸p: sp_who [[@login_name =] 'login'] 8) Excutive: Lêi gäi mét thñ tôc trong Stored Procedure: [[EXEC[UTE]] [@return_status =]{procedure_name [;number] | @procedure_name_var}[[@parameter =] {value | @variable [OUTPUT] | [DEFAULT]] [,...n][WITH RECOMPILE] Thùc hiÖn trong c¸c x©u ký tù: EXEC[UTE] ({@string_variable | [N]'tsql_string'} [+...n]) 9) ChuyÓn ®æi sè liÖu: t¹o b¶ng sao d÷ liÖu hay chuyÓn ®æi d÷ liÖu vµo thiÕt bÞ kh¸c th× dïng lÖnh DUMP Có ph¸p: DUMP Database Database_name to Disk = “path\filename” DUMP table table_name to Disk = “path\filename” DUMP Transacttion Database_name to Disk = “path\filename” NÕu muèn xo¸ d÷ liÖu khi bÞ trµn « nhí: 79
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com DUMP Transacttion Database_name with [Truncate_opnly | No_log ] Khi muèn LOAD vµo hay phôc håi d÷ liÖu ®−îc BACKUP ra dïng lÖnh LOAD . LOAD Table Dbname..Tablename from DISK =”Path\FileName” Ngoµi ra b¹n cã thÓ dïng lÖnh: + BACKUP DATABASE {database_name | @database_name_var} TO [,...n] [WITH .. ..] + RESTORE DATABASE {database_name | @database_name_var} [FROM [,...n]] [WITH [DBO_ONLY].. ..] Chó ý: Tr−íc khi backup d÷ liÖu b¹n nªn l−u l¹i c¸c th«ng tin vÒ CSDL hay c¸c TABLE mµ b¹n muèn BACKUP ®Ó sau nµy khi phôc håi cÇn th«ng sè chÝnh x¸c. 10) LÖnh SP_DBOPTION: Xem hoÆc thay ®æi quyÒn truy cËp cña c¸c lÖnh trong OPTION Có ph¸p: sp_dboption [[@dbname =] 'database'] [, [@optname =] 'option_name'] [, [@optvalue =] 'value'] 11) Xem th«ng tin ®ang hiÖn hµnh vÒ c¸c user: Có ph¸p: sp_helpuser [[@name_in_db =] 'security_account'] 12) LÖnh SP_Password: Thªm hay chuyÓn ®æi mét PASSWORD cho mét LOGIN_ID Có ph¸p: 80
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com sp_password [[@old =] 'old_password',] {[@new =] 'new_password'} [,[@loginame =] 'login'] 13) D¹ng lÖnh SP_AddType: ThiÕt lËp kiÓu d÷ liÖu do ng−êi sö dông ®Þnh nghÜa Có ph¸p: sp_addtype [@typename =] type, [@phystype =] system_data_type [, [@nulltype =] 'null_type'] 14) Hµm RAISERROR(): Th«ng b¸o, c¶nh b¸o lçi ®ang x¶y ra tõ Microsoft SQL Server Có ph¸p: RAISERROR ({msg_id | msg_str}{, severity, state} [, argument [,...n]] ) [WITH option[,...n]] 15) Hµm USER_ID(): Tr¶ vÒ th«ng sè cña USER_ID ®ang lµm viÖc Có ph¸p: USER_ID(['user']) T−¬ng tù nh− c¸c hµm cßn l¹i : + Object_ID(), User_name(), DB.Name() 16) C©u lÖnh SP_ATTACH_DB: G¸n d÷ liÖu vµo SERVER. Có ph¸p: sp_attach_db [@dbname =] 'dbname', [@filename1 =] 'filename_n' [,...16] 17) C©u lÖnh SP_AddGroup: 81
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com Thªm nhãm USER vµo DATABASE Có ph¸p: sp_addgroup [@grpname =] 'group' 18) C©u LÖnh SP_AddUSER: Thªm c¸c USER vµo ACCOUNT trong SERVER. Có ph¸p: sp_adduser [@loginame =] 'login' [,[@name_in_db =] 'user'] [,[@grpname =] 'group'] 19) C©u lÖnh GRANT: G¸n quyÒn thùc hiÖn c¸c c©u lÖnh cho c¸c Table trong database. Có ph¸p: GRANT {ALL | statement[,...n]} TO security_account[,...n] øng dông cho permissions: GRANT {ALL [PRIVILEGES] | permission[,...n]}{ [(column[,...n])] ON {table | view}| ON {table | view}[(column[,...n])] | ON {stored_procedure | extended_procedure}}TO security_account[,...n] [WITH GRANT OPTION] [AS {group | role}] 20) Huû bá c¸c c©u lÖnh võa ®−îc g¸n hay c¸c quyÒn ®−îc thiÕt lËp trong PERMISSION: Có ph¸p: REVOKE {ALL | statement[,...n]} FROM security_account[,...n] øng dông cho permissions: 82
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com REVOKE [GRANT OPTION FOR]{ALL [PRIVILEGES] | permission[,...n]}{[(column[,...n])] ON {table | view}| ON {table | view}[(column[,...n])]| {stored_procedure | extended_procedure}} {TO | FROM}security_account[,...n][CASCADE][AS {group | role}] 21) C©u lÖnh Truncate: Lµm s¹ch (xo¸ d÷ liÖu) table mµ b¹n chØ ®Þnh Có ph¸p: TRUNCATE TABLE table_name - KÕt nèi víi Excel, kÕt nèi víi SPSS C¸c tr×nh duyÖt Microsoft office nh− WORD, EXCEL còng nh− SPSS còng cã thÓ cËp nhËt CSDL cña Microsoft SQL Server: EXCEL tr×nh duyÖt lÊy d÷ liÖu tõ CSDL cña Microsoft SQL Server vµ lËp thµnh c¸c biÓu tÝnh to¸n theo ng−êi lËp biÓu. T−¬ng tù nh− phÇn mÒm ph©n tÝch sè liÖu thèng kª SPSS còng vËy. LÊy d÷ liÖu tõ database b»ng EXCEL: Tr−íc khi thùc hiÖn c¸c b−íc sau b¹n ®· ph¶I ®Þnh nghÜa cÊu h×nh database trong ODBC qua FSN. 1) Më EXCEL -> vµo menu data -> Chän Get External data -> Chän tiÕp Create New Query Nh×n vµo h×nh trªn b¹n ph¶I chän database cÇn lÊy d÷ liÖu. Sau ®ã b¹n ph¶I kÕt nèi víi database nµy b»ng c¸ch sö dông Logon_ID vµ Password. 83
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 2) TiÕp theo b¹n ph¶I chän c¸c b¶ng (Table) vµ c¸c cét (tr−êng) trong mçi b¶ng ®ã ®Ó t¹o ra Query. 3) Sau khi chän xong table vµ c¸c cét tiÕp theo b¹n nhÊn NEXT 4) NÕu b¹n muèn s¨p xÕp (SORT ORDER) th× b¹n chän c¸c cét cÇn s¨p xÕp ë ®©y. B−íc tiÕp b¹n chän lo¹i d÷ liÖu cÇn ®−a ra (EXCEL, QUERY, OLAP) - > NhÊn Finish. T¹o c¸c table d−íi d¹ng cét b»ng EXCEL: Gåm 3 b−íc chÝnh 1) Më EXCEL -> vµo menu data -> Chän Pivot table and Pivotchart Report 84
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com Chän lo¹i d÷ liÖu cÇn lÊy ®Ó lµm biÓu 2) Get data: NhÊn vµo get data b¹n ph¶I chän database cÇn truy nhËp (t−¬ng tù nh− trªn). TiÕp theo lµ b¹n ph¶i kÕt nèi vµo database b»ng c¸ch dïng Logon_ID vµ Password. (t−¬ng tù nh− ë trªn) Sau khi kªt nèi vµo database b¹n ph¶I chän c¸c table vµ c¸c cét cÇn truy xuÊt. -> tiÕp theo nhÊn NEXT 3) Dïng hiÖu øng LAYOUT ®Ó bè trÝ hµng cét cña biÓu dÇu ra Dïng chuét ®Ó kÐo vµ th¶ c¸c tr−êng n»m trong cét cña b¸o biÓu lµm sao cho tho¶ yªu cÇu ®Æc ra -> tiÕp thªo nhÊn OK . TiÕp nhÊn FINISH ®Ó hoµn thµnh c«ng viÖc. LÊy d÷ liÖu b»ng SPSS: Gåm 6 b−íc chÝnh 85
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com T−¬ng tù nh− EXCEL tr−íc khi lÊy d÷ liÖu b¹n ph¶I thiÕt lËp database trong ODBC. 1) Më SPSS-> Chän menu FILE-> Chän Open data -> Chän New Query Tõ ®©y b¹n chän CSDL cÇn truy xuÊt. Tuy nhiªn ngay t¹i ®©y b¹n còng cã thÓ thªm data source (database) vµo ODBC. Khi chän ®−îc database b¹n nhÊn NEXT (cho b¹n h×nh sau). Hoµn toµn t−¬ng tù nh− EXCEL,b¹n còng ph¶i kÕt nèi vµo Database qua ODBC b»ng login_ID vµ password. (nhÊn OK vµ chê mét chót xÝu) 2) Chän d÷ liÖu (Select data): T¹i ®©y b¹n chän c¸c table vµ c¸c tr−êng n»m trong c¸c table ®Ó ®−a ra b¸o biÓu. ë ®©y, khi b¹n cÇn s¾p xÕp mét cét nµo ®ã b¹n check vµo « “sort field names”. 86
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 3) ChØ ®Þnh c¸c mèi quan hÖ vÒ d÷ liÖu, nÕu b¹n muèn ®iÒu khiÓn tù ®éng b¹n check vµo « Auto Join Tables. tiÕp theo nhÊn NEXT. 4) Sö dông c¸c hµm(function) vµ c¸c to¸n tö logic ®Ó giíi h¹n d÷ liÖu theo nh cÊu cña b¸o biÓu. tiÕp theo nhÊn NEXT. 5) §Þnh nghÜa c¸c biÕn t−¬ng øng víi c¸c cét d÷ liÖu cÇn ®−a ra b¸o biÓu. NhËp tªn biÕn vµo « Result Variable name: TiÕp nhÊn NEXT 87
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com 6) Xem l¹i lÇn cuèi b»ng c©u lÖnh (ng«n ng÷ SQL) cã ®iÒu g× cÇn söa. Sau ®ã, nÕu b¹n muèn ghi l¹i vµo query th× b¹n ph¶i chän tªn query (cÇn ghi l¹i) vµo « Save Query to File. nhÊn FINISH ®Ó hoµn thµnh. (Tr×nh ¸p dông). 5.5. Mét vÝ dô minh ho¹ (thÓ hiÖn theo thiÕt kÕ ë phÇn II). VÝ dô: T¹o CSDL l−u tr÷ cña ngµnh thèng kª, hiÖn nay CSDl nµy ®ang ®−îc khai th¸c vµ cËp nhËt t¹i Tæng Côc Thèng kª (V¨n phßng Tæng Côc ®ang qu¶n lý tµi liÖu l−u tr÷). 1) T¹o database cã tªn lµ LUUTRU: CREATE DATABASE LUUTRU ON ( NAME = luutru_dat, FILENAME = 'c:\mssql7\data\luutrudat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'luutru_log', FILENAME = 'c:\mssql7\data\luutrulog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) 2) T¹o c¸c table trong CSDL vµ thiÕt lËp c¸c chØ sè index: + create table dmluutru (ma1 char(1) null, ma2 char(1) null, ma3 char(1) null, ma4 char(1) null, ma5 char(1) null, tenPl varchar(120) not null) + create table NoiBH( mabh char(2) not null, tenbh varchar(50) not null) + insert NoiBH values("01","Tæng Côc Thèng Kª") 88
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + DELETE FROM DMLUUTRU WHERE TENPL="Tµi liÖu l−u tr÷ TCTK" + create table dmlydo( lydo char(1) not null, tenlydo varchar(40) not null) + create table dmbiendong( mabd char(1) not null, tenbd varchar(20) not null) + insert dmbiendong values("1","Thanh lý") + insert dmlydo values("1","HÕt thêi h¹n b¶o qu¶n") + update dmlydo set tenlydo="HÕt gi¸ trÞ sö dông" where lydo="2" + truncate table luu_file + create table HOSO (hoso_id char(10) not null, ngay char(2) null, thang char(2) null, nam char(4) not null, ten varchar(255) not null, soto smallint null, gia char(2) not null, ngan char(2) not null, cap char(3) null, kyhieu varchar(15) null, noibh char(2) null, khoi char(1) not null, loai char(1) not null, nhom char(1) null, vande char(1) null,) + create table HOSOCU (hoso_id char(10) not null, ngay char(2) null, thang char(2) null, nam char(4) not null, ten varchar(255) not null, soto smallint null, kyhieu varchar(15) null, noibh char(2) not null, khoi char(1) not null, loai char(1) not null, nhom char(1) null, vande char(1) null, ngaybo char(2) not null, thangbo char(2) not null, nambo char(4) not null, loaibd char(1) not null, lydo char(1) not null, nduyet varchar(25) not null) + create table MUON (hoso_id char(10) not null, ngaym char(2) not null, thangm char(2) not null, namm char(4) not null, nguoim varchar(25) not null, donvi char(2) not null, chatluong char(1), ngayh char(2) null, thangh char(2) not null, namh char(4) not null, ngayt char(2) not null, thangt char(2) not null, namt char(4) not null) + create table IN_HS( nam char(4) null, khoi char(1) null, loai char(1) null, nhom char(1) null, vande char(1) null, sodem smallint not null) + create unique clustered index hosoId_ind on hoso(hoso_id) 89
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com + create index maphanloai_ind on hoso(khoi,loai,nhom,vande) + create index nambh_ind on hoso(nam) + create unique clustered index manoibh_ind on noibh(mabh) + create unique clustered index macl_ind on chatluong(macl) + create unique clustered index mabd_ind on dmbiendong(mabd) + create unique clustered index mapl_ind on dmluutru(ma1,ma2,ma3,ma4) + create unique clustered index mald_ind on dmlydo(lydo) + create unique clustered index madv_ind on donvi(madv) + create index hoso_ind on muon(hoso_id) + create index hoso_ind on hosocu(hoso_id) Sau khi thùc hiÖn song c¸c lÖnh trªn b¹n dïng lÖnh: sp_help ®Ó xem vµ kiÓm tra l¹i cã ®ñ tÊt c¶ table trong CSDL ch−a? 3) B¶o mËt CSDL: t¹o nhãm lµm viÖc vµ thªm c¸c user vµo nhãm, g¸n quyÒn thao t¸c trªn CSDL ®ã. + sp_addgroup dbCSDL + sp_adduser khanht,khanht,dbCSDL + grant select on dmluutru to dbCSDL + grant select,update,delete,insert on NOIBH to dbCSDL + revoke update,delete,insert on HOSO to dbCSDL .. 90
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com PhÇn VI. T×nh h×nh ph¸t triÓn CSDL Thèng kª trªn SQL Server trong thêi gian qua vµ KÕt luËn Chó ý : nh¾c l¹i mét sè tiªu thøc quan träng khi sö dông Microsoft SQL Server . ThiÕt kÕ CSDL cho Microsoft SQL Server : NÕu b¹n cã mét CSDL tèt : Tøc lµ tõ lóc thiÕt kÕ - b¹n ph¶i ®Æt ra yªu cÇu mµ b¹n cÇn khai th¸c ë CSDL. Tõ ®ã thu thËp th«ng tin vÒ c¸c ®èi t−îng cña CSDL; ®Çy ®ñ, chÝnh x¸c, kh«ng d− thõa, ®óng thêi ®iÓm. Tõ ®ã thiÕt kÕ m« h×nh quan hÖ cña c¸c thuéc tÝnh th«ng tin cã liªn quan (Gäi lµ cã phô thuéc hµm gi÷a c¸c thuéc tÝnh). ThiÕt lËp c¸c kho¸: Kho¸ trong vµ kho¸ ngoµi. T¹o ra bao nhiªu b¶ng(table) trong CSDL? Khi ®· chuÈn bÞ ®Çy ®ñ th× chóng ta b¾t ®Çu thiÕt kÕ database. C¸c øng dông ®−îc ¸p dông vµo ®Ó khai th¸c th«ng tin trªn CSDL cña Microsoft SQL Server : Microsoft SQL Server cung cÊp cho b¹n bé lÖnh trong TRANSACT SQL ®Ó khai th¸c d÷ liÖu trong CSDL. Ngoµi ra b¹n còng cã thÓ dïng DMO (c¸c øng dông OLE hç trî 32 bit) ®Ó t¹o ra c«ng cô nh»m khai th¸c d÷ liÖu. VÝ dô nh− VB, VC++.. .. Tuy nhiªn nÕu dïng VB th× ph¶i qua ODBC(16-32bit) vµ ph¶i viÕt c¸c hµm truy cËp nµy( gäi lµ DAO FUNCTION) vµ rÊt dÓ sö dông, nh−ng nÕu b¹n dïng Delfi hay VC++ th× kh«ng nhÊt thiÕt ph¶i qua ODBC (32bit). Vµ rÊt tiÖn lîi cho viÖc më réng c¸c chøc n¨ng thiªn vÒ kü thuËt chuyªn s©u (tuy nhiªn khã 91
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com sö dông h¬n Visual Basic), tèc ®é truy nhËp nhanh h¬n nhiÒu so víi c¸ch sö dông Visual Basic. HiÖn nay, Tæng Côc Thèng Kª ®· x©y dùng mét sè CSDL cho ngµnh nh−: + CSDL C«ng nghiÖp + CSDL doanh nghiÖp + D©n sè vµ nhµ ë + Qu¶n lý c«ng v¨n ®i ®Õn + CSDL l−u tr÷ .. c¸c CSDL nµy lu«n lu«n ®−îc ph¸t triÓn theo thêi gian ngµy mét lín h¬n. 92
- S¸ch ®iÖn tö, luËn v¨n tèt nghiÖp CNTT – http:/www.diachiweb.com §−a lªn m¹ng bë Nghiªm Phó C−êng, http://www.diachiweb.com 93
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn