Tổ chức hệ thống theo kiến trúc khách/dịch vụ: Một sự cải tiến trong hệ thống dựa trên mạng LAN là kiến trúc kháchdịch vụ, trong đó các dữ liệu và xử lí ứng dụng dợc phân chia giữa máykh
Trang 1Lời nói đầu
Trong xu thế toàn cầu hoá hiện nay, máy tính và các hệ thống mạngthông tin máy tính ngày càng đợc sử dụng rộng rãi trong hầu hết các lĩnh vựckinh tế, văn hoá và xã hội Các ứng dụng phong phú của mạng máy tính cóthể kể đến ở đây là:
Sử dụng chung tài nguyên nh máy in Laser, máy in nhanh, ổ đĩa cứngvới dung lợng lớn (hàng chục đến hàng trăm GigaByte) trong tự độnghoá văn phòng; sử dụng chung tài nguyên tính toán chính là các máy
PC có công suất ngày càng lớn trong mạng cục bộ đối với các tínhtoán khoa học
Truy nhập từ xa đối với các hệ thống tính toán có công suất lớn hoặccác mạng cục bộ với các dịch vụ thông tin giá trị gia tăng phong phú
Các hệ thống thông tin tài chính, ngân hàng cho phép thanh toán vàkiểm tra tài khoản trên phạm vi toàn cầu
Các hệ thống thông tin dịch vụ liên quốc gia nh đăng ký và đặt chỗkhách sạn, đăng ký và thanh toán vé máy bay, vé tầu hoả,…
Các hệ thống quản lý nh hệ thống thông tin th viện, hệ thống phục vụcho công tác quản lý đào tạo trong các trờng đại học,
Trang 2Bản thân công nghệ mạng thông tin máy tính cũng có những tiến triển
đáng ghi nhận Những cố gắng thực hiện mạng máy tính theo mô hìnhISO/OSI - do độ phức tạp, "nặng nề" của các giao thức thực hiện chức năngcủa các mức - cũng không phủ nhận đợc một thực tế là các mạng thông tinmáy tính đợc thực hiện trên cơ sở bộ giao thức TCP/IP đang tăng trởng mộtcách hết sức nhanh chóng Do tính mềm dẻo, dễ thích ứng trong các môi tr-ờng mạng khác nhau trong nguyên tắc hoạt động của bộ giao thức TCP/IP,lại đợc hỗ trợ rộng rãi trong các hệ điều hành quan trọng và thông dụng hiệnnay nh UNIX, Windows để thực hiện kết nối mạng và liên kết các mạng,công nghệ Internet/Intranet đã trở thành công nghệ kết nối mạng tiêu chuẩn
và hiệu quả hiện nay
Từ khi mạng máy tính ra đời nó phục vụ rất nhiều trong mọi lĩnh vực
đời sống kinh tế xã hội nh con ngời có thể khai thác thông tin trên mạng, lấydữ liệu và dùng chung dữ liệu trên mạng, Nhng từ những nguồn tin ấy từ
đâu để con ngời có thể truy nhập tới và sử dụng chúng Cho nên khi môi ờng mạng phát triển về phần cứng và phần mềm hệ điều hành mạng cònnhững phần thông tin để chúng ta cung cấp cho ngời dùng truy nhập đến thìthế nào? Vì vậy, chúng ta phải tổ chức thiết kế cơ sở dữ liệu trên mạng máytính để ngời dùng có thể truy nhập đến những thông tin mà họ cần Bài luậnvăn giải quyết một phần nhỏ về vấn đề này
Tháng 5/2004.
Nội dung Luận văn
Dựa vào nền tảng của sự phát triển công nghệ mạng thông tin máytính, và ứng dụng công nghệ mạng trong thực tiển đời sống tôi đã quyết định
chọn đề tài cho bài luận văn tốt nghiệp của tôi là Ch“ ơng trình Quản Lí
Đào Tạo chạy trong môi trờng Mạng LAN”.
Trong bài luận văn gồm ba chơng có cấu trúc nh sau:
Chơng I: Đại cơng về thiết kế các Hệ thống phân tán
Chơng II: Thiết kế bài toán thực tế : Chơng trình “Quản Lí Đào
Tạo” chạy trong môi trờng mạng LAN
Trang 3 Chơng III: Kết luận.
Đề tài của luận văn là vấn đề mới đối với sinh viên và do những hạnchế nhất định về thời gian, chắc rằng luận văn không thể tránh khỏi có nhữngthiếu sót Rất mong đợc sự chỉ bảo của các thầy cô giáo và góp ý của các bạn
để tôi có thể hoàn thiện về mặt kiến thức để tiếp tục nghiên cứu phát triểnsau này
Xin cảm ơn thầy giáo Nguyễn Quang Ninh – Giảng viên khoa Côngnghệ Thông tin – Trờng Đại học Vinh - đã tạo điều kiện giúp đỡ tôi rấtnhiều trong việc hoàn thành bài luận văn này
Chơng I:
đại cơng về Thiết kế các hệ thống phân tán
Sự thay đổi của môi trờng cạnh tranh và những cơ hội mới nảy sinhtrong kinh tế, xã hội đã thúc đẩy việc cơ cấu lại các tổ chức, các công ty:Việc sát nhập, hợp nhất và cũng cố đã dẫn đến việc liên kết hoặc sắp xếp lạicác ứng dụng riêng lẻ ở các tổ chức Tơng tự nh vậy việc chia nhỏ công ty lạikhiến những ngời quản lí phải mở rộng kiểm soát, dẫn đến yêu cầu phải truynhập tới các dữ liệu, các ứng dụng và con ngời trên một phạm vi rộng lớn.Việc quản lí các luồng dữ liệu trên cơ sở mạng cục bộ (LAN) với kiến trúcmáy quản lí file đơn giản đã gây ra những vấn đề nghiêm trọng Vì thế các
hệ thống phân tán đợc thiết kế và phát triển Nó có một ý nghĩa to lớn đối vớicác hoạt động hàng ngày của tổ chức và là một thành tựu lớn của việc pháttriển hệ thống công nghệ thông tin
Một số công nghệ mới đây đã đợc sử dụng để hợp nhất, chia nhỏ vàphân tán dữ liệu của các hệ thống thông tin Những công nghệ đó là nhữngmạng lớn với Cơ sở Dữ liệu đa dạng: Cơ sở Dữ liệu với kiến trúc khách/dịch
vụ và Cơ sở Dữ liệu phân tán
Trang 4rẻ hơn khi dùng riêng lẻ.
Một mạng cục bộ (Local Area Network – LAN) sẽ trợ giúp mộtmạng các máy tính cá nhân với các kho dữ liệu riêng của nó và có thểchia sẽ các thiết bị và phần mềm trên nó Một máy tính đợc gán nhiệm vụcủa một máy chủ để lu trử Cơ sở Dữ liệu và các ứng dụng Các đơn thểcủa hệ quản trị Cơ sở Dữ liệu, sẻ trợ giúp việc truy nhập từ nhiều ngờidùng vào Cơ sở Dữ liệu dùng chung
1.1.1 Máy dịch vụ File:
Trong môi trờng LAN, tất cả thao tác dữ liệu đều diển ra ở máytrạm, ở đó dữ liệu đợc yêu cầu Một hay một số máy dịch vụ File đợcgắn vào mạng LAN Một máy dịch vụ file là một thiết bị quản lí cáchoạt động file và phục vụ các máy tính cá nhân đợc kết nối trongmạng LAN Trong cấu hình của máy dịch vụ file, mỗi máy dịch vụ file
có một phần đĩa cứng dành cho mỗi máy cá nhân Chơng trình trênmáy cá nhân có thể tham chiếu đến các file trên đĩa này bằng một đặctả đờng dẫn đến và mọi th mục cùng file trên nó
Khi sử dụng một Cơ sở Dữ liệu trong môi trờng máy chủ File, mỗimáy cá nhân đợc phép sử dụng chơng trình ứng dụng Cơ sở Dữ liệutrên nó Nh vậy là có một Cơ sở Dữ liệu trên máy chủ File và nhiều
Trang 5bản sao của nó hoạt động bình thờng trên mỗi máy cá nhân đang hoạt
động Đặc trng nguyên thuỷ của mạng LAN dựa trên máy khách là tấtcả mọi thao tác dữ liệu đợc thực hiện trên máy các nhân, không phảitrên máy chủ File Máy chủ File đơn giản nh một thiết bị lu trữ dữ liệudùng chung và là sự mở rộng của máy cá nhân Nh vây, khi các máycá nhân làm việc và có yêu cầu máy chủ File sẽ gửi toàn bộ File t ơngứng qua mạng đến máy cá nhân, và các thao tác dữ liệu dợc thực hiện.Các hoạt động an toàn cũng thực hiện tại máy cá nhân
Kiến trúc máy dịch vụ File
1.1.2 Những hạn chế của máy dịch vụ file:
Khi sử dụng máy dịch vụ file lên mạng cục bộ có ba hạn chế sau:
Sự di chuyển dữ liệu quá nhiều trên mạng
Các máy trạm khách phải đủ mạnh
Việc kiểm soát dữ liệu là phi tập trung
1.2 Tổ chức hệ thống theo kiến trúc khách/dịch vụ:
Một sự cải tiến trong hệ thống dựa trên mạng LAN là kiến trúc kháchdịch vụ, trong đó các dữ liệu và xử lí ứng dụng dợc phân chia giữa máykhách và máy dịch vụ Máy trạm khách thờng quản lí giao diện và trình
điều khiển dữ liệu, còn máy dịch vụ Cơ sở Dữ liệu đại diện cho việc lu trữCơ sở Dữ liệu và truy nhập đến nó, xử lí các truy vấn
Trong kiến trúc Client/Server, tất cả các hoạt động phục hồi, an toàn
Trang 6vụ Các chức năng Cơ sở Dữ liệu trung tâm thờng đợc gọi là máy CSDL
trong một môi trờng Client/Server ở máy dịch vụ, mọi yêu cầu về dữ liệu
đợc thực hiện, và chỉ những dữ liệu kết quả đáp ứng các yêu câu mới đợcgửi về máy khách qua mạng Nh vậy, máy dịch vụ cung cấp mọi địch vụCơ sở Dữ liệu cho máy khách
động truy nhập dữ liệu và các chức năng kiểm tra Trong khi đó, trongmôi trờng máy lớn, tất cả các bộ phận của HTTT đợc quản lí và thực hiệntrên máy lớn
Một u điểm khác của kiến trúc khách/dịch vụ là khả năng ghép nốimôi trờng máy khách với môi trờng máy dịch vụ máy khách có thể gồmnhiều loại khác nhau Điều đó có nghĩa là, nó có thể dùng một hệ thốngứng dụng bất kì để sinh ra lệnh gửi yêu cầu dữ liệu đến máy dịch vụ (ch-
ơng trình ứng dụng có thể viết bằng Quattro, DBASE, Foxpro, ) miễn là
có giao diện giao diện chơng trình ứng dụng (API) cho máy Cơ sở Dữ
liệu
Kiến trúc khách/dịch vụ có các u điểm sau:
Trang 7 Cho phép nhận đợc nhiều lợi ích từ công nghệ máy trạm mini
Cho phép thực hiện hầu hết các xử lí gần nguồn dữ liệu đợc xử lí,nhờ vậy rút ngắn thời gian và giảm chi phí lu thông trên mạng
Nó tạo điều kiện sử dụng các giao diện đồ họa và kĩ thuật trìnhdiễn trực quan thờng có sẵn đối với các máy trạm
Nó khuyến khích chấp nhận các hệ mở
Những hiểu biết về kiến trúc máy dịch vụ file và kiến trúc khách/dịch
vụ cho phép ta có thể trình bày một số các thiết kế cho các hệ phân tándựa trên cấu hình của các kiến trúc trên đây
2 Đặc tr ng của các loại hình hệ thống phân tán:
Việc chuyển các hệ thống máy lớn trung tâm và các ứng dụng trênmáy mạng các nhân độc lập sang một hình thức tổ chức các hệ thống phântán và xử lí trên nhiều máy khác nhau, đây là một xu hớng phát triển mạnh.Vấn đề đặt ra là cần lựa chọn hình thức phân tán nào cho mỗi mô hình phântán cụ thể
2.1 Các đặc tr ng của máy dịch vụ file và kiến trúc khách/dịch vụ
Cả hai mô hình máy dịch vụ file và cấu trúc khách/dịch vụ đều sửdụng máy cá nhân, máy trạm và nối với nhau bằng mạng LAN Trong khikiến trúc dịch vụ file trợ giúp phân tán dữ liệu thì kiến trúc khách/dịch vụtrợ giúp phân tán dữ liệu và phân tán xử lí Bảng sau tổng hợp những khácnhau cơ bản giữa 2 loại kiến trúc trên
Đặc trng Máy dịch vụ file Máy khách/máy dịch vụ
Cao, máy dịch vụ đảm nhiệm
Sử dụng mạng File lớn, chuyển cả
Trang 82.2 Những dạng tiên tiến của kiến trúc khách/dịch vụ:
Ngày nay, ngời ta đã đa ra mô hình khách/dịch vụ nhiều chức năng hệthống ứng dụng khác nhau dựa trên ba thành phần sau đây:
Quản trị dữ liệu: các chức năng này quản lí mọi tơng tác giữa phầnmềm, file và Cơ sở Dữ liệu bao gồm việc lấy dữ liệu truy vấn, cậpnhật, an toàn kiểm tra tơng tranh và phục hồi
Trình diễn dữ liệu: chức năng này quản lí giao diện giữa phần mềmngời dùng và hệ thống, bao gồm hiển thị, in các biển báo và thẩm
2.2.1 Trình diễn thông tin phân tán:
Chức năng Máy khách Máy dịch vụ
Trình diễn dữ liệu
Dữ liệu trình diễn trênmáy dịch vụ đợc định dạng để trình diễn chongời dùng
Dùng dữ liệu gửi cho khách, sử dụng công nghệtrình diễn của máy dịch vụ
Hình thức trình diễn phân tán của kiến trúc khách/dịch vụ đợc trìnhbày ở bảng trên đợc sử dụng để làm mới các ứng dụng trên máy dịch
vụ và đợc gửi cho máy khách Trong kiến trúc khách/dịch vụ, côngviệc gọi “máy quét màn hình” làm việc trên máy khách để định dạnglại một cách đơn giản các dữ liệu do máy dịch vụ quản lí Kết quả nàylàm dễ dàng việc sử dụng báo cáo, biểu mẫu và giao diện mà khôngphá huỷ hoặc phải viết lại hệ thống cũ Trình diễn phân tán đã hạn chế
đợc sự hoạt động của các biểu mẫu, báo cáo đang tồn tại, và khi cầnnhững đơn thể trình diễn trên cả máy khách và máy dịch vụ có thểthay đổi và bảo trì đồng thời
2.2.2 Trình diễn từ xa:
Trang 9Kiểu trình diễn từ xa của mô hình khách/dịch vụ đặt tất cả các chứcnăng trình diễn dữ liệu trên máy khách nên phần mềm trên máy khách
có mọi khả năng trình diễn những dữ liệu định dạng Kiến trúc tạo ra 1
sự mềm dẻo rất lớn so với kiến trúc trình diễn phân tán Khi ngời dùngcần thay đổi các biểu mẫu, báo cáo hay nội dung mới thì chỉ cần bảotrì phần mềm trên máy khách
Ngày nay, định dạng siêu văn bản (HTML) trở thành định dạng
chung cho hệ mạng toàn cầu Internet Vì vậy, mọi máy khách trong hệnày đợc trang bị sẵn các phần mềm trình duyệt HTML (nh InternetExplorer, Netscape, ) có thể trình duyệt mọi thông tin lấy về từ mọimáy dịch vụ trên hệ thống mà nó có thể kết nối đợc
Chức năng Máy khách Máy dịch vụ
Trình diễn dl
Dữ liệu phân tích trên máy dịch vụ đợc định dạng để trình diễn cho ngời dùng
2.2.3 Quản lí dữ liệu từ xa:
Chức năng Máy khách Máy dịch vụ
Phân tích dữ liệu
Dữ liệu thô đợc lấy từ máy dịch vụ và đợc phân tích
Trình diễn dl Trình diễn tất cả dữ liệu
Hình thức quản lí dữ liệu từ xa của kiến trúc khách/dịch vụ đặt mọiphần mềm ở máy khách, trừ các phần mềm quản lí dữ liệu Trên một
hệ thống mạng tốc độ cao, tất cả các dữ liệu cần cho sự phân tích (màkhông phải sự trình diễn) đều có thể truyền từ máy dịch vụ đến máykhách Trên máy khách có thể sử dụng các phần mềm bất kì (Excel,MATLAB, ) để xử lí dữ liệu có đợc Nh vậy, Cơ sở Dữ liệu trên máydịch vụ đợc sử dụng chung nhng nó vẫn quản lí tập trung Ngày nay,
do sự phát triển của kỹ thuật phần cứng, các máy khách là đủ mạnh
Trang 10(cả phần cứng và phần mềm), đủ khả năng để lu trữ đợc các dữ liệulớn và tiến hành các xử lí cần thiết.
2.2.4 Phân tán chức năng:
Chức năng Máy khách Máy dịch vụ
Phân tích dữ liệu
Các dữ liệu đợc lấy và phân tích từ máy dịch vụ
Các dữ liệu đợc lấy và phân tích từ máy dịch
vụ sau đó truyền cho máy khách
Trình diễn dl
Tất cả dữ liệu (đợc phântích cả trên máy dịch vụ
và máy khách)
Kiến trúc khách/dịch vụ với chức năng phân tán, phân tán các chứcnăng phân tích trên cả máy khách và máy dịch vụ, để toàn bộ phầntrình diễn dữ liệu trên máy khách, tất cả các chức năng quản lí dữ liệutrên máy chủ kiến trúc này cho phép cài đặt các chức năng phân tíchtrên các máy mà có chi phí hiệu quả nhất Chẳng hạn, những phân tích
đòi hỏi nhiều dữ liệu có thể đặt trên máy dịch vụ mà trên đó lu trữphần lớn các dữ liệu cần thiết cho việc phân tích sẽ giảm lu lơng thôngtin sẽ truyền trên mạng Tuy nhiên, trong môi trờng này, việc pháttriển, kiểm thử và bảo trì không tránh khỏi khó khăn vì nó liên quan
đến việc đảm bảo sự phối hợp nhất quán giữa các chức năng phân tích
đợc phân tán trên cả máy khách và máy dịch vụ
2.2.5 Cơ sở Dữ liệu phân tán:
Chức năng Máy khách Máy dịch vụ
Quản lí dữ liệu Quản lí dữ liệu địa
Trình diễn dl Tất cả dữ liệu
Kiến trúc máy khách/máy dịch vụ với Cơ sở Dữ liệu phân tán đặtmọi chức năng trên máy khách, trừ phần dữ liệu và chức năng quản lí
đợc dự kiến cho máy dịch vụ Trong trờng hợp này, mỗi máy khách
Trang 11(máy trạm) đợc lu trữ các dữ liệu cần thiết thờng xuyên cho các xử lícủa nó Chỉ dữ liệu dùng chung mới đặt trên máy dịch vụ và đợc chia
sẽ cho mọi máy khách Chơng trình của máy khách có thể gọi đến cảmáy trạm địa phơng hay máy dịch vụ với cùng một truy vấn Khái
niệm về phân đoạn dữ liệu theo chiều dọc hay phân đoạn dữ liệu theo chiều ngang đợc sử dụng để quyết định xem dữ liệu nào đợc lu trữ trên
máy khách hay máy dịch vụ nào
Nhiều công cụ đã đợc phát triển (nh Designer 2000 của Oracle) đểlàm đơn giản hoá việc thiết kế và triển khai các hệ thông Cơ sở Dữ liệuphân tán
2.2.6 Xử lí phân tán:
Kiến trúc khách/dịch vụ với xử lí phân tán phối hợp các đặc trng tốtnhất của chức năng phân tán và Cơ sở Dữ liệu phân tán bằng cách liênkết chúng lại trên cả máy khách và máy dịch vụ, và chỉ để lại chứcnăng trình diễn cho máy khách Mô hình này cho phép định vị mộtcách mềm dẻo cả chức năng phân tích và dữ liệu ở nơi mà chúng hoạt
động là tốt nhất Tuy nhiên, cũng nh các mô hình khác mô hình nàykhông tránh khỏi một số khó khăn nh nó vốn có từ các mô hình đã nêutrên
Chức năng Máy khách Máy dịch vụ
Quản lí dữ liệu Quản lí dữ liệu địa
Trình diễn dl Tất cả dữ liệu
Những mô hình kiến trúc nêu trên cho các nhà thiết kế một phạm virỗng rãi để lựa chọn mô hình thích hợp đối với mỗi trờng hợp cụ thể.Cũng giống nh đối với các thiết kế vật lý khác, những chuẩn mực của
tổ chức và các ràng buộc mà tổ chức đặt ra (thời gian đáp ứng, trình độngời sử dụng, ) phải đợc xem xét khi lựa chọn mô hình thích hợp
Trang 122.3 Sự cân bằng giữa các yếu tố trong hệ phân tán:
Đối tợng chủ yếu của Cơ sở Dữ liệu phân tán là cung cấp dịch vụ truynhập dữ liệu cho ngời sử dụng ở mọi nơi khác nhau Để đáp ứng đợc mục
tiêu đó, hệ thống phân tán phải có đợc tính trong suốt địa phơng tính
trong suốt địa phơng đợc hiểu là một ngời sử dụng ở bất kì địa phơng nàokhi yêu cầu dữ liệu thì họ không cần biết các dữ liệu họ cần đợc lu trữ ở
đâu
Mỗi yêu cầu bất kì để lấy dữ liệu hay cập nhật dữ liệu ở 1 trạm nào đó
đều đợc đáp ứng tự động bằng cách hệ thống gửi thông tin đến trạm này.Các u điểm và nhợc điểm của hệ thống phân tán
Ưu điểm :
o Tăng cờng khả năng của hệ thống liên quan đến sự d thừa
o Kiểm soát dữ liệu địa phơng theo hớng hoàn thiện sự tíchhợp và quản trị Cơ sở Dữ liệu từ xa
o Tăng cờng các đơn thể ứng dụng và Cơ sở Dữ liệu mà khônglàm cản trở ngời sử dụng hiện tại
o Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại địaphơng
Nh ợc điểm :
o Phần mềm đắt và phức tạp
o Phải xử lí mọi thay đổi thông báo trong mọi địa điểm
o Khó kiểm soát đợc tính toàn vẹn dữ liệu với nhiều bản saodữ liệu và đợc phân bố rộng rãi
o Đáp ứng chậm nhu cầu trong trờng hợp các phần mềm ứngdụng không đợc phân bố với việc sử dụng chúng
2.4 Tổ chức dữ liệu trong hệ thống phân tán
Một Cơ sở Dữ liệu phân tán là một Cơ sở Dữ liệu vật lí đợc phân chiamột cách vật lí trên nhiều máy tính ở nhiều địa phơng và kết nối với nhaubằng một mạng truyền thông dữ liệu Các máy trạm của hệ thống có thể
đợc phân bố trên một vùng rộng lớn Chẳng hạn nh toàn thế giới hoặc
Trang 13trong một phạm vi nhỏ nh trong một ngôi nhà Các máy tính trong hệthống có thể là các máy cá nhân đến máy lớn hay máy cực lớn.
Chi phí truyền thông dữ liệu tốn kém, có thể cao
Toàn bộ hệ thống ngừng khi Cơ sở Dữ liệu ngừng hoạt động
2 Chia nhỏ dữ liệu: Cơ sở Dữ liệu đợc chia thành các phần nhỏ
liên kết với nhau (không trùng lặp) Mỗi phần dữ liệu này đợc
đ-a đến gần ngời sử dụng ở từng địđ-a phơng để họ dễ dàng truynhập hơn
3 Sao lặp dữ liệu: Cơ sở Dữ liệu đợc sao thành nhiều bản sao từng
phần hay đầy đủ và đợc đặt ở hai hay nhiều vị trí trên mạng nếubản sao của Cơ sở Dữ liệu đợc lu trữ tại mọi trạm ta có trờng
hợp sao lặp đầy đủ Phơng thức này làm cực đại việc truy nhập
tới dữ liệu ở mọi địa phơng Tuy nhiên phơng thức này làm nảysinh nhiều vấn đề khi cập nhật: khi có thay đổi dữ liệu trên mộtcơ sở thì cần đợc xử lí lại và đồng bộ hoá dữ liệu cho tất cả các
vị trí khác Một kỹ thuật mới hơn cho phép tạo bản sao không
đầy đủ phù hợp với yêu cầu dữ liệu tại mỗi trạm lu trữ và mộtbản đây đủ ở máy dịch vụ Sau mỗi thời gian, các bản sao đợclàm đồng bộ với bản chính ở máy dịch vụ bằng một công cụ
phần mềm nào đó Phần mềm Brieafcase [ ] là một công cụ của
Microsoft cho phép thực hiện điều này trên Cơ sở Dữ liệuAccess
4 Phơng thức lai: với chiến lợc này, Cơ sở Dữ liệu đợc phân thành
phần quan trọng và không quan trọng Phần ít quan trọng đợc lu
Trang 14trử chỉ ở một nơi, trong khi các mảng quan trọng hơn đợc lu trữ
ở nhiều nơi
Khi xem xét tất cả các vấn đề và các khả năng có thể, vấn đề phântích phân tán dữ liệu trên mạng trở nên vô cùng phức tạp
2.4.2 Kiến trúc cơ bản của một Cơ sở Dữ liệu phân tán:
Sơ đồ dới đây cho ta cho ta một kiến trúc cơ bản để tổ chức cho bấtkì một Cơ sở Dữ liệu phân tán nào:
Kiến trúc cơ bản của Cơ sở Dữ liệu phân tán Sơ đồ tổng thể: Sơ đồ này xác định tất cả các dữ liệu sẽ đợc lu trữ
trong Cơ sở Dữ liệu phân tán Sơ đồ tổng thể có thể đợc định nghĩamột cách chính xác theo cách nh trong Cơ sở Dữ liệu không phân tán.chúng ta sẽ sử dụng mô hình quan hệ để hình thành nên sơ đồ này Sửdụng mô hình này, sơ đồ tổng thể bao gồm định nghĩa của một tập cácquan hệ tổng thể
Sơ đồ phân đoạn: Mỗi quan hệ tổng thể có thể chia thành một vài phần nhỏ hơn không giao nhau đợc gọi là đoạn (fragments) Có nhiều
cách khác nhau để thực hiện việc phân chia này Sơ đồ tổng thể mô tảcác ánh xạ giữa các quan hệ tổng thể và các đoạn đợc định nghĩa trongsơ đồ phân đoạn ánh xạ này là một chiều Có thể có nhiều đoạn liênkết tới một quan hệ tổng thể, nhng mỗi đoạn chỉ liên kết tới nhiều nhất
là một quan hệ tổng thể Các đoạn đợc chỉ ra bằng tên của quan hệ
tổng thể cùng với tên của chỉ mục đoạn.
Trang 15Sơ đồ định vị: các đoạn là các phần lôgíc của một quan hệ tổng thể
đợc định vị trên một hoặc nhiều vị trí vật lý trên mạng Sơ đồ định vịxác định đoạn nào nằm ở các trạm nào Lu ý rằng, kiểu ánh xạ đợc
định nghĩa trong sơ đồ định vị quyết định Cơ sở Dữ liệu phân tán là dthừa hay không Tất cả các đoạn liên kết với cùng một quan hệ tổng
thể R và đợc định vị tại cùng một trạm j cấu thành ảnh vật lí của quan
hệ tổng thể R tại trạm j Bởi vậy, ta có thể ánh xạ một-một giửa một
ảnh vật lý và một cặp (quan hệ tổng thể, trạm) Các ảnh vật lí có thể
đ-ợc chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục trạm.
Ví dụ: Ký hiệu R i chỉ tới đoạn thứ i của quan hệ tổng thể R (nh
hình vẽ)
Ký hiệu R j là ảnh vật lý của quan hệ R tại trạm j.
Sơ đồ ánh xạ địa ph ơng : ánh xạ các ảnh vật lý tới các đối tợng các
hệ quản trị Cơ sở Dữ liệu địa phơng thao tác tại các trạm ánh xạ nàyphụ thuộc vào các hệ quản trị Cơ sở Dữ liệu địa phơng Do vậy, trongmột hệ thống không đồng nhất, chúng ta phải có các kiểu ánh xạ địaphơng khác nhau tại các trạm khác nhau
Trang 16Các đoạn và các ảnh vật lí của một quan hệ tổng thể
2.3 Các mức trong suốt và tính tự trị:
Quan hệ R có thể đợc lu trữ theo nhiều cách trong một hệ thống Cơ sởDữ liệu phân tán Về phía hệ thống, ngời dùng càng ít biết về sự phân tánthì càng tốt Hệ thống có thể giấu các chi tiết về sự phân tán của dữ liệutrong mạng bằng cách thể hiện rõ tính trong suốt của mạng
Tính trong suốt liên hệ với tính tự trị địa phơng Tính trong suốt
của một mạng là mức độ “nhìn thấy” đợc các dữ liệu mà không
hề biết đến sự phân tán của chúng
Tính tự trị là mức độ độc lập về cài đặt và khai thác dữ liệu của
một trạm đối với phần còn lại của hệ thống phân tán
Trang 17Sự trong suốt phân tán có nghĩa là một chơng trình đợc viết theo kiểuCơ sở Dữ liệu phân tán nhng đợc sử dụng nh Cơ sở Dữ liệu không phântán Nói cách khác, chơng trình không bị ảnh hởng bởi sự di chuyển dữliệu từ một vị trí này sang vị trí khác Tuy nhiên, về thực chất tốc độ thựchiện của nó có bị ảnh hởng.
Một số mức khác nhau của sự trong suốt phân tán:
Mức 1: Trong suốt phân đoạn: Các ứng dụng thực hiện các truy
cập vào Cơ sở Dữ liệu nh nó không đợc phân tán
Sự trong suốt phân đoạn
Ví dụ: Giả sử có quan hệ tổng thể là: SUPPLIER ( Id, Name, Age)
và các đoạn đợc tách ra từ quan hệ tổng thể là:
SUPPLIER1 ( Id1, Name, Age)
SUPPLIER2 ( Id2, Name, Age)
SUPPLIER3 ( Id3, Name, Age)
Khi muốn tìm một ngời có Id= “Id1” ta chỉ cần tìm trên quan hệtổng thể, ngời dùng không cần quan tâm quan hệ tổng thể SUPPLIER
có phân tán hay không:
SELECT *FROM SUPPLIERWHERE Id = “Id1” ;
Mức 2: Trong suốt định vị: Trong suốt vị trí rất hữu ích bởi vì nó
cho phép ứng dụng bỏ qua các bản sao đã tồn tại của mỗi đoạn tại các
Trang 18trạm Do đó, ta có thể di chuyển các bản sao từ một trạm tới các trạmkhác, và cho phép tạo bản sao mới mà không ảnh hởng đến ứng dụng.
Mức 3: Trong suốt ánh xạ địa phơng: Trong suốt ánh xạ địa phơng
là một đặc tính rất quan trọng của một hệ thống các DBMS không
Trang 19đồng nhất ứng dụng tham chiếu tới các đối tợng có các tên độc lập từcác hệ thống cục bộ địa phơng ứng dụng đợc cài đặt trên một hệthống không đồng nhất, nhng đợc sử dụng nh một ứng dụng trên hệ
đồng nhất
Sự trong suốt ánh xạ địa phơng
Ví dụ: Cũng với ví dụ trên nhng giả sử rằng DBMS cung cấp trong
Mức 4: Không trong suốt: Ngời lập trình ứng dụng phải viết các
chơng trình để chạy trên các hệ quản trị Cơ sở Dữ liệu địa phơng(DBMSs) đợc cài đặt tại vị trí ứng dụng cần đọc dữ liệu (trên các vị tríkhác nhau các HĐH có thể khác nhau, hoặc DBMSs có thể khác nhau:các phiên bản khác nhau trong cùng 1 hệ thống, các hệ thống khácnhau trong cùng một kiểu, các chơng trình này thực hiện yêu cầu cáchàm và cài đặt chơng trình phụ trợ tại vị trí đợc yêu cầu)
2.5 Thiết kế Cơ sở Dữ liệu phân tán:
Trang 202.5.1 Sơ đồ thiết kế tổng thể Cơ sở Dữ liệu phân tán:
Sơ đồ thiết kế chung cho hệ Cơ sở Dữ liệu phân tán, gồm nhữngphần sau:
Thiết kế lợc đồ quan hệ tổng thể: thiết kế quan hệ tổng thể, và
mô tả toàn bộ dữ liệu sẽ đợc dùng trong ứng dụng
Thiết kế phân đoạn: Thực hiện chia nhỏ dữ liệu thành các phần.
Thiết kế định vị các đoạn: Là quá trình thực hiện ánh xạ các
đoạn vào các trạm khác nhau, tạo các ảnh vật lí tại các trạm.Các đoạn dữ liệu đợc đa vào các vị trí lu trữ thích hợp với yêucầu hoạt động thực tế của hệ thống
Thiết kế Cơ sở Dữ liệu vật lí: thiết kế dữ liệu vật lí cho các quan
Trang 21a Ph ơng pháp tiếp cận từ trên xuống:
Quá trình thiết kế hệ thống theo phơng pháp từ trên xuống bao gồmcác bớc nh sơ đồ cho ở hình sau, trong đó:
Các định nghĩa: Định nghĩa môi trờng hệ thống, dữ liệu và
các tiến trình cho tất cả những khả năng về dữ liệu của ngời
sử dụng
Thiết kế khung nhìn: Hoạt động phân phối với sự định nghĩa
những cái chung cho ngời sử dụng
Thiết kế mức quan niệm: Là một tiến trình kiểm tra và xác
định rõ hai nhóm quan hệ phân tích thực thể và phân tíchchức năng
Phân tích thực thể: xác định các thực thể, các thuộc tính và
các mối quan hệ giữa chúng
Phân tích chức năng: Xác định các chức năng của ứng dụng
và đa ra các chức năng cơ sở
Thiết kế phân tán: thiết kế phân tán bao gồm hai phần thiết
kế phân đoạn và thiết kế định vị các đoạn
Lợc đồ quan niệm mức địa phơng: tạo ra các lợc đồ Cơ sở Dữ
liệu mức quan niệm tại các địa phơng
Thiết kế vật lý: thực hiện ánh xạ lợc đồ mức quan niệm tại
các địa phơng ra các đơn vị lu trữ vật lý
Quan sát và kiểm tra: Kiểm tra các giai đoạn của quá trình
thiết kế Cơ sở Dữ liệu Nếu một giai đoạn bị sai sẽ tiến hànhthiết kế lại
Trang 22Sơ đồ thiết kế Cơ sở Dữ liệu phân tán theo mô hình trên xuống
Phơng pháp trên xuống là có hiệu quả khi một hệ thống Cơ sở Dữliệu đợc thiết kế từ đầu Tuy nhiên, trong thực tế, thờng có một số Cơ
sở Dữ liệu đã tồn tại và Cơ sở Dữ liệu phân tán đợc phát triển bằngcách liên kết chúng lại thành một Cơ sở Dữ liệu mới thống nhất thì h-ớng tiếp cận trên xuống là khó thực hiện Khi đó phơng pháp thiết kếdới lên là phơng pháp hiệu quả hơn
b Ph ơng pháp tiếp cận từ d ới lên:
Phơng pháp dới lên là phơng pháp ngợc lại với phơng pháp trênxuống Việc thiết kế Cơ sở Dữ liệu phân tán theo phơng pháp dới lên
đợc bắt đầu bằng việc thiết kế những lợc đồ ở mức quan niệm sao cho
chúng độc lập với nhau Sau đó chúng đợc kết hợp lại trong một sơ đồ khái niệm tổng thể Phơng pháp dới lên là phù hợp khi hệ thống Cơ sở
Trang 23 Phân đoạn hỗn hợp là sự kết hợp giữa phân đoạn ngang vàphân đoạn dọc.
2.5.3.1 Các điều kiện ràng buộc trong thiết kế phân đoạn:
Một phơng pháp thiết kế phân đoạn đúng đắn phải thoả mãn baràng buộc sau:
Tính đầy đủ: toàn bộ dữ liệu của quan hệ tổng thể phải đợc
ánh xạ vào các đoạn quan hệ và ngợc lại Điều này có nghĩa
là không tồn tại một mục dữ liệu nào thuộc vào quan hệ tổngthể mà không thuộc vào bất kỳ đoạn nào
Xây dựng lại: quan hệ tổng thể đợc xây dựng lại từ các đoạn
mà nó đã tách ra Điều kiện này là hiển nhiên bởi vì trongthực tế chỉ có các đoạn đợc lu trữ trong Cơ sở Dữ liệu phântán, và quan hệ tổng thể phải đợc xây dựng lại thông qua các
đoạn khi cần thiết
Tính rời nhau: các đoạn đợc tách ra từ quan hệ tổng thể phải
là rời nhau Vì vậy việc tạo các bản sao là rõ ràng với các
đoạn đợc chia Tuy nhiên, điều kiện này chỉ áp dụng chínhvào việc phân đoạn ngang, trong khi việc phân đoạn dọcnhiều khi vẫn đợc phép vi phạm điều kiện này
2.5.3.2 Các ph ơng pháp phân đoạn:
a Phân đoạn ngang (horizontal fragmentation partitioning)
Phân đoạn ngang là tách quan hệ tổng thể R thành các tậpcon R1, R2,… , Rn Mỗi tập con chứa một số n_bộ của R, điềunày rất hữu ích trong Cơ sở Dữ liệu phân tán, nơi mỗi tập conbao gồm các dữ liệu có các thuộc tính địa lý chung Mỗi n_bộthuộc vào một trong các thành phần, để có thể khôi phục đợcquan hệ tổng thể R khi cần thiết Việc khôi phục lại quan hệ R
Trang 24SINHVIEN1 = SELECTtinh = “Nghệ An” SINHVIENSINHVIEN2 = SELECTtinh = “Hà Tĩnh” SINHVIEN
Điều kiện để xây dựng lại đợc đảm bảo:
SINHVIEN = SINHVIEN1 SINHVIEN2
Dễ dàng thấy rằng, các phân đoạn trên thoã mãn điều kiệntách rời nhau và đầy đủ
Trong thực tế, nhiều khi ta cần có các đoạn mà n_bộ của nóthuộc vào nhiều đoạn khác nhau
Ví dụ: có quan hệ tổng thể sau:
GIAOVIEN (Maso, Hoten, Gioitinh, Quequan)
Do mỗi giáo viên thuộc vào một Trờng (học), các Trờngkhác nhau có sự quản lí nhân viên của mình khác nhau, nên việcphân chia các nhân viên thuộc các Trờng khác nhau vào cácquan hệ khác nhau là điều cần thiết Tuy nhiên, Trờng khôngphải là một thuộc tính của quan hệ GIAOVIEN, nó là thuộc tínhcủa quan hệ sau:
NHANVIEN (Maso, Hoten, Gioitinh, Quequan, Truong)
Giả sử có hai trờng: Phan Đình Phùng và Lê Quý Đôn trongquan hệ trên và ta có hai đoạn đợc chia từ quan hệ trên nh sau:NHANVIEN1 = SELECTTruong=”Phan Đình Phùng” NHANVIENNHANVIEN2 = SELECTTruong=”Lê Quý Đôn” NHANVIEN
Trang 25Bởi vậy các phân đoạn của quan hệ GIAOVIEN có thể đợc
định nghĩa nh sau:
GIAOVIEN1 = GIAOVIEN SJMaso = Maso NHANVIEN1
GIAOVIEN2 = GIAOVIEN SJMaso = Maso NHANVIEN2
ở trên ta đã sử dụng phép toán nửa nối giữa các quan hệGIAOVIEN và NHANVIEN1, NHANVIEN2
Ta có thể mô tả đầy đủ điều kiện tham chiếu của hai đoạntrên là:
q1: GIAOVIEN.Maso = NHANVIEN.Maso AND
b Phân đoạn dọc : (vertical fragmentation partitioning)
Phân đoạn dọc của một quan hệ tổng thể là việc chia cácthuộc tính của nó thành các nhóm Điều này là hữu ích trongcác Cơ sở Dữ liệu phân tán, khi mà mỗi nhóm các thuộc tính cóthể chứa dữ liệu có chung những thuộc tính địa lý
Việc phân đoạn là đúng đắn nếu nh mỗi thuộc tính của quan
hệ tổng thể đợc ánh xạ thành thuộc tính của ít nhất một đoạncon, và phải đảm bảo điều kiện là quan hệ tổng thể có thể đợcxây dựng lại từ các phân đoạn mà nó chia ra bằng phép kết nối.Phân rã theo chiều dọc quan hệ tổng thể R thành các quanhệ Ri:
Ri = Chiếu Thuộc tính Ri ( R )Quan hệ ban đầu đợc khôi phục nhờ các phép kết nối tự nhiên:
R = R1 R2 … Rn
Việc đa các khoá của quan hệ tổng thể vào trong mỗi
đoạn đợc tách ra là cách dễ nhất để có thể xây dựng lại quan hệtổng thể bằng các phép toán kết nối
Ví dụ: Cho quan hệ tổng thể:
NHANVIEN (MaNV, TenNV, Luong, ThueTN, Phong, Bophan)
Trang 26Một phân đoạn dọc của quan hệ trên có thể đợc định nghĩa
NHANVIEN = NHANVIEN1 JOIN MaNV = MaNV (NHANVIEN2)Quan hệ tổng thể NHANVIEN đợc xây dựng lại nhờ việc kếtnối hai phân đoạn NHANVIEN1 và NHANVIEN2, dựa vào khoá
chính MaNV
Trong thực tế, các phân đoạn dọc nhiều khi chứa cùng một
số các thuộc tính (không phải thuộc tính khoá) nh nhau trongcác phân đoạn khác nhau Chúng ta có thể loại bỏ các thuộc tínhnày khi xây dựng lại quan hệ tổng thể
Ví dụ: với quan hệ tổng thể NHANVIEN ở trên ta có thể
phân thành hai đoạn dọc nh sau:
NHANVIEN1 = PROJECTION MaNV, TenNV, Phong, Bophan
(NHANVIEN)
NHANVIEN2 = PROJECTION MaNV, TênNV, Luong, ThueTN
(NHANVIEN)
Thuộc tính TenNV đợc lặp lại ở trong cả hai phân đoạn Việc
xây dựng lại quan hệ tổng thể NHANVIEN ta có thể thực hiện
nh sau:
NHANVIEN = NHANVIEN1 JOIN MaNV = MaNV
(PROJECTION MaNV, Luong, ThueTN (NHANVIEN2))
c Phân đoạn hỗn hợp : (hybird fragmentation partitioning)
Ví dụ: Cho quan hệ tổng thể sau:
NHANVIEN (MaNV, TenNV, Luong, ThueTN, Phong, Bophan)
Sau đây là một phân đoạn hỗn hợp, thu đợc bằng áp dụngcác phân đoạn ngang dựa trên các phân đoạn dọc ở ví dụ trớc:NHANVIEN1 = SL MaNV <= 10 PJ MaNV, TenNV, Phong, Bophan (NHANVIEN)
Trang 27NHANVIEN2 = SL MaNV <= 20 PJ MaNV, TenNV, Phong, Bophan (NHANVIEN)
NHANVIEN3 = SL MaNV > 20 PJ MaNV, TenNV, Phong, Bophan (NHANVIEN)
NHANVIEN4 = PJ MaNV, TenNV, Luong, ThueTN (NHANVIEN)
Việc xây dựng lại quan hệ tổng thể có thể đợc mô tả nh sau:NHANVIEN = UN(NHANVIEN1, NHANVIEN2, NHANVIEN3) JN
Trang 28Phân đoạn hỗn hợp có thể đợc trình diễn qua cây phân đoạn Trongcây phân đoạn, gốc của cây tơng ứng với quan hệ tổng thể, các mức tơng ứngvới các phân đoạn, và các nút ở giữa tơng ứng với các kết quả trung giantrong quá trình phân đoạn Tập hợp các nút con của một nút trình diễn sựphân đoạn của nút này bằng một thao tác phân đoạn (có thể là ngang hoặcdọc).
Chơng II: Thiết kế bài toán thực tế Chơng trình “Quản lí đào tạo” chạy trong môi tr-
ờng mạng lan.
1 Đặt vấn đề:
1.1 Sự cần thiết của vịêc Quản Lí Đào Tạo :“ ”
Từ khi máy tính ra đời đến nay, những ứng dụng của nó trong mọi lĩnhvực của cuộc sống nói chung và trong lĩnh vực quản lý nói riêng ngàycàng phát triển Cùng với sự phát triển của phần cứng, phần mềm và côngnghệ mạng các phần mềm quản lý ngày càng phục vụ tốt hơn công việccho các cán bộ quản lý, lãnh đạo trong công tác nghiệp vụ quản lý kinhdoanh, ra quyết định, lập kế hoạch
Công ty TNHH Tin Học ánh Dơng là một đơn vị chuyên đào tạoCông nghệ thông tin và Ngoại ngữ tại Thị xã Hà Tĩnh, tỉnh Hà Tĩnh Vớimục đích đào tạo Tin học và Ngoại ngữ cho ngời dân, phòng Đào tạo củacông ty đã rất vất vả trong việc quản lí một số lớn học viên đã và đang
đăng kí học Tin học cũng nh Ngoại ngữ tại đây
Trang 29Với yêu cầu của công ty TNHH ánh Dơng là viết 1 chơng trình phầnmềm có thể chạy trên các máy vi tính đơn lẻ hoặc chạy trên mạng LANcủa công ty nhằm thực hiện công việc Quản lí toàn bộ các hoạt động củaquá trình đào tạo học viên cho phòng đào tạo của công ty, trong thời gianthực hiện đề tài tốt nghiệp, đợc sự gợi ý của Ban Giám Đốc công tyTNHH Tin Học ánh Dơng và đợc sự chấp thuận của thầy giáo hớng dẫn
tôi đã chọn bài toán "Quản lý Đào tạo" với nội dung cơ bản là: Xây
Tạo và In ấn các bản báo cáo theo yêu cầu của ngời dùng
1.2 Những yêu cầu về ch ơng trình:
Chơng trình “Quản lý Đào tạo” phải đạt đợc những yêu cầu cơ bảnsau:
Lu trữ đầy đủ, chính xác thông tin về học viên
Tìm kiếm, cập nhật, in ấn thuận lợi, nhanh chóng
Có giao diện đẹp, tiện dụng, sắp xếp có khoa học và thân thiện vớingời dùng Đối tợng sử dụng không đòi hỏi phải đợc trang bị nhiềukiến thức về máy tính
Có cấu trúc rõ ràng, dễ dàng mở rộng, sửa đổi khi có các yêu cầuquản lý mới
Cho phép trao đổi dữ liệu với các phần mềm thông dụng khác
Chạy trên máy tính cá nhân và máy tính trong môi trờng mạngLAN
Trang 301.2 Các tiến trình tổng quát phát triển Hệ thống thông tin (HTTT):
1 Phát triển mô hình quan niệm dữ liệu
- Biểu đồ thực thể – mối quan hệ
- Từ điển dữ liệu
2 Phát triển các mô hình xử lí
- Biểu đồ luồng dữ liệu vật lí
- Biểu đồ luồng dữ liệu lôgic