1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo Trình SQL Server 2000 doc

61 174 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 868,21 KB

Nội dung

HC SQL SERVER 2000 1 http://ebooks.vdcmedia.com MC LC Overview of SQL Server 2000 2 Transact SQL 7 Backup And Restore SQL Server 24 Stored Procedure and Advanced T-SQL 41 Triggers And Views 51 HC SQL SERVER 2000 2 http://ebooks.vdcmedia.com Overview of SQL Server 2000 Ð đc và hiu bài vit này bn phi có kin thc cn bn v SQL và Access Database Gii Thiu SQL Server 2000 SQL Server 2000 là mt h thng qun lý c s d liu (Relational Database Management System (RDBMS) ) s dng Transact-SQL đ trao đi d liu gia Client computer và SQL Server computer. Mt RDBMS bao gm databases, database engine và các ng dng dùng đ qun lý d liu và các b phn khác nhau trong RDBMS. SQL Server 2000 đc ti u đ có th chy trên môi trng c s d liu rt ln (Very Large Database Environment) lên đn Tera-Byte và có th phc v cùng lúc cho hàng ngàn user. SQL Server 2000 có th kt hp "n ý" vi các server khác nh Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server SQL Server có 7 editions: • Enterprise : Cha đy đ các đc trng ca SQL Server và có th chy tt trên h thng lên đn 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dch v giúp cho vic phân tích d liu rt hiu qu (Analysis Services) • Standard : Rt thích hp cho các công ty va và nh vì giá thành r hn nhiu so vi Enterprise Edition, nhng li b gii hn mt s chc nng cao cp (advanced features) khác, edition này có th chy tt trên h thng lên đn 4 CPU và 2 GB RAM. • Personal: đc ti u hóa đ chy trên PC nên có th cài đt trên hu ht các phiên bn windows k c Windows 98. • Developer : Có đy đ các tính nng ca Enterprise Edition nhng đc ch to đc bit nh gii hn s lng ngi kt ni vào Server cùng mt lúc Ðây là edition mà các bn mun hc SQL Server cn có. Chúng ta s dùng edition này trong sut khóa hc. Edition này có th cài trên Windows 2000 Professional hay Win NT Workstation. • Desktop Engine (MSDE): Ðây ch là mt engine chy trên desktop và không có user interface (giao din). Thích hp cho vic trin khai ng dng  máy client. Kích thc database b gii hn khong 2 GB. HC SQL SERVER 2000 3 http://ebooks.vdcmedia.com • Win CE : Dùng cho các ng dng chy trên Windows CE • Trial: Có các tính nng ca Enterprise Edition, download free, nhng gii hn thi gian s dng. Cài Ðt SQL Server 2000 (Installation) Các bn cn có Developer Edition và ít nht là 64 MB RAM, 500 MB hard disk đ có th install SQL Server. Bn có th install trên Windows Server hay Windows XP Professional, Windows 2000 Professional hay NT Workstation nhng không th install trên Win 98 family. Vì mt trong nhng đc đim ca các sn phm Microsoft là d install nên chúng tôi không trình bày chi tit v cách install hay các bc install mà ch trình bày các đim cn lu ý khi install mà thôi. Nu các bn gp tr ngi trong vic install thì có th đa lên forum đ hi thêm. Khi install bn cn lu ý các đim sau:  màn hình th hai bn chn Install Database Server. Sau khi install xong SQL Server bn có th install thêm Analysis Service nu bn thích.  màn hình Installation Definition bn chn Server and Client Tools. Sau đó bn nên chn kiu Custom và chn tt c các b phn ca SQL Server. Ngoài ra nên chn các giá tr mc đnh (default)  màn hình Authentication Mode nh chn Mixed Mode . Lu ý vì SQL Server có th dùng chung ch đ bo mt (security) vi Win NT và cng có th dùng ch đ bo mt riêng ca nó. Trong Production Server ngi ta thng dùng Windows Authetication vì đ an toàn cao hn và d dàng cho ngi qun lý mng và c cho ngi s dng. Ngha là mt khi bn đc chp nhn (authenticated) kt ni vào domain thì bn có quyn truy cp d liu (access data) trong SQL Server. Tuy nhiên ta nên chn Mixed Mode đ d dàng cho vic hc tp. Sau khi install bn s thy mt icon nm  góc phi bên di màn hình, đây chính là Service Manager. Bn có th Start, Stop các SQL Server services d dàng bng cách double-click vào icon này. Mt chút kin thc v các Version ca SQL Server SQL Server ca Microsoft đc th trng chp nhn rng rãi k t version 6.5. Sau đó Microsoft đã ci tin và hu nh vit li mt engine mi cho SQL Server 7.0. Cho nên có th nói t version 6.5 lên version 7.0 là mt bc nhy vt. Có mt s đc tính ca SQL Server 7.0 không tng thích vi version 6.5. Trong khi HC SQL SERVER 2000 4 http://ebooks.vdcmedia.com đó t Version 7.0 lên version 8.0 (SQL Server 2000) thì nhng ci tin ch yu là m rng các tính nng v web và làm cho SQL Server 2000 đáng tin cy hn. Mt đim đc bit đáng lu ý  version 2000 là Multiple-Instance. Nói cho d hiu là bn có th install version 2000 chung vi các version trc mà không cn phi uninstall chúng. Ngha là bn có th chy song song version 6.5 hoc 7.0 vi version 2000 trên cùng mt máy (điu này không th xy ra vi các version trc đây). Khi đó version c trên máy bn là Default Instance còn version 2000 mi va install s là Named Instance. Các thành phn quan trng trong SQL Server 2000 SQL Server 2000 đc cu to bi nhiu thành phn nh Relational Database Engine, Analysis Service và English Query Các thành phn này khi phi hp vi nhau to thành mt gii pháp hoàn chnh giúp cho vic lu tr và phân tích d liu mt cách d dàng. Relational Database Engine - Cái lõi ca SQL Server: Ðây là mt engine có kh nng cha data  các quy mô khác nhau di dng table và support tt c các kiu kt ni (data connection) thông dng ca Microsoft nh ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). Ngoài ra nó còn có kh nng t điu chnh (tune up) ví d HC SQL SERVER 2000 5 http://ebooks.vdcmedia.com nh s dng thêm các tài nguyên (resource) ca máy khi cn và tr li tài nguyên cho h điu hành khi mt user log off. Replication - C ch to bn sao (Replica): Gi s bn có mt database dùng đ cha d liu đc các ng dng thng xuyên cp nht. Mt ngày đp tri bn mun có mt cái database ging y ht nh th trên mt server khác đ chy báo cáo (report database) (cách làm này thng dùng đ tránh nh hng đn performance ca server chính). Vn đ là report server ca bn cng cn phi đc cp nht thng xuyên đ đm bo tính chính xác ca các báo cáo. Bn không th dùng c ch back up and restore trong trng hp này. Th thì bn phi làm sao? Lúc đó c ch replication ca SQL Server s đc s dng đ bo đm cho d liu  2 database đc đng b (synchronized). Replication s đc bàn k trong bài 12 Data Transformation Service (DTS) - Mt dch v chuyn dch data vô cùng hiu qu Nu bn làm vic trong mt công ty ln trong đó data đc cha trong nhiu ni khác nhau và  các dng khác nhau c th nh cha trong Oracle, DB2 (ca IBM), SQL Server, Microsoft Access Bn chc chn s có nhu cu di chuyn data gia các server này (migrate hay transfer) và không ch di chuyn bn còn mun đnh dng (format) nó trc khi lu vào database khác, khi đó bn s thy DTS giúp bn gii quyt công vic trên d dàng nh th nào. DTS s đc bàn k trong bài 8. Analysis Service - Mt dch v phân tích d liu rt hay ca Microsoft D liu (Data) cha trong database s chng có ý ngha gì nhiu nu nh bn không th ly đc nhng thông tin (Information) b ích t đó. Do đó Microsoft cung cp cho bn mt công c rt mnh giúp cho vic phân tích d liu tr nên d dàng và hiu qu bng cách dùng khái nim hình khi nhiu chiu (multi- dimension cubes) và k thut "đào m d liu" (data mining) s đc chúng tôi gii thiu trong bài 13. English Query - Mt dch v mà ngi Vit Nam chc là ít mun dùng :-) (?) Ðây là mt dch v giúp cho vic query data bng ting Anh "trn" (plain English). Meta Data Service: Dch v này giúp cho vic cha đng và "xào nu" Meta data d dàng hn. Th thì Meta Data là cái gì vy? Meta data là nhng thông tin mô t v cu trúc ca data trong database nh data thuc loi nào String hay Integer , mt ct nào HC SQL SERVER 2000 6 http://ebooks.vdcmedia.com đó có phi là Primary key hay không Bi vì nhng thông tin này cng đc cha trong database nên cng là mt dng data nhng đ phân bit vi data "chính thng" ngi ta gi nó là Meta Data. Phn này chc là bn phi xem thêm trong mt thành phn khác ca SQL Server sp gii thiu sau đây là SQL Server Books Online vì không có bài nào trong lot bài này nói rõ v dch v này c. SQL Server Books Online - Quyn Kinh Thánh không th thiu: Cho dù bn có đc các sách khác nhau dy v SQL server thì bn cng s thy books online này rt hu dng và không th thiu đc( cho nên Microsoft mi hào phóng đính kèm theo SQL Server). SQL Server Tools - Ðây là mt b đ ngh ca ngi qun tr c s d liu (DBA ) Ái chà nu k chi tit ra thì hi nhiu đy cho nên bn cn đc thêm trong books online.  đây ngi vit ch k ra mt vài công c thông dng mà thôi. ̇ Ðu tiên phi k đn Enterprise Manager. Ðây là mt công c cho ta thy toàn cnh h thng c s d liu mt cách rt trc quan. Nó rt hu ích đc bit cho ngi mi hc và không thông tho lm v SQL. ̇ K đn là Query Analyzer. Ði vi mt DBA gii thì hu nh ch cn công c này là có th qun lý c mt h thng database mà không cn đn nhng th khác. Ðây là mt môi trng làm vic khá tt vì ta có th đánh bt k câu lnh SQL nào và chy ngay lp tc đc bit là nó giúp cho ta debug my cái stored procedure d dàng. ̇ Công c th ba cn phi k đn là SQL Profiler. Nó có kh nng "chp" (capture) tt c các s kin hay hot đng din ra trên mt SQL server và lu li di dng text file rt hu dng trong vic kim soát hot đng ca SQL Server. ̇ Ngoài mt s công c trc quan nh trên chúng ta cng thng hay dùng osql và bcp (bulk copy) trong command prompt. Tóm li trong bài này chúng ta đã do qua mt vòng đ tìm hiu v SQL Server. Trong bài sau chúng ta cng s tip tc do chi thêm mt chút vi Transact- SQL trc khi đi sâu vào các đ tài khác. HC SQL SERVER 2000 7 http://ebooks.vdcmedia.com Transact SQL Gii Thiu S Lc V Transact SQL (T-SQL) Transact-SQL là ngôn ng SQL m rng da trên SQL chun ca ISO (International Organization for Standardization) và ANSI (American National Standards Institute) đc s dng trong SQL Server khác vi P-SQL (Procedural- SQL) dùng trong Oracle. Trong bài này chúng ta s tìm hiu s qua v T-SQL. Chúng đc chia làm 3 nhóm: Data Definition Language (DDL): Ðây là nhng lnh dùng đ qun lý các thuc tính ca mt database nh đnh ngha các hàng hoc ct ca mt table, hay v trí data file ca mt database thng có dng • Create object_Name • Alter object_Name • Drop object_Name Trong đó object_Name có th là mt table, view, stored procedure, indexes Ví d: Lnh Create sau s to ra mt table tên Importers vi 3 ct CompanyID,CompanyName,Contact USE Northwind CREATE TABLE Importers( CompanyID int NOT NULL, CompanyName varchar(40) NOT NULL, Contact varchar(40) NOT NULL ) Lnh Alter sau đây cho phép ta thay đi đnh ngha ca mt table nh thêm(hay bt) mt ct hay mt Constraint Trong ví d này ta s thêm ct ContactTitle vào table Importers USE Northwind HC SQL SERVER 2000 8 http://ebooks.vdcmedia.com ALTER TABLE Importers ADD ContactTitle varchar(20) NULL Lnh Drop sau đây s hoàn toàn xóa table khi database ngha là c đnh ngha ca table và data bên trong table đu bin mt (khác vi lnh Delete ch xóa data nhng table vn tn ti). USE Northwind DROP TABLE Importers Data Control Language (DCL): Ðây là nhng lnh qun lý các quyn truy cp lên tng object (table, view, stored procedure ). Thng có dng sau: • Grant • Revoke • Deny Ví d: Lnh sau s cho phép user trong Public Role đc quyn Select đi vi table Customer trong database Northwind (Role là mt khái nim ging nh Windows Group s đc bàn k trong phn Security) USE Northwind GRANT SELECT ON Customers TO PUBLIC Lnh sau s t chi quyn Select đi vi table Customer trong database Northwind ca các user trong Public Role USE Northwind DENY SELECT ON Customers TO PUBLIC Lnh sau s xóa b tác dng ca các quyn đc cho phép hay t chi trc đó USE Northwind REVOKE SELECT ON Customers TO PUBLIC HC SQL SERVER 2000 9 http://ebooks.vdcmedia.com Data Manipulation Language (DML): Ðây là nhng lnh ph bin dùng đ x lý data nh Select, Update, Insert, Delete Ví d: Select USE Northwind SELECT CustomerID, CompanyName, ContactName FROM Customers WHERE (CustomerID = 'alfki' OR CustomerID = 'anatr') ORDER BY ContactName Insert USE Northwind INSERT INTO Territories VALUES (98101, 'Seattle', 2) Update USE Northwind UPDATE Territories SET TerritoryDescription = 'Downtown Seattle' WHERE TerritoryID = 98101 Delete USE Northwind DELETE FROM Territories WHERE TerritoryID = 98101 Vì phn này khá cn bn nên chúng tôi thit ngh không cn gii thích nhiu. Chú ý trong lnh Delete bn có th có ch From hay không đu đc. Nhng mà chúng ta s chy th các ví d trên  đâu? Ð chy các câu lnh thí d  trên bn cn s dng và làm quen vi Query Analyser HC SQL SERVER 2000 10 http://ebooks.vdcmedia.com Cú Pháp Ca T-SQL: Phn này chúng ta s bàn v các thành phn to nên cú pháp ca T-SQL Identifiers Ðây chính là tên ca các database object. Nó dùng đ xác đnh mt object. (Chú ý khi nói đn Object trong SQL Server là chúng ta mun đ cp đn table, view, stored procedure, index Vì hu nh mi th trong SQL Server đu đc thit k theo kiu hng đi tng (object-oriented)). Trong ví d sau TableX, KeyCol, Description là nhng identifiers CREATE TABLE TableX (KeyCol INT PRIMARY KEY, Description NVARCHAR(80)) Có hai loi Identifiers mt loi thông thng (Regular Identifier) và mt loi gi là Delimited Identifier, loi này cn có du "" hay du [] đ ngn cách. Loi Delimited đc dùng đi vi các ch trùng vi t khóa ca SQL Server (reserved keyword) hay các ch có khong trng. [...]... là m t l nh trong T -SQL Tóm l i trong ph n này chúng ta ã tìm hi u v Transact- SQL là ngôn ng chính giao ti p v i SQL Server Trong bài sau chúng ta s ti p t c bàn v c u trúc bên trong c a SQL Server http://ebooks.vdcmedia.com H C SQL SERVER 2000 13 Design and Implement a SQL Server Database C u Trúc C a SQL Server Nh ã trình bày các bài tr c m t trong nh ng c i m c a SQL Server 2000 là Multiple-Instance... PubCountry 1 Inside SQL Server 2000 Microsoft Press CA Berkely USA 2 Windows 2000 Server MA Boston USA 3 Beginning Visual Basic Wrox 6.0 CA Berkely USA New Riders Ta nên tách ra thành table Books và table Publisher nh sau: Books BookID Title PublisherID 1 Inside SQL Server 2000 P1 2 Windows 2000 Server P2 3 Beginning Visual Basic 6.0 P3 http://ebooks.vdcmedia.com H C SQL SERVER 2000 21 và Publishers... file SQL Server hoàn toàn có y c s vi t vào d a c ng Còn transaction 3 và 5 thì ch a c commited (do b down b t ng ) cho nên SQL Server s roll back hai transaction này d a trên nh ng gì c ghi trên log file C u Trúc Logic C a M t SQL Server Database H u nh m i th trong SQL Server c t ch c thành nh ng objects ví d nh tables, views, stored procedures, indexes, constraints Nh ng system objects trong SQL Server. .. sau c vi t b i h n m t tác gi và nh th ta ch a data: Books BookID Title Authors 1 Inside SQL Server 2000 John Brown 2 Windows 2000 Server Matthew Bortniker, Rick Johnson 3 Beginning Visual Basic 6.0 Peter Wright, James Moon, John Brown hay Books BookID Title Author1 1 Inside SQL Server 2000 John Brown 2 Windows 2000 Server 3 Beginning Visual Basic Peter Wright 6.0 Matthew Bortniker Author2 Author3 Null... tiên SQL Server dành các Page trong Mixed Extent ch a data cho m t table sau ó khi data t ng tr ng thì SQL dành h n m t Uniform Extent cho table ó Nguyên T c Ho t Ð ng C a Transaction Log Trong SQL Server Transaction log file trong SQL Server dùng ghi l i các thay i x y ra trong database Quá trình này di n ra nh sau: u tiên khi có m t s thay i data nh Insert, Update, Delete c yêu c u t các ng d ng, SQL. .. Multiple-Instance nên khi nói n m t (SQL) Server nào ó là ta nói n m t Instance c a SQL Server 2000, thông th ng ó là Default Instance M t Instance c a SQL Server 2000 có 4 system databases và m t hay nhi u user database Các system databases bao g m: Master : Ch a t t c nh ng thông information) bao g m thông tin v th ng nh v trí c a các data files, t c u hình h th ng c a SQL settings) tin c p h th ng (system-level... nh SQL Th c thi m t câu l nh n: M t câu l nh SQL c phân ra thành các thành ph n cú pháp nh trên b i m t parser, sau ó SQL Optimizer (m t b ph n quan tr ng c a SQL Server) s phân tích và tìm cách th c thi (Execute Plan) t i u nh t ví d nh cách nào nhanh và t n ít tài nguyên c a máy nh t và sau ó SQL Server Engine s th c thi và tr v k t qu Th c Thi m t nhóm l nh (Batches) Khi th c thi m t nhóm l nh SQL. .. khác trong h các login account và các thi t Server (system configuration Tempdb : Ch a t t c nh ng table hay stored procedure ct m th i t o ra trong quá trình làm vi c b i user hay do b n thân SQL Server engine Các table hay stored procedure này s bi n m t khi kh i ng l i SQL Server hay khi ta disconnect Model : Database này cho các database khác thì SQL Server s copy procedures ) t Model óng vai trò... h n nh n u cu n sách có nhi u h n 3 tác gi thì chúng ta s g p phi n ph c ngay Trong ví d này ta nên ch t ra thành 3 table nh sau: http://ebooks.vdcmedia.com H C SQL SERVER 2000 22 Books BookID Title 1 Inside SQL Server 2000 2 Windows 2000 Server 3 Beginning Visual Basic 6.0 Authors AuthID First Name Last Name A1 John Brown A2 Matthew Bortniker A3 Rick Johnson A4 Peter Wright A5 James Moon AuthorBook... vi c c a SQL Server Do nó ph i th ng xuyên ki m tra xem có kho ng tr ng c n thi t hay không và n u không nó s ph i m r ng b ng cách dành thêm kho ng tr ng t d a c ng và chính quá trình này s làm ch m i ho t ng c a SQL Server Disk fragmentation : Vi c m r ng trên c ng s làm cho data không c liên t c mà ch a nhi u n i khác nhau trong d a c ng i u này c ng gây nh h ng lên t c làm vi c c a SQL Server Trong . HC SQL SERVER 2000 2 http://ebooks.vdcmedia.com Overview of SQL Server 2000 Ð đc và hiu bài vit này bn phi có kin thc cn bn v SQL và Access Database Gii Thiu SQL Server 2000 SQL. HC SQL SERVER 2000 1 http://ebooks.vdcmedia.com MC LC Overview of SQL Server 2000 2 Transact SQL 7 Backup And Restore SQL Server 24 Stored Procedure and Advanced T -SQL 41. HC SQL SERVER 2000 13 http://ebooks.vdcmedia.com Design and Implement a SQL Server Database Cu Trúc Ca SQL Server Nh đã trình bày  các bài trc mt trong nhng đc đim ca SQL Server

Ngày đăng: 29/07/2014, 17:20

w