Hệ quản trị cơ sở dữ liệu SQL Server
1.1. Khái niệm chung, phân biệt CSDL động (quản lý, xử lý các giao
tác) và CSDL tĩnh (l-u trữ dữ liệu điều tra).
Microsoft SQL Server 7.0 là một CSDL kiểu quan hệ đ-ợc nâng cấp từ
phiên bản Microsoft SQL Server 6.5 .
Hệ quản trị CSDL Microsoft SQL Server 7.0 là hệ CSDL đáp ứng tính
tăng tr-ởng, hiệu suất cao cho môi tr-ờng tính toán khách chủ phân tán.
1.2. Các đặc điểm của hệ quản trị CSDL SQL Server.
Các tính năng quan trọng chủ yếu nh-sau:
+ Tích hợp Windows NT gồm các dịch vụ đa luồng và lập lịch,
Performance Monitor, Event Viewer. T-ơng thích mạng đơn, quản lýcác
khoảng mục thống nhất, giản tiện trong sử dụng.
+ Sử dụng phát tán dữ liệu đểtrao đổi dữ liệu với các máy chạy trên
Windows NT, và phát hành cung cấp dữ liệu cho các máy khác qua ODBC.
Nhằm cungcấp cho ng-ời sử dụng (Khách hàng) thông tin chính xác vàcó
tính thời điểm.
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:
- Hệ quản trị cơ sở dữ liệu SQL Server.pdf