Tải bản đầy đủ (.doc) (34 trang)

TỔNG QUAN SQL SERVER 7.0 & 2000

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (444.71 KB, 34 trang )

TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ
TỔNG QUAN SQL SERVER 7.0 & 2000
CÂU LỆNH CHUẨN VỀ SQL
Mục lục
i
1. Giới thiệu cài đặt và quản trị Sql Server 7.0 & 2000 1
2. Câu lệnh chuẩn về SQL 17
ii
1.Giới thiệu cài đặt và quản trị Sql Server 7.0 & 2000
1.1. Tổng quan về Sql server
Những năm 1970, hãng IBM đã phát minh ra ngôn ngữ máy tính được thiết kế đặc biệt
dùng cho việc truy vấn cơ sơ dữ liệu được gọi là SEQUEL (Structured English Query
Language). Theo thời gian, ngôn ngữ này đã được bổ sung dần đến mức nó không chỉ là
một ngôn ngữ dùng cho truy vấn mà còn có thể tạo ra các cơ sơ dữ liệu và quản lý tính
năng bảo vệ hệ thống cơ sở dữ liệu. IBM đã công bố SEQUEL rộng rãi, và nó được biết
đến với tên gọi SQL. Do đó bạn có thể gọi là sequel hay đánh vần nó thành S-Q-L. Có
nhiều phiên bản khác nhau của SQL được dùng cho các hệ thống cơ sở dữ liệu hiện nay.
SQL Server của Microsoft đang dùng phiên bản Transact-SQL, hay T-SQL, thay cho
Transaction SQL.
Bạn có thể cài đặt SQL Serrver 7.0 trên hệ thống Win9x, nhưng khi đó không đảm bảo
các tính năng an toàn về CSDL và hiệu suất của SQL Server bị giảm khi thêm nhiều
người sử dụng.
SQL Server 7.0 có vai trò như một dịch vụ (Service) trên Workstation cũng như trên NT
Server và có vai trò như một ứng dụng (aplication) trên Window 9x.
(Service là một ứng dụng mà có thể thực thi ngay khi NT khởi động, nó bổ sung tính năng
cho phần Server của NT)
SQL Server sử dụng cơ sở dữ liệu (CSDL) quan hệ (Relational Database). Ðây là dữ liệu
mà bên trong nó được tổ chức thành các bảng, các bảng này là các nhóm dữ liệu cùng
chủ đề và có chứa các hàng các cột thông tin. Sau đó các bảng này lại liên hệ với nhau
bởi bộ Database Engine khi có yêu cầu.
Là một hệ quản trị CSDL theo mô hình Client/Server, SQL Server có đầy đủ các chức về


việc xây dựng quản trị các CSDL. Điều hành cơ sở dữ liệu toàn xí nghiệp, quản trị kho
lưu trữ dữ liệu, quản trị các tài khoản người dùng, quản trị các quyền truy nhập hệ thống,
xử lý thông báo cảnh giác của hệ phục vụ và lên lịch công việc, sao lặp, kết nối mạng….
Ngoài ra, SQL còn hỗ trợ xây dựng các kho dữ liệu (Data Warehouse), truy vấn dữ liệu
băng ngôn ngữ tự nhiên (English Query), kết xuất dữ liệu lên web.
1.1.1. Mô hình cơ sở dữ liệu Client/Server
SQL Server là hệ quản trị cơ sở dữ liệu theo mô hình client/server. Phân chia công việc
giữa client và server như sau:
1.1.1.1. Client side
- Phải xác định thông tin cần server cung cấp trước khi yêu cầu đến server.
- Có trách nhiệm hiển thị toàn bộ thông tin cho user.
- Phải làm việc với các result set (tập kết quả) hơn là làm việc trực tiếp trên các
bảng của database.
- Phải làm mọi thao tác xử lý dữ liệu.
- Cung cấp tất cả định dạng của dữ liệu và thông tin cần thiết để tạo report.
1.1.1.2. Server side
- Database engine đảm nhận nhiệm vụ lưu trữ (storage), cập nhật (update) và
cung cấp (retrieval) thông tin trong hệ thống.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 1 / 34
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
- Tạo tập kết quả (result set) theo yêu cầu của ứng dụng client.
- Không có giao diện người dùng (user interface). Tự thân SQL Server là không
có giao diện người dùng, ngoại trừ một số tool giúp admin quản trị hệ thống.
- Hoàn toàn độc lập với các ứng dụng client.
- Không chịu trách nhiệm việc hiển thị thông tin cho người dùng từ các kết quả
thực thi các query.
1.1.2. Làm việc với SQL Server

