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
NGŨ HÀNH SƠN”
Sinh viên thực hiện:
Giảng viên hướng dẫn:
Đặng Bá Anh Quân Phùng Bá Hiếu
Lê Thị Mỹ Lan Đặng Văn Đạt
Võ Nguyễn Nhật Trường
TS Nguyễn Hà Huy Cường
Đà Nẵng, tháng 03 năm 2023
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ẵng, tháng 03 năm 2023
MỞ ĐẦU
Trong môi trường doanh nghiệp hiện nay, không thể thiếu các sảnphẩm phần mềm hỗ trợ việc quản lý dữ liệu, tính toán, kết xuất dữ liệu nhanhchóng tiện lợi Các phần mềm này đòi hỏi một quá trình phân tích nghiệp vụ,thiết kế dữ liệu, luồng xử lý chặt chẽ sao cho đảm bảo được các yêu cầuchuyên môn và phi chuyên môn Do đó nhóm chúng em đã lựa chọn thựchiện đồ á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ệu tậ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
em vẫ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áocá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
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ HỆ PHÂN TÁN
4.1 Hệ phân tán
Hệ phân tán gồm một nhóm các máy tính được kết nối với nhau thông quamạng máy tính, cùng với một tập phần mềm hệ thống được thiết kế nhằm điều khiểnliên kết các tài nguyên, các chức năng và dữ liệu trên mạng
Hì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ốihợ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án vớ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
Thực tế phát triển mạng máy tính đặt ra một vấn đề
1 Chia sẻ tài nguyê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êndùng chung ở một trạm khác
Khi các hệ thống đã được mắc nối với nhau, các thực
2 Liên lạ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âncho các trạm khác đảm nhận Ngoài ra, trạm bị sự cố1
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ó.Đâ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
4 Tăng tốc 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ài nguyê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ộtchương trì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ột cá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ơikhá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
PC nà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đợc thự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 READtệ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ậpnhật tệ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ên củaviệ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áy chủ.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ông nhất thiếtphải chia đều) giữa Client và Server Xử lý thực tế đợc khởi đầu và kiểm soát một phần bởinơ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ạychơng trình cần một bản ghi đặc biệt nào đó từ một tệp dùng chung thì nó sẽ chuyển yêucầ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ưnglại với một giá thành nhỏ
3
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àm việ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ác nhợ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 doviệ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ể
1.1.1 Tính trong suốt
Ẩn giấu sự rời rạc và những nhược điểm nếu có của hệ phân tán đối với người sửdụng (end-user) và những nhà lập trình ứng dụng (application programmer).Theo tiêu chuẩn ISO cho hệ phân tán ISO / IS / 10746 tên là "Open distributedprocessing reference model" 1995 đã cụ thể hóa tám dạng trong suốt:
Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểudiễ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) Trongsuố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ạngtài nguyê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ân tá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 giaodiện chí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ảipháp phổ biến:
Ẩn giấu
5
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ãncủ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 quacác nú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 151.4.2 Phần cứng hệ phân tán
Gồm 3 hệ thống sau:
DOS hay Distributed Operating Systems - Hệ điều hành phân tán: Hệ điều hành gắn chặt với hệ thống phần cứng (máy đa vi xử lý hoặc máy tính đồng bộ), qu.Mục tiêu là ẩn giấu và cung cấp các dịch vụ quản trị tài nguyên
Đặ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
7
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à được phâ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ều má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 CSDL cụ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ạngphân tá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ôngtin cần truy cập qua nhiều địa điểm
Trang 17Hệ quản trị CSDL phân tán (DDMS): Hệ thống phần mềm cho phép quản lý CSDL phân tán và đảm bảo tính trong suốt và sự phân tán đối với người dùng.
- Ứng dụng cục bộ: được yêu cầu và thực hiện trên máy tính ở một nút trong hệ CSDL phân tán
- Ứng dụng toàn cục: yêu cầu truy cập dữ liệu ở nhiều nút thông qua hệ thống truyền thông
Hình 7 Môi trường của hệ cơ sở dữ liệu
9
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á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ơ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ùng vớ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ênmộ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ạm nào.Lưu ý rằng, kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định CSDL phâ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ại trạ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ột chỉ 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
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ủacác hã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 trungtâ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 CSDLtập trung 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 đóCSDL phâ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ốithiểu tới cá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ớclớn cho việc mở rộng trong tơng lai Điều đó rất khó tiên định và chịu một phí tổnlớn, mặt khá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ên cá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ác yêucầ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ệungay 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ầu truy 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 truy vấ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
13
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 độ
nó đảm bảo một thuộc tính graceful degration Nói một cách khác, sự cố trong CSDLphâ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ớnhơn, nhng hậu quả 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ể đặtgần nơ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ải trao đổ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
Trang 23CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
4.4 Lựa chọn phương pháp phân tán
CSDL quản lý bán hàng sẽ được lựa chọn phương pháp phân tán partition, nghĩa làviệc thực hiện phân chia bảng dữ liệu của quan hệ tổng thể thành các bảng dữ liệu độc lậpnhưng có cấu trúc giống hệt nhau, sau đó định vị chúng vào các vị trí thích hợp
Phương pháp partition sử dụng kỹ thuật phân mảnh ngang cơ sở trong quá trình phântán dữ liệu Các CSDL từ xa kết nối và đồng bộ với nhau thông qua Data Replication,
di 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ập nhậ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êu thị 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êucầu mua 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ínhtiền cho 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ấp dẫ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ị
15
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á đơn trongngà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ền quả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ủa cá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àng
vớ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ân viê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ìm kiế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 đơn hà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ác
thao 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
công
Người chịu trách nhiệm Người quản lý hệ thố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
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
17