CSDL3_ chuong1

Màu nền
Font chữ
Font size
Chiều cao dòng

CHƯƠNG 1: H CƠ S D LIU CLIENT/SERVER

Khi thiết kế một cơ sở dữ liệu, bao giờ cũng xuất phát từ các yêu cầu dữ liệu

của bài toán. Và tùy thuộc vào mô hình dữ liệu mà có cách thức xây dựng, có chiến

lược quản trị CSDL cho phù hợp. Cho tới nay, có rất nhiều mô hình dữ liệu được đề

xuất: Mô hình dữ liệu phân cấp, mô hình dữ liệu mạng, mô hình dữ liệu quan hệ, ...

Tuy nhiên, mô hình dữ liệu quan hệ, với sự uyển chuyển về cấu trúc nên nhiều hệ

thống áp dụng dễ dàng triển khai, bảo trì hơn. Chính vậy mà mô hình này trở nên phổ

biến và đã được trình bày chi tiết trong học phần CSDL HP1. Trong chương này chủ

yếu trình bày về cấu trúc mạng client/server.

1. Cu trúc ca CSDL

Cấu trúc logic của CSDL có thể được thiết kế khác nhau tùy thuộcvào mô hìnhCSDL mà chúng được tổ chức. Do vậy, cấu trúc vật lí của những hệCSDL cũng khác nhau một cách đáng kể. Tổ chức ở MTĐT lớn (mainframe) rõ ràng làkhác hẳn ởMTĐT mini và lại khác biệt nhiều hơn nữa khi tổ chức trên PC. Tấtcả các hệ thống

trên đều có thể chạy những hệ quản trị CSDL, tuy vậy cấu trúc củacác hệ quản trịCSDL này tùy thuộc vào phần cứng và phụ thuộc vào kiểu truy xuấtdữ liệu yêu cầu.

Có một số phương thức mà theo đó xây dựng các cấu hình cho hệthống máy tính truy xuất CSDL, nhưng thông thường rơi vào hai loại sau:

- Cấu hình đơn lẻ (StandAlone)

- Cấu hình nhiều người sử dụng (MultiUser)

1.1 H CSDL đơn l (StandAlone DataBase System)

Một hệ CSDL đơn lẻ thì chỉ bao gồm một máy tính. Dữ liệu,NSD đều làm việc

trên máy này và hệ quản trị CSDL chỉ là một phần mềm tích hợp đơn độc. Với hệ

thống này, mỗi thời điểm chỉ phục vụ một người, nên quy mô tương đối nhỏ.

Cách khai thác trên vô hình chung đã phung phí rất nhiềunăng lực của máy

tính. Vì thế, những máy tính chạy đơn lẻ và sử dụng trong việc khaithác những CSDLnhỏ sẽ phí thời gian rất nhiều vào việc chờ NSD thực hiện một thaotác nào đó.

1.2 H CSDL nhiu người s dng

Hệ CSDL nhiều người sử dụng có thể sử dụng đồng thời bởi nhiều NSD. Điềunày làm tăng hiệu quả sử dụng, bởi vì hệ thống có thể lo chuyện đápứng yêu cầu củaNSD này trong lúc chờ đợi NSD khác nhập liệu.

Có bốn cấu hình khác nhau có thể cung cấp khả năng khai thác của nhiều NSD:

- Khai thác từ xa (Teleprocessing)

- Cấu trúc Client/Server

- Cấu trúc chia xẻ nguồn lực hệ thống (Resource Sharing)

- Khai thác dữ liệu phân tán (Distributed Data Processing)

 1.2.1 Khai thác t xa

Hệ thống khai thác từ xa gồm một máy trung tâm có năng lực xử lí cao chứaCSDL và các máy khai thác đầu cuối dành cho NSD khai thácCSDL.

Hệ thống này bộc lộ rất nhiều nhược điểm

- Hiệu năng của hệ thống phụ thuộc rất nhiều vào năng lực của máytrung tâm,số NSD, băng thông, ...

- Chi phí cao

- Nếu máy trung tâm hỏng thì cả hệ thống tê liệt (Do mọi xửlí đều diễn ra ở

máy trung tâm)

1.2.2 Cu trúc Client/Server

Hệ thống Client/Server gồm một máy trung tâm gọi làmáychủ (Server) sẽ

được nối với nhiều máy khác mà gọi là máy trạm (Client). Tại máyclient, NSD ápdụng các hệ thống khai thác CSDL nằm trên máy server. Với mỗiNSD sẽ khai thác và sử dụng dữ liệu đặc thù của mình (chỉ áp dụng tại client), nênmáy server đang chạy như một động cơ chính của hệ quản trịCSDL (DBMS’s Database Engine), có thể tập chung vào việcxử lí dữ kiệnMột hệ thống theo cấu trúc Client/Server có thể có nhiềuserver, nhưng vậy thì

mỗi server sẽ lưu trữ các CSDL khác nhau.\