Client làm việc với SQL Server thông qua 3 phương thức: DB-Library, ODBC, SQL
OLE.
1.1.2.1. DB-Library Interface
DB-Library Interface hoặc gọi tắt DB-LIB là một thư viện API cho các ngôn ngữ lập
trình làm việc trực tiếp với SQL Server. Để sử dụng DB-LIB cần include nhưng file
sau đây vào project: SQLBD.H, SQLFRONT.H hoặc VBSQL.OCX , VBSQL.BAS.
1.1.2.2. Open database connectivity (ODBC)
ODBC là một giao diện lập trình cho phép ứng dụng có thể truy xuất dữ kiệu từ các
hệ quản trị cơ sở dữ liệu sử dụng SQL như là phương thức chuẩn để truy xuất dữ
liệu.
Mỗi loại database engin (hệ quản trị csdl) có một ODBC driver tương ứng. Database
kết hợp với ODBC driver tương ứng cho nó được gọi là Data Source Name (DSN).
Ứng dụng muốn làm việc với ODBC trước hết phải mở một connection dến ODBC,
trong đó cần khai báo DSN, UserID và Password.
Web server là client của SQL Server cho dù cùng chạy trên một hệ thống. Các ứng
dụng Web đều truy xuất database thông qua ODBC, ADO là một ví dụ, các ngôn
ngữ lập trình thường dùng ODBC(ADO) để truy xuất SQL Server.
1.1.2.3. SQL OLE Interface
SQL OLE interface là công cụ phát triển mới cho các nhà phát triển ứng dụng dựa
trên SQL Server theo tiếp cận hướng đối tượng. SQL OLE interface cho phép ta làm
việc với SQL Server thông qua sư dụng các object, method bà collection của
database làm việc.
Bằng cách include Type Library (TLB) vào trong môi trường ứng dụng, ta có thể sử
dụng các đối tượng OLE automation để làm việc voéi SQL Server. TLB cho các úng
dụng Visual Basic là SQLOLE32.TLB.
1.1.3. Ðối tượng của cơ sở dữ liệu SQL Server
1.1.3.1. Table (Bảng)
Là những đối tượng chứa các kiểu dữ liệu và các dữ liệu thô thực sự.
1.1.3.2. Field (Trường) hay Colunmn (Cột)
Ðây là các thành phần của bảng dùng để chứa dữ liệu. Cột cần phải gán một kiểu

