TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀTRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH BÁO CÁO HỌC PHẦN HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN ĐỀ TÀI: PHÂN TÍCH, THIẾT KẾ CSDL PHÂN TÁN VÀ XÂY DỰNG ỨNG D
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO HỌC PHẦN
HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
ĐỀ TÀI: PHÂN TÍCH, THIẾT KẾ CSDL PHÂN TÁN
VÀ XÂY DỰNG ỨNG DỤNG “QUẢN LÝ BÁN HÀNG SIÊU THỊ VINMART TRÊN ĐỊA BÀN QUẬN
Võ Nguyễn Nhật Trường Giảng viên hướng dẫn: TS Nguyễn Hà Huy Cường
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT – HÀN
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO HỌC PHẦN
HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
ĐỀ TÀI: PHÂN TÍCH, THIẾT KẾ CSDL PHÂN TÁN
VÀ XÂY DỰNG ỨNG DỤNG “QUẢN LÝ BÁN HÀNG SIÊU THỊ VINMART TRÊN ĐỊA BÀN QUẬN
NGŨ HÀNH SƠN”
Trang 3
đồ án quản lý bán hàng nhằm học hỏi và thực hành những quy trình tác vụtrên.
Công nghệ cơ sở dữ liệu (DataBase - DB) đã trải qua một quá trìnhhình thành và phát triển khá lâu dài Ban đầu, các hệ cơ sở dữ liệu thườnggắn liền với ứng dụng, nghĩa là mỗi ứng dụng định nghĩa và duy trì dữ liệucủa riêng chúng Phát triển hơn, dữ liệu được quản lý một cách tập trung,nhiều ứng dụng khác nhau có thể truy xuất dữ liệu trực tiếp từ cơ sở dữ liệutập trung đó
Tuy nhiên, cơ sở dữ liệu tập trung cũng tồn tại nhiều khuyết điểm, cóthể kể đến đó là khi trung tâm lưu trữ và xử lý dữ liệu có sự cố thì toàn hệthống sẽ ngừng hoạt động, hay tình trạng tắc nghẽn khi có quá nhiều yêu cầutruy xuất dữ liệu Cơ sở dữ liệu phân tán ra đời đã phần nào khắc phục đượcnhững hạn chế của cơ sở dữ liệu tập trung, là kết quả của sự hợp nhất haihướng tiếp cận đối với quá trình xử lý dữ liệu: công nghệ cơ sở dữ liệu vàcông nghệ mạng máy tính
Trang 4LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành và sâu sắc đến các thầy/cô đặc biệt làgiảng viên TS.Nguyễn Hà Huy Cường trong thời gian qua đã tận tình giúp đỡ vàhướng dẫn chúng em trong việc hoàn thành bài đồ án
Mặc dù gặp nhiều khó khăn trong việc hoàn thành bài đồ án này, tuy nhiênchúng em vẫn cố gắng để thực hiện hoàn chỉnh nhất bài báo cáo Tuy nhiên, vì chưa cóđầy đủ kỹ năng cũng như kinh nghiệm để hoàn thành bài báo cáo đồ án nên chúng emvẫn còn nhiều thiếu sót Rất mong được sự đóng góp ý kiến của thầy cô để bài báo cáođược hoàn thiện hơn, chúng em xin chân thành cảm ơn
Trang 5MỤC LỤC
DANH MỤC CÁC BẢNG 6
DANH SÁCH HÌNH ẢNH 7
DANH MỤC CỤM TỪ VIẾT TẮT 8
CHƯƠNG 1: TỔNG QUAN VỀ HỆ PHÂN TÁN 1
4.1 Hệ phân tán 1
1.2 Nguyên tắc xây dựng hệ phân tán 1
1.3 Mục tiêu của hệ phân tán 2
1.3.1 Kết nối người sử dụng với tài nguyên 2
1.3.2 Tính trong suốt 4
1.3.3 Tính mở 5
1.3.4 Tính co giãn 5
1.4 Các thành phần của hệ phân tán 6
1.4.1 Phần cứng hệ phân tán 6
1.4.2 Phần cứng hệ phân tán 7
1.5 Hệ cơ sở dữ liệu phân tán (Distributed database system_DDBS) 8
1.5.1 Các khái niệm cơ sở dữ liệu phân tán 8
1.5.2 Kiến trúc của một hệ cơ sở dữ liệu phân tán 10
1.5.3 Phân loại hệ cơ sở dữ liệu phân tán 11
1.5.4 Ưu điểm và hạn chế hệ cơ sở dữ liệu phân tán 12
CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 15
2.1 Lựa chọn phương pháp phân tán 15
2.2 Bài toán 15
2.2.1 Mô tả bài toán 15
2.2.2 Danh sách tác nhân 16
2.2.3 Danh sách Usecase 16
2.2.4 Các kịch bản 17
2.3 Phân tích thực thể 26
2.4 Biểu đồ Diagram biểu diễn quan hệ 29
2.5 Biểu đồ quan hệ (Relationships) 29
2.6 Các chức năng trong chương trình 31
CHƯƠNG 3: CHƯƠNG TRÌNH DEMO 33
3.1 Xây dựng cơ sở dữ liệu phân tán trên SQLServer 33
3.2 Xây dựng ứng dụng cho khách hàng 36
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 39
4.1 Ưu điểm 39
4.2 Nhược điểm 39
4.3 Hướng phát triển 39
Trang 6DANH MỤC CÁC BẢNG
Bảng 1 Nguyên tắc xây dựng hệ phân tán 2
Bảng 2 Usecase Đăng nhập 18
Bảng 3 Usecase Đăng xuất 18
Bảng 4 Usecase Thêm Nhân viên 19
Bảng 5 Usecase Thêm Khách hàng 20
Bảng 6 Usecase Xoá Nhân viên 21
Bảng 7 Usecase Xoá Khách hàng 22
Bảng 8 Usecase In Hoá đơn 23
Bảng 9 Usecase Thêm hạng thành viên 24
Bảng 10 Usecase Thêm Sản phẩm 25
Bảng 11 Usecase Xoá Sản phẩm 26
Bảng 12 Thực thể người dùng 26
Bảng 13 Thực thể khách hàng 27
Bảng 14 Thực thể khu vực 27
Bảng 15 Thực thể đơn hàng 28
Bảng 16 Thực thể sản phẩm 28
Bảng 17 Thực thể chi tiết đơn hàng 28
Bảng 18 Thực thể hạng thành viên 29
Bảng 19 Thực thể loại người dùng 29
Trang 7DANH SÁCH HÌNH ẢNH
Hình 1 Các thực thể của hệ tin học phân tán 1
Hình 2 Mô hình tương tác chung giữa một client với một server 3
Hình 3 Hai cách tổ chức vi xử lý và bộ nhớ trong hệ máy tính phân tán 7
Hình 4 Cấu trúc chung của DOS 7
Hình 5 Cấu trúc chung của NOS 8
Hình 6 Cấu trúc chung của một hệ Middleware 8
Hình 7 Môi trường của hệ cơ sở dữ liệu 9
Hình 8 Kiến trúc cơ bản của hệ cơ sở dữ liệu phân tán 10
Hình 9 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 11
Hình 10 Kiến trúc mô hình hệ quản trị CSDL phân tán thuần nhất 12
Hình 11 Kiến trúc mô hình hệ quản trị CSDL phân tán hỗn tạp 12
Hình 12 Biểu đồ Diagram 29
Hình 13 Biểu đồ mối quan hệ 30
Hình 14 Tạo một Server mới 33
Hình 15 Thực hiện thêm các tính năng cho SQLServer 33
Hình 16 Đặt tên cho Server 34
Hình 17 Cấu hình cho Server 34
Hình 18 Đặt mật khẩu cho Server 35
Hình 19 Kết quả sau khi cài đặt thành công 35
Hình 20 Giao diện đăng nhập 36
Hình 21 Giao diện chức năng bán hàng 36
Hình 22 Giao diện chức năng sản phẩm 37
Hình 23 Giao diện chức năng đơn hàng 37
Hình 24 Giao diện hạng thành viên 38
Trang 8DANH MỤC CỤM TỪ VIẾT TẮT
1 Distributed database system DDBS
2 Cơ sở dữ liệu CSDL
3 Distributed Operating Systems DOS
4 Network Operating Systems NOS
Trang 9Hình 1 Các thực thể của hệ tin học phân tán
Phần mềm phân tán cung cấp công cụ thích hợp cho phép các máy tính phối hợp các hoạt động với nhau, cùng chia sẻ tài nguyên phần cứng
Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán còn có hệ thống truyền thông được mô tả như ở trên Song điều cơ bản để phân biệt hệ tin học phân tánvới mạng máy tính và hệ điều hành mạng chính là nguyên tắc xây dựng hệ
1.2 Nguyên tắc xây dựng hệ phân tán
STT Tên gọi Thuyết minh
1 Chia sẻ tài nguyên
Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần phải dùng chung tài nguyên Một tiến trìnhtrên một trạm nào đó có thể cung cấp tài nguyên dùng chung ở một trạm khác
2 Liên lạc
Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể trao đổi thông tin với nhau
3 Tin cậy Một trạm trong hệ bị sự cố không làm cho toàn hệ
ảnh hưởng, mà ngược lại, công việc đó được phân cho các trạm khác đảm nhận Ngoài ra, trạm bị sự cố
Trang 10có thể tự động phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng thái ban đầu của nó.
4 Tăng tốc
Đây là khái niệm mới về phân tán tải Một tính toán lớn nào đó, nếu chỉ sử dụng một trạm thì thời gian cho kết quả lâu Tính toán này được chia nhỏ và thực hiện song song trên các trạm Điều này cũng cần thiếtđối với các trạm quá tải
Bảng 1 Nguyên tắc xây dựng hệ phân tán 1.3 Mục tiêu của hệ phân tán
1.3.1 Kết nối người sử dụng với tài nguyên
Giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing)
Việc chia xẻ tài nguyên trên hệ phân tán - trong đó tài nguyên bị lệ thuộc về mặtvật lý với một máy tính nào đó - được thực hiện thông qua truyền thông Để chia xẻ tàinguyên một cách hiệu quả thì mỗi tài nguyên cần phải được quản lý bởi một chươngtrình có giao diện truyền thông, các tài nguyên có thể truy nhập, cập nhật được mộtcách tin cậy và nhất quán Quản lý tài nguyên ở đây bao gồm lập kế hoạch và dựphòng, đặt tên các lớp tài nguyên, cho phép tài nguyên được truy cập từ nơi khác, ánh
xạ tên tài nguyên vào địa chỉ truyền thông
Mô hình mạng máy tính thường được sử dụng là:
Mô hình xử lý Client-Server Mô hình xử lý Client-Server: Là một mô hình trong
đó có việc xử lý hợp tác đối với các yêu cầu của Client nêu ra với máy Server MáyServer tiến hành xử lý và gửi trả kết quả về cho Client Việc xử lý hợp tác Client-Server thực tế là một dạng riêng của xử lý phân tán với tài nguyên (và nhiệm vụ ảnhhưởng tới tài nguyên) đợc trải qua hai hay nhiều hệ thống tính toán rời rạc
Hình 2 Mô hình tương tác chung giữa một client với một server
Trang 11Mô hình xử lý Client-Server đã nổi lên như một mức cao hơn của việc xử lý dùngchung thiết bị đã có trong mang cục bộ (LAN) Trong môi trờng xử lý dùng chungthiết bị, các máy tính cá nhân (PC) đợc gắn với thiết bị hệ thống để cho phép các PCnày dùng chung tài nguyên tệp trên đĩa cứng và máy in là các thí dụ tiêu biểu Theothuật ngữ LAN, các thiết bị dùng chung nh vậy đợc gọi là các Server (phục vụ) Tênphục vụ là thích hợp hơn cả vì các thiết bị dùng chung này dùng để nhận các yêu cầucần phục vụ từ các PC Trong xử lý dùng chung thiết bị trên LAN, các yêu cầu của PCnày thờng bị giới hạn về các dịch vụ liên quan tới tệp dùng chung hay tệp xử lý in.Nhược điểm hiển nhiên của cách tiếp cận nh vậy là ở chỗ mọi xử lý ứng dụng đều đợcthực hiện trên các PC riêng lẻ, và chỉ một chức năng nào đó (in, vào ra tệp) mới làphân tán Do đó, toàn bộ tệp phải được gửi cho một PC đã ban ra yêu cầu READ tệp
đó Nếu tệp đợc cập nhật thì toàn bộ tệp đó bị khoá bởi PC đã tạo ra yêu cầu cập nhậttệp đó
Chính vì các lý do trên mà mô hình xử lý Client-Server là việc mở rộng tự nhiêncủa việc dùng chung thiết bị và vai trò của các trạm làm việc trở thành khách của máychủ Phần có ý nghĩa nhất của mô hình này là xử lý ứng dụng đợc phân chia (khôngnhất thiết phải chia đều) giữa Client và Server Xử lý thực tế đợc khởi đầu và kiểmsoát một phần bởi nơi yêu cầu dịch vụ là Client nhng không phải theo kiểu chủ-khách.Thay vì điều đó, cả Client và Server đều hợp tác để thực hiện thành công ứng dụng.Chẳng hạn nếu PC chạy chơng trình cần một bản ghi đặc biệt nào đó từ một tệp dùngchung thì nó sẽ chuyển yêu cầu cho Server CSDL tiến hàng xử lý cục bộ rồi nhận lạiđúng bản ghi đã yêu cầu Như vậy về mặt kiến trúc xử lý Client-Server cho thấy:
- Đường liên lạc tin cậy, chắc chắn giữa Client và Server
- Các trờng hợp tương tác Client-Server do Client khởi xướng
- Phân tán xử lý ứng dụng giữa Client và Server
- Server kiểm soát các dịch vụ mà Client yêu cầu
- Server làm trọng tài cho các yêu cầu tranh chấp
Với Hệ CSDL phân tán, mô hình Client-Server có các ưu điểm:
- Các công ty lợi dụng được công nghệ tính toán của PC PC ngày nay cung cấpmột năng lực tính toán đáng kể (mà trước đây chỉ các máy tính lớn mới có được)nhưng lại với một giá thành nhỏ
Trang 12- Cho phép xử lý được thực hiện tại gần nguồn dữ liệu cần xử lý (các CSDL trênServer) Do đó lưu lượng và thời gian đáp ứng của mạng giảm đi rất nhiều, hiệu năng
và khả năng chuyển tải của mạng đợc tăng lên
- Tạo điều kiện cho việc dùng giao diện đồ hoạ (GUI) có sẵn trên các trạm làmviệc hiện có
- Cho phép và hỗ trợ hệ thống mở: Client và Server có thể chạy trên các nền phầncứng và phần mềm khác nhau
Tuy nhiên không phải là mô hình Client-Server đã hoàn chỉnh, nó vẫn còn cácnhợc điểm sau đây:
- Nếu có khá nhiều thành phần logic của ứng dụng đợc chuyển về Server thìServer sẽ trở thành cổ chai y như máy tính lớn (main frame) mô hình thiết bị đầu cuối.Các tài nguyên hạn chế của Server sẽ ở trạng thái bị đòi hỏi làm việc ở mức cao hơn
do việc tăng số ngời tiêu thụ tài nguyên (End User)
- Các ứng dụng phân tán, đặc biệt là những ứng dụng đợc thiết kế cho xử lý hợptác thường phức tạp hơn các ứng dụng không phân tán Tuy nhiên có thể giảm bớt độphức tạp bằng cách thu nhỏ vấn đề lớn thành một tập hợp vấn đề nhỏ hơn, có thể đượctính độc lập nhau, tương tự như trong hệ thiết kế đơn thể
Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểu diễn
và cách truy cập tài nguyên
Trong suốt về vị trí (Location transparency): che giấu vị trí của tài nguyên Haidạng trong suốt vừa trình bày được gọi chung là trong suốt mạng (networktransparency) Trong suốt di trú (Migration transparency): che giấu khả năng chuyển vịtrí của tài nguyên
Trong suốt về việc định vị lại (Relocation transparency): che giấu việc di chuyểncủa tài nguyên khi đang được sử dụng
Trong suốt nhân bản (Replication transparency): che giấu tình trạng tình trạng sửdụng bản sao của tài nguyên
Trang 13Che giấu sự che sẻ tài nguyên tương tranh (Concurency transparency) Trong suốt
sự cố (Failure transparency): che giấu lỗi hệ thống nếu có
Trong suốt khả năng di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại
1.1.2 Tính mở
Tính mở của một hệ thống máy tính là tính dễ dàng mở rộng phần cứng (thiết bịngoại vi, bộ nhớ, các giao diện truyền thông ) và phần mềm (các mô hình HĐH, cácgiao thức truyền thông, các dịch vụ chia xẻ tài nguyên ) của nó Nói một cách khác,tính mở của hệ thống phân tán mang ý nghĩa bao hàm tính dễ dàng cấu hình cả phầncứng lẫn phần mềm của nó
Tính mở của hệ phân tán được thể hiện là hệ thống có thể được tạo nên từ nhiềuloại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau với điều kiện cácthành phần này phải theo một tiêu chuẩn chung (liên quan đến HĐH là tính đa dạng tàinguyên; liên quan đến nhà cung cấp tài nguyên là tính chuẩn)
Tính mở của Hệ phân tán được xem xét theo mức độ bổ sung thêm các dịch vụchia sẻ tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại Tính mởđược hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của hệ phântán và làm cho nó tương thích với các nhà phát triển phần mềm (tức là các giao diệnchính của HĐH phân tán cần phổ dụng)
Tính mở của HĐH phân tán được thi hành dựa trên việc cung cấp cơ chế truyền thông
giữa các QT và công khai các giao diện được dùng để truy cập tài nguyên chung.
1.1.3 Tính co giãn
Tính co giãn của hệ phán tán được thể hiện qua:
Qui mô: Khi số lượng người dùng và tài nguyên thay đổi hệ phân tán phải thích nghi được
Không gian địa lý: Khi vùng địa lý có tài nguyên và người sử dụng thay đổi
Tổ chức: Khi tổ chức kết cấu của hệ thay đổi
Nếu hệ phân tán có tính co giãn thường ảnh hưởng đến hiệu năng của hệ thống(hiệu năng của hệ thống là hiệu quả năng lực hoạt động của đối tượng).Có ba giải phápphổ biến:
Ẩn giấu
Trang 14Phân tán: phân nhỏ thành phần hệ thống và phân bố chúng trên phạm vi của hệthống (quản lý phân cấp) Ví dụ DNS xác định theo cách phân cấp miền lớn thành cácmiền con Với phương pháp này sẽ giải quyết được vẫn đề khi thêm người dùng haytài nguyên vào hệ thống.
Nhân bản: nhân bản một thành phần nào đó của hệ thống Ví dụ tài nguyên dữ liệuđặt tại các vị trí khác nhau trong hệ thống sử dụng để giải quyết vấn đề co giãn của hệ phân tán
4.2 Các thành phần của hệ phân tán
1.4.1 Phần cứng hệ phân tán
Bao gồm máy chủ và các hệ thống máy con được đặt ở những vị trí khác nhau vàkết nối với nhau qua mạng máy tính
Có hai loại máy tính:
- Các loại máy tính có chia sẻ bộ nhớ (Shared memory): các loại máy đa xử lý(multiproccessor)
- Các máy tính không chia sẻ bộ nhớ, bộ nhớ phân tán (Private memory): các hệthống multicomputors
Trong mỗi loại lại chia tiếp theo mạng kết nối bus – based (sử dụng chung 1 kếtnối) và switch – base có nhiều đường kết nối từ máy này sang máy khác thông qua cácnút trung gian
Hình 3 Hai cách tổ chức vi xử lý và bộ nhớ trong hệ máy tính phân tán
Trang 15Đặc điểm là các dịch vụ có thể được thực hiện bởi các lời triệu gọi từ xa.
Hình 4 Cấu trúc chung của DOS
NOS hay Network Operating Systems - Hệ điều hành mạng: cài đặt trên máy tínhcục bộ Cung cấp dịch vụ cục bộ cho các máy tính khác
Hình 5 Cấu trúc chung của NOS
Middleware: Cài đặt các dịch vụ cơ bản để thực hiên, phát triển các ứng dụng.Dịch vụ cơ bản: Truy cập trong suốt, các phương tiện thông tin bậc cao, dịch vụđịnh danh, dịch vụ lưu trữ bền vững, giao dịch phân tán, bảo mật
Trang 164.3 Hệ cơ sở dữ liệu phân tán (Distributed database system_DDBS)
1.5.1 Các khái niệm cơ sở dữ liệu phân tán
Một cơ sở dữ liệu phân tán là tập hợp nhiều cơ sở dữ liệu có liên đới logic và đượcphân bố trên một mạng máy tính
Có hai điểm quan trọng đợc nêu ra trong định nghĩa là:
- Phân tán: Dữ liệu c trú trên một vị trí, mà được phân bố rộng khắp trên nhiềumáy tính đặt tại nhiều vị trí khác nhau
- Tương quan logic: Dữ liệu có một số các thuộc tính ràng buộc chúng với nhau,điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập hợp CSDLcục bộ, các tệp c trú tại các vị trí khác nhau, hay hệ thống CSDL phân quyền trong mộtmạng máy tính
Vd: Một ngân hàng có 3 chi nhánh đặt tại các vị trí khác nhau Tại mỗi chi nhánh(site) có một máy tính điều khiển một số máy giao dịch đầu cuối (tell terminal) và cơ
sở dữ liệu của chi nhánh đó Tại mỗi site được đặt một phần cơ sở dữ liệu phân tán.Các máy tính được nối với nhau bởi mạng truyền thông Các nút trong một mạng phântán có hai chức năng: Xử lý thông tin mà nó quản lý, xử lý các yêu cầu về thông tincần truy cập qua nhiều địa điểm
Trang 181.5.2 Kiến trúc của một hệ cơ sở dữ liệu phân tán
Hình 8 Kiến trúc cơ bản của hệ 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 lưu trữ trong CSDLphân tán Sơ đồ tổng thể có thể được định nghĩa một cách chính xác theo cách nhưtrong CSDL không phân tán Ở đây 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ác quan
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ơnkhông giao nhau được gọi là đoạn (fragments) Có nhiều cách khác nhau để thực hiệnviệ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 trong sơ đồ phân đoạn Ánh xạ này là một- nhiều Có thể cónhiều đoạn liên kết tới một quan hệ tổng thể, nhưng mỗi đoạn chỉ liên kết tới nhiềunhấ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ùngvới tên của chỉ mục đoạn
Sơ đồ định vị: Các đoạn là các phần logic 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 ở các trạmnào Lưu ý rằng, kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định CSDLphân tán là dư thừ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ạitrạm j Bởi vậy, 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
Trang 19thể, 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ộtchỉ mục trạm Ví dụ: ký hiệu Ri chỉ tới đoạn thứ i của quan hệ tổng thể R Ký hiệu Rj
là ảnh vật lý của quan hệ tổng thể R tại trạm j
Hình 9 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể
Sơ đồ ánh xạ địa phương: Ánh xạ các ảnh vật lý tới các đối tượng được các hệquản trị CSDL địa phương thao tác tại các trạm Ánh xạ này phụ thuộc vào các hệquản trị CSDL địa phương Do vậy, trong một hệ thống không đồng nhất, phải có cáckiểu ánh xạ địa phương khác nhau tại các trạm khác nhau
1.5.3 Phân loại hệ cơ sở dữ liệu phân tán
- Hệ CSDL phân tán thuần nhất:
+ Tất cả các nút cùng sử dụng một loại hệ quản trị CSDL
+ Thuận lợi cho việc tăng trưởng và cho phép nâng cao hiệu năng
+ Có được bằng cách chia một CSDL thành một tập CSDL cục bộ
Trang 20- Hệ CSDL phân tán hỗn tạp:
+ Các nút có thể thực hiện trên các hệ quản trị CSDL khác nhau
+ Xảy ra khi các nút đã cài đặt CSDL riêng
+ Có được bằng cách tích hợp các CSDL cục bộ đã có
Hình 11 Kiến trúc mô hình hệ quản trị CSDL phân tán hỗn tạp
1.5.4 Ưu điểm và hạn chế hệ cơ sở dữ liệu phân tán
- Ưu điểm của hệ phân tán:
Tuy việc quản trị một hệ thống CSDL phân tán gặp nhiều khó khăn hơn so với hệCSDL tập trung nhưng xu hớng xây dựng các hệ CSDL phân tán ngày càng phát triển
và có nhiều ứng dụng trong thực tế vì các nguyên nhân sau:
(1) Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế Trên thực tế nhiều
tổ chức là không tập trung, dữ liệu ngày càng lớn và phục vụ cho đa ngời dùng nằm
Trang 21phân tán vì vậy CSDL phân tán là con đờng thích hợp với cấu trúc tự nhiên của các tổchức đó Đây là một trong các yếu tố quan trọng thúc đẩy việc phát triển CSDL phântán Một ví dụ minh hoạ cho vấn đề này là hệ thống bán vé máy bay thống nhất trêntoàn thế giới Mỗi hãng hàng không có một hệ CSDL riêng, có sự quản lý riêng vàkhông thể có lý do nào để CSDL này tập trung ở một chỗ đợc Tuy vậy các hãng hàngkhông lại có quan hệ với nhau trong việc bán vé hành khách cho những tuyến đờngthuộc phạm vi quản lý của nhiều hãng Do vậy hệ thống dữ liệu về chuyến bay của cáchãng hàng không chính là một hệ CSDL phân tán đợc quản lý thống nhất tại trung tâmđiều khiển bay đặt tại một địa điểm nào đó
(2) Sự liên kết các CSDL đang tồn tại CSDL phân tán là giải pháp tự nhiên khi
có các CSDL đang tồn tại và sự cần thiết thực hiện xây dựng một ứng dụng toàn cục.Trong trờng hợp này CSDL phân tán đợc tạo từ dưới lên (bottom-up) từ các CSDL đãtồn tại trớc đó Tiến trình này có thể đòi hỏi cấu trúc lại cục bộ ở một mức độ nhấtđịnh Dù sao, những sửa đổi này là nhỏ hơn rất nhiều so với việc tạo lập một CSDL tậptrung hoàn toàn mới
(3) Sự phát triển mở rộng Các tổ chức có thể mở rộng bằng cách thêm các đơn
vị mới, vừa có tính tự trị vừa có quan hệ t ơng đối với các tổ chức khác Khi đó CSDLphân tán hỗ trợ một sự mở rộng uyển chuyển với một mức độ ảnh hởng tối thiểu tớicác đơn vị đang tồn tại Với CSDL tập trung, cũng có thể khởi tạo kích thớc lớn choviệc mở rộng trong tơng lai Điều đó rất khó tiên định và chịu một phí tổn lớn, mặtkhác sự mở rộng này có ảnh hởng lớn không chỉ trên các ứng dụng mới mà còn trêncác ứng dụng đang tồn tại
(4) Làm giảm tổng chi phí tìm kiếm Việc phân tán dữ liệu cho phép các nhómlàm việc cục bộ có thể kiểm soát toàn bộ dữ liệu của họ Tuy vậy tại cùng thời điểm,ngời sử dụng có thể truy cập đến dữ liệu ở xa nếu cần thiết Tại các vị trí cục bộ, thiết
bị phần cứng có thể đợc chọn sao cho phù hợp với công việc xử lý dữ liệu cục bộ tạiđiểm đó
(5) Trả lời truy vấn nhanh Dựa trên cách thức dữ liệu đợc phân tán, hầu hết cácyêu cầu truy vấn dữ liệu từ ngời dùng tại bất kỳ vị trí cục bộ nào đều đợc thoả mãn bởi
dữ liệu ngay tại thời điểm đó Điều này làm tăng đáng kể tiến trình xử lý các yêu cầutruy vấn dữ liệu của ngời dùng Hệ thống CSDL phân tán còn cho phép các bảng truyvấn phức tạp có thể chia thành nhiều bảng nhỏ để có thể thực hiện tiến trình xử lý song
Trang 22song cùng lúc trên nhiều vị trí cục bộ khác nhau Kỹ thuật này cũng nâng cao tốc độ
xử lý dữ liệu trên hệ thống
(6) Độ tin cậy và khả năng sử dụng được nâng cao Khi hệ thống CSDL tậptrung bị hỏng, toàn bộ CSDL trở nên vô dụng với tất cả người sử dụng Còn đối với hệthống CSDL phân tán, nếu có một thành phần nào đó của hệ thống bị hỏng, hệ thốngvẫn có thể duy trì hoạt động tuy nhiên cũng không thể hiệu quả nh khi nó còn hoànhảo Dù sao, việc thu đợc mục đích này không phải không rắc rối và đòi hỏi sử dụngcác kỹ thuật vẫn cha đợc hiểu biết hoàn chỉnh Khả năng xử lý tự trị của các vị trí khácnhau tự nó không đảm bảo một tính tin cậy toàn bộ cao của hệ thống, nhng nó đảm bảomột thuộc tính graceful degration Nói một cách khác, sự cố trong CSDL phân tán cóthể thờng xuyên hơn một CSDL tập trung vì có số lợng thành phần lớn hơn, nhng hậuquả của sự cố đợc hạn chế chỉ tới các ứng dụng sử dụng dữ liệu của vị trí có sự cố, đổ
vỡ hoàn toàn của hệ thống là điều hiếm xảy ra
(7) Giá thành truyền thông thấp hơn Với CSDL phân tán, dữ liệu có thể đặt gầnnơi nó đợc sử dụng nhiều nhất
- Nhược điểm của hệ CSDL phân tán:
Hệ thống CSDL phân tán bên cạnh những ưu điểm nhưng trên cũng có nhữngmặt hạn chế nh sau:
- Giá thành và sự phức tạp của phần mềm: Các phần mềm sử dụng trong môitrờng CSDL phân tán rất phức tạp, đặc biệt là phần mềm sử dụng cho việc quản trị môitrờng CSDL phân tán
- Khó khăn trong tiến trình kết nối các vị trí dữ liệu cục bộ: Các vị trí cục bộ phảitrao đổi thông điệp với nhau và thực hiện thêm các tính toán phức tạp để đảm bảo sựkết nối đúng đắn giữa các vị trí đó
- Sự toàn vẹn dữ liệu: Một sản phẩm mang nhiều tính phức tạp sẽ làm gia tăngkhả năng xáo trộn trong việc bảo đảm tính toàn vẹn dữ liệu
- Tốc độ truy cập sẽ trở nên rất chậm: Nếu dữ liệu không được phân tán theo đúngyêu cầu sử dụng hoặc các bảng truy vấn đợc thiết lập không đúng đắn thì việc tìmkiếm và xử lý dữ liệu sẽ rất chậm
Trang 23di chuyển và điều hoà những thay đổi dữ liệu xảy ra sau khi 1 snapshot khởi động(initial snapshot) được tạo Mỗi merge publication có một merge agent, liên kết và cậpnhật được với cả hai Publisher và Subscriber
4.5 Bài toán
1.5.1 Mô tả bài toán
Siêu thị VinMart là chuỗi siêu thị lớn chuyên mua bán với nhiều hình thức bán
sỉ, lẻ, … Nguồn hàng chủ yếu do các nhà cung cấp, nhà sản xuất hoặc các công tytrong và ngoài nước cung cấp Khách hàng của siêu thị là những người tiêu dùng Siêuthị có nhièue loại mặt hàng như là các loại bánh, rau quả, thịt, … Vì vậy cần một hệthống quản lý để có thể giúp cho việc quản lý siêu thị được dễ dàng hơn
Hằng ngày các nhân viên bán hàng phải tiếp nhận một số lượng lớn các yêu cầumua hàng của khách hàng Hệ phải cho phép nhân viên bán hàng lập hoá đơn tính tiềncho khách hàng một cách nhanh chóng Đối với các khách hàng thân thiết thì hệ thống
sẽ lưu lại thống tin của khách hàng và cấp cho khách hàng thân thiết những ưu đãi hấpdẫn
Vào cuối ngày bộ phận kế toán sẽ thống kê lại tình hình bán hàng của siêu thị,kiểm tra lượng hàng tồn, còn hay hết để có thể kịp thời nhập lượng hàng mới haythanh lý hàng tồn Hệ thống phải thống kê chi tiết tình hình của siêu thị
Trang 241.5.2 Danh sách tác nhân
- Khách hàng: là những người đăng kí thành viên hoặc đã từng mua hàng ở các
chi nhánh, có các thông tin được lưu trữ trong CSDL khách hàng như: họ tên,ngày tháng năm sinh, giới tính, …
- Nhân viên: là những người thao tác trực tiếp với hệ thống, quản lý các thông
tin cơ bản của chi nhánh như là thông tin khách hàng, số lượng hàng, hoá đơntrong ngày, …
- Quản trị viên: là những người có quản lý mọi thứ trên hệ thống, từ thông tin
nhân viên, khách hàng, mặt hàng, số lượng hàng ở tất cả chi nhánh trong quyềnquản lý, được cung cấp tài khoản có quyền hạn tối ưu nhất
Đối tượng cần quản lý là thông tin về tất cả các dữ liệu và một số thông tin củacác bộ phận
Các chức năng quản lý trong bài toán:
- Quản lý nhân viên
- U1: Đăng nhập: Admin/Nhân viên đăng nhập hệ thống
- U2: Đăng xuất: Admin/Nhân viên thoát khỏi hệ thống
- U3: Quản lý khách hàng: Admin/Nhân viên thực hiện các chức năng quản lýkhách hàng với các thao tác cơ bản: thêm, xóa, sửa thông tin khách hàng,tìm kiếm khách hàng
- U4: Quản lý nhân viên: Admin thực hiện các chức năng quản lý khách hàngvới các thao tác cơ bản: thêm, xóa, sửa thông tin nhân viên, tìm kiếm nhânviên
- U5: Quản lý sản phẩm: Admin/Nhân viên thực hiện các chức năng quản lýsản phẩm với các thao tác cơ bản: chọn, thêm, xoá thông tin sản phẩm, tìmkiếm sản phẩm
Trang 25- U6: Quản lý đơn hàng: Admin/Nhân viên thực hiện các chức năng quản lýsản phẩm với các thao tác cơ bản: chọn, thêm, xoá đơn hàng, tìm kiếm đơnhàng, tìm đơn hàng theo danh sách khách hàng
- U6: Xếp hạng thành viên: Admin/Nhân viên thực hiện chức năng với cácthao tác cơ bản: chọn, thêm, xoá thông tin Hạng thành viên của Khách hàng,với các thông tin như Mã hạng, Tên hạng, Điều kiện lên hạng, …
-1.5.4 Các kịch bản
2.2.3.1 Đăng nhập
Tên Use Case Đăng nhập
Ngữ cảnh Admin/Nhân viên đã đăng nhập thành
công
Tác nhân chính Admin, Nhân viên
Người chịu trách nhiệm Người quản lý hệ thống
Tiền điều kiện Không
Đảm bảo tối thiểu Trở lại màn hình đăng nhập để
Admin/Nhân viên có thể đăng nhập lại
Đảm bảo thành công Đã đăng nhập thành công vào hệ thống
Kích hoạt Button Đăng nhập trên giao diện
Chuỗi sự kiện chính:
1 Admin/Nhân viên kích hoạt Phần mềm Quản lý cửa hàng
2 Hệ thống hiển thị form để đăng nhập hoặc đăng kí
3 Admin/Nhân viên chọn vào đăng nhập và nhập tài khoản và mật khẩu
4 Hệ thống hiển thị thông báo đã đăng nhập thành công và hiển thị giao diện chính