Giáo trình Microsoft SQL Server 7.0
Mục Lục
I. Giới thiệu chung - Tổng quan về SQL Server (4 - tiết).
II. Thiết kế CSDL (4 - tiết).
III. Cơ sở dữ liệu trong Microsoft SQL Server (8 - tiết).
IV. Các thành phần của CSDL(12 - tiết).
V. Quản trị và khai thác CSDL (8 - tiết).
VI. Tình hình phát triển CSDL thốngkê trên SQL Server trong
thời gian qua và Kết luận (4 - tiết).
ble | view}[(column[,...n])]
| ON {stored_procedure | extended_procedure}}TO
security_account[,...n]
[WITH GRANT OPTION] [AS {group | role}]
20) Huỷ bỏ các câu lệnh vừa đ−ợc gán hay các quyền đ−ợc thiết lập
trong PERMISSION:
Cú pháp:
REVOKE {ALL | statement[,...n]}
FROM security_account[,...n]
ứng dụng cho permissions:
82
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
REVOKE [GRANT OPTION FOR]{ALL [PRIVILEGES] |
permission[,...n]}{[(column[,...n])] ON {table | view}| ON {table |
view}[(column[,...n])]| {stored_procedure | extended_procedure}}
{TO | FROM}security_account[,...n][CASCADE][AS {group | role}]
21) Câu lệnh Truncate:
Làm sạch (xoá dữ liệu) table mà bạn chỉ định
Cú pháp:
TRUNCATE TABLE table_name
- Kết nối với Excel, kết nối với SPSS
Các trình duyệt Microsoft office nh− WORD, EXCEL cũng nh− SPSS
cũng có thể cập nhật CSDL của Microsoft SQL Server:
EXCEL trình duyệt lấy dữ liệu từ CSDL của Microsoft SQL Server và
lập thành các biểu tính toán theo ng−ời lập biểu. T−ơng tự nh− phần mềm
phân tích số liệu thống kê SPSS cũng vậy.
Lấy dữ liệu từ database bằng EXCEL:
Tr−ớc khi thực hiện các b−ớc sau bạn đã phảI định nghĩa cấu hình
database trong ODBC qua FSN.
1) Mở EXCEL -> vào menu data -> Chọn Get External data -> Chọn
tiếp Create New Query
Nhìn vào hình trên bạn phảI chọn database cần lấy dữ liệu. Sau đó bạn phảI
kết nối với database này bằng cách sử dụng Logon_ID và Password.
83
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
2) Tiếp theo bạn phảI chọn các bảng (Table) và các cột (tr−ờng) trong
mỗi bảng đó để tạo ra Query.
3) Sau khi chọn xong table và các cột tiếp theo bạn nhấn NEXT
4) Nếu bạn muốn săp xếp (SORT ORDER) thì bạn chọn các cột cần
săp xếp ở đây.
B−ớc tiếp bạn chọn loại dữ liệu cần đ−a ra (EXCEL, QUERY, OLAP) - >
Nhấn Finish.
Tạo các table d−ới dạng cột bằng EXCEL: Gồm 3 b−ớc chính
1) Mở EXCEL -> vào menu data -> Chọn Pivot table and Pivotchart
Report
84
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
Chọn loại dữ liệu cần lấy để làm biểu
2) Get data:
Nhấn vào get data bạn phảI chọn database cần truy nhập (t−ơng tự nh−
trên).
Tiếp theo là bạn phải kết nối vào database bằng cách dùng Logon_ID
và Password. (t−ơng tự nh− ở trên)
Sau khi kêt nối vào database bạn phảI chọn các table và các cột cần
truy xuất. -> tiếp theo nhấn NEXT
3) Dùng hiệu ứng LAYOUT để bố trí hàng cột của biểu dầu ra
Dùng chuột để kéo và thả các tr−ờng nằm trong cột của báo biểu làm sao
cho thoả yêu cầu đặc ra -> tiếp thêo nhấn OK .
Tiếp nhấn FINISH để hoàn thành công việc.
Lấy dữ liệu bằng SPSS: Gồm 6 b−ớc chính
85
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
T−ơng tự nh− EXCEL tr−ớc khi lấy dữ liệu bạn phảI thiết lập database
trong ODBC.
1) Mở SPSS-> Chọn menu FILE-> Chọn Open data -> Chọn New Query
Từ đây bạn chọn CSDL cần truy xuất. Tuy nhiên ngay tại đây bạn cũng
có thể thêm data source (database) vào ODBC. Khi chọn đ−ợc database
bạn nhấn NEXT (cho bạn hình sau).
Hoàn toàn t−ơng tự nh− EXCEL,bạn cũng phải kết nối vào Database qua
ODBC bằng login_ID và password. (nhấn OK và chờ một chút xíu)
2) Chọn dữ liệu (Select data):
Tại đây bạn chọn các table và các tr−ờng nằm trong các table để đ−a ra
báo biểu. ở đây, khi bạn cần sắp xếp một cột nào đó bạn check vào ô
“sort field names”.
86
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
3) Chỉ định các mối quan hệ về dữ liệu, nếu bạn muốn điều khiển tự động
bạn check vào ô Auto Join Tables.
tiếp theo nhấn NEXT.
4) Sử dụng các hàm(function) và các toán tử logic để giới hạn dữ liệu
theo nh cấu của báo biểu.
tiếp theo nhấn NEXT.
5) Định nghĩa các biến t−ơng ứng với các cột dữ liệu cần đ−a ra báo biểu.
Nhập tên biến vào ô Result Variable name:
Tiếp nhấn NEXT
87
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
6) Xem lại lần cuối bằng câu lệnh (ngôn ngữ SQL) có điều gì cần sửa.
Sau đó, nếu bạn muốn ghi lại vào query thì bạn phải chọn tên query
(cần ghi lại) vào ô Save Query to File.
nhấn FINISH để hoàn thành. (Trình áp dụng).
5.5. Một ví dụ minh hoạ (thể hiện theo thiết kế ở phần II).
Ví dụ: Tạo CSDL l−u trữ của ngành thống kê, hiện nay CSDl này đang đ−ợc
khai thác và cập nhật tại Tổng Cục Thống kê (Văn phòng Tổng Cục đang
quản lý tài liệu l−u trữ).
1) Tạo database có tên là LUUTRU:
CREATE DATABASE LUUTRU ON
( NAME = luutru_dat, FILENAME = 'c:\mssql7\data\luutrudat.mdf',
SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )
LOG ON
( NAME = 'luutru_log', FILENAME = 'c:\mssql7\data\luutrulog.ldf',
SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )
2) Tạo các table trong CSDL và thiết lập các chỉ số index:
+ create table dmluutru (ma1 char(1) null, ma2 char(1) null, ma3 char(1)
null, ma4 char(1) null, ma5 char(1) null, tenPl varchar(120) not null)
+ create table NoiBH( mabh char(2) not null, tenbh varchar(50) not null)
+ insert NoiBH values("01","Tổng Cục Thống Kê")
88
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
+ DELETE FROM DMLUUTRU WHERE TENPL="Tài liệu l−u trữ
TCTK"
+ create table dmlydo( lydo char(1) not null, tenlydo varchar(40) not null)
+ create table dmbiendong( mabd char(1) not null, tenbd varchar(20) not
null)
+ insert dmbiendong values("1","Thanh lý")
+ insert dmlydo values("1","Hết thời hạn bảo quản")
+ update dmlydo set tenlydo="Hết giá trị sử dụng" where lydo="2"
+ truncate table luu_file
+ create table HOSO (hoso_id char(10) not null, ngay char(2) null, thang
char(2) null, nam char(4) not null, ten varchar(255) not null, soto smallint
null, gia char(2) not null, ngan char(2) not null, cap char(3) null, kyhieu
varchar(15) null, noibh char(2) null, khoi char(1) not null, loai char(1) not
null, nhom char(1) null, vande char(1) null,)
+ create table HOSOCU (hoso_id char(10) not null, ngay char(2) null,
thang char(2) null, nam char(4) not null, ten varchar(255) not null, soto
smallint null, kyhieu varchar(15) null, noibh char(2) not null, khoi char(1)
not null, loai char(1) not null, nhom char(1) null, vande char(1) null,
ngaybo char(2) not null, thangbo char(2) not null, nambo char(4) not null,
loaibd char(1) not null, lydo char(1) not null, nduyet varchar(25) not null)
+ create table MUON (hoso_id char(10) not null, ngaym char(2) not null,
thangm char(2) not null, namm char(4) not null, nguoim varchar(25) not
null, donvi char(2) not null, chatluong char(1), ngayh char(2) null, thangh
char(2) not null, namh char(4) not null, ngayt char(2) not null, thangt
char(2) not null, namt char(4) not null)
+ create table IN_HS( nam char(4) null, khoi char(1) null, loai char(1) null,
nhom char(1) null, vande char(1) null, sodem smallint not null)
+ create unique clustered index hosoId_ind on hoso(hoso_id)
89
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
+ create index maphanloai_ind on hoso(khoi,loai,nhom,vande)
+ create index nambh_ind on hoso(nam)
+ create unique clustered index manoibh_ind on noibh(mabh)
+ create unique clustered index macl_ind on chatluong(macl)
+ create unique clustered index mabd_ind on dmbiendong(mabd)
+ create unique clustered index mapl_ind on dmluutru(ma1,ma2,ma3,ma4)
+ create unique clustered index mald_ind on dmlydo(lydo)
+ create unique clustered index madv_ind on donvi(madv)
+ create index hoso_ind on muon(hoso_id)
+ create index hoso_ind on hosocu(hoso_id)
Sau khi thực hiện song các lệnh trên bạn dùng lệnh: sp_help để xem và
kiểm tra lại có đủ tất cả table trong CSDL ch−a?
3) Bảo mật CSDL: tạo nhóm làm việc và thêm các user vào nhóm,
gán quyền thao tác trên CSDL đó.
+ sp_addgroup dbCSDL
+ sp_adduser khanht,khanht,dbCSDL
+ grant select on dmluutru to dbCSDL
+ grant select,update,delete,insert on NOIBH to dbCSDL
+ revoke update,delete,insert on HOSO to dbCSDL
..
90
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
Phần VI. Tình hình phát triển CSDL Thống
kê trên SQL Server trong thời gian qua
và Kết luận
Chú ý : nhắc lại một số tiêu thức quan trọng khi sử dụng Microsoft SQL
Server .
Thiết kế CSDL cho Microsoft SQL Server :
Nếu bạn có một CSDL tốt : Tức là từ lúc thiết kế - bạn phải đặt ra yêu
cầu mà bạn cần khai thác ở CSDL. Từ đó thu thập thông tin về các đối t−ợng
của CSDL; đầy đủ, chính xác, không d− thừa, đúng thời điểm. Từ đó thiết kế
mô hình quan hệ của các thuộc tính thông tin có liên quan (Gọi là có phụ
thuộc hàm giữa các thuộc tính). Thiết lập các khoá: Khoá trong và khoá
ngoài. Tạo ra bao nhiêu bảng(table) trong CSDL? Khi đã chuẩn bị đầy đủ thì
chúng ta bắt đầu thiết kế database.
Các ứng dụng đ−ợc áp dụng vào để khai thác thông tin trên CSDL
của Microsoft SQL Server :
Microsoft SQL Server cung cấp cho bạn bộ lệnh trong TRANSACT SQL
để khai thác dữ liệu trong CSDL.
Ngoài ra bạn cũng có thể dùng DMO (các ứng dụng OLE hỗ trợ 32
bit) để tạo ra công cụ nhằm khai thác dữ liệu. Ví dụ nh− VB, VC++.. .. Tuy
nhiên nếu dùng VB thì phải qua ODBC(16-32bit) và phải viết các hàm truy
cập này( gọi là DAO FUNCTION) và rất dể sử dụng, nh−ng nếu bạn dùng
Delfi hay VC++ thì không nhất thiết phải qua ODBC (32bit). Và rất tiện lợi
cho việc mở rộng các chức năng thiên về kỹ thuật chuyên sâu (tuy nhiên khó
91
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
sử dụng hơn Visual Basic), tốc độ truy nhập nhanh hơn nhiều so với cách sử
dụng Visual Basic.
Hiện nay, Tổng Cục Thống Kê đã xây dựng một số CSDL cho ngành
nh−:
+ CSDL Công nghiệp
+ CSDL doanh nghiệp
+ Dân số và nhà ở
+ Quản lý công văn đi đến
+ CSDL l−u trữ ..
các CSDL này luôn luôn đ−ợc phát triển theo thời gian ngày một lớn hơn.
92
Sách điện tử, luận văn tốt nghiệp CNTT – http:/www.diachiweb.com
Đ−a lên mạng bở Nghiêm Phú C−ờng,
93
File đính kèm:
Giáo trình Microsoft SQL Server 7.0.pdf

