D. Kiến trúc kho lưu trữ dữliệu
1. Đăng nhập và các tài khoản người dùng
SQL Server sử dụng hai kiểu tài khoản :
a. ID đăng nhập ( Login Id ) :
Là tên mà SQL Server dùng để định danh người dùng khi đăng nhập . Người dùng muốn truy cập dữ liệu trong một cơ sở dữ liệu trên SQL Server, trước hết họ phải đăng nhập SQL Server bằng một Id đăng nhập và mật khẩu (Password) thích hợp. Đăng nhập thành cơng vào SQL Server, khơng đồng nghĩa với việc người dùng này cĩ quyền truy cập mọi dữ liệu trong một cơ sở dữ liệu do SQL Server quản trị. Người dùng cần phải cĩ một Id người dùng cơ sở dữ liệu thích hợp.
v Sử dụng Enterprise Manager để tạo Id đăng nhập ta thực hiện từng bước như sau :
• Từ Enterprise Manager thực hiện chọn tuần tự Security \ Logins \
New Login .
• Trong Tab General, nhập tên cho Id đăng nhập sẽ tạo trong hộp thoại ' Login name ' , mật khẩu, Database truy cập mặc định và ngơn ngữ sử dụng cho Id này.
• Trong Tab Server Roles, cấp quyền truy cập cho Id đăng nhập. • Trong Tab Database Access, chọn Database và các quyền mà Id đăng nhập này được truy cập trong từng Database (tương ứng là mỗi Id người dùng cơ sở dữ liệu cho Database được chọn ).
• Nhắp nút ‘Apply’ và ‘Ok’ hồn thành việc tạo một Id mới. Tiếp tục tạo các Id cho người dùng khác theo nhu cầu.
Sau khi tạo, SQL Server 2000 kiểm tra tài khoản người dùng cĩ hợp lệ hay khơng, cĩ tồn tại trên hệ điều hành NT/2000 hay khơng. Nếu tất cả thơng tin đều hợp lệ, đăng ký thành cơng.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Login User
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu v Sử dụng thủ tục trữ sẵn để tạo Id đăng nhập, trong cửa sổ của
Query Analyzer (hoặc trong các đoạn chương trình ứng dụng ) ta sử dụng thủ tục trữ sẵn sp_addlogin,dạng đơn giản như sau:
sp_addlogin [@loginname=] ’login’ [,@password=] ‘password’ Trong đĩ :
login : tên người sử dụng sẽ dùng khi đăng nhập.
password : mật khẩu cho tài khoản đăng nhập này, mật khẩu là rỗng
nếu khơng chỉ ra.
Ví dụ : sp_addlogin ’dinhdanh’ ‘matkhau’
b. ID người dùng cơ sở dữ liệu (Database user Id ) :
Đây là tên mà SQL Server dùng để định danh người dùng khi sử dụng cơ sở dữ liệu.
Đăng nhập thành cơng vào SQL Server, muốn truy một cơ sở dữ liệu, người dùng cần phải cĩ Id người dùng cơ sở dữ liệu thích hợp đối với mỗi cơ sở dữ liệu riêng biệt.
Khi tạo Id đăng nhập, Id này sẽ cĩ trong Database mặc định và những Database mà Id này được truy cập tới khi chọn trong Tab Database Access.
v Sử dụng Enterprise Manager để tạo Id người dùng cơ sở dữ liệu ta thực hiện từng bước như sau :
• Chọn Database muốn cho người dùng sử dụng. • Nhắp phải vào ‘Users ‘, chọn New Database User …
• Trong Tab General, chọn Id đăng nhập sẽ tạo trong hộp thoại '
Login name ' , nhập tên (Id người dùng cơ sở dữ liệu ).
• Trong danh sách Database role membership, đặt cho người dùng này thuộc vào nhĩm sử dụng nào.
• Nhắp nút ‘Ok’ hồn thành việc tạo một Id mới. Tiếp tục tạo các Id cho người dùng khác theo nhu cầu.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
v Sử dụng thủ tục trữ sẵn để tạo Id đăng nhập, trong cửa sổ của Query Analyzer (hoặc trong các đoạn chương trình ứng dụng ) ta sử dụng thủ tục trữ sẵn sp_adduser, dạng đơn giản như sau:
sp_adduser [@loginname=] ’login’ [,@databasename=] ‘database’ Trong đĩ :
login : tên người sử dụng sẽ dùng khi đăng nhập.
Database : cơ sở dữ liệu mà ID này được quyền đăng nhập.
Ví dụ :
sp_adduser ’dinhdanh’ ‘QLDKMH’
2. Tạo nhĩm người dùng :
Nhĩm người dùng được sử dụng trong SQL Server để đơn giản hĩa việc gán thuộc tính và bảo đảm tính an tồn cho các đối tượng cơ sở dữ liệu.
v Tạo nhĩm người dùng cơ sở dữ liệu bằng Enterprise Manager, ta thực hiện từng bước như sau :
• Từ Enterprise Manager chọn thư liệu Database để mở các cơ sở dữ liệu được quản lý trên hệ phục vụ.
• Chọn cơ sở dữ liệu nơi ta muốn tạo nhĩm mới. • Chọn Roles \ New Database Role…
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu • Nhập tên nhĩm mới.
• Nhắp nút Add nếu muốn thêm người dùng vào nhĩm vừa tạo. • Nhắp ‘Ok’ hồn thành việc tạo nhĩm mới.
• Muốn chỉnh sửa quyền truy cập cơ sở dữ liệu cho nhĩm người dùng, nhắp đúp vào tên nhĩm (hoặc nhắp phải chuột vào tên nhĩm, chọn Properties ), nhắp vào Pemissions để chỉnh sửa quyền truy cập cho nhĩm.
v Sử dụng thủ tục trữ sẵn để tạo nhĩm người dùng mới, trong cửa sổ của Query Analyzer (hoặc trong các đoạn chương trình ứng dụng ) ta sử dụng thủ tục trữ sẵn sp_addrole, dạng đơn giản như sau:
sp_addrole [@rolename=] ‘role’ Trong đĩ :
role : tên nhĩm sử dụng sẽđược tạo.
Ví dụ :
sp_ addrole ‘nhaquantri’ ‘
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
1. Lưu dự phịng cơ sở dữ liệu :
Lưu dự phịng cơ sở dữ liệu là tiến trình tạo ra các bản sao dữ liệu ngồi tuyến, được thực hiện nhằm tạo thuận lợi cho việc phục hồi thơng tin trong trường hợp bị hư hỏng, mất dữ liệu hay di dời từ hệ phục vụ này sang hệ phục vụ khác.
Để lưu dự phịng cơ sở dữ liệu ta phải tạo thiết bị lưu dự phịng và xổ các cơ sở dữ liệu vào các thiết bị này.
a. Tạo các thiết bị lưu dự phịng :
Muốn tạo một thiết bị lưu dự phịng mới, ta thực hiện tuần tự theo các bước :
• Từ Enterprise Manager chọn Management.
• Nhắp chuột phải vào Backup, chọn New Backup Device . • Nhập tên và vị trí cho thiết bị sẽ tạo dự phịng.
• Nhắp ‘Ok’ để hồn thành việc tạo một thiết bị lưu dự phịng mới.
b. Xổ các cơ sở dữ liệu vào thiết bị (tạo tập tin Backup ) :
Muốn xổ các cơ sở dữ liệu vào thiết bị, ta thực hiện theo các bước sau: • Từ Enterprise Manager chọn Management.
• Nhắp chuột phải vào Backup, chọn Backup Database (hoặc nhắp phải vào Database, chọn All Tasks, chọn Backup Databasse ).
• Chọn Database và thiết bị dùng trong đợt lưu dự phịng. • Chọn tên file Backup sẽ tạo ra sau khi hồn thành.
• Chọn ‘Ok’ để khởi động ngay đợt lưu dự phịng hoặc chọn Schedule để chạy vào lần sau.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
2. Phục hồi cơ sở dữ liệu :
Để phục hồi cơ sở dữ liệu , ta thực hiện theo các bước :
• Từ Enterprise Manager tuần tự chọn menu Tools\ Database
Backup\ Restore (hoặc nhắp phải vào Database, chọn All Tasks, chọn Restore Database ).
• Chọn cơ sở dữ liệu (nguồn) muốn phục hồi (từ Database /
Filegroups or Flies / From Device ).
• Chọn (đặt ) tên cho cơ sở dữ liệu sau khi được phục hồi (đích). • Nhắp ‘Ok’ để bắt đầu việc phục hồi cơ sở dữ liệu.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
CẤP PHÁT VÀ THU HỒI CÁC QUYỀN CHO NGƯỜI DÙNG :
Các quyền (Permissions) được dùng để chỉ định người dùng nào sẽ được phép sử dụng những đối tượng nào, được phép thực hiện những cơng việc gì trên các đối tượng đĩ. SQL Server cĩ hai loại quyền là quyền điều lệnh (Statement permissions) và quyền đối tượng (Object permissions ).
Quyền điều lệnh cho phép người dùng thi hành các điều lệnh Trasact- SQL cụ thể, được dùng để tạo các đối tượng cơ sở dữ liệu hay lưu dự phịng các cơ sở dữ liệu và các sổ theo dõi giao dịch.
Quyền đối tượng xác định nội dung mà cho một người hay một nhĩm người dùng cơ sở dữ liệu cĩ thể thực hiện đối với các đối tượng cơ sở dữ liệu đã cĩ.
Để cấp phát hay thu hồi các quyền điều lệnh cũng như các quyền đối tượng cho một người hay một nhĩm người dùng cơ sở dữ liệu, với SQL Enterprise Manager, ta tiến hành theo các bước như sau :
• Đăng nhập SQL Server với vai trị thích hợp (SA, DBO, BDOO). • Từ SQL Enterprise Manager, mở thư liệu Database để hiển thị các cơ sở dữ liệu sẵn cĩ.
• Nhắp phải lên cơ sở dữ liệu muốn cấp phát quyền điều lệnh, chọn
Properties.
• Chọn Tab Permissions, trong Tab Permissions xuất hiện danh sách người dùng và nhĩm người dùng cơ sở dữ liệu cùng với các quyền điều lệnh sẵn cĩ.
• Nhắp chọn hoặc bỏ chọn để cấp phát hoặc thu hồi các quyền thích hợp cho người dùng hay nhĩm người dùng cơ sở dữ liệu.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu
Chương 2 : TRÌNH ĐIỀU KHIỂN ODBC và NHỮNG CẢI TIẾN TỐC ĐỘ TRONG MƠ HÌNH CLIENT-SERVER
I . TRÌNH ĐIỀU KHIỂN ODBC (ODBC : Open Database Connectivity ) :
ODBC là chuẩn duy nhất dùng để truy xuất cơ sở dữ liệu được quy định bởi Microsoft. ODBC cung cấp các hàm cho phép các ngơn ngữ lập trình truy cập vào một cơ sở dữ liệu. Với các thao tác như thêm, chỉnh sửa, xố bỏ dữ liệu và nhận những thơng tin chi tiết về cơ sở dữ liệu đĩ như bảng, khung nhìn, chỉ mục, … . Thơng qua ODBC, ta cĩ thể làm việc trực tiếp với dữ liệu từ ứng dụng của mình mà khơng cần quan tâm đến việc dữ liệu đĩ thuộc hệ quản trị cơ sở dữ liệu nào.
A . KIẾN TRÚC ODBC :
1. Lớp ứng dụng ( Application ) :
Lớp ứng dụng cung cấp một giao diện đồ hoạ người dùng (GUI: Graphic User Interface) và logic cơng việc, được viết bằng ngơn ngữ Visual Basic, Visual Foxpro, … . Các ứng dụng dùng các hàm ODBC để giao tiếp với cơ sở dữ liệu.
2. Bộ quản lý điều khiển ODBC ( ODBC Diver Manager ) :
Dùng để quản lý các bộ điều khiển khác nhau tồn tại trong hệ thống. Bao gồm việc nạp, gọi trực tiếp đến bộ tương ứng và cung cấp các thơng tin của bộ điều khiển cho các ứng dụng khi cần thiết.
Một ứng dụng cĩ thể nối kết với một hoặc nhiều cơ sở dữ liệu nên bộ quản lý này phải phải đảm bảo các hệ quản trị cơ sở dữ liệu sẽ nhận được tất
Application
ODBC Driver Manager
Driver Driver Driver
Data source Data source Data source
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu cả các lệnh gọi tương ứng trực tiếp từứng dụng và tất cả dữ liệu trả về đúng
với ứng dụng được gọi.
3. Trình điều khiển ODBC (ODBC Diver ) :
Trình điều khiển là thành phần thực sự làm việc với cơ sở dữ liệu. Các trình điều khiển thường dùng là Access, Oracle, … . Các giao tiếp ODBC là nơi chứa tập các lệnh gọi như các lệnh SQL, các quản lý nối kết, thơng tin về cơ sở dữ liệu , … Cịn nhiệm vụ của các trình điều khiển là cài đặt các chức năng đĩ.
Trình điều khiển truyền các truy vấn đến các cơ sở dữ liệu, nhận kết quả trả về và hướng dịng dữ liệu ấy đến ứng dụng. Khi cơ sở dữ liệu nằm trong hệ thống mạng cục bộ hay trên Internet, trình điều khiển cịn kiêm luơn việc thực hiện kết nối mạng.
4. Nguồn dữ liệu (Data source ) :
Trong phạm vi của ODBC, nguồn dữ liệu cĩ thể là một hệ quản trị cơ sở dữ liệu hay một kho dữ liệu (Data store), thường để chứa các tập tin trên đĩa cứng. Nguồn dữ liệu cĩ thể chỉ đơn giản là là một cơ sở dữ liệu Access chứa các dữ liệu về chi phí của một cơng ty nhỏ hoặc cũng cĩ thể là một kho dữ liệu khổng lồ với hàng ngàn GB dữ liệu về chi tiết các hố đơn của cơng ty điện thoại chứa trên nhiều máy chủ khác nhau.
B. Cách hoạt động của các trình điều khiển ODBC :
Khi muốn truy xuất đến dữ liệu nằm ở xa (Remote data ), cơng việc đầu tiên là phải thực hiện một nối kết (connect) từ máy khách tới máy chủ. Nối kết này ứng dụng cơ chế truy xuất ODBC.
Máy chủ muốn liên lạc thì phải cĩ cài đặt trình điều khiển ODBC, trình điều khiển ODBC sẽ chuyển lệnh và dữ liệu qua lại giữa máy khách và máy chủở cách xa nhau, nghĩa là ODBC sẽ chuyển đổi dạng thức dữ liệu của một phần mềm nằm trên máy khách thành dạng thức mà máy chủ cĩ thể hiểu được và thực hiện ngược lại cho dữ liệu trả về từ máy chủ.
ODBC dùng cách tiếp cận phân tầng (Layered approach) để truy xuất đến nơi quản lý dữ liệu. Tại mỗi tầng trong cấu trúc giao tiếp cơ sở dữ liệu, ODBC sẽ xác định các thành phần khơng tương thích và cung cấp một giao diện chung.
Cĩ hai loại trình điều khiển ODBC là đơn tầng và đa tầng.
1. Trình điều khiển đơn tầng (Single-tier ) :
Trình điều khiển đơn tầng nằm giữa yêu cầu dữ liệu của ứng dụng và cơ sở dữ liệu mà ứng dụng truy cập, nĩ cung cấp một phương thức giao tiếp với dữ liệu khơng thuộc hệ thống Client-Server.
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Khi người dùng thực hiện yêu cầu truy cập dữ liệu, ứng dụng sẽ gởi lời
gọi hàm API (Application Program Interface: giao diện lập trình ứng dụng ) đến bộ quản lý trình điều khiển ODBC. Bộ quản lý trình điều khiển (nơi chịu trách nhiệm quản lý các giao tiếp giữa ứng dụng và các trình điều khiển ODBC ) sẽ xác định cơng việc cần thực hiện.
Bộ quản lý trình điều khiển sẽ xử lý những cơng việc mà nĩ cĩ thể trực tiếp thực hiện và kết quả sẽ được gởi trả trở lại cho ứng dụng. Nếu cần phải gọi một hàm trong trình điều khiển (như SQL Execute ) thì nĩ sẽ thực hiện việc gọi hàm để xử lý cơng việc, kết quả cũng sẽ được nĩ gởi trở lại cho ứng dụng.
2. Trình điều khiển đa tầng (multiple-tier ) :
Trình điều khiển đa tầng cĩ nhiệm vụ gởi các câu lệnh qua lại giữa hệ quản trị cơ sở dữ liệu và các ứng dụng. Hơn nữa, chính trình điều khiển đa tầng sẽ thực hiện các hàm xử lý dữ liệu, chúng phục vụ như những trạm chuyển tiếp. Ứng dụng đầu cuối Dữ liệu Các file cơ sở dữ liệu cục bộ Dữ liệu Dữ liệu Gọi giao diện trình điều khiển ứng dụng ODBC
Gọi trình điều khiển ODBC API
Các câu lệnh
Trình điều khiển đơn tầng ODBC Bộ quản lý trình điều khiển
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Trong cấu hình của một trình điều khiển đa tầng, dịng luân chuyển của
các yêu cầu và kết quả thực hiện như sau :
§ Ứng dụng đầu cuối gởi yêu cầu về dữ liệu, yêu cầu này được gởi đến bộ quản lý trình điều khiển ODBC.
§ Bộ quản lý thi hành yêu cầu (nếu cĩ thể) hoặc gởi yêu cầu đến trình điều khiển.
§ Trình điều khiển đa tầng chuyển yêu cầu sang thuật ngữ mà giao diện giao tiếp cơ sở dữ liệu cĩ thể hiểu và gởi nĩ đến giao diện.
§ Giao diện giao tiếp cơ sở dữ liệu gởi yêu cầu lên mạng đến hệ quản trị cơ sở dữ liệu trên máy chủ.
§ Hệ quản trị cơ sở dữ liệu xử lý yêu cầu và gởi trả kết quả trở lại giao diện giao tiếp cơ sở dữ liệu.
§ Giao diện giao tiếp cơ sở dữ liệu gởi kết quảđến trình điều khiển ODBC đa tầng .
§ Trình điều khiển ODBC đa tầng chuyển tiếp kết quả cho ứng dụng.
§ Ứng dụng đầu cuối sẽ trình bày dữ liệu với người dùng ở hình thức thích hợp.
Khi trình điều khiển ODBC đã được cài đặt trên máy khách. Để cĩ thể truy xuất dữ liệu nằm ở xa thì phải tạo nguồn dữ liệu ODBC (ODBC
Ứng dụng đầu cuối Trình điều khiển đa tầng ODBC Bộ quản lý trình điều khiển Dữ liệu Giao diện giao tiếp cơ sở dữ liệu Dữ liệu Dữ liệu Giao diện lập trình ứng dụng ODBC Gọi trình điều khiển ODBC Các câu lệnh
Phương tiện CSDL Nghi thức mạng máy tính Mạng vật lý Nghi thức mạng máy chủ
Phương tiện cơ sở dữ liệu đầu cuối
Cơ sở dữ liệu vật lý Gọi giao diện cơ sở dữ liệu
Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu datasource). Nếu khơng, người sử dụng khơng thể tạo ra tập hiển thị tầm xa
cũng như khơng được sử dụng kỹ thuật STP (STP_SQL Pass-Throught: kỹ thuật tác động đến cơ sở dữ liệu bằng cách gởi các câu lệnh SQL từ máy khách) .
II . NHỮNG VẤN ĐỀ TRONG MƠI TRƯỜNG ĐA NGƯỜI DÙNG :
Khi một ứng dụng làm việc trên mơi trường Client/Server. Một trong những vấn đề cần quan tâm là phải đảm bảo tính đồng nhất của dữ liệu và sự thực thi nhanh nhất. Đểđạt được những điều này, SQL Server sử dụng một số