Giáo trình hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000

Tài liệu Giáo trình hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000: HOÀNG DANH LONG K50-CNTT-Đ I H C VINHẠ Ọ M C L CỤ Ụ CH NG I. GI I THI U SQL SERVER 2000ƯƠ Ớ Ệ ........................................................7 I.1 GI I THI U: Ớ Ệ ....................................................................................................7 I.2 L U TR D LI U TRONG MS SQL SERVER 2000Ư Ữ Ữ Ệ ................................7 I.3 CÁC CÔNG C T NG TÁC V I SQL SERVER Ụ ƯƠ Ớ ....................................8 I.3.1 Enterprise Manager (EM): ........................................................................8 I.3.2 Query Analyzer (QA): ...............................................................................9 CH NG II. THÀNH PH N C A SQL SERVER 2000ƯƠ Ầ Ủ ........................................11 II.1 CÁC THÀNH PH N C A SQL SERVER 2000Ầ Ủ .........................................11 II.2 C S D LI U (CSDL)Ơ Ở Ữ Ệ .............................................................................12 II.2.1 Master: .........................

pdf54 trang | Chia sẻ: hunglv | Lượt xem: 1086 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo trình hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2000, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
HOÀNG DANH LONG K50-CNTT-Đ I H C VINHẠ Ọ M C L CỤ Ụ CH NG I. GI I THI U SQL SERVER 2000ƯƠ Ớ Ệ ........................................................7 I.1 GI I THI U: Ớ Ệ ....................................................................................................7 I.2 L U TR D LI U TRONG MS SQL SERVER 2000Ư Ữ Ữ Ệ ................................7 I.3 CÁC CÔNG C T NG TÁC V I SQL SERVER Ụ ƯƠ Ớ ....................................8 I.3.1 Enterprise Manager (EM): ........................................................................8 I.3.2 Query Analyzer (QA): ...............................................................................9 CH NG II. THÀNH PH N C A SQL SERVER 2000ƯƠ Ầ Ủ ........................................11 II.1 CÁC THÀNH PH N C A SQL SERVER 2000Ầ Ủ .........................................11 II.2 C S D LI U (CSDL)Ơ Ở Ữ Ệ .............................................................................12 II.2.1 Master: ......................................................................................................12 II.2.2 Model: ......................................................................................................12 II.2.3 MSDB: .....................................................................................................12 II.2.4 TempDB: ..................................................................................................12 II.2.5 Pubs: .........................................................................................................12 II.2.6 Northwind: ...............................................................................................13 II.3 CÁC Đ I T NG BÊN TRONG M T CSDLỐ ƯỢ Ộ .........................................13 II.3.1 B ng (Table): ả ...........................................................................................13 II.3.2 Khung nhìn (View): ..................................................................................13 II.3.3 L c đ quan h (Diagram): ượ ồ ệ ...............................................................13 II.3.4 Ch m c (Index): ỉ ụ .....................................................................................13 II.3.5 Trigger: ....................................................................................................14 II.3.6 Ràng bu c (Constraint): ộ ........................................................................14 II.3.7 Th t c th ng trú (Stored Procedure): ủ ụ ườ ............................................14 II.4 KI U D LI U (DATATYPE)Ể Ữ Ệ .....................................................................14 CH NG III. THAO TÁC CĂN B N TRÊN SQL SERVER ƯƠ Ả ...............................16 III.1 T O CSDLẠ .....................................................................................................16 III.1.1 T o b ng dòng l nh v i QAạ ằ ệ ớ ................................................................16 III.1.2 T o CSDL b ng giao di n Enterprise Manager: ạ ằ ệ ..............................17 III.2 T O B NG (TABLE)Ạ Ả ...................................................................................18 III.2.1 T o b ng dòng l nh v i QAạ ằ ệ ớ ................................................................18 III.2.2 T o b ng giao di n EM: ạ ằ ệ ......................................................................19 III.3 THAY Đ I C U TRÚC B NG: Ổ Ấ Ả ................................................................19 III.3.1 Thay đ i b ng dòng l nh v i QAổ ằ ệ ớ ........................................................19 III.3.2 Thay đ i b ng giao di n EM: ổ ằ ệ .............................................................20 III.4 XOÁ : .............................................................................................................20 III.4.1 Xoá CSDL: .............................................................................................20 III.4.2 Xoá b ng: ả ...............................................................................................20 III.5 T O SCRIPT: Ạ ..............................................................................................20 CH NG IV. CHU N HOÁ VÀ QUAN HƯƠ Ẩ Ệ ..........................................................21 IV.1 L C Đ QUAN H (DIAGRAM)ƯỢ Ồ Ệ ..........................................................21 CH NG V. KHUNG NHÌN (VIEWS)ƯƠ ...................................................................24 V.1 KHÁI NI M C B NỆ Ơ Ả ...................................................................................24 V.2 T O VIEW: Ạ ....................................................................................................24 V.2.1 T o b ng dòng l nh v i QAạ ằ ệ ớ ..................................................................24 V.2.2 T o b ng giao di n EM: ạ ằ ệ .......................................................................24 CH NG VI. QU N TR CSDL. CÁC THAO TÁC BACKUP, RESTORE,ƯƠ Ả Ị IMPORT, EXPORT ....................................................................................................27 VI.1 CĂN B N V QU N TR CSDLẢ Ề Ả Ị ................................................................27 VI.2 SAO L U (BACKUP)VÀ PH C H I (RESTORE) Ư Ụ Ồ ................................27 VI.2.1 Backup ....................................................................................................27 VI.2.2 Restore ....................................................................................................29 VI.3 IMPORT – EXPORT ....................................................................................30 VI.3.1 IMPORT .................................................................................................30 VI.3.2 EXPORT .................................................................................................31 CH NG VII. SCRIPT VÀ BATCHƯƠ .......................................................................33 VII.1 KHÁI NI M V SCRIPT Ệ Ề ..........................................................................33 VII.2 BATCH .........................................................................................................33 VII.3 SCRIPT Đ N GI N Ơ Ả ..................................................................................33 VII.3.1 USE: ........................................................................................................34 VII.3.2 Khai báo bi n trong SQL Server: ế ......................................................34 VII.3.3 OSQL: ....................................................................................................34 VII.3.4 SQL đ ng: ộ ............................................................................................34 CH NG VIII. CÁC HÀM VÀ BI U TH C H TR TRUY V N. ƯƠ Ể Ứ Ỗ Ợ Ấ ................35 VIII.1 CÁC HÀM VÀ BI U TH C H TR TRUY V NỂ Ứ Ỗ Ợ Ấ .............................35 VIII.1.1 AVG: ....................................................................................................35 VIII.1.2 Min : .....................................................................................................35 VIII.1.3 Max : ....................................................................................................35 VIII.1.4 Count .....................................................................................................35 VIII.1.5 Sum: .....................................................................................................35 VIII.2 CÁC HÀM X LÝ CHU I Ử Ỗ .....................................................................35 VIII.2.1 ASCII: ..................................................................................................35 VIII.2.2 Char: ....................................................................................................36 VIII.2.3 Upper: ..................................................................................................36 VIII.2.4 Lower: ..................................................................................................36 VIII.2.5 Len: ......................................................................................................36 VIII.2.6 Ltrim: ...................................................................................................36 VIII.2.7 Rtrim: ...................................................................................................36 VIII.2.8 Left: ......................................................................................................36 VIII.2.9 Right: ....................................................................................................36 VIII.2.10 CharIndex: ........................................................................................36 VIII.3 CÁC HÀM TH I GIAN Ờ ...........................................................................36 VIII.3.1 GetDate(): ............................................................................................36 VIII.3.2 DatePart(): ...........................................................................................37 VIII.3.3 DateDiff(): ............................................................................................37 VIII.3.4 Day(): ....................................................................................................37 VIII.3.5 Month(): ...............................................................................................37 VIII.3.6 Year(): ..................................................................................................37 VIII.4 CÁC HÀM TOÁN H C Ọ ...........................................................................37 VIII.4.1 Square: .................................................................................................37 VIII.4.2 Sqrt: ......................................................................................................37 VIII.4.3 Round: ..................................................................................................37 VIII.5 CÁC HÀM CHUY N Đ I Ể Ổ ......................................................................37 VIII.5.1 Cast: .....................................................................................................37 VIII.5.2 Convert: ...............................................................................................37 CH NG IX. TH T C TH NG TRÚ STORED PROCEDUREƯƠ Ủ Ụ ƯỜ ....................38 IX.1 GI I THI U CHUNG Ớ Ệ .................................................................................38 IX.2 T O M T SP Ạ Ộ ...............................................................................................38 IX.3 XOÁ M T SP Ộ ...............................................................................................39 IX.4 THAM S TRONG SP Ố ................................................................................40 IX.4.1 Khai báo tham s :ố .................................................................................40 IX.4.2 Cung c p giá tr m c đ nh: ấ ị ặ ị .................................................................40 IX.4.3 Tham s output:ố ....................................................................................40 IX.5 CÁC L NH ĐI U KHI N Ệ Ề Ể ..........................................................................41 IX.5.1 L nh đi u khi n IF … ELSEệ ề ể .............................................................41 IX.5.2 L nh đi u khi n CASEệ ề ể .......................................................................41 IX.5.3 L nh đi u khi n WHILEệ ề ể ....................................................................42 IX.5.4 L nh đi u khi n WAITFOR:ệ ề ể .............................................................42 CH NG X. HÀM NG I DÙNG VÀ HÀM H TH NG ƯƠ ƯỜ Ệ Ố ................................43 X.1 KHÁI NI M HÀM NG I DÙNG Ệ ƯỜ .............................................................43 X.2 T O VÀ XOÁ HÀM NG I DÙNG Ạ ƯỜ ..........................................................43 X.2.1 T o hàm ng i dùngạ ườ ...............................................................................43 X.2.2 Xoá hàm ng i dùngườ ...............................................................................43 X.3 HÀM H TH NG Ệ Ố .........................................................................................43 X.3.1 T o hàm h th ng t hàm ng i dùng: ạ ệ ố ừ ườ .............................................43 CH NG XI. TRIGGERƯƠ ..........................................................................................44 XI.1 KHÁI NI M: Ệ .................................................................................................44 XI.2 PHÂN LO I Ạ ..................................................................................................44 XI.3 T O TRIGGERẠ .............................................................................................44 XI.3.1 Cú pháp ...................................................................................................44 XI.3.2 T o Trigger b ng EM. ạ ằ .........................................................................45 CH NG XII. CHUY N TÁC (TRANSACTION) VÀ KHOÁ (LOCK)ƯƠ Ể .............47 XII.1 KHÁI NI M CHUY N TÁC Ệ Ể ....................................................................47 XII.2 KHOÁ (LOCK) VÀ Đ NG HÀNH (CONCURRENCY)Ồ ........................47 CH NG XIII. S D NG NGÔN NG L P TRÌNH T NG TÁC V I SQLƯƠ Ử Ụ Ữ Ậ ƯƠ Ớ SERVER ......................................................................................................................49 XIII.1 L P TRÌNH B NG ASPẬ Ằ ...........................................................................49 XIII.1.1 K t n i đ n CSDL SQL Server: ế ố ế ......................................................49 XIII.1.2 Th c thi câu l nh SQL: ự ệ .....................................................................49 XIII.1.3 Thao tác v i các b n ghi c a m t b ng: ớ ả ủ ộ ả ........................................49 XIII.1.4 C p nh t vào CSDL b ng Recordset: ậ ậ ằ ............................................50 XIII.1.5 Th c thi m t SP c a SQL Server ự ộ ủ ...................................................51 XIII.2 L P TRÌNH B NG VISUAL BASIC Ậ Ằ .....................................................51 XIII.2.1 K t n i đ n CSDL: ế ố ế ...........................................................................51 XIII.2.2 Th c hi n câu l nh SQL:ự ệ ệ ..................................................................52 XIII.2.3 Th c thi SPự ...........................................................................................52 XIII.2.4 Thao tác v i b n ghiớ ả ...........................................................................52 CH NG XIV. M T S V N Đ NÂNG CAO. ƯƠ Ộ Ố Ấ Ề .................................................54 XIV.1 SECURITY ..................................................................................................54 XIV.2 CHUY N TÁC VÀ TRUY V N PHÂN TÁN Ể Ấ ........................................54 XIV.3 XML ............................................................................................................54 XIV.4 TÌM KI M FULL TEXT SEARCHẾ .........................................................54 XIV.5 D CH V PHÂN TÍCH ANALYSIS SERVICESỊ Ụ ...................................54 XIV.6 DATABASE REPLICATE .........................................................................54 XIV.7 ENGLISH QUERY .....................................................................................54 L I GI I THI UỜ Ớ Ệ Giáo trình h qu n tr c s d li u MS SQL Server 2000 cung c p cho sinhệ ả ị ơ ở ữ ệ ấ viên các khái ni m lý thuy t căn b n và t ng đ i đ y đ v SQL Serverệ ế ả ươ ố ầ ủ ề 2000. Giáo trình có minh ho b ng ví d các k thu t thao tác v i SQL Server 2000ạ ằ ụ ỹ ậ ớ giúp cho sinh viên có th làm vi c th c t trên SQL Server 2000.ể ệ ự ế M t s các khái ni m căn b n và quen thu c v CSDL quan h mà sinh viênộ ố ệ ả ộ ề ệ đã đ c trang b các môn h c khác nh Access, ngôn ng truy v n SQL..ượ ị ở ọ ư ữ ấ đ c dùng trong giáo trình mà không gi i thích l i. ượ ả ạ Do ch ng trình gi i h n cho 60 ti t gi ng d y nên m t vài n i dung nângươ ớ ạ ế ả ạ ộ ộ cao c a SQL Server ch gi i thi u s l c. ủ ỉ ớ ệ ơ ượ Giáo trình đ c so n đ ph c v k p th i các l p đào t o CNTT c a Vi nượ ạ ể ụ ụ ị ờ ớ ạ ủ ệ nên không th tránh đ c nhi u thi u sót. R t mong nh n đ c s đóng gópể ượ ề ế ấ ậ ượ ự c a các th y cô và các h c viên các khoá đ chung tôi có th b khuy t k pủ ầ ọ ể ể ổ ế ị th i.ờ CH NG I. ƯƠ GI I THI U SQL SERVER 2000Ớ Ệ I.1 GI I THI U: Ớ Ệ Đ i v i các ng d ng l n, m t thành ph n không th thi u là h th ng l uố ớ ứ ụ ớ ộ ầ ể ế ệ ố ư tr d li u, dù cho chúng ta đang xây d ng m t website th ng m i đi n tữ ữ ệ ự ộ ươ ạ ệ ử hay m t ng d ng Windows, t t c đ u c n đ n m t ki n trúc l u tr dộ ứ ụ ấ ả ề ầ ế ộ ế ư ữ ữ li u tin c y, hi u qu , đã đ c ch ng minh. SQL Server 2000 là m t công cệ ậ ệ ả ượ ứ ộ ụ đáp ng đ c nh ng nhu c u đó. Thích h p v i quy mô l n, đ tin c y cao làứ ượ ữ ầ ợ ớ ớ ộ ậ nh ng đ c tr ng c a SQL. ữ ặ ư ủ SQL Server 2000 là s n ph m m i nh t trong dòng s n ph m SQL Server, làả ẩ ớ ấ ả ẩ m t đ i di n c a th h Server trong công ngh DOT NET c a Microsoft.ộ ạ ệ ủ ế ệ ệ ủ Nâng c p t phiên b n 7.0, nó đ c tích h p thêm nhi u tính năng nâng cao:ấ ừ ả ượ ợ ề h tr XML, OLAP, các kh năng khai phá d li u, tích h p qu n tr cùngỗ ợ ả ữ ệ ợ ả ị v i Win2k Active Directory, các u đi m v hi u năng, kh năng s d ng,ớ ư ể ề ệ ả ử ụ kh năng l p trình… Đây là m t h qu n tr c s d li u t ng đ i ph cả ậ ộ ệ ả ị ơ ở ữ ệ ươ ố ứ t p dùng cho môi tr ng máy ch , v i các ng d ng xí nghi p l n.ạ ườ ủ ớ ứ ụ ệ ớ Đ khai thác d li u c a m t h C s d li u (CSDL), ng i ta xây d ngể ữ ệ ủ ộ ệ ơ ở ữ ệ ườ ự các ng d ng b ng nh ng ngôn ng l p trình t ng tác v i d li u l u trứ ụ ằ ữ ữ ậ ươ ớ ữ ệ ư ữ trong CSDL. B n thân SQL Server thu n tuý là CSDL, không nh Oracle cóả ầ ư tích h p Java, các công c thi t k Form và Report, hay nh Access có tíchợ ụ ế ế ư h p kh năng thi t k Form và Report…Vì v y đ cho phép ng i dùng th cợ ả ế ế ậ ể ườ ự hi n các chuy n tác v i CSDL SQL, c n xây d ng ng d ng phát tri n b ngệ ể ớ ầ ự ứ ụ ể ằ m t s ngôn ng nh Visual C++, Visual Basic, ASP… ộ ố ữ ư I.2 L U TR D LI U TRONG MS SQL SERVER 2000Ư Ữ Ữ Ệ SQL Server có c ch qu n lý file đ i v i CSDL t ng đ i ph c t p. M iơ ế ả ố ớ ươ ố ứ ạ ỗ CSDL đ c l u tr v t lý bao g m ít nh t 1 file d li u chính v i đuôi .mdfượ ư ữ ậ ồ ấ ữ ệ ớ (Primary Data File), có th có thêm 1 ho c nhi u file d li u ph v i đuôi .ndfể ặ ề ữ ệ ụ ớ (Secondary Data File), và file log đuôi .ldf (Transaction Log File) ghi l i nh t kýạ ậ các chuy n tác. ể Ngoài ra còn có khái ni m FileGroup, t c là nhóm các file c a CSDL thành cácệ ứ ủ group. M i CSDL có ít nh t m t FileGroup chính (Primary FileGroup), CSDLỗ ấ ộ đó có th có thêm các FileGroup khác n a. ể ữ Vi c phân chia nhi u file d li u và FileGroup nh m m c đích c i thi n hi uệ ề ữ ệ ằ ụ ả ệ ệ năng x lý d li u đ i v i các CSDL,đ c bi t là CSDL l n c a SQL Serverử ữ ệ ố ớ ặ ệ ớ ủ I.3 CÁC CÔNG C T NG TÁC V I SQL SERVER Ụ ƯƠ Ớ Hai công c chính đ giúp nhà qu n tr hay nhà phát tri n giao ti p v i SQLụ ể ả ị ể ế ớ Server (c u hình, t o đ i t ng, ch y Script…) là Enterprise Manager vàấ ạ ố ượ ạ Query Analyzer I.3.1 Enterprise Manager (EM): Là công c chính đ t ng tác v i SQL Server trong vai trò m t nhà qu n trụ ể ươ ớ ộ ả ị C s d li u (DBA – Database Administrator), nó cung c p giao di n đ hoơ ở ữ ệ ấ ệ ồ ạ giúp c u hình, đ t các tuỳ ch n cho SQL Server m t cách tr c quan visual, hấ ặ ọ ộ ự ỗ tr nhi u wizard. ợ ề Kh i đ ng EM t menu Start -> Programs-> Microsoft SQL Server ->ở ộ ừ Enterprise Manager. Hình : Giao di n c a Enterprise Managerệ ủ Có th qu n lý nhi u Server trên cùng m t EM, giúp cho vi c qu n tr đ cể ả ề ộ ệ ả ị ượ d dàng đ i v i các Server xa thông qua môi tr ng m ng. Đ thêm m tễ ố ớ ở ườ ạ ể ộ Server vào EM ta ph i ti n hành thao tác New SQL Server Registration và tuânả ế th các b c theo Wizard. Riêng Server cài đ t trên máy đang s d ng EMủ ướ ặ ử ụ thì đ c Add vào m t cách t đ ng, nghĩa là khi kh i đ ng EM chúng taượ ộ ự ộ ở ộ đ ng nhiên đã có s n m t Server Localhost đ th c hi n thao tác qu n trươ ẵ ộ ể ự ệ ả ị trên đó. Hình. Thêm m t Server vào EMộ I.3.2 Query Analyzer (QA): M t công c khác cũng không kém quan tr ng đ t ng tác v i SQL serverộ ụ ọ ể ươ ớ là công c Query Analyzer. Nó cho phép ti p c n SQL Server d i vai trò m tụ ế ậ ướ ộ nhà phát tri n (Developer). N u nh dùng EM ta có th nhìn và qu n lý toànể ế ư ể ả b các đ i t ng c a SQL Server thì dùng QA chúng ta ti p c n v i SQL chộ ố ượ ủ ế ậ ớ ủ y u b ng các mã l p trình, các query. ế ằ ậ Kh i đ ng QA t menu Start -> Programs-> Microsoft SQL Server -> Queryở ộ ừ Analyzer. H th ng s h i SQL Server nào c n k t n i, tài kho n k t n iệ ố ẽ ỏ ầ ế ố ả ế ố đ n SQL Server đó. ế Sau khi v t qua giai đo n đăng nh p, ta s làm vi c v i màn hình chính c aượ ạ ậ ẽ ệ ớ ủ QA Hình. Giao di n chính c a QAệ ủ Trong giáo trình này, m i thao tác v mã l p trình nh Query, Script , Storedọ ề ậ ư Procedure, hàm …đ c ng m đ nh hi u là th c hi n b ng QA. Ví d thao tácượ ầ ị ể ự ệ ằ ụ s d ng Query ‘Select * from member’ đ c th c thi và tr v k t qu trongử ụ ượ ự ả ề ế ả QA nh trong hình v .ư ẽ CH NG II. ƯƠ THÀNH PH N C A SQL SERVER 2000Ầ Ủ II.1 CÁC THÀNH PH N C A SQL SERVER 2000Ầ Ủ SQL Server 2000 là m t h qu n tr CSDL quan h , vì v y nó có nh ng đ cộ ệ ả ị ệ ậ ữ ặ tr ng chung c a lo i CSDL quan h nh database, b ng, ràng bu c…vàư ủ ạ ệ ư ả ộ nh ng thành ph n riêng c a SQL Server. L t qua giao di n trên EM c aữ ầ ủ ướ ệ ủ m t SQL Server ta th y nh ng thành ph n căn b n sau: ộ ấ ữ ầ ả Database: CSDL là đ i t ng chính và ch a t t c nh ng đ i t ng còn l iố ượ ứ ấ ả ữ ố ượ ạ c a CSDL nh b ng, khung nhìn…ủ ư ả Table: B ng trong CSDL. B ng đ i di n cho m t th c th (entity)ả ả ạ ệ ộ ự ể Diagram: s đ quan h (relationship)ơ ồ ệ View: Khung nhìn hay Virtual Table (b ng o)ả ả Stored Procedure: th t c th ng trú.ủ ụ ườ User Defined Function: Hàm do ng i dùng đ nh nghĩa ườ ị Role: các quy đ nh vai trò và ch c năng trong h th ngị ứ ệ ố Rule: các quy t cắ Default: Các giá tr m c đ nhị ặ ị User Defined Data Type: ki u d li u do ng i dùng t đ nh nghĩa. ể ữ ệ ườ ự ị Full Text Catalog: t p phân lo i d li u Text. ậ ạ ữ ệ II.2 C S D LI U (CSDL)Ơ Ở Ữ Ệ CSDL trong SQL Server là lo i đa ng i dùng (multi user). Ch có th truyạ ườ ỉ ể c p vào CSDL d a vào nh ng tài kho n ng i dùng (user + password) riêngậ ự ữ ả ườ bi t t ng ng v i nh ng quy n truy c p nh t đ nh. ệ ươ ứ ớ ữ ề ậ ấ ị Khi cài đ t, SQL có s n m t s CSDL m c đ nh sau: ặ ẵ ộ ố ặ ị Master Model MSDB TempDB Pubs Northwind II.2.1 Master: Là CSDL ch a c u hình chính c a SQL Server. Nó ch a thông tin v cácứ ấ ủ ứ ề CSDL khác t n t i trên Server, ch a các cài đ t c u hình c a SQL Server,ồ ạ ứ ặ ấ ủ thông tin v tài kho n truy nh p…Chính vì s quan tr ng c a CSDL này màề ả ậ ự ọ ủ SQL Server có s n công c đ ph c h i l i CSDL này trong tr ng h p bẵ ụ ể ụ ồ ạ ườ ợ ị h ng.ỏ II.2.2 Model: Ch a t t c các Template dùng làm m u đ SQL Server t o m t CSDL m i.ứ ấ ả ẫ ể ạ ộ ớ Khi ta t o m t CSDL m i thì SQL Server copy t t c các m u bao g m b ng,ạ ộ ớ ấ ả ẫ ồ ả khung nhìn … t CSDL Model. ừ II.2.3 MSDB: Dùng cho m t vài Component c a SQL Server nh d ch v SQL Server Agent,ộ ủ ư ị ụ ngoài ra còn có các thông tin khác nh replication,….ư II.2.4 TempDB: SQL Server dùng CSDL này đ làm không gian làm vi c cho các b ng, Storedể ệ ả Procedure t m th iạ ờ II.2.5 Pubs: M t trong 2 CSDL m u cho ng i s d ng tham kh o, mô ph ng thông tinộ ẫ ườ ử ụ ả ỏ v xu t b n sách. ề ấ ả II.2.6 Northwind: CSDL m u th 2 c a SQL Server cho ng i dùng tham kh o. ẫ ứ ủ ườ ả II.3 CÁC Đ I T NG BÊN TRONG M T CSDLỐ ƯỢ Ộ II.3.1 B ng (Table): ả Ph n chính c a m t CSDL, là n i l u tr d li u th c s . M i b ng g mầ ủ ộ ơ ư ữ ữ ệ ự ự ỗ ả ồ nhi u tr ng (column), m i tr ng ch a m t ki u d li u t ng ng. Khiề ườ ỗ ườ ứ ộ ể ữ ệ ươ ứ t o b ng, c n quan tâm m t s y u t : ạ ả ầ ộ ố ế ố Name: tên tr ngườ Key: tr ng đó có ph i là khóa khôngườ ả Datatype: ki u d li u c a tr ng. ể ữ ệ ủ ườ Size: kích th c d li u (n u có)ướ ữ ệ ế Allow Null: cho phép giá tr r ng (null) khôngị ỗ Default: giá tr m c đ nh cho tr ngị ặ ị ườ Identity: tr ng có th t đ ng tăng, t ng t nh ki u AutoNumber trongườ ể ự ộ ươ ự ư ể Access, n u thu c tính Identity là Yes .ế ộ Identity Seed: giá tr kh i đ u c a tr ng có Identity là Yes.ị ở ầ ủ ườ Identity Increament: b c nh y cho m i l n tăng đ i v i tr ng có Identity làướ ả ỗ ầ ố ớ ườ Yes. II.3.2 Khung nhìn (View): Là m t b ng o đ c t o thành t m t b ng, ho c m t vài b ng (n u sộ ả ả ượ ạ ừ ộ ả ặ ộ ả ế ử d ng truy v n Join). V b n ch t View là k t qu c a m t truy v n (query)ụ ấ ề ả ấ ế ả ủ ộ ấ trên b ng. ả Ví d : select * From Nha where Diadiem =’So 14 Lang Ha’ ụ II.3.3 L c đ quan h (Diagram): ượ ồ ệ Quan h gi a các th c th (entity, đây là b ng) đ c quy t đ nh d a trênệ ữ ự ể ở ả ượ ế ị ự vi c phân tích thi t k h th ng, t ng t nh RelationShip trong Access. ệ ế ế ệ ố ươ ự ư II.3.4 Ch m c (Index): ỉ ụ T n t i đ i v i B ng ho c Khung nhìn, giúp tăng t c đ truy c p d li u,ồ ạ ố ớ ả ặ ố ộ ậ ữ ệ đ c bi t là đ i v i nh ng tr ng nào c n tìm ki m thông tin.ặ ệ ố ớ ữ ườ ầ ế L p ch m c cho m t tr ng cũng có tác d ng t ng t nh l p m c l cậ ỉ ụ ộ ườ ụ ươ ự ư ậ ụ ụ cho m t cu n sách, r t c n thi t cho vi c tìm ki m thông tin. ộ ố ấ ầ ế ệ ế II.3.5 Trigger: T n t i trong b ng, nó là m t đo n mã t đ ng th c thi khi có m t hànhồ ạ ả ộ ạ ự ộ ự ộ đ ng Insert, Update, Delete x y ra trong b ng. ộ ả ả II.3.6 Ràng bu c (Constraint): ộ T n t i đ i v i b ng, cho phép ràng bu c d li u trong m t b ng ho c cácồ ạ ố ớ ả ộ ữ ệ ộ ả ặ b ng, bu c d li u ph i tuân theo m t quy t c nào đó. ả ộ ữ ệ ả ộ ắ II.3.7 Th t c th ng trú (Stored Procedure): ủ ụ ườ Đo n mã l p trình (Script) đ c t o ra, qu n lý và th c thi trong SQL Server,ạ ậ ượ ạ ả ự cũng t ng t nh các hàm l p trình c a các ngôn ng l p trình.ươ ự ư ậ ủ ữ ậ II.4 KI U D LI U (DATATYPE)Ể Ữ Ệ B t kỳ m t tr ng nào trong b ng cũng ph i có m t ki u d li u xác đ nh.ấ ộ ườ ả ả ộ ể ữ ệ ị M t s ki u cho phép đ nh nghĩa đ l n c a ki u,m t s khác thì không.ộ ố ể ị ộ ớ ủ ể ộ ố M t s ki u d li u ph bi n :ộ ố ể ữ ệ ổ ế Ki u d li uể ữ ệ Lo iạ S Bytesố Mô tả Bit Integer 1 Có giá tr 0 (true)ị ho c 1 (false)ặ BigInt, Int, SmallInt, TinyInt Integer 8,4,2,1 Các ki u s nguyên cóể ố kho ng giá tr t l nả ị ừ ớ đ n nhế ỏ Decimal, Numeric Decimal/Numeric Money, SmallMoney Money 4 Dùng cho d li uữ ệ ki u ti n tể ề ệ Float ki u s th c d uể ố ự ấ ph y đ ngẩ ộ Datetime Date/Time 8 ki u d li u ngàyể ữ ệ tháng Char, varchar, nchar, nvarchar, text,ntext ki u d li u ký tể ữ ệ ự thích h p cho l u chợ ư ữ các ký t ho c chu iự ặ ỗ Binary, VarBinary Binary D li u ki u nhữ ệ ể ị phân Image Binary D li u d ng nhữ ệ ạ ị phân dùng l u như ả SQL_Variant T ng t ki uươ ự ể variant trong Visual Basic CH NG III. ƯƠ THAO TÁC CĂN B N TRÊN SQLẢ SERVER Trong h u h t các tr ng h p, chúng ta có 2 cách đ thao tác v i SQL Server:ầ ế ườ ợ ể ớ ho c thao tác v i giao di n tr c quan, h tr Wizard c a EM, ho c thao tácặ ớ ệ ự ỗ ợ ủ ặ b ng mã l nh (Script) v i QA. Thông th ng dùng EM d dàng h n vì khôngằ ệ ớ ườ ễ ơ c n vi t Script, nh ng cũng có nhi u tr ng h p không th dùng EM ho cầ ế ư ề ườ ợ ể ặ dùng QA t t h n. Đ c bi t có th d ch các thao tác v i EM thành các Scriptố ơ ặ ệ ể ị ớ đ dùng v i QA trong nh ng tr ng h p c n thi t, ch ng h n nh c n đóngể ớ ữ ườ ợ ầ ế ẳ ạ ư ầ gói thao tác thành m t file Script đ mang cài đ t cho m t Server khác.ộ ể ặ ộ III.1 T O CSDLẠ III.1.1T o b ng dòng l nh v i QAạ ằ ệ ớ Cú pháp: Create Database [on ( ) ] [log on () ] VD: Create Database Quanlynha Hay đ y đ h n là: ầ ủ ơ CREATE DATABASE [Quanlynha] ON (NAME = N'Quanlynha', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\Quanlynha.mdf' , SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N'Quanlynha_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\Quanlynha_log.LDF' , FILEGROWTH = 10%) GO III.1.2T o CSDL b ng giao di n Enterprise Manager: ạ ằ ệ Ch n tính năng New Database r i đ t tên cho Database là Quanlynha trongọ ồ ặ Wizard đó. Chúng ta có th c u hình các thu c tính (properties) nâng cao cho m t CSDLể ấ ộ ộ nh tên Data Files, Transaction Log, FileGroups, Options, Permissions b ngư ằ cách nh n vào Properties c a CSDL đó. ấ ủ III.2 T O B NG (TABLE)Ạ Ả Gi s chúng ta xây d ng m t CSDL Quanlynha g m có 3 b ng ả ử ự ộ ồ ả Nha (NhaID, Diadiem, Dientich): ch a thông tin v nhàứ ề Coquan (CoquanID, Tên): ch a thông tin v c quanứ ề ơ Hopdong (HopdongID,NhaID,CoquanID,NgayBatdau,NgayKetthuc,Giathue): ch a thông tin v h p đ ng thuê nhà.ứ ề ợ ồ v i m c đích th c hi n l u tr d li u v qu n lý vi c cho các c quan thuêớ ụ ự ệ ư ữ ữ ệ ề ả ệ ơ nhà . III.2.1T o b ng dòng l nh v i QAạ ằ ệ ớ Cú pháp: Create Table [name] ( ) VD: CREATE TABLE Nha ( NhaId int IDENTITY (1, 1) NOT NULL , DiaDiem nvarchar (50) NOT NULL , DienTich int NULL ) ON [PRIMARY] III.2.2T o b ng giao di n EM: ạ ằ ệ T đ i t ng Table c a CSDL Quanlynha ch n l nh New Table ừ ố ượ ủ ọ ệ Ti p theo EM s cung c p m t b ng m i ch đ Design đ ta thi t k cácế ẽ ấ ộ ả ớ ở ế ộ ể ế ế tr ng d li u, sau khi k t thúc nh n Save và đ t tên cho b ng là Nhaườ ữ ệ ế ấ ặ ả III.3 THAY Đ I C U TRÚC B NG: Ổ Ấ Ả III.3.1Thay đ i b ng dòng l nh v i QAổ ằ ệ ớ Cú pháp: Alter Table [name] ( ) III.3.2Thay đ i b ng giao di n EM: ổ ằ ệ T đ i t ng Table ch n b ng c n thay đ i c u trúc r i ch n Design. Ta sừ ố ượ ọ ả ầ ổ ấ ồ ọ ẽ g p l i ch đ Design b ng gi ng nh lúc t o b ng. Sau khi k t thúc s aặ ạ ế ộ ả ố ư ạ ả ế ử b ng ch n Saveả ọ III.4 XOÁ : III.4.1Xoá CSDL: DROP Database Quanlynha III.4.2Xoá b ng: ả DROP Table Nha,Coquan III.5 T O SCRIPT: Ạ Trong tr ng h p chúng ta mu n nh n đ c toàn b Script cho m t thao tácườ ợ ố ậ ượ ộ ộ trên EM, ch ng h n ta th c hi n th t c t o m t b ng b ng EM và mu nẳ ạ ự ệ ủ ụ ạ ộ ả ằ ố nh n đ c Script t ng ng v i toàn b th t c đó đ có th dùng trong QAậ ượ ươ ứ ớ ộ ủ ụ ể ể (đi u này đ c bi t ti n dùng khi ta c n cài đ t m t ng d ng phát tri n ề ặ ệ ệ ầ ặ ộ ứ ụ ể ở ch này sang m t Server ch khác)ỗ ộ ở ỗ Đ làm nh v y ta s d ng ch c năng Generate Script c a EMể ư ậ ử ụ ứ ủ CH NG IV. ƯƠ CHU N HOÁ VÀ QUAN HẨ Ệ Quan h gi a các b ng đ c xây d ng d a vào k t qu c a quá trình chu nệ ữ ả ượ ự ự ế ả ủ ẩ hoá trong giai đo n phân tích và thi t k h th ng. Có 3 lo i quan h : ạ ế ế ệ ố ạ ệ Quan h 1-1: ng v i m i b n ghi b ng th nh t có quan h duy nh t m tệ ứ ớ ỗ ả ở ả ứ ấ ệ ấ ộ b n ghi b ng th 2.ả ở ả ứ Quan h 1 - nhi u: m t b n ghi b ng th nh t ng v i m t hay nhi u b nệ ề ộ ả ở ả ứ ấ ứ ớ ộ ề ả ghi b ng th 2. Đây là quan h thông d ng nh t. ở ả ứ ệ ụ ấ Quan h nhi u - nhi u: m t b n ghi b ng th nh t ng v i m t hay nhi uệ ề ề ộ ả ở ả ứ ấ ứ ớ ộ ề b n ghi b ng th 2 và ng c l i. ả ở ả ứ ượ ạ IV.1 L C Đ QUAN H (DIAGRAM)ƯỢ Ồ Ệ Dùng ch c năng New Database Diagram c a EM: ứ ủ Sau đó dùng wizard ch n các b ng mu n t o l c đ quan h .ọ ả ố ạ ượ ồ ệ dùng chu t kéo và th các tr ng c a các b ng c n t o quan h t ng ng.ộ ả ườ ủ ả ầ ạ ệ ươ ứ Khi ch n Option ta có th đánh d u ch n vào các m c Cascade Updateọ ể ấ ọ ụ Related Fields và Cascade Delete Related Records đ xoá hay c p nh t cácể ậ ậ b ng có quan h khi d li u m t b ng thay đ i. ả ệ ữ ệ ộ ả ổ Cu i cùng ta đ c m t l c đ quan h nh sau: ố ượ ộ ượ ồ ệ ư CH NG V. ƯƠ KHUNG NHÌN (VIEWS) V.1 KHÁI NI M C B NỆ Ơ Ả View cũng t ng t nh Query trong Access. Trong nhi u tr ng h p chúngươ ự ư ề ườ ợ ta c n xây d ng k t qu d li u t nhi u b ng khác nhau, ho c ch ch n l cầ ự ế ả ữ ệ ừ ề ả ặ ỉ ọ ọ thông tin nh t đ nh trong m t b ng, đó chính là View. View có nh ng u đi mấ ị ộ ả ữ ư ể sau: - H n ch tính ph c t p c a d li u đ n ng i dùng, tăng t c đ đ i v iạ ế ứ ạ ủ ữ ệ ế ườ ố ộ ố ớ ng d ng l n.ứ ụ ớ - K t n i d li u t nhi u b ng l i v i nhauế ố ữ ệ ừ ề ả ạ ớ - S d ng tài nguyên Server đ truy v n ử ụ ể ấ - T o ra b ng o có d li u nh yêu c u. ạ ả ả ữ ệ ư ầ - Có th k t h p m t s hàm và ph ng th c đ t o ra m t c t (tr ng)ể ế ợ ộ ố ươ ứ ể ạ ộ ộ ườ m i ớ V.2 T O VIEW: Ạ V.2.1 T o b ng dòng l nh v i QAạ ằ ệ ớ Cú pháp: Create View As … VD: Ta c n t o m t View có tên là ViewHopdonglon nh m m c đích l u giầ ạ ộ ằ ụ ư ữ thông tin v các h p đ ng có giá ti n thuê m t tháng t 10.000.000 tr lên. ề ợ ồ ề ộ ừ ở CREATE VIEW VIEWHopdonglon AS SELECT Coquan.TenCoquan, Nha.DiaDiem, Hopdong.Giatien FROM Hopdong INNER JOIN Coquan ON Hopdong.CoquanID = Coquan.CoquanID INNER JOIN Nha ON Hopdong.NhaID = Nha.NhaId WHERE (Hopdong.Giatien > 10000000) V.2.2 T o b ng giao di n EM: ạ ằ ệ T đ i t ng View c a CSDL Quanlynha ch n l nh New View ừ ố ượ ủ ọ ệ Ti p theo EM s cung c p m t c a s ch đ Design đ ta thi t k view,ế ẽ ấ ộ ử ổ ở ế ộ ể ế ế hoàn thành thi t k ta ch n Run đ xem k t qu c a View, Save và đ t tênế ế ọ ể ế ả ủ ặ cho view là ViewHopdonglon Qua đây chúng ta th y: ấ - View có tác d ng nh m t b l c d li u c a b ng: khi chúng ta dùng m nhụ ư ộ ộ ọ ữ ệ ủ ả ệ đ where trong câu l nh view. (ch xây d ng nh ng h p đ ng có giá ti nề ệ ỉ ự ữ ợ ồ ề >10.000.000). - View có th có c u trúc ph c t p, đ c h p thành t nhi u b ng: dùngể ấ ứ ạ ượ ợ ừ ề ả m nh đ inner join.ệ ề - S d ng View đ thay đ i d li u: vì view là m t b ng o nên không gi ngử ụ ể ổ ữ ệ ộ ả ả ố nh b ng, ta ch có th thay đ i d li u c a b ng b ng view trong m t sư ả ỉ ể ổ ữ ệ ủ ả ằ ộ ố tr ng h p nh t đ nh. ườ ợ ấ ị CH NG VI. ƯƠ QU N TR CSDL. CÁC THAO TÁCẢ Ị BACKUP, RESTORE, IMPORT, EXPORT VI.1 CĂN B N V QU N TR CSDLẢ Ề Ả Ị Còn g i là DBA (Database Administration). Thông th ng đ i v i m t ngọ ườ ố ớ ộ ứ d ng CSDL, ngoài vi c phát tri n ng d ng thì qu n tr CSDL là ph n khôngụ ệ ể ứ ụ ả ị ầ th thi u đ c trong quá trình ng d ng v n hành. ể ế ượ ứ ụ ậ Đ qu n tr và b o trì CSDL đang v n hành, d li u thay đ i theo th i gianể ả ị ả ậ ữ ệ ổ ờ và không gian, ng i qu n tr c n quan tâm đ n t t c các y u t có th x yườ ả ị ầ ế ấ ả ế ố ể ả ra đ i v i CSDL. ố ớ Mu n tr thành m t nhà qu n tr CSDL, c n quan tâm t i nh ng vi c sau: ố ở ộ ả ị ầ ớ ữ ệ - Sao l u (backup) và ph c h i (restore) d li u. ư ụ ồ ữ ệ - Import và Export d li u. ữ ệ - Qu n lý tài kho n ng i dùng CSDL.ả ả ườ - Và nhi u ch c năng khác.ề ứ VI.2 SAO L U (BACKUP)VÀ PH C H I (RESTORE) Ư Ụ Ồ Đ i v i nh ng h CSDL l n nh SQL Server, sao l u d li u là c n thi t b iố ớ ữ ệ ớ ư ư ữ ệ ầ ế ở d li u luôn luôn đ c thay đ i b i nhi u ng i dùng, kh năng sai sót cóữ ệ ượ ổ ở ề ườ ả th x y ra. ể ả M t khác trong tr ng h p x y ra s c h th ng, d li u có th b h ng. ặ ườ ợ ả ự ố ệ ố ữ ệ ể ị ỏ Đ b o v CSDL đ c an toàn và có th ph c h i khi c n, chúng ta ph i cóể ả ệ ượ ể ụ ồ ầ ả k ho ch sao l u d li u m t cách th ng xuyên và theo đ nh kỳ. ế ạ ư ữ ệ ộ ườ ị M t ng d ng khác c a 2 quá trình backup và restore là khi ta mu n copyộ ứ ụ ủ ố m t CSDL t Server này sang Server khác. Khi đó ta có th backup Server 1ộ ừ ể ở và mang sang restore Server 2ở VI.2.1 Backup Có nhi u thi t b đ backup d li u, thông th ng chúng ta backup d li uề ế ị ể ữ ệ ườ ữ ệ ra đĩa c ng. Cũng nh các thao tác khác, ta có th backup thông qua giao di nứ ư ể ệ EM ho c b ng script thông qua QA. đây trình bày quá trình backup b ngặ ằ Ở ằ EM. ch n ch c năng Backup Database nh hình v : ọ ứ ư ẽ Đ t tên file Backup, và xác nh n đ SQL th c hi n quá trình Backup CSDL.ặ ậ ể ự ệ Toàn b CSDL đ c Backup thành m t file, ta có th l u file này đ ph c h iộ ượ ộ ể ư ể ụ ồ lai CSDL khi c n thi t. Cũng có th ch n m t s tuỳ ch n đ Backup nhầ ế ể ọ ộ ố ọ ể ư Backup toàn b CSDL, Backup nh ng d li u m i c p nh t, Backup log,ộ ữ ữ ệ ớ ậ ậ Backup đè lên file Backup cũ hay ch b sung vào file Backup cũ, và có th đ tỉ ổ ể ặ l ch (scheduled) cho quá trình Backup di n ra t đ ng theo đ nh kỳ... ị ễ ự ộ ị VI.2.2 Restore Là quá trình ng c l i v i Backup, khi mu n ph c h i l i d li u chúng taượ ạ ớ ố ụ ồ ạ ữ ệ ch n Restore Database nh hình v :ọ ư ẽ ch n file ch a backup đ restore r i nh n okọ ứ ể ồ ấ VI.3 IMPORT – EXPORT Chúng ta đang có m t CSDL và mu n nh n d li u ho c các đ i t ng tộ ố ậ ữ ệ ặ ố ượ ừ m t CSDL khác, có th trong cùng m t SQL Server ho c m t SQL Serverộ ể ộ ặ ở ộ khác, ho c th m chí là CSDL c a m t h qu n tr CSDL khác nh Access,ặ ậ ủ ộ ệ ả ị ư Oracle… Ta th c hi n vi c này b ng IMPORT trong EMự ệ ệ ằ Ng c l i v i quá trình Import là Export, khi ta mu n xu t các đ i t ng bênượ ạ ớ ố ấ ố ượ trong CSDL hi n hành cho CSDL khác.ệ VI.3.1 IMPORT T CSDL hi n hành ch n ch c năng Import Data. Đ Import ta ph i ch nừ ệ ọ ứ ể ả ọ CSDL ngu n (Source) và CSDL đích (Destination – chính là CSDL hi n hành).ồ ệ CSDL ngu n có th cùng lo i SQL server ho c khác lo i (Access, Oracle..)ồ ể ạ ặ ạ VI.3.2 EXPORT T CSDL hi n hành ch n ch c năng Export Dataừ ệ ọ ứ Ch n ngu n (Destination) là CSDL hi n hành, đích là CSDL mu n Export ra.ọ ồ ệ ố Sau đây là m t ví d Export Data t CSDL Quanlynha ra file Excel, k t qu taộ ụ ừ ế ả đ c 1 file Excel có 4 worksheet: 3 b ng và 1 viewượ ả CH NG VII. ƯƠ SCRIPT VÀ BATCH VII.1KHÁI NI M V SCRIPT Ệ Ề Là t p h p câu l nh c a SQL Server đ th c hi n m t thao tác. Ch ng h nậ ợ ệ ủ ể ự ệ ộ ẳ ạ chu i l nh t o m t b ng có tên là ‘Hopdong’ trong CSDL Quanlynha nh sauỗ ệ ạ ộ ả ư đ c g i là 1 Script: ượ ọ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Hopdong]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[Hopdong] GO CREATE TABLE [dbo].[Hopdong] ( [HopdongID] [int] IDENTITY (1, 1) NOT NULL , [NhaID] [int] NOT NULL , [CoquanID] [int] NOT NULL , [NgayBatdau] [datetime] NULL , [NgayKetthuc] [datetime] NULL , [Giatien] [int] NULL ) ON [PRIMARY] GO VII.2BATCH M t Script có th ch a nhi u batch. M i batch là m t kh i l nh đ c k tộ ể ứ ề ỗ ộ ố ệ ượ ế thúc b i l nh GO. Ví d trên có 2 batch. Batch đ u tiên th c hi n vi c ki mở ệ ụ ầ ự ệ ệ ể tra xem b ng Hopdong đã t n t i trong CSDL ch a, n u có thì xoá b ng đó điả ồ ạ ư ế ả đ chu n b t o m t b ng m i. Batch th 2 th c hi n vi c t o b ng m iể ẩ ị ạ ộ ả ớ ứ ự ệ ệ ạ ả ớ trong CSDL có tên là Hopdong. S dĩ ng i ta chia Script ra thành các Batchở ườ đánh d u b i l nh k t thúc GO vì các Batch đ c xem nh m t kh i l nhấ ở ệ ế ượ ư ộ ố ệ đ c l p. N u m t Batch x y ra l i thì các Batch khác v n có th th c thi.ộ ậ ế ộ ả ỗ ấ ể ự VII.3SCRIPT Đ N GI N Ơ Ả Script đ c ghi thành m t t p tin th ng có ph n đuôi là .sqlượ ộ ậ ườ ầ Tham kh o ví d đ n gi n sau: ả ụ ơ ả Use account Go Declare @tablename varchar(128) Set @tablename=’tblCustomer’ Exec (‘select * from ’+@tablename+’where active=1’) VII.3.1 USE: Khai báo C s d li u hi n t i ơ ở ữ ệ ệ ạ VII.3.2 Khai báo bi n trong SQL Server: ế Declare @tenbien kieudulieu. VD: declare @amount float Gán giá tr cho bi n: Set @amount=1000ị ế Set @amount = (select sum(amount) from test) VII.3.3 OSQL: Công c cho phép th c hi n m t phát bi u SQL b ng d u nh c hay c a sụ ự ệ ộ ể ằ ấ ắ ử ổ DOS. VII.3.4 SQL đ ng: ộ là m t phát bi u SQL không đ nh nghĩa tr c, ví d câu l nh select có tênộ ể ị ướ ụ ệ b ng t ngoài đ a vào hay tên b ng là k t qu c a m t phép toán. ả ừ ư ả ế ả ủ ộ CH NG VIII. ƯƠ CÁC HÀM VÀ BI U TH C H TRỂ Ứ Ỗ Ợ TRUY V N. Ấ Chúng ta đã bi t đ thao tác v i data trong CSDL, ng i ta dùng cú pháp SQLế ể ớ ườ v i các lo i câu l nh căn b n nh : Select, Insert, Update, Delete. ớ ạ ệ ả ư VD: Select * From Nha Nh ng m nh đ giúp cho vi c thao tác v i d li u đ c linh ho t h n n aữ ệ ề ệ ớ ữ ệ ượ ạ ơ ữ nh là Where, Group By, Having, Order By, Join …ư SQL Server s d ng T-SQL (Transact SQL) đ thao tác v i d li u, hay nóiử ụ ể ớ ữ ệ khác đi T-SQL chính là ngôn ng đ vi t Script trong SQL. Ngoài nh ng l nhữ ể ế ữ ệ SQL chu n nh trên, T-SQL còn bao g m các hàm đ h tr x lý d li uẩ ư ồ ể ỗ ợ ử ữ ệ ngay bên trong SQL Server thay vì ph i dùng các ngôn ng l p trình khác. ả ữ ậ VIII.1 CÁC HÀM VÀ BI U TH C H TR TRUY V NỂ Ứ Ỗ Ợ Ấ VIII.1.1 AVG: Tr v giá tr trung bình. ả ề ị VD: tìm giá ti n thuê nhà trung bình trong Hopdongề Select AVG (giatien) from Hopdong VIII.1.2 Min : Tr v giá tr nh nh t. ả ề ị ỏ ấ VIII.1.3 Max : Tr v giá tr l n nh t. ả ề ị ớ ấ VIII.1.4 Count Tr v s l ng b n ghi tho mãn. ả ề ố ượ ả ả VD: Tìm s l ng các H p đ ng có giá ti n > 10.000.000ố ượ ợ ồ ề Select Count (*) from ViewHopdonglon VIII.1.5 Sum: Tr v t ng giá tr c a tr ngả ề ổ ị ủ ườ VIII.2 CÁC HÀM X LÝ CHU I Ử Ỗ VIII.2.1 ASCII: Tr v mã ASCII c a ký t đ u tiên trong chu i. Vd: Tìm mã ASCII c a kýả ề ủ ự ầ ỗ ủ t tự print ASCII ('t') VIII.2.2 Char: chuy n đ i ki u mã ASCII t s nguyên sang d ng chu i: ể ổ ể ừ ố ạ ỗ VD: Tìm ký t có mã ASCII là 65 ự print char (65) VIII.2.3 Upper: Chuy n đ i chu i sang ch hoaể ổ ỗ ữ VIII.2.4 Lower: Chuy n đ i chu i sang ch th ngể ổ ỗ ữ ườ VIII.2.5 Len: Tr v chi u dài chu iả ề ề ỗ VIII.2.6 Ltrim: B các d u tr ng bên trái chu iỏ ấ ắ ỗ VD: print ltrim (‘ Viet Nam’) VIII.2.7 Rtrim: B các d u tr ng bên ph i chu i. ỏ ấ ắ ả ỗ VIII.2.8 Left: Tr v chu i con tính t bên trái chu iả ề ỗ ừ ỗ VD: print left (‘Viet Nam ’,3) K t qu là chu i ‘Vie’ế ả ỗ VIII.2.9 Right: Tr v chu i con tính t bên ph i chu iả ề ỗ ừ ả ỗ VIII.2.10 CharIndex: Tr v v trí c a m t chu i con bên trong m t chu i ả ề ị ủ ộ ỗ ộ ỗ VD : print CharIndex (‘Nam’,’Viet Nam’) K t qu là 5ế ả VIII.3 CÁC HÀM TH I GIAN Ờ VIII.3.1 GetDate(): Tr v ngày tháng năm c a h th ng: ả ề ủ ệ ố VD: select ‘Hôm nay là : ’ =getDate() VIII.3.2 DatePart(): tr v m t ph n c a chu i ngày tháng nămả ề ộ ầ ủ ỗ VD: select ‘Hôm nay là ngày : ’ =DatePart(d,getDate()) VIII.3.3 DateDiff(): Tr v s ngày gi a 2 kho ng th i gianả ề ố ữ ả ờ VD: select ‘s năm thuê là: ’ =DateDiff(y,NgayKetthuc, NgayBatdau)ố VIII.3.4 Day(): Tr v ngày trong tháng.ả ề VIII.3.5 Month(): Tr v tháng trong năm.ả ề VIII.3.6 Year(): Tr v nămả ề VIII.4 CÁC HÀM TOÁN H C Ọ VIII.4.1 Square: Bình ph ng c a m t bi u th c. VD: bình ph ng c a 3: Print square (3)ươ ủ ộ ể ứ ươ ủ VIII.4.2 Sqrt: Căn b c 2 c a bi u th cậ ủ ể ứ VIII.4.3 Round: Làm tròn m t bi u th cộ ể ứ VIII.5 CÁC HÀM CHUY N Đ I Ể Ổ VIII.5.1 Cast: Tr v giá tr có ki u d li u đ c đ nh nghĩaả ề ị ể ữ ệ ượ ị VD: Print cast (getDate() as Varchar(11)) VIII.5.2 Convert: Chuy n đ i giá tr có ki u này sang ki u d li u khác n u cho phépể ổ ị ể ể ữ ệ ế VD: print convert (int, ‘255’) CH NG IX. ƯƠ TH T C TH NG TRÚ STOREDỦ Ụ ƯỜ PROCEDURE IX.1 GI I THI U CHUNG Ớ Ệ Th t c th ng trú là m t đ i t ng đ c t o thành t các l nh T-SQL. Nóủ ụ ườ ộ ố ượ ượ ạ ừ ệ đ c l u tr nh là m t ph n c a CSDL. Khi c n th c hi n m t chuy n tácượ ư ữ ư ộ ầ ủ ầ ự ệ ộ ể (Transaction) trong CSDL, đôi khi chúng ta th c hi n chúng b ng cách dùngự ệ ằ các Script, ho c chúng ta có th l u chúng trong các hàm g i là Storedặ ể ư ọ Procedure (SP) và g i hàm này. SP cũng gi ng nh khái ni m hàm trong ngônọ ố ư ệ ng l p trình. ữ ậ SP có m t s u đi m: ộ ố ư ể Có th tái s d ng cho nhi u ng d ng thay vì ph i vi t l p l i m t đo nể ử ụ ề ứ ụ ả ế ặ ạ ộ ạ script cho m i ng d ng.ỗ ứ ụ Đ c thi hành ngay trong SQL Server (khi m t ngôn ng l p trình g i đ nượ ộ ữ ậ ọ ế SP). Đ c h ng các ch đ Security c a SQL Server.ượ ưở ế ộ ủ Ta có th t o m t SP b ng EM ho c b ng QA. ể ạ ộ ằ ặ ằ IX.2 T O M T SP Ạ Ộ Vd: Tính t ng di n tích và doanh thu cho thuê nhà trong kho ng th i gian t aổ ệ ả ờ ừ đ n b.ế CREATE PROCEDURE Doanhthu @dauthang smalldatetime, @cuoithang smalldatetime AS select sum(dientich) as dientich,sum(giatien) as doanhthu from hopdong inner join nha on hopdong.NhaID=nha.NhaID inner join coquan on hopdong.CoquanID=coquan.CoquanID where (ngayketthuc >= @dauthang ) and (ngaybatdau<=@cuoithang) Return GO Ta có th dùng QA đ t o SP b ng cách gõ Script trên trong c a s Query.ể ể ạ ằ ủ ổ Cũng có th dùng EM: ể Gõ Script vào c a s Text, ch n Check Syntax đ ki m tra xem SP có đúng cúử ổ ọ ể ể pháp không. Ch n OK đ Save SP. ọ ể IX.3 XOÁ M T SP Ộ DROP PROCEDURE Doanhthu V i EM, Ch n SP c n xoá và th c hi n thao tác Deleteớ ọ ầ ự ệ IX.4 THAM S TRONG SP Ố Khi th c hi n m t SP, ta có th truy n tham s đ thông báo cho SP nên làmự ệ ộ ể ề ố ể gì trong CSDL. Tham s có th do ng i dùng truy n vào ho c m t SP hayố ể ườ ề ặ ộ ng d ng khác g i đ n. ví d trên SP có 2 tham s là @dauthangứ ụ ử ế Ở ụ ố smalldatetime, @cuoithang smalldatetime. Có 2 lo i tham s : tham s nh p vào input parameter và tham s k t xu tạ ố ố ậ ố ế ấ output parameter. IX.4.1 Khai báo tham s :ố ta khai báo nh trong ví d : ư ụ CREATE PROCEDURE Doanhthu @dauthang smalldatetime, @cuoithang smalldatetime AS … IX.4.2 Cung c p giá tr m c đ nh: ấ ị ặ ị n u c n ta có th kh i t o giá tr m c đ nh cho tham s :ế ầ ể ở ạ ị ặ ị ố CREATE PROCEDURE Doanhthu @dauthang smalldatetime =’1/1/2004’, @cuoithang smalldatetime AS … IX.4.3 Tham s output:ố N u c n xu t giá tr ra ngoài khi SP th c thi xong, ho c s d ng k t qu c aế ầ ấ ị ự ặ ử ụ ế ả ủ SP làm tham s đ u vào cho SP khác thì khai báo thu c tính Output. ố ầ ộ CREATE PROCEDURE test @X OUTPUT AS … IX.5 CÁC L NH ĐI U KHI N Ệ Ề Ể Cũng gi ng nh các ngôn ng l p trình, ta có th vi t các l nh đi u khi nố ư ữ ậ ể ế ệ ề ể trong SP nói riêng và trong các Script c a SQL Server nói chung. ủ IX.5.1 L nh đi u khi n IF … ELSEệ ề ể Cú pháp: IF Begin End ELSE Begin End IX.5.2 L nh đi u khi n CASEệ ề ể Cũng gi ng nh Select Case trong Visual Basic ho c ASPố ư ặ Cú pháp: CASE When …………then ………… When ……….. then ………. [ELSE ………………………..] END VD: CASE DatePart(d,NgayBatdau) When 1 then ‘SUN’ When 2 then ‘MON’ When 3 then ‘TUE’ When 4 then ‘WED’ When 5 then ‘THU’ When 6 then ‘FRI’ When 7 then ‘SUN’ END IX.5.3 L nh đi u khi n WHILEệ ề ể Cú pháp: WHILE Begin End IX.5.4 L nh đi u khi n WAITFOR:ệ ề ể SQL Server t m d ng m t th i gian tr c khi x lý các l nh ti p theo.ạ ừ ộ ờ ướ ử ệ ế Cú pháp: WAITFOR DELAY ho cặ WAITFOR TIME CH NG X. ƯƠ HÀM NG I DÙNG VÀ HÀM HƯỜ Ệ TH NG Ố X.1 KHÁI NI M HÀM NG I DÙNG Ệ ƯỜ SQL Server cho phép ng i dùng t o ra các hàm theo nh ng tiêu chu n riêng,ườ ạ ữ ẩ phù h p v i yêu c u s d ng. User Defined Function gi ng nh Storedợ ớ ầ ử ụ ố ư Procedure. Nó bao g m các l nh T-SQL k t h p t o nên hàm và có th đ cồ ệ ế ợ ạ ể ượ g i th c thi nh là m t đ n v đ c l p. ọ ự ư ộ ơ ị ộ ậ M t s h n ch c a Hàm ng i dùng so v i SP là tham s không đ c mangộ ố ạ ế ủ ườ ớ ố ượ thu c tính output, nghĩa là giá tr tham s không đ c truy n ra ngoài hàm.ộ ị ố ượ ề Thay vào đó mu n tr v giá tr ta ph i dùng return. ố ả ề ị ả X.2 T O VÀ XOÁ HÀM NG I DÙNG Ạ ƯỜ X.2.1 T o hàm ng i dùngạ ườ CREATE FUNCTION [OWNER].[FUNCTION NAME] (PARAMETER LIST) RETURNS (return_type_spec) AS BEGIN (FUNCTION BODY) END X.2.2 Xoá hàm ng i dùngườ DROP FUNCTION X.3 HÀM H TH NG Ệ Ố Hàm ng i dùng đ c t o ra trong m t CSDL và ch có hi u l c trong CSDLườ ượ ạ ộ ỉ ệ ự đó. N u hàm có tính ph bi n s d ng chung trong nhi u CSDL thì ta nên t oế ổ ế ử ụ ề ạ nó nh là hàm h th ng. ư ệ ố Khi đã là hàm h th ng thì ta có th g i hàm nh các hàm c a SQL Serverệ ố ể ọ ư ủ thông th ng, ví d : hàm GetDate(), DatePart()ườ ụ X.3.1 T o hàm h th ng t hàm ng i dùng: ạ ệ ố ừ ườ T o hàm trong CSDL Master (là 1 trong 6 CSDL s n có c a SQL Server ngayạ ẵ ủ t lúc cài đ t) thay vì t o hàm trong CSDL đang dùng (nhu CSDL Quanlynha)ừ ặ ạ Dùng ti n t fn_TenHamề ố Thay đ i Owner c a hàm (s d ng SP sp_changeobjectowner ho c dùng EM)ổ ủ ử ụ ặ CH NG XI. ƯƠ TRIGGER XI.1 KHÁI NI M: Ệ Trigger là m t d ng SP đ c bi t dùng đ đáp ng m t s ki n c th (Insert,ộ ạ ặ ệ ể ứ ộ ự ệ ụ ể Update, Delete). Nó bao g m m t đo n Script đ c g n vào b ng d li u vàồ ộ ạ ượ ắ ả ữ ệ t đ ng th c thi khi có m t s ki n x y ra t ng ng v i Trigger đ c gánự ộ ự ộ ự ệ ả ươ ứ ớ ượ cho s ki n đó (trong khi SP ch th c thi khi đ c g i ra) . ự ệ ỉ ự ượ ọ Trigger không có tham s và giá tr tr v . ố ị ả ề Ch nên s d ng Trigger trong tr ng h p c n thi t, ch ng h n trong nh ngỉ ử ụ ườ ợ ầ ế ẳ ạ ữ tr ng h p sau: ườ ợ - Referential Integrity: ràng bu c toàn v n d li u cho phù h p v i mô hìnhộ ẹ ữ ệ ợ ớ quan h c s d li u.ệ ơ ở ữ ệ - Audit Trails: ki m soát d li u hi n t i khi có thay đ i đ n giá tr trong b nể ữ ệ ệ ạ ổ ế ị ả ghi c a b ng. ủ ả - Check: ki m tra d li u nh p vào có phù h p v i m i liên h gi a các b ngể ữ ệ ậ ợ ớ ố ệ ữ ả v i nhau.ớ - Ki m ch ng khi xoá b n ghi ể ứ ả XI.2 PHÂN LO I Ạ Có th chia Trigger thành 3 lo i theo s ki n mà nó đáp ng: ể ạ ự ệ ứ - Insert Trigger. - Update Trigger. - Delete Trigger. - T ng h p c 3.ổ ợ ả XI.3 T O TRIGGERẠ XI.3.1 Cú pháp T o Trigger gi ng nh SP, và nó ph i đ c t o ra cho b ng c thạ ố ư ả ượ ạ ả ụ ể Ví d : T o m t Trigger cho b ng Hopdong đ ki m tra ràng bu c d li uụ ạ ộ ả ể ể ộ ữ ệ v i b ng Nha (không th t o h p đ ng cho m t nhà ch a nh p vào CSDL)ớ ả ể ạ ợ ồ ộ ư ậ CREATE TRIGGER Ins ON [dbo].[Hopdong] FOR INSERT AS if not exists ( select 'true' from inserted where inserted.nhaid in (select nhaid from nha) ) begin raiserror ('Không th t o H p đ ng này vì Nhà ch a đ c nh p trong tableể ạ ợ ồ ư ượ ậ Nhà',16,1) rollback Tran end Di n gi i: ễ ả On: ch ra Trigger đang vi t cho b ng hay khung nhìn nào. N u có t khoáỉ ế ả ế ừ after thì không h tr view. ỗ ợ For Insert /For Update / For Delete: dùng khai báo đ i v i Insertố ớ Trigger/Update Trigger, Delete Trigger. AS: gi ng nh SP, nó ch đ nh cho SQL Server bi t đi m b t đ u, sau AS làố ư ỉ ị ế ể ắ ầ Script XI.3.2 T o Trigger b ng EM. ạ ằ Sau khi m t b ng đã đ c g n Trigger,nó s t đ ng th c thi v i sộ ả ượ ắ ẽ ự ộ ự ớ ự ki n t ng ng. Ch ng h n nh ví d d i đây, Trigger Ins đ c th c thiệ ươ ứ ẳ ạ ư ụ ướ ượ ự khi ng i dùng Insert m t b n ghi m i vào b ng Hopdong. Nó đ a ra thôngườ ộ ả ớ ả ư báo l i vì Nhà có NhaID =100 ch a t n t i trong b ng Nha. ỗ ư ồ ạ ả CH NG XII. ƯƠ CHUY N TÁC (TRANSACTION) VÀỂ KHOÁ (LOCK) XII.1KHÁI NI M CHUY N TÁC Ệ Ể Xu t phát t nhu c u khi giao ti p v i d li u có nh ng tr ng h p chúng taấ ừ ầ ế ớ ữ ệ ữ ườ ợ mong mu n ho c đ ng th i nhi u s ki n di n ra, ho c không s ki n nào.ố ặ ồ ờ ề ự ệ ễ ặ ự ệ Ví d : thao tác chuy n ti n bao g m 2 s ki n: rút ti n t tài kho n A vàụ ể ề ồ ự ệ ề ừ ả c ng vào tài kho n B, yêu c u ho c c 2 thao tác đ u ph i hoàn thành, ho cộ ả ầ ặ ả ề ả ặ không thao tác nào hoàn thành. Đó chính là m t Chuy n tác. ộ ể Các l nh: ệ Begin: b t đ u m t chuy n tác; Commit: xác nh n chuy n tác đã hoàn thành.ắ ầ ộ ể ậ ể Rollback: quay ng c chuy n tác. (Hu toàn b các s ki n c a chuy n tác)ượ ể ỷ ộ ự ệ ủ ể Save : đánh d u m t đi m cho phép Rollback ch m t ph n chuy n tác.ấ ộ ể ỉ ộ ầ ể M t ví d là chúng ta đã th c hi n chuy n tác ng m Rollback TRAN trongộ ụ ự ệ ể ầ Trigger Ins ch ng Trigger, khi nh n th y có l i trong ràng bu c d li uở ươ ậ ấ ỗ ộ ữ ệ thì hu toàn b quá trình Insert d li u:ỷ ộ ữ ệ if not exists ( select 'true' from inserted where inserted.nhaid in (select nhaid from nha) ) begin raiserror ('Không th t o H p đ ng này vì Nhà ch a đ c nh p trong tableể ạ ợ ồ ư ượ ậ Nhà',16,1) rollback Tran end XII.2KHOÁ (LOCK) VÀ Đ NG HÀNH (CONCURRENCY)Ồ Khi có nhi u chuy n tác cùng th c hi n trên m t đ i t ng, ng i ta g i làề ể ự ệ ộ ố ượ ườ ọ đ ng hành. D hi u h n, đ ng hành là hi n t ng t i m t th i đi m cóồ ễ ể ơ ồ ệ ượ ạ ộ ờ ể nhi u ng i cùng k t n i và truy c p m t đ i t ng c a CSDL. Trong nhi uề ườ ế ố ậ ộ ố ượ ủ ề tr ng h p đi u này s x y ra xung đ t, ví d nhi u ng i đ ng th i cườ ợ ề ẽ ả ộ ụ ề ườ ồ ờ ố g ng s a d li u trong m t b ng. ắ ử ữ ệ ộ ả Đ ki m soát ng i dùng th c hi n nh ng chuy n tác đ ng hành, ngăn ng aể ể ườ ự ệ ữ ể ồ ừ xung đ t, đ ng đ , ng i ta dùng khoá. Có nghĩa là m t ng i không th làmộ ụ ộ ườ ộ ườ ể gì đ s a đ i m t đ i t ng khi có m t ng i khác đang truy c p nó tr cể ử ổ ộ ố ượ ộ ườ ậ ướ ng i đó. Shared lock: Th c t có nhi u ki u khoá. Khoá căn b n nh t làườ ự ế ề ể ả ấ khoá chia s (Shared lock). Nó cho phép đ c d li u và không cho phép thayẻ ọ ữ ệ đ i b t kỳ thu c tính nào c a d li u. ổ ấ ộ ủ ữ ệ CH NG XIII. ƯƠ S D NG NGÔN NG L P TRÌNHỬ Ụ Ữ Ậ T NG TÁC V I SQL SERVERƯƠ Ớ SQL Server thu n tuý ch a CSDL. Đ cho phép ng i s d ng khai thácầ ứ ể ườ ử ụ đ c CSDL SQL Server, c n xây d ng nh ng ng d ng đ c phát tri nượ ầ ự ữ ứ ụ ượ ể b ng ngôn ng l p trình. ằ ữ ậ XIII.1 L P TRÌNH B NG ASPẬ Ằ S d ng ASP đ thao tác v i CSDL nói chung và SQL Server nói riêng đ cử ụ ể ớ ượ đ c p k trong giáo trình môn “L p trình Web b ng ASP”. đây chúng taề ậ ỹ ậ ằ Ở đ c p đ n m t s khía c nh th c hành. ề ậ ế ộ ố ạ ự XIII.1.1 K t n i đ n CSDL SQL Server: ế ố ế Dùng đ i t ng Connectionố ượ ‘t o m t Connectionạ ộ Set Conn = Server.CreateObject("ADODB.Connection") ‘ Kh i t o chu i k t n iở ạ ỗ ế ố strConn = "driver={SQL Server}; server=127.0.0.1; uid=iitm; pwd=test; database=quanlynha" ‘ K t n i đ n CSDL ế ố ế Conn.Open strConn XIII.1.2 Th c thi câu l nh SQL: ự ệ conn.execute "update hopdong set giatien=10000000 where hopdongid=1" XIII.1.3 Thao tác v i các b n ghi c a m t b ng: ớ ả ủ ộ ả Dùng đ i t ng Recordsetố ượ <% ‘ câu l nh SQLệ sqlString= “select * from Hopdong” ‘ T o đ i t ng Recordsetạ ố ượ Set RS = Server.CreateObject("ADODB.Recordset") ‘ th c thi câu l nh SQL thông qua đ i t ng k t n i Conn, k t qu tr vự ệ ố ượ ế ố ế ả ả ề cho đ i t ng Recordset.ố ượ Rs.Open sqlString,Conn ‘ duy t t ng b n ghi trong b ng Hopdong b ng Recordset, hi n thi d ng b ngệ ừ ả ả ằ ệ ạ ả trên ‘giao di n Web. ệ <% ‘ vòng l p do while đ duy t t t c các b n ghiặ ể ệ ấ ả ả do while not Rs.EOF %> <% ‘ d ch chuy n đ n b n ghi k ti pị ể ế ả ế ế RS.MoveNext Loop RS.close %> XIII.1.4 C p nh t vào CSDL b ng Recordset: ậ ậ ằ sqlString =”select * from hopdong” Set RS1 = Server.CreateObject("ADODB.Recordset") 'de co the update adOpenDynamic=2 adLockPessimistic=2 Rs1.Open sqlString,Conn,adOpenDynamic,adLockPessimistic do while not Rs1.EOF ‘ l y giá ti n thuê nhà t tr ng Giatienấ ề ừ ườ tempGiatien=rs1(“giatien”) ‘ tăng giá ti n thuê nhà lên g p đôi r i c p nh t vào tr ng Giatienề ấ ồ ậ ậ ườ rs1("giatien")=tempGiatien*2 ‘ xác nh n vi c c p nh tậ ệ ậ ậ rs1.Update rs1.MoveNext loop Rs1.Close XIII.1.5 Th c thi m t SP c a SQL Server ự ộ ủ Trong ví d ch ng Stored Procedure ta đã t o m t SP tên “Doanhthu”ụ ở ươ ạ ộ trong CSDL Quanlynha CREATE PROCEDURE Doanhthu @dauthang smalldatetime, @cuoithang smalldatetime AS … G i th c hi n SP đó t ASP: ọ ự ệ ừ ‘ gán giá tr cho các bi nị ế dauthang=”1/1/2004” ‘month/date/year cuoithang=”1/31/2004” ‘câu l nh sql g i SP có tham s ệ ọ ố sql="execute doanhthu " + dauthang + "," + cuoithang Set RS = Server.CreateObject("ADODB.Recordset") RS.Open sql,Conn XIII.2 L P TRÌNH B NG VISUAL BASIC Ậ Ằ S d ng Visual Basic đ thao tác v i CSDL nói chung và SQL Server nói riêngử ụ ể ớ đ c đ c p k trong giáo trình môn “L p trình VISUAL BASIC”. V cănượ ề ậ ỹ ậ ề b n cũng t ng đ i gi ng ASP. ả ươ ố ố XIII.2.1 K t n i đ n CSDL: ế ố ế ‘Khai báo bi n Connectionế Dim Conn as New ADO ‘ chu i k t n i CSDL ỗ ế ố Dim StrConn as String StrConn=”Provider=SQLOLEDB.1;Persist Security = False; uid=iitm; pwd=test; Initial Catalog=Quanlynha;server=127.0.0.1 ;” ‘ T o k t n i: ạ ế ố Set Conn=CreateObject (“ADODB.Connection”) Conn.Open StrConn XIII.2.2 Th c hi n câu l nh SQL:ự ệ ệ Conn.Execute “Delete from hopdong where hopdongid=2” XIII.2.3 Th c thi SPự Conn.Execute “Doanhthu ‘”&”1/1/2004”&” ‘,’ ”&”1/31/2004”&”’” XIII.2.4 Thao tác v i b n ghiớ ả ‘ Khai báo bi n Recordsetế Dim RS ‘ T o đ i t ng Recordsetạ ố ượ Set RS=CreateObject (“ADODB.Recordset”) ‘ Th c thi câu l nh SQL cho k t qu tr v Recordset: ự ệ ế ả ả ề Rs.open “Select * from Hopdong”, Conn, 2, 2 ‘ Insert d li uữ ệ RS.Addnew RS(“NhaID”)=”2” RS(“NhaCoquanID”)=”3” RS(“NgayBatdau”)=”1/1/2004” RS(“NgayKetthuc”)=”1/1/2006” RS(“Giatien”)=”5000000” RS.Update ‘ Đóng k t n iế ố RS.Close Conn.Close Set RS=nothing Set Conn= nothing CH NG XIV. ƯƠ M T S V N Đ NÂNG CAO. Ộ Ố Ấ Ề XIV.1 SECURITY XIV.2 CHUY N TÁC VÀ TRUY V N PHÂN TÁN Ể Ấ XIV.3 XML XIV.4 TÌM KI M FULL TEXT SEARCHẾ XIV.5 D CH V PHÂN TÍCH ANALYSIS SERVICESỊ Ụ XIV.6 DATABASE REPLICATE XIV.7 ENGLISH QUERY

Các file đính kèm theo tài liệu này:

  • pdfGiaotrinhhequantricosodulieuMSSQLServer2000.pdf