dữ liệu nào đó và có tên duy nhất.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 2 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
1.1.3.3. Data types (Kiểu dữ liệu)
Có nhiều kiểu dữ liệu khác nhau để chọn, như kiểu kí tự (character), số (numeric),
nagỳ tháng (date), và các kiểu dữ liệu khác. Một kiểu dữ liệu sẽ được gán cho một
trường nào đó bên trong bảng.
1.1.3.4. Stored Proceder
Tương tự như Macro mà trong đó mã Transact-SQL có thể được viết và lưu trữ
dưới một tên gọi. Khi chạy đối tượng này tức là đang chạy mã Transact-SQL đó.
1.1.3.5. Trigger
Là một Stored Procedure hoạt động khi dữ liệu được thêm vào, chỉnh sửa hay được
xoá từ một CSDL.
1.1.3.6. Ruler
Ðảm bảo cho dữ liệu đưa vào phải phù hợp với tiêu chuẩn đã đặt ra.
1.1.3.7. Role
Các quyền sử dụng. (Các quyền sử dụng của role máy chủ cố định là: sysadmin,
serveradmin, setupadmin, securityadmin, processadmin, dbcreator, disdadmin . Các
role cơ sở dữ liệu cố định (mỗi cơ sở dữ liệu cũng có những role cố đinh: db_owner,
db_accesadmin, ) .Các lệnh thực hiện trao quyền và thu thồi quyền: GRANT,
REVOKE, DENY.
1.1.3.8. Contraints
Là cơ chế nhằm đảm bảo tính toàn vẹn dữ liệu, phụ thuộc vào hệ thống và server.
1.1.3.9. Primary Key (Khoá chính)
Không phải là một đối tượng trong CSDL, các khoá là tối cần thiết cho CSDL quan
hệ. Các khoá chính bắt buộc phải duy nhất trong các hàng, cung cấp cách xác định
duy nhất các mục bạn muốn lưu giữ.

1.1.3.10. Foreign Key (Khóa ngoại)
Cũng không phải là một đối tượng trong cơ sở dữ liệu, một khoá ngoại là các cột
tham chiếu đến khoá chính hay các ràng buộc duy nhất của một bảng khác. SQL
Server sử dụng khoá chính và khoá ngoại để liên hệ dữ liệu với nhau từ các bảng
riêng biệt khi một câu truy vấn được thực hiện.
1.1.3.11. Defaults (Mặc định)
Một mặc định có thể xác lập một trường sao cho nếu không có dữ liệu nào được
đưa vào thì giá trị mặc định của bạn.
1.1.3.12. Views
Một view về cơ bản là một câu truy vấn được lưu trữ trong cơ sở dữ liệu có thể
tham chiếu đến một hay nhiều bảng. Nó được tạo ra vào lưu trữ lại sao cho có thể
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 3 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
dùng dễ dàng về sau. Một view thường chứa một số cột được lấy từ một bảng hay
từ một liên kết hai hay nhiều bảng.
1.1.3.13. Index (Chỉ mục)
Chỉ mục là một cách tổ chức dữ liệu đẩy nhanh quá trình truy vấn.
1.2. Cài đặt Sql Server 7.0
Có các loại SQL Server :
1.2.1. Phiên bản chuẩn:
Cung cấp toàn bộ chức năng và chạy trên máy có hệ điều hành WinNT Server
4.0.Phiên bản này hỗ trợ tới 4 CPU và RAM là 2GB.
1.2.2. Phiên bản dùng cho xí nghiệp:
Dùng để cài đặt vào máy có cấu hình cao, cung cấp những tính năng mới như hỗ
trợ bộ nhớ lớn, có tính năng khả dụng cao, hỗ trợ tới 32 CPU.
1.2.3. Phiên bản dùng cho doanh nghiệp nhỏ:
Thường giới hạn 50 người sử dụng. Hổ trợ 4 bộ xử lý, Ram 2GB.

1.2.4. Phiên bản DESTOP:
- Phiên bản này có thể chạy trên Win 9X, Win NT Wortation4.0 hoặc mới hơn. Nó
có thể hỗ trợ một số người sử dụng (dưới 10 người). Kích thước CSDL không
bị hạn chế. Nhưng có một số hạn chế nếu cài SQL Server trên Win 9x:
- Các thư viện mạng không được hỗ trợ
- Tính an toàn tích hợp không khả dụng
- Mã hoá giao thức phía Server không được hỗ trợ
- Không có sẵn đầu vào, đầu ra đồng bộ hay phân tán hoặc tập trung.
- Các thành phần SQL Server không hoạt động như các dịch vụ vì Win không hỗ
trợ dịch vụ. Các thành phần này chỉ chạy như ứng dụng. Không có bộ giám sát
hiệu suất và bộ hiển thị sự kiện.
1.3. Yêu cầu hệ thống của Sql Server 7.0
Phần cứng: Ram 64 MB, đĩa cứng tối thiểu là 64MB, cài đặt đầy đủ là 180MB. Tốc
độ tối thiểu của CPU 166 MHz
Hệ thống file: nên chọn NTFS vì nó an toàn đáng tin cậy, có thể tạo CSDL nhanh
hơn và có một số tính năng mới khiến hệ thống file này trở thành sự lựa chọn tốt
nhất.
Quyền hạn: có các loại như
Quyền hạn cho mỗi máy: đòi hỏi phải mua một giấy phép cho mỗi máy truy cấp SQL
Server. Tuy nhiện, sau khi đã mua được giấy phép này, bạn có thể kết nối với một
số SQL server trên mạng của mình. Bạn cũng có quyền cài đặt phiên bả Desktop
cục bộ của SQL Server cho từng quyền hạn cho mỗi máy.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 4 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Quyền hạn cho mỗi máy chủ: Mỗi máy chủ SQL Server phải có một giấy phép, nếu
có 200 máy trong cơ quan nhưng chỉ có 50 máy kết nối với SQL Server thì có thể
mua 50 giấy phép thay vì 200 giấy phép.

Quyền hạn cho bộ kết nối Internet: dành cho SQL Server kết nối từ Internet, phải trả
lệ phí mua mỗi bộ xử lý cho Server được kết nối với Internet. Khi trả khoản lệ phí cố
định bạn có số lượng người sử dụng không giới hạn. Lưu ý không sử dụng quyền
này cho mạng cục bộ. Ðối với mạng cục bộ phải mua giấy phép cho mỗi máy hay
cho mỗi máy chủ
Mẹo: Phiên bản Desktop có thể chạy trên mọi máy tính được hỗ trợ Win 9x Win NT
Workstation, Win NT Server và thậm chí cả phiên bản dành cho xí nghiệp của Win
NT Server.
1.3.1. Các thành phần chọn khi cài đặt:
1.3.1.1. Thành phần máy chủ:
- SQL Server (MSSQL Server): Ðây là động cơ cơ sở dữ liệu lõi và các dịch vụ hổ
trợ quản lý (SQL Server Agent).
- Upgrade Tools: Phần hỗ trợ nâng cấp các phiên bản khác nhau của SQL Server.
- Replication Support: Hỗ trợ sử dụng bản sao (nhân bản) dữ liệu.
- Full text seach: Khả năng sử dụng công nghệ từ Microsoft Index Server: để xây
dựng các chỉ mục trên CSDL nguyên bản.
1.3.2. Công cụ quản lý(Management Tools)
- Enterprise Manager: Ðây là giao diện quản lý đồ hoạ để phát triển và quản trị
của SQL Server.
- Profiler: công cụ giám sát các hoạt động của SQL Server , bao gồm các truy
vấn.
- Query Analyzer: Ðây là công cụ để nhập và chạy các câu lệnh Transact-SQL.
- DTC Client Support: Ðây là bộ giao tiếp quản lý DTC.
- Conflict Viewer Support: Ðây là Wizard Conflict Resolution dùng cho nhân bản
kết hợp.
- Client Connectivity: là tập hợp các thành phần cho phép giao tiếp với SQL
Server, bao gồm ODBC,OLEDB và DB_library.
- Books Online: Tạo books Online trên ổ đĩa cứng cục bộ.
1.3.3. Công cụ phát triển:
- Header and Library: bao gồm các file thư viện cho C/C++ cần để phát triển các

chương trình SQL Server.
- Debugger Interface: cho phép các thành phần Visual Studio của Microsoft gỡ rối
các chương trình được lưu trữ.
- Backup/Restore API: gồm các chương trình mẫu, các file C/C++ cần thiết và tài
liẹu về cách tạo chương trình sao lưu và lưu trữ.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 5 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
1.3.3.1. Code Sample:
- ADO: gồm ví dụ lập trình cho ActiveX Data Object
- DBLIB: gồm các ví dụ lập trình cho API , được hỗ trợ nhằm tương thích ngược.
- DTS: gồm các ví dụ lập trình cho các dịch vụ biến đổi cơ sở dữ liệu.
- ESQLC: gồm các ví dụ lập trình Embedded SQL theo ngôn ngữ lập trình C.
- MSDTC: gồm các ví dụ lập trình Microsft Distribute Transaction Coordinator.
- ODBC: gồm ví dụ lập trình API về lập trình ODBC trong SQL Server.
- ODS: gồm ví dụ lập trình API của các diịch vụ dl mở.dành cho SQL Server.
- OLE Automation: gồm ví dụ lập trình hỗ trợ OLE Automationdành cho SQL
Server.
- Replication: gồm ví dụ lập trình nhân bản của SQL Server.
- SQLDEMO: gồm ví dụ lập trình dùng giao diện lập trình quản trị của SQL
Distributed Management object.
- SQLNS: gồm ví dụ lập trình dùng giao diện lập trình quản trị của SQL
NameSpace.
1.3.4. Chỉ cài đặt các công cụ máy khách:
Thực hiện cách này bằng cách không chọn Server Components
1.3.5. Charter set/Sort Order/Unicode Collation
SQL 7.0 trở lên hỗ trợ một số kiểu dữ liệu Unicode là nchar, nvarchar, ntext, với
bảng mã ngầm định (1252), và hổ trợ bảng mã (1258) cho ngôn ngữ Viêt nam

Ngoài ra ta cũng có thể cấu hình cho bốn thuộc tính hợp lí khác:
- Case Insensivetive: Nếu đã chọn (default) bạn sẽ có được cách sắp xếp không
nhạy kiểu chữ (A và a được xem như nhau)
- Accent Insensitive: Nếu đã chọn các so sánh chữ e và é được xem như nhau.
- Width Insensitive: Nếu chọn (default) nhưng khác biệt về độ rộng của các ngôn
ngữ Châu á sẽ không được tính đến.
- Kana Insensitive: Nếu dã chọn (default) nhưng khác biệt về nhạy Kana sẽ bị bỏ
qua.
- Thư viện mạng: (các thư viện mạng được cài đặt mặc định là: Name Pipes,
Multipotocol, và các socket TCP/IP)
- Socket TCP/IP kết nối tới Server nhờ tính năng nối mạng qua các socket của
TCP/IP. Socket mặc định của SQL Server là 1433 cũng giống như socket duyệt
WWW là 80.
- Multiprotocol: hỗ trợ mọi phương thức truyền thông sẵn có giữa các máy tính
nhừ sử dụng remote procedure calls. Ðối với mọi môi trường an toàn thì đây là
tuỳ chọn hữu ích dùng để bảo vệ dữ liệu khi kết nối mạng.
- NWLink IPX/SPX sử dụng hỗ trợ môi trường Nowell thích hợp. Không nên sử
dụng tuỳ chọn này.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 6 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
- AppleTalk ADSP được sử dụng hỗ trợ liên lạc trên mạng nối các máy
Macintosh. Phải cài đặt trước khi thư viện này hoạt động.
- Banyon VINES: Sử dụng trong môi trường mạng Banyon VINES
1.3.6. Các dịch vụ của Sql Server
- MSSQLServer: Ðây chính là dịch vụ cơ sở dữ liệu. Khi bạn ngừng SQL Server
có nghĩa là bạ ngừng chạy dịch vụ MSQL Server.
- MQLServerAgent: Dịch vụ này cung cấp hỗ trợ cho những công việc được sắp

xếp theo lịch biểu, các cảnh báo lỗi, quản lý sự kiên và sao chép.
- MSQDTC: Dịch vụ này hỗ trợ các transaction phân phối qua nhiều máy chủ.
- Microsoft Search: Dịch vụ hỗ trợ việc lập chỉ mục các trường văn bản trong SQL
Server.
- MSSQLServerOLPService: Ðây là dịch vụ hỗ trợ cho Microsoft SQL Server
OLAP Service.
Các cơ sở dữ liệu mặc định của SQL Server: Sau khi cài SQL Server các cơ sở dữ
liệu sau được cài đặt: master, model, tempdb, msdb (là các cơ sở dữ liệu hệ thống)
pubs, và Northwind (là các cơ sở dữ liệu hệ thống).
Các Id đăng nhập mặc định của SQL Server
Ðăng nhập mặc định cho SQL Server là nhà quản trị hệ thống (sa _ System
Administrator).
1.4. Một số lưu ý khi cài đặt Sql Server 2000
Việc chọn các tham số tương tự như cài SQL Server 7.0:
SQL Server 2000 yêu cầu cao hơn về cả phần cứng lẫn phần mềm.
1.4.1.1. Ram
- Enterprise Edition: tối thiểu 64 MB, Ðề nghị nên dùng 128 MB
- Standard Edition: tối thiểu 64 MB
- Personal Edition: 64 MB cho Windows 2000, 32 MB Ðối với các hệ điều hành
khác.
- Developer Edition tối thiểu 64 MB
- Desktop Engine tối thiểu 64 MB đối với Windows 2000, 32 MB 32 MB Ðối với
các hệ điều hành khác.
1.4.1.2. Hard drive
- Database components 95 to 270 MB, 250 MB typical
- Analysis Services 50 MB minimum, 130 MB typical
- English Query 80 MB
- Desktop Engine only 44 MB
1.4.1.3. Software
SQL Server 2000 yêu cầu Internet Explorer 5.0 hoăc phiên bản mới hơn.

TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 7 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
SQL Server 2000 hổ trợ các hệ điều hành sau:
Các loại ấn bản
SQL Server Yêu cầu hệ điều hành
Enterprise Edition Microsoft Windows NT Server 4.0, Microsoft
Windows NT Server Enterprise Edition 4.0, Windows
2000 Server, Windows 2000 Advanced Server, và
Windows 2000 Data Center Server.
Standard Edition Microsoft Windows NT Server 4.0, Windows 2000
Server, Microsoft Windows NT Server Enterprise
Edition, Windows 2000 Advanced Server, và
Windows 2000 Data Center Server.
Personal Edition Microsoft Windows Me, Windows 98, Windows NT
Workstation 4.0, Windows 2000 Professional,
Microsoft Windows NT Server 4.0, Windows 2000
Server, và tất cả các hệ điều hành tiến bộ hơn
Windows.
Developer Edition Microsoft Windows NT Workstation 4.0, Windows
2000 Professional, and all other Windows NT and
Windows 2000 operating systems.
Client Tools Only Microsoft Windows NT 4.0, Windows 2000 (all
versions), Windows Me, and Windows 98.
Connectivity Only Microsoft Windows NT 4.0, Windows 2000 (all
versions), Windows Me, Windows 98, and Windows
95.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 8 / 31

Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
1.5. Sử dụng Sql Server
Tiện ích Service Manager: cho phép điều khiển các dịch vụ liên quan đến SQL
Server trên máy tính (hay bất kỳ máy tính SQL Server nào trong mạng). Nếu bạn tắt
tất cả các địch vụ này cũng đồng nghĩa bạn đã tắt SQL Server.
Hình 1: Dịch vụ của SQL.
1.5.1. Các tool quản trị và sử dụng SQL Server:
1.5.1.1. Enterprise Manager:
Là giao diện đồ hoạ chính dùng để phát triển và quản trị của SQL.
Khởi động Enterprise Manager:
Hinh 2
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 9 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
1.5.1.2. Đăng kí máy chủ:
Sau khi khởi động bản có thể đăng ký máy chủ. Nếu bạn đang làm việc với máy cài
SQL Server thì SQL Server cục bộ của bạn sẽ được đăng ký trong quá trình cài đặt.
Hình 3
Sau đó nhập tên máy tính (tên SQL Server), chọn chế độ an toàn của Windows NT
hoặc một tên đăng nhập của SQL Server.
Hình 4
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 10 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:

Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Hình 5
Sau khi đã kết nối với SQL Server màn hình làm việc của Enterprise Manager như
sau:
Hình 6
1.5.1.3. Tạo một CSDL mới:
Chọn New Database.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 11 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Hình 7
Sao lưu CSDL: Chọn Backup Database.
Phục hồi dữ liệu từ bản Backup: Chọn Restore Database.
Muốn copy cấu trúc của database đến một server khác chúng ta có thể tạo Script
bằng Wizard (xem hình 8) sau đó chạy script đó trên Server mới.
Chú ý: Khi tạo script phải lưu ý đến các user, group trước khi tạo.
Hình 8
Chọn Import Data để nhập dữ liệu, dữ liệu có thể từ các CSDL khác hoặc CSDL của
Hệ quản trị CSDL khác (như Access, Oracle ).
Tương tự, Export Data để xuất dữ liệu sang CSDL khác hoặc CSDL ở Hệ quản trị
CSDL khác.
Sau khi đã tạo CSDL để tạo các bảng trong CSDL công việc cũng tương tự như
trên:
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 12 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL

Hình 9
Chọn New Table để tạo bảng mới.
Tương tự đối việc tạo View, Diagrams (tạo quan hệ giữa các bản), user, role,
rules…của CSDL.
Minh hoạ tạo một user cho một CSDL:
Hình 10
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 13 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
User trên (trong ví dụ trên là “hqphong”) sử dụng login là “hqphong”. Tên logins này
phải được tạo từ trước hoặc là User của Windows NT. Cách tạo login xem trên hình
minh hoạ mục Security.
Bảo mật truy xuất dữ liệu trên SQL Server:
SQL Server có 2 chế độ bảo mật
- Windows NT only: Chế độ này sử dụng cơ chế kiểm tra của Windows NT
server cho tất cả connection. Kết nối mặc định thường là guest, kết nối với SA
nếu user là Administrator trên NT Server.
- Kết hợp SQL Server và Windows NT: trước tiên Windows NT sẽ kiểm tra xem
login name đã có thiết lập một kết nối uỷ thác nào hay không. Nếu không tìm
thấy kết nối uỷ thác nào thì sau đó SQL Server sẽ kiểm tra login name và
password. Nếu cũng không nhận biết login được yêu cầu trên Server, truy cập
bị từ chối.
Sau khi đã có login bạn chỉ mới được phép thiết lập một connection với SQL Server.
Tất cả login được lưu trữ trong bảng SYSLOGINS trong database MASTER).
Để truy cập được các đối tượng của Database cần phải tạo các users truy cập. Một
user có thể ở trong nhiều database, nhưng một một user phải có một login của
database mà nó được quyền truy xuất. Khi tạo một login thi bao giờ cũng tạo ra một
user của login đó trên database.

