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 VÀ THIẾT KẾ CSDL PHÂN TÁN CHO BÀI TOÁN “QUẢN LÝ BÁN HÀNG[.]
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 VÀ THIẾT KẾ CSDL PHÂN TÁN CHO BÀI TOÁN “QUẢN LÝ BÁN HÀNG SIÊU THỊ VINMART TRÊN TP ĐÀ NẴNG”
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 VÀ THIẾT KẾ CSDL PHÂN TÁN CHO BÀI TOÁN “QUẢN LÝ BÁN HÀNG SIÊU THỊ VINMART TRÊN TP ĐÀ NẴNG”
Đà Nẵng, tháng 03 năm 2023
Trang 3MỞ ĐẦ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ệ 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ực hiệ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ệ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 5N ỘI DUNG
DANH MỤC CÁC BẢNG 5
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
1.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 6
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 9
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.3 Phân tích thực thể 15
2.4 Biểu đồ quan hệ (Relationships) 18
CHƯƠNG 3: CHƯƠNG TRÌNH DEMO 19
3.1 Xây dựng ứng dụng cho khách hàng 19
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 20
Kết luận 20
Ưu điểm 20
Nhược điểm 20
Hướng phát triển 20
Trang 6DANH MỤC CÁC BẢNG
Bảng 1 Nguyên tắc xây dựng hệ phân tán 1
Bảng 2 Thực thể nhân viên 15
Bảng 3 Thực thể khách hàng 16
Bảng 4 Thực thể khu vực 16
Bảng 5 Thực thể kho 16
Bảng 6 Thực thể sản phẩm 17
Bảng 7 Thực thể hóa đơn 17
Bảng 8 Thực thể chi tiết hóa đơn 18
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 2
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 6
Hình 4 Cấu trúc chung của DOS 7
Hình 5 Cấu trúc chung của NOS 7
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 9
Hình 9 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 10
Hình 10 Kiến trúc mô hình hệ quản trị CSDL phân tán thuần nhất 11
Hình 11 Kiến trúc mô hình hệ quản trị CSDL phân tán hỗn tạp 11
Hình 12 Biểu đồ mối quan hệ 18
Trang 8DANH MỤC CỤM TỪ VIẾT TẮT
1
Distributed database system DDBS3
Distributed Operating Systems DOS Trang 9CHƯƠNG 1: TỔNG QUAN VỀ HỆ PHÂN TÁN 1.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 qua mạ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ển liê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ố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
Bảng 1 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ựcthể 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ố
có thể tự động phục hồi lại trạng thái ban đầu trước
Trang 10khi 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
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
Mô 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 chung
Trang 11thiế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ỏ
- 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
Trang 12- 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
Che 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ó
Trang 13Trong 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.3.3 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.3.4 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
Phâ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ác
Trang 14miề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
1.4 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
1.4.2 Phần cứng hệ phân tán
Gồm 3 hệ thống sau:
Trang 15DOS hay Distributed Operating Systems - Hệ điều hành phân tán: Hệ điều hànhgắ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
Trang 16Hình 6 Cấu trúc chung của một hệ Middleware
1.5 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
Hệ 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
Trang 17- Ứ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ốngtruyền thông
Hình 7 Môi trường của hệ cơ sở dữ liệu
1.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ư