1.2.3 Cu trúc chia x ngun lc h thngHệ thống chia xẻ nguồn lực là hệ thống bao gồm nhiều máydạng “server” liênkết với nhau thông qua mạng LAN, các máy “server” này được nốivới các máy vitính của NSD. Các máy “server” chủ yếu chứa các tập tin (file servers) chứ không phải là cácdatabase servers. Có nghĩa là các máy này chỉ chứa các dữliệuthôichứ không chứahệ quản trị CSDL. Hệ quản trị CSDL nằm trên các máy của NSD vàdùng để truy xuấtdữ liệu trên các máy file servers.

Rõ ràng, cách tổ chức này kém hiệu quả hơn mô hìnhClient/Server, vì CSDL

và hệ quản trị CSDL được lưu trữ tách biệt nhau và chỉ được nối vớinhau thông quamạng LAN. Một nhược điểm lớn khác là khi một NSD khai thác trênmột tập tin thì

tất cả các NSD khác sẽ bị khoá chốt không cho xen vào. Điều nàylàm chậm khả năngkhai thác dữ liệu một cách đáng kể.

1.2.4 Khai thác d liu phân tán

Hệ thống khai thác dữ liệu phân tán gồm nhiều servers cũngnhư nhiều clients. Các thành phần cơ sở dữ liệu được chia nhỏ thành nhiều cơ sở dữ liệu thành phần, trải ra ở nhiềuservers.

2. Mô hình d liu Client/ Server vi SQL

2.1 Li ích khi dùng cu trúc Client/Server

Cấu trúc Client/Server đã nổi bật lên như một kiểu cấu hình nhiều người sửdụng có ưu thế hơn cả. Có rất nhiều nguyên nhân dẫn đến sự lựachọn này:

-

-

-

-

-

Chi phí về phần cứng: Khác với cấu hình khai thác từ xa, phải sử dụng

những MTĐT đất tiền (mainframe), thì cả máy server và các máy clients có

thể sử dụng là các máy PC.

Chi phí về phần mềm: Phần mềm dành cho máy PC thì không đắt và lại rẻ

hơn rất nhiều so với phần mềm chạy trên các mainframe hay minicoputer

Chi phí thiết lập mạng: Hệ thống Client/Server thì bề rộng băng truyền dữ

liệu ít hơn mà vẫn đạt được cùng hiệu suất như một hệ thống chia xẻ nguồn

lực.

Hiệu suất:

Sử dụng dễ dàng.

2.2 S dng SQL trên cu trúc Client/Server:

SQL là một ngôn ngữ phụ về dữ liệu, nó có thể hoạt động trên một hệ thốngđơn lẻ hoặc trên bất cứ một hệ thống nhiều người sử dụng nào đã kểtrên. Ngôn ngữnày đặc biệt làm việc rất tốt trên các hệ thống theo cấu hìnhClient/Server. Nhữngchương trình ứng dụng chạy trên trạm khách có thể chứa nhữngmệnh lệnh xử lí dữ

liệu của SQL. DBMS sẽ gửi các mệnh lệnh này đến máy serverthông qua mạng máytính. Tại máy server, một bộ phận của DBMS dành cho server sẽthông dịch và thi

hành các mệnh lệnh của SQL rồi gửi kết quả trở lại trạm khách thôngqua mạng.Ngoài ra, những tác vụ rất phức tạp cũng có thể được viết bằng SQLtại trạm khách vàrồi được giải mã và thi hành tại máy server.

Khi truy xuất dữ liệu bằng cách dùng SQL trên một hệthốngtheo cấu hình

Client/Server thì chỉ những dữ liệu mà định truy xuất mới đượcchuyển từ máy server

về máy trạm thông qua mạng máy tính. Trái lại, trong một hệ thốngtheo cấu hình

chia xẻ nguồn lực, với mức độ thông minh tối thiểu của các fileserver, nó sẽ truyền cả

một khối dữ liệu thật lớn, trong khi, thực sự chỉ cần một số dữ liệumà thôi. Điều này

đã làm chậm quá trình khai thác một cách đáng kể.

Ngoài ra, hệ thống dựa trên cấu hình Client/Server còn hỗtrợbổ sung cho

những đặc trưng của SQL hầu như đem lại hiệu suất cao hơn với chiphí rẻ hơn đối

với mạng máy tính cỡ nhỏ, trung bình và khôngể cả mạng máy tínhlớn.

2.3 Nhim v ca máy server và client

2.3.1 Nhim v ca máy server

Trong mô hình Client/Server, nhiệm vụ chính của máy serverlà nhận các yêu

cầu của máy client và đáp ứng các yêu cầu đó. Nếu trong cùng mộtlúc nhiều máy

clients đòi hỏi máy server phục vụ thì máy server phải đáp ứng mộtcách nhanh

chóng. Máy server thường khác biệt với các máy clients ở chỗ chúngcó nhiều thiết bị

lưu trữ với vận tốc cao, và đều được tối ưu hóa để có thể truy xuất dữliệu một cách

nhanh nhất.

Máy server (cách gọi ngắn ngọn của cụm từ Database Server)là một bộ phận

của hệ thống theo cấu trúc Client/Server dùng để lưu trữ và bảo quảncác CSDL.