Ngoài cách tạo user, login bằng wizard có thể hàm hệ thống để tạo
Tạo login
Sp_addlogin login_id[,password[,defaultdb]]
Ví dụ: sp_addlogin dxhuyen, pppwww, nhansu
Tạo user
Sp_adduser login_id[,username[,groupname]]
Groupname là tên một nhóm mà user sẽ thuộc vào nhóm đó.
Ví dụ: exec sp_adduser dxhuyen, user_abc,quantri
Để loại bỏ một login hoặc user ta có thể sử dụng các hàm sp_droplogin hay
sp_dropuser với cú pháp sp_droplogin login_id và sp_dropuser username.
Sử dụng GROUP để quản lý các user:
Một nhóm bao gồm các user có quyền giống nhau, thay vì ta phải gán quyền riêng
cho từng user mỗi khi user đó được tạo, ta chỉ cần tạo nhóm và phân quyền cho
nhóm đó, nếu có thêm một user mới, thì khi tạo sẽ gắn nó với nhóm đã phân quyền.
Minh hoạ việc tạo một View mới:
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 14 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Hinh 11
Query Analyzer: là giao diện chính chạy các truy vấn Transact-SQL hoặc các thủ tục
được lưu trữ (*.sql). (Xem hinh 12)
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 15 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Hình 12
Trên đây là một vài hướng dẫn cơ bản về sử dụng SQL Server 7.0 & 2002. Ngoài ra

SQL cung cấp cho chúng ta các công cụ để lập lịch các công việc, đưa dữ liệu lên
Web… Do khuôn khổ của tài liệu chúng tôi chỉ đề cập những sử dụng cơ bản.
1.6. Tài liệu tham khảo
1. Nguyễn Văn Hoàng, Tự học SQL Server 7.0 trong 21 ngày, NXB Thống Kê,
2000.
2. Nguyễn Tiến, Đặng Xuân Hường, Nguyễn Văn Hoài, Giáo trình MCSE SQL
Server 6.5, NXB Giáo dục, 1998.
3. Book online của SQL Server 2000 (nằm trên bộ cài của SQL Server).
4. Trần Văn Tư, Nguyễn Ngọc Tuấn, Và nhón kỹ sư tin học ứng dụng, Mirosoft
SQL Server 2000 toàn tập, NXB Thống kê.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 16 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
2.Câu lệnh chuẩn về SQL
2.1. Giới thiệu:
Trong phần này sẽ trình bày tập lệnh SQL chuẩn tập SQL này được biên soạn theo các
nguyên tắc sau:
– Tối ưu trong thực hiện câu lệnh (thời gian và không gian truy xuất đĩa).
– Dễ chuyển đổi câu lệnh sang các các hệ quản trị cơ sở dữ liệu.
– Dùng nền tảng là SQL Server và Access.
Chú ý: Tối ưu câu lệnh SQL chỉ có ý nghĩa với những cơ sở dữ liệu tương đối lớn, và có
nhiều người dùng.
Một số vấn đề chính được đề cập trong phần này:
– Dùng ngôn ngữ SQL để thể hiện các phép toán,
– Thực hiện vài phép xử lý đơn giản với SQL,
– Thực hiện một số chức năng cơ bản của một hệ quản trị cơ sở dữ liệu bằng các
lệnh SQL.
Các tiêu chuẩn tối ưu: Trong tài liệu (3) chúng tôi đã trình bày cơ sở lý thuyết của các tiêu

chuẩn tối ưu. Trong tài liệu chúng tôi chỉ nêu lại các tiêu chuẩn tối ưu và đưa ra ví dụ
minh hoạ.
– Thực hiện các phép chiếu và chọn trước(chiếu trước chọn).
– Các phép toán có 2 quan hệ (2 ngôi) trở lên làm tiếp theo.
– Nếu có 2 phép chọn, chiếu trên 1 bảng thì nhóm lại để đỡ truy cập đến quan hệ
trên disk.
Mỗi phần chỉ trình bày tóm tắt câu lệnh nào nên dùng trong tình huống nào không đi sâu
vào giải thích chi tiết câu lệnh, bạn đọc có phần nào chưa rõ có thể tham khảo thêm các
tài liệu chi tiết của mỗi phần trong tập tài liệu mà chúng tôi kèm theo. (Gồm các tài liệu
sau: (1), ( 2), (3))
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 17 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Trong tài liệu này chúng tôi sử dụng thí dụ sau để minh hoạ cho các câu lệnh SQL.
Hàng_hoá
Mã_hàng Tên_hàng Màu Trọng_lượng Nước_sản_xuất
H01 Hàng 1 Ðỏ 500 Việt nam
H02 Hàng 2 Xanh 50 Trung quốc
H03 Hàng 1 Vàng 90 Nhật
H04 Hàng 3 Tía 100 Thái lan
H05 Hang 4 Ðỏ 200 Nga
H06 Hang 5 Ðỏ 150 Việt nam
Nhà_cung_cấp
Mã_nhà_cung
cấp
Tên_nhà_cung_cấp Ðịa_chỉ Ghi_chú
C01 Nhà cung cấp 1 Việt nam
C02 Nhà cung cấp 2 Trung quốc

C03 Nhà cung cấp 3 Nhật
C04 Nhà cung cấp 4 Thái lan
C05 Nhà cung cấp 5 Nga
C06 Nhà cung cấp 6 Việt nam
Xuất_hàng
Mã_nhà_cung_cấp Mã_hàng Ghi_chú
C01 H01
C02 H02
C03 H03
C04 H04
C05 H05
C02 H06
C02 H01
C02 H03
C02 H04
C02 H05
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 18 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Ngôn ngữ xử lý dữ liệu SQL gồm bốn lệnh là SELECT, để tìm dữ liệu, INSERT để tạo dữ
liệu, UPDATE để thay đổi dữ liệu và DELETE để loại bỏ dữ liệu. Phần đầu tiên sẽ giới
thiệu câu lệnh SELECT.
2.2. Tìm kiếm dữ liệu bằng SQL _ Câu lệnh SELECT
SELECT [DISTINCT] [TOP n]
Column_l ist | Hay * thể hiện tất cả Column
[INTO new_table]
FROM table_source
[WHERE search_condition]

[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]
Column_list yêu cầu phải viết tường minh tabble_name.column_name hoặc dùng alias
Ví dụ: Tìm 3 Tên hàng bất kỳ trong bảng hàng hoá
SELECT TOP 3 Hàng_hoá.Tên_hàng FROM Hàng_hóa;
SELECT TOP 3 Hh.Tên_hàng FROM Hàng_hóa AS Hh;
Kết quả:
Tên_hàng

Hàng 1
Hàng 2
Hàng 1
(3 row(s) affected)
Để loại trừ những bộ trùng lập nhau câu lệnh SQL cần thêm từ khoá DISTINCT.
SELECT DISTINCT TOP 3 Hh .Tên_hàng FROM Hàng_hóa AS Hh;
Kết quả:
Tên_hàng

Hàng 1
Hàng 2
Hàng 3
(3 row(s) affected)
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 19 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Câu điều kiện trong SELECT đứng sau WHERE thể hiện điều kiện hạn chế, lọc ra các bộ
thoả kiều kiện. Biểu thức điều kiện gồm các so sánh liên kết nhau bằng các phép logic

AND, OR hay NOT, các phép so sánh {<, >, !=, >=, <=}.
Ví dụ: Tìm những mặt hàng màu đỏ sản xuất tại Việt nam hoặc Nga
SELECT Hàng_hoá.Tên_hàng,Hàng_hoá.Nước_sản_xuất,Màu
FROM Hàng_hoá WHERE (Hàng_hoá.Màu ='Đỏ'
AND (Hàng_hoá.Nước_sản_xuất='Nga' OR Hàng_hoá.Nước_sản_xuất='Việt
nam'))
Tên_hàng Nước_sản_xuất

Hàng 1 Việt nam
Hàng 4 Nga
Hàng 5 Việt nam
(3 row(s) affected)
Trong trường hợp truy xuất dữ liệu từ nhiều bảng khác nhau thì phải áp dụng các chiến
thuật tối ưu như đã trình bày trong tài liệu (3). Tức là trong mệnh đề FROM nên dùng
Inner Join, Right Join, Left Join, hoặc các View hay Query chỉ dùng cách liêt kê các table
khi không thể dùng được các cách trên. (Để có thể hiểu rõ bản chất các phép Inner Join,
Right Join, Left Join… bạn có thể xem chi tiết trong tài liệu (3)).
Ví dụ: Tìm các nhà cung cấp ít nhất cung cấp hai mặt hàng màu đỏ có trọng lượng trên
20.
Câu lệnh SQL chưa tối ưu:
SELECT ncc.Tên_nhà_cung_cấp ,count(*) AS 'Số lần cung cấp'
FROM Nhà_cung_cấp AS ncc , Xuất_hàng AS xh, Hàng_hoá AS hh
WHERE xh.Mã_hàng = hh.Mã_hàng AND
xh.Mã_nhà_cung_cấp = ncc.Mã_nhà_cung_cấp and
hh.Trọng_lượng > 20 AND hh.Màu = 'Đỏ'
GROUP BY ncc.Tên_nhà_cung_cấp
HAVING COUNT(*)>= 2
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 20 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498

Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Kết quả:
Tên_nhà_cung_cấp Số lần cung cấp

Nhà cung cấp 2 3
(1 row(s) affected)
Các bạn có thể xem nguyên nhân chưa tối ưu trong tài liệu (3)
Câu lệnh trên nên sữa lại như sau:
- Tìm những mặt hàng thoã điều kiện màu đỏ và có trọng lượng trên 20 vào một
Query hoặc View (ViewX) (đã giới hạn lại không gian tìm kiếm)
- Sau đó thực hiện tìm nhà cung cấp thay vì dùng bảng Hàng_hoá nay dùng trên
ViewX vừa tạo ra.
Câu lệnh SQL đựơc viết lại tối ưu hơn như sau:
- Tạo View (hoặc tạo query đối với Access)
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'viewX')
DROP VIEW viewX
GO
CREATE VIEW viewX
AS
SELECT hh.Mã_hàng
FROM Hàng_hoá AS hh
WHERE hh.Trọng_lượng > 20 AND hh.Màu ='Đỏ'
GO
- Đối với SQL Server có thể tạo ra table tạm thời (trong trường hợp không muốn tạo
view hay query _ đối với Access chưa thử, c ó 2 loại bảng tạm thời: cục bộ và
toàn cục. Bảng cục bộ tạm thời thì chỉ được dùng trong một phiên làm việc của
người dùng hiện thời với SQL Server và bảng này tự mất đi khi phiên làm việc kết
thúc, chúng được đặt tên có ký hiệu # đi trước, xem ví dụ bên dưới.Bảng toàn cục

tạm thời thì được dùng cho mọi người sử dụng đang kết nối tới SQL Server và tự
xoá khi người dùng cuối cùng kết thúc phiên làm việc, chúng được đặt tên có ký
hiệu ## đi trước, xem ví dụ bên dưới) với SELECT INTO như sau:
SELECT hh.Mã_hàng
into #viewX
FROM Hàng_hoá AS hh
WHERE hh.Trọng_lượng > 20 AND hh.Màu='Đỏ'
Thực hiện câu lệnh truy vấn:
SELECT ncc.Tên_nhà_cung_cấp ,count(*) AS 'Số lần cung cấp'
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 21 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
FROM (Nhà_cung_cấp AS ncc INNER JOIN
Xuất_hàng AS xh on xh.Mã_nhà_cung_cấp = ncc.Mã_nhà_cung_cấp)
INNER JOIN viewX AS hh on xh.Mã_hàng = hh.Mã_hàng
GROUP BY ncc.Tên_nhà_cung_cấp
HAVING COUNT(*)>= 2
(Nếu dùng table tạm thời thì trong mệnh đề FROM phải viết như sau:
- Trong trường hợp không muốn tạo view và tối ưu câu lệnh với mức vừa phải có
thể dùng các câu lệnh SQL sau:
FROM (Nhà_cung_cấp AS ncc INNER JOIN
Xuất_hàng AS xh on xh.Mã_nhà_cung_cấp = ncc.Mã_nhà_cung_cấp)
INNER JOIN #viewX AS hh on xh.Mã_hàng = hh.Mã_hàng)
SELECT ncc.Tên_nhà_cung_cấp ,count(*) AS 'Số lần cung cấp'
FROM (Nhà_cung_cấp AS ncc INNER JOIN
Xuất_hàng AS xh ON xh.Mã_nhà_cung_cấp = ncc.Mã_nhà_cung_cấp)
INNER JOIN Hàng_hoá AS hh ON xh.Mã_hàng = hh.Mã_hàng
WHERE hh.Trọng_lượng > 20 AND hh.Màu= 'Đỏ'

GROUP BY ncc.Tên_nhà_cung_cấp
HAVING COUNT(*)>= 2
Hoặc
SELECT ncc.Tên_nhà_cung_cấp ,count(*) AS 'Số lần cung cấp'
FROM Nhà_cung_cấp AS ncc INNER JOIN Xuất_hàng AS xh on
ncc.Mã_nhà_cung_cấp=xh.Mã_nhà_cung_cấp
WHERE xh.Mã_hàng IN
(SELECT hh.Mã_hàng
FROM Hàng_hoá AS hh
WHERE hh.Trọng_lượng > 20 AND hh.Màu='Đỏ')
GROUP BY ncc.Tên_nhà_cung_cấp
HAVING COUNT(*)>=2
Ngôn ngữ SQL cung cấ p một vài hàm giản đơn để rút thông tin từ các quan hệ:
- COUNT: Cho biết số các bộ thoã mãn điều kiện tìm.
- MAX, MIN, SUM, AVG: cho giá trị lớn nhất, nhỏ nhất, tổng, giá trị trung bình đối
với một thuộc tính. Để hiểu rõ hơn về các hàm này tài liệu Ví dụ về câu lệnh
SELECT.
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 22 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
Tổng quan về Sql Server 7.0 & 2000 - Tập lệnh chuẩn về SQL
Cách thực hiện của lệnh SELECT
TRUNG TÂM CÔNG NGHỆ PHẦN MỀM THỪA THIÊN HUẾ Trang 23 / 31
Địa chỉ: Số 6 Lê Lợi, Huế
Điện thoại: (054).849.499 Fax: (054).849.498
Email: website:
FROM
Xác định các bảng cần thiết
ORDER BY

Sắp xếp các dòng
Kết quả
WHERE
Tìm tất cả các dòng phù hợp với giá trị trong cột được lập
GROUP BY
tổ chức các dòng theo giá trị cột đã lập(gộp nhóm)
HAVING
Tìm tất cả các nhóm(trong mệnh group by) thoả mãn
điều kiện
SELECT
Xác định cột

×