Trong đó, máy server chứa một bộ phận của DBMS. Bộ phận này loliệu việc thông

dịch những mệnh lệnh gửi từ các máy clients và biến các mệnh lệnhnày thành những

hoạt động đối với CSDL. Bộ phận phần mềm dành cho máy servercũng định dạng kết

quả của những yêu cầu vấn tin và gửi kết quả trở về máy client đãphát đi yêu cầu này.

Công việc của máy server tương đối đơn giản và không rắc rối lắm. Tất cả

những gì server phải làm là đọc, thông dịch, và thi hành những mệnhlệnh gửi đến từcác clients trong mạng máy tính. Những mệnh lệnh này có dạng củamột trong những ngôn ngữ phụ về dữ liệu. Ngôn ngữ phụ (Sublanguege) thì chưađược xem là một ngôn ngữ hoàn toàn, nó chỉ thực hiện một phần nàođó của ngôn ngữmà thôi. Ngônngữ phụ về dữ liệu (Data Sublanguege) thì chỉ quan tâm tới việchành xử với dữ liệumà thôi. Ngôn ngữ này được trang bị để thực hiện những tác vụ nhưchèn, xóa, cậpnhật, và tuyển chọn dữ liệu, nhưng không có những cấu trúc điềukhiển như các lệnhđiều khiển vào ra, rẽ nhánh, vòng lặp... SQL là một ngôn ngữ phụ vềdữ liệu dược sửdụng phổ biến nhất hiện nay và đã trở thành một tiêu chuNn côngnghệ. Những ngônngữ phụ về dữ liệu được sản xuất trước đây đã dần dần bị SQL loạira trên hầu hết cáchệ thống máy tính.

Nhng đặc trưng ca mt máy server lý tưởng:

- Thi hành nhng ch th gi đến và chuyn khôngết qu khai thác tr li máy client ngay tcthi.

 - Không bao gi chuyn tr li máy client nhng tr li sai v vn tin

- Cung cp nhng thông báo sai lm trung thc và hu ích đối vi nhng ch thkhông thích

nghi hoc không có hiu lc được gi đến t clients

- Bo đảm s truy xut chỉ được cung cp cho nhng NSD có thm quyn.

- Tránh được nhng tác động ca mt client nào đó nhm gây tn thương d liuca mt client khác

- Thông báo lưu ý ti NSD ngay khi mnh lnh truy xut d liu mà NSD đã viếtnhưng

không phn ánh chính xác tác v vn tin theo ý nghĩ ca h. (Điu này hiu là máytính ch

làm theo mnh lnh ca NSD ch không làm theo suy nghĩ ca h)

Thc tế, mt máy server lí tưởng không th tn ti. Nhiu máy server hin nay đã có nhng

đặc tính ca mt máy server lí tưởng, hoc ít nht là đã tiếp cn được nhng đặc tính này.

2.3.2 Nhim v ca máy client

Máy client là một bộ phận của hệ thống theo cấu trúc Client/Server dùng để cung cấp giao diện với NSD. Đứng ở góc độ NSD, có thể hiểu, client gồm máy tính của NSD và giao diện với NSD chính là hệ thống chương trình ứng dụng. Ngoài phần giao diện với NSD, máy client còn chứa cả chương trình ứng dụng và một bộ phận dành cho máy khách của DBMS. Chương trình ứng dụng thì thực hiện những tác vụ riêng biệt mà nó phải làm. Còn bộ phận dành cho máy khách của DBMS thì thi hành những mệnh lệnh của chương trình ứng dụng, thực hiện việc trao đổi dữ liệu và những mệnh lệnh xử lí dữ liệu với bộ phận dành cho server của DBMS.

Máy client lo chuyện hiển thị thông tin trên màn hình và đáp ứng đối với dữ

liệu nhập do NSD cung cấp thông qua bàn phím, chuột hay một thiết bị nhập khác.

Ngoài ra, cũng có thể, máy client còn khai thác dữ liệu truyền đến bởi các hoạt động

liên lạc viễn thông hoặc từ các client khác.

Nhng đặc trưng ca mt trm khách lí tưởng:

 - Hin th mt màn hình dưới dng có th hiu ngay được đối vi bt c NSD nào.

- Hin th tt c các thông tin cn thiết để thc hin tác v hin hành

- Không hin th nhng thông tin không liên quan

- Trình bày mt giao din d xem và d nhn biết.

- Tt c các nhim ý v vic tr li NSD có th chn thì rõ ràng và thc hin d dàng

- Không cn dùng quá hai phím hc nhiu ln click chut để thc hin mt chc năng nào đó.

- Bt c mt hot động nào không cho phép phc hi d liu nguyên thy thì, trước khi dữliu b thay đổi phi yêu cu NSD xác nhn.

Trm khách lí tưởng là mc tiêu phn đấu ca bt c người thiết kế chương trìnhng dng nào, nhưng khó đạt được. Tuy vy, vn có th thiết lp được nhng trm khách tiếp cn được vi nhng đặc tính lí tưởng này.

Bạn đang đọc truyện trên: Truyen2U.Pro