Bài tập lớn môn học Lý thuyết các Hệ phân tán
lượt xem 118
download
Trong những năm qua, cùng với sự phát triển như vũ bão của khoa học kĩ thuật, ngành Công nghệ thông tin cũng biến đổi không ngừng để đáp ứng với mọi nhu cầu mới của con người. Trong số những phát minh vĩ đại nhất của thế kỉ trước, mạng máy tính (Computer Network) là một hệ thống đem lại nhiều lợi ích to lớn nhất cho nhân loại.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài tập lớn môn học Lý thuyết các Hệ phân tán
- Bài tập lớn môn học Lý thuyết các Hệ phân tán MỤC LỤC DANH MỤC HÌNH VẼ............................................................................................................2 LỜI NÓI ĐẦU..........................................................................................................................3 CHƯƠNG I: TỔNG QUAN VỀ CSDL PHÂN TÁN..............................................................4 I. Khái niệm về CSDL phân tán...........................................................................................4 1. Định nghĩa CSDL phân tán........................................................................................... 4 2. Phân lớp các hệ thống tính toán phân tán.................................................................... 4 3. Kiến trúc cơ bản của CSDL phân tán..........................................................................4 II. Các đặc điểm của CSDL phân tán đối ngược CSDL tập trung.....................................5 III. Tính ưu việt của CSDL phân tán:..................................................................................8 1. Các lợi ích của CSDL phân tán:...................................................................................8 2. Các hạn chế của CSDL phân tán:................................................................................8 3. Các nguyên nhân sử dụng CSDL phân tán:..................................................................9 CHƯƠNG II: CSDL THIẾT KẾ TỐT...................................................................................10 I. Định nghĩa CSDL thiết kế tốt.........................................................................................10 II. Thuật toán kiểm tra CSDL thiết kế tốt........................................................................ 10 1. Phát biểu bài toán........................................................................................................10 2. Thuật toán kiểm tra.................................................................................................... 10 CHƯƠNG III: KHẢO SÁT CSDL QUẢN LÝ THUÊ BAO.................................................11 I. Khảo sát CSDL Quản lý thuê bao hiện tại.................................................................... 11 1. Sơ đồ quan hệ của CSDL QLTHUEBAO hiện tại...................................................11 2. Các bảng dữ liệu trong QLTHUEBAO..................................................................... 11 2. Nhận xét CSDL QLTHUEBAO hiện tại...................................................................14 3. Đề xuất phương án chỉnh sửa....................................................................................16 II. Kiểm tra QLTHUEBAO là một CSDL thiết kế tốt..................................................... 16 1. Tập thuộc tính và tập phụ thuộc hàm........................................................................16 2. Sử dụng thuật toán Chase.......................................................................................... 17 TÀI LIỆU THAM KHẢO.......................................................................................................20 Hoàng Anh Tuấn – CH21-CNTT-Vinh 1
- Bài tập lớn môn học Lý thuyết các Hệ phân tán DANH MỤC HÌNH VẼ Hình 1: Kiến trúc cơ bản của CSDL phân tán....................................................... 5 Hình 2: Sơ đồ quan hệ của CSDL QLTHUEBAO hiện tại....................................... 11 Hình 3: Bảng KHACHHANG................................................................................... 11 Hình 4: Bảng DONVI............................................................................................... 12 Hình 5: Bảng DICHVU........................................................................................... 12 Hình 6: Bảng DANHBA_DT................................................................................... 13 Hình 7: Bảng DANHBA_NET.................................................................................. 13 Hình 8: Bảng NHANVIEN........................................................................................ 13 Hình 9: Bảng TRANGTHAI..................................................................................... 13 Hình 10: Thông tin địa chỉ khách hàng trong KHACHHANG...................................... 14 Hình 11: Thông tin địa chỉ khách hàng trong DANHBA_DT....................................... 14 Hình 12: Thông tin địa chỉ khách hàng trong DANHBA_NET..................................... 14 Hình 13: Thông tin địa chỉ khách hàng lệch trong KHACHHANG............................. 15 Hình 14: Thông tin địa chỉ lệch trong DANHBA_DT và DANHBA_NET.................... 15 Hình 15: Sơ đồ quan hệ của CSDL QLTHUEBAO mới..................................................16 Hình 16: Bảng xuất phát.......................................................................................... 17 Hình 17: Bảng Ma_KH → u1................................................................................... 17 Hình 18: Bảng Ma_DV → u2.................................................................................... 17 Hình 19: Bảng Ma_TT → u3..................................................................................... 17 Hình 20: Bảng Ma_Donvi → u4................................................................................ 17 Hình 21: Bảng Ma_NV → u5.................................................................................... 18 Hình 22: Bảng Somay → u6...................................................................................... 18 Hình 23: Bảng Account→ u7..................................................................................... 18 Hoàng Anh Tuấn – CH21-CNTT-Vinh 2
- Bài tập lớn môn học Lý thuyết các Hệ phân tán LỜI NÓI ĐẦU Trong những năm qua, cùng với sự phát triển như vũ bão của khoa học kĩ thuật, ngành Công nghệ thông tin cũng biến đổi không ngừng để đáp ứng với mọi nhu cầu mới của con người. Trong số những phát minh vĩ đại nhất của th ế kỉ trước, mạng máy tính (Computer Network) là một hệ thống đem lại nhiều lợi ích to lớn nhất cho nhân loại. Mạng máy tính ngày nay cho phép hàng tỉ máy tính trên trái đất đã và đang kết nối và làm việc việc với nhau với t ốc đ ộ cao (hàng Mbsp đến hàng trăm Gbps). Những năm của thập kỷ 70, máy tính đã có đủ khả năng xây d ựng h ệ th ống thông tin và hệ cơ sở dữ liệu (CSDL). Một mặt đã hình thành và phát tri ển các mô hình lý thuyết cho hệ CSDL và mặt khác những nguồn phát triển hệ th ống ứng dụng ngày càng có nhiều kinh nghiệm. Hệ thống thông tin hình thành trên cơ sở kết nối các máy tính khác nhau. Những năm gần đây, hệ CSDL phân tán được phát triển dựa trên CSDL và mạng máy tính. CSDL phân tán gồm nhiều CSDL tích hợp lại với nhau thông qua mạng máy tính để trao đổi dữ liệu, thông tin... CSDL được tổ chức và lưu trữ ở những vị trí khác nhau trong mạng máy tính và chương trình ứng dụng làm vi ệc trên cơ sở truy cập dữ liệu ở những điểm khác nhau đó. Một trong những khâu quyết định đến hiệu năng, tính bền vững của một CSDL đó là việt thiết kế ban đầu. Một CSDL thiết kế tốt ban đầu s ẽ đảm bảo được dữ liệu được toàn vẹn, tránh đổ vỡ khi lượng dữ liệu tăng qua thời gian sử dụng, ít phải thiết kế lại, đảm bảo truy nhập nhanh, cho kết qu ả khai thác dữ liệu chính xác. Trong khuôn khổ bài tập lớn này, do thời gian có hạn nên nội dung chỉ nêu các khái niệm cơ bản về cơ sở dữ liệu phân tán, đánh giá cơ sở dữ liệu tốt hay chưa. Phân tích, đánh giá CSDL Quản lý thuê bao được khảo sát tại VNPT Nghệ An. Em xin chân thành cảm ơn PGS. TS Nguyễn Bá Tường, người đã tận tình hướng dẫn, góp ý và giúp đỡ trong suốt thời gian hoàn thành môn học cũng nh ư thời gian làm bài tập lớn này. Hoàng Anh Tuấn – CH21-CNTT-Vinh 3
- Bài tập lớn môn học Lý thuyết các Hệ phân tán CHƯƠNG I: TỔNG QUAN VỀ CSDL PHÂN TÁN I. Khái niệm về CSDL phân tán 1. Định nghĩa CSDL phân tán Định nghĩa: Một CSDL phân tán là một tập hợp dữ liệu mà về mặt logic tập dữ liệu này thuộc về một hệ thống, nhưng được trải trên các vị trí khác nhau của một mạng máy tính. Có hai điểm quan trọng được nêu ra trong định nghĩa trên: - Phân tán: Dữ liệu không cư trú trên một vị trí, điều này giúp chúng ta có thể phân một CSDL phân tán với một CSDL tập trung, đơn lẻ. - 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ộ hoặc các tệp cư trú tại các vị trí khác nhau trong một mạng máy tính. Thế nào là phân tán: - Xử lý logic hoặc xử lý nguyên tố được phân tán. - Phân tán theo chức năng: Nhiều chức năng của hệ thống máy tính có thể được uỷ thác cho các phần cứng hoặc phần mềm hoặc cả hai. - Phân tán dữ liệu. - Phân tán điều khiển. 2. Phân lớp các hệ thống tính toán phân tán Trình độ kết nối: Khoảng cách của các yếu tố xử lý được kết nối. Cấu trúc kết nối với nhau. Sự độc lập đối với nhau giữa các thành phần 3. Kiến trúc cơ bản của CSDL phân tán Đây không là kiến trúc tường minh cho tất cả các CSDL phân tán, tuy v ậy kiến trúc này thể hiện tổ chức của bất kỳ một CSDL phân tán nào (Hình 1). Hoàng Anh Tuấn – CH21-CNTT-Vinh 4
- SSSSSơđđổtổịnhểnển ơ ơơđồồphânvạvạ Sơồ ồ ồịnhthị ị ơđđđ phân ngđo ồ t đ ngđo th đ Bài tập lớn môn học Lý thuyết các Hệ phân tán Sơ đồ tổng thể Sơ đồ phân đoạn Sơ đồ định vị Sơ đồ ánh xạ địa phương 1 Sơ đồ ánh xạ địa phương 2 Các vị trí khác … DBMS của vị trí 1 DBMS của vị trí 2 CSDL địa phương tại vị trí 1 CSDL địa phương tại vị trí 2 Hình 1: Kiến trúc cơ bản của CSDL phân tán - Sơ đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán. Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của 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 không gối lên nhau được gọi là đoạn (fragments). Có nhiều các khác nhau để thực hiện việc phân chia này. ánh xạ(một nhiều) giữa sơ đồ tổng thể và các đoạn được định nghĩa trong sơ đồ phân đoạn. - Sơ đồ định vị: các đoạn là các phần logic của quan hệ tổng thể được định vị vật lý trên một hoặc nhiều vị trí trên mạng. Sơ đồ định vị định nghĩa đo ạn nào định vị tại các vị trí 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. - Sơ đồ ánh xạ địa phương: ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại một trạm (tất cả các đoạn của một quan hệ tổng thể trên cùng một vị trí tạo ra một ảnh vật lý). II. Các đặc điểm của CSDL phân tán đối ngược CSDL tập trung - Điều khiển tập trung: Trong CSDL phân tán khái niệm này không được nhấn mạnh. Khả năng điều khiển tập trung phụ thuộc vào kiến trúc c ủa CSDL phân tán. Trong CSDL phân tán có khả năng nhận biết cấu trúc điều khi ển phân cấp dựa trên một người quản trị CSDL toàn cục (có trách nhiệm trên toàn th ể CSDL phân tán), và các người quản trị CSDL cục bộ (có trách nhiệm trên CSDL cục bộ của chúng). Điều này nhấn mạnh rằng các người quản trị CSDL cục bộ có thể có trình độ tự trị cao. Các CSDL phân tán có thể rất khác nhau về trình độ tự trị: từ hoàn toàn tự trị không có bất cứ một hệ quản trị CSDL tập trung nào đến hầu như hoàn toàn điều khiển tập trung. Hoàng Anh Tuấn – CH21-CNTT-Vinh 5
- Bài tập lớn môn học Lý thuyết các Hệ phân tán - Độc lập dữ liệu: Tổ chức thực sự của dữ liệu là trong suốt đối với các chương trình ứng dụng. Các chương trình được viết có một khung nhìn nhận thức (conceptual) được gọi là sơ đồ nhận thức. Lợi ích chủ yếu là chương trình không bị ảnh hưởng bởi những thay đổi tổ chức vật lý của dữ liệu. Trong CSDL phân tán, đọc lập dữ liệu cũng quan trọng như trong CSDL truyền thống. Tuy nhiên, có một khái niệm mới nảy sinh có tên là trong suốt phân tán. Trong su ốt phân tán có nghĩa là một chương trình được viết (trên một CSDL phân tán) nh ư CSDL không được phân tán. Hay nói cách khác chương không bị ảnh hưởng bởi sự di chuyển dữ liệu từ một vị trí các sang vị trí khác, tuy nhiên tốc độ thực hiện của nó bị ảnh hưởng. Độc lập dữ liệu được cung cấp trong CSDL truyền thống được cung cấp qua nhiều mức kiến trúc có sự mô tả về dữ liệu và ánh xạ giữa chúng khác nhau; các khái niệm: sơ đồ nhận thức, sơ đồ lưu trữ, s ơ đồ ngoài (external schema). Một cách tương tự như vậy, Trong suốt phân tán đạt được trong CSDL phân tán các mức và các sơ đồ mới: - Trong suốt phân đoạn: Các ứng dụng thực hiện các truy nhập vào CSDL như nó không được phân tán. - Trong suốt định vị: Các ứng dụng phải xác định truy nhập vào đoạn nào của CSDL phân tán. Có thể truy nhập song song vào nhiều đoạn cùng một lúc để tận dụng khả năng song song của CSDL phân tán. - Trong suốt ánh xạ địa phương: Các ứng dụng phải xác định truy nhập vào đoạn nào tại vị trí nào của CSDL phân tán. - Không trong suốt: Người lập trình ứng dụng phải viết các chương trình có thể chạy được trên hệ thống hệ quản trị CSDL đị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ệ điều hành có thể khác nhau, hoặc DBMSs có thể khác nhau: các bản dịch (release) khác nhau trong cùng một hệ thống, các hệ thống khác nhau trong cùng một kiểu- ví dụ các DBMSs khác nhau trong họ Codasyl -, các họ hệ thống khác kiểu- ví dụ một quan hệ và một hệ thống Codasyl -.), các chương trình này thực hiện yêu cầu các hàm và cài đặt các chương trình phụ trợ tại các vị trí được yêu cầu. ứng dụng phải được viết với một yêu cầu làm hoạt động các chương trình phụ trợ ở xa này thay thế các lệnh SQL. - Giảm dư thừa: Trong CSDL truyền thống dư thừa được giảm tới mức có thể vì hai nguyên nhân sau: + Sự mâu thuẫn giữa một vài bản sao của cùng một dữ liệu được tự động tránh vì thực tế chỉ có một bản. + Tiết kiệm không gian lưu trữ. Trong CSDL phân tán, có một vài nguyên nhân làm cho việc quan tâm đến sự dư thừa dữ liệu như một đặc điểm ao ước: Hoàng Anh Tuấn – CH21-CNTT-Vinh 6
- Bài tập lớn môn học Lý thuyết các Hệ phân tán + Vị trí của các ứng dụng có thể được tăng nếu dữ liệu được sao bản tại tất cả các vị trí cần đến nó. + Tính sẵn sàng của hệ thống có thể tăng vì nếu một vị trí lỗi không dừng việc thực hiện của các ứng dụng tại các vị trí khác nếu dữ liệu được sao bản. Do đó, việc giảm dư thừa đòi hỏi một sự ước lượng định giá khá phức tạp. Và việc sao bản là tỉ lệ thuận với việc tăng số lượng thực hiện các truy nhập sửa đổi dữ liệu vì khi thực hiện một truy nhập sửa đổi trên một d ữ li ệu chúng ta đồng thời phải sửa đổi dữ liệu trên các sao bản của dữ liệu đó. - Cấu trúc vật lý phức tạp và việc truy nhập hiệu quả: Các cấu trúc truy nhập phức tạp, ví dụ như các chỉ số (index) thứ hai, các chuỗi tệp có quan hệ với nhau (interfile chain) ..., là mặt chủ yếu của CSDL truyền thống. Hỗ trợ các c ấu trúc này là một phần hết sức quan trọng của hệ quản trị CSDL. Nguyên nhân cho việc cung cấp các cấu trúc truy nhập phức tạp là để thu được hiệu quả truy nhập vào dữ liệu. Trong CSDL phân tán các cấu trúc truy nhập phức tạp không là công cụ đúng cho hiệu quả truy nhập. Hiệu quả truy nhập CSDL phân tán không thể được cung cấp bởi các cấu trúc phức tạp các vị trí có quan hệ với nhau. - Tính toàn vẹn dữ liệu, khôi phục lại và điều khiển tương tranh: Trong CSDL, vấn đề toàn vẹn, khôi phục lại, và điều khiển tương tranh, mặc dù là các vấn đề khác nhau song chúng có quan hệ qua lại chặt chẽ với nhau. Giải pháp cho các vấn đề này chủ yếu là việc cung cấp các giao tác (transaction). Khái niệm giao tác và vấn đề quản lý giao tác sẽ đề cập ở phần sau. - Biệt lập (Privacy) và bảo mật: Trong CSDL truyền thống, các người quản trị CSDL có điều khiển tập trung, có thể đảm bảo rằng chỉ một truy nhập được uỷ quyền được thực hiện. Lưu ý rằng, dù sao, CSDL tập trunggần như tự chính nó không với một thủ tục điều khiển đặc biệt nào, là nhiều nhược đi ểm riêng biệt hơn và xâm phạm bảo mật hơn con đường cũ dựa trên các tệp riêng lẻ. Trong CSDL phân tán, các người quản trị cục bộ thực chất đương đầu với các vấn đề giống các người quản trị CSDL trong CSDL truyền thống. Dù sao, hai khía cạnh đặc biệt của CSDL phân tán đáng được đề cập đến: + Trong một CSDL phân tán với một trình độ tự quản của các vị trí rất cao, các người chủ dữ liệu địa phương cảm giác được bảo vệ hơn vì họ có thể tự chủ các việc bảo vệ thay vì phụ thuộc vào người quản trị CSDL trung tâm. + Các vấn đề bảo mật là bản chất trong hệ phân tán nói chung, vì các mạng truyền thông có thể biểu hiện một điểm yếu với sự lưu ý bảo vệ. Hoàng Anh Tuấn – CH21-CNTT-Vinh 7
- Bài tập lớn môn học Lý thuyết các Hệ phân tán III. Tính ưu việt của CSDL phân tán: 1. Các lợi ích của CSDL phân tán: - Khả năng mau phục hồi (Resilience): Việc truy nhập dữ liệu không phụ thuộc vào một máy hay một đường nối trên mạng. Nếu có bất kỳ một lỗi nào thì sau đó vài CSDL có thể được truy nhập trên các nút địa phương, hơn nữa một lỗi trên đường nối có thể tự động chọn đường lại qua các đường nối khác. - Giảm dòng dữ liệu trên đường truyền cải thiện thời gian trả lời: Cung cấp trả lời có bởi dữ liệu gần sát nơi các người sử dụng thường xuyên dữ liệu. - Khung nhìn logic đơn cho các câu hỏi: Trong suốt định vị cho phép dữ liệu vật lý có thể được di chuyển mà không thay đổi ứng dụng hay thông báo cho người sử dụng. - Tự trị địa phương: - Việc quản lý: Được quản lý một cách độc lập. - Việc tạo lập: Có các định nghĩa tạo lập và điều khiển có tính cục bộ. - Điều khiển truy nhập: Có quyền định nghĩa và điều khiển có tính cục bộ. - Giảm cạnh tranh (reduced politics): bằng cách trao vùng nghiệp vụ tự chủ cục bộ. - Cách thức mở rộng dễ dàng: Dễ dàng phát triển mở rộng đạt được: -Nhiều bộ xử có thể được thêm vào mạng. -Nhiều CSDL có thể được thêm vào trên một nút mạng. -Cập nhật phần mềm là độc lập với cấu trúc vật lý. 2. Các hạn chế của CSDL phân tán: - Sự thiếu kinh nghiệm. - Phức tạp. - Giá cả: Nâng cấp phần cứng, phần mềm. - Sự phân tán trong điều khiển. - Bảo mật: Khó khăn hơn CSDL tập trung. Hoàng Anh Tuấn – CH21-CNTT-Vinh 8
- Bài tập lớn môn học Lý thuyết các Hệ phân tán - Khó khăn trong việc thay đổi: Hiện nay chưa có các công cụ hoặc phương pháp nào để trợ giúp người sử dụng chuyển đổi dữ liệu của họ từ CSDL tập trung sang CSDL phân tán. Nghiên cứu CSDL không thuần nhất và sự thống nhất CSDL được chờ đợi để giải quyết khó khăn này. 3. Các nguyên nhân sử dụng CSDL phân tán: - Nguyên nhân về tổ chức và kinh tế: Trên thực tế nhiều tổ chức là không tập trung 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 đó. Với sự phát triển gần đây trong các kỹ thuật máy tính, cán cân kinh tế thúc đẩy có hệ lớn, các trung tâm máy tính trở lên đáng nghi ngại. Nguyên nhân về tổ chức và kinh tế là nguyên nhân hết sức quan trọng cho việc phát triển CSDL phân tán. - Sự liên kết các CSDL dang 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ập trung hoàn toàn mới. - 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 đó con đường 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ối thiểu tới các đơn vị đang tồn tại. Với con đường CSDL tập trung, cũng có thể khởi tạo kích thước lớn cho việc mở rộng trong tương lai. Đi ều đó rất khó tiên định và thực hiện với một phí tổn lớn, hoặ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. - Làm giảm tổng chi phí tìm kiếm: Trên thực tế nhiều ứng dụng cục bộ rõ ràng giảm tổng chi phí truyền thôngvới phương diện một CSDL tập trung. Bởi vậy số tối đa các vị trí của các ứng dụng là một trong các mục đích chính trong thiết kế CSDL phân tán. - Sự quan tâm hiệu suất (Performance considerations): Sư tồn tại một vài bộ vi xử lý tự trị đưa đến kết quả tăng hiệu suất thông qua một mức đ ộ song song cao. Sự quan tâm này có thể chỉ có thể được ứng dụng cho một hệ thống đa xử lý không nhất thiết phải là một hệ CSDL phân tán. Dù sao, CSDL phân tán có lợi trong sự phân tán dữ liệu phản ánh các tiêu chuẩn phụ thuộc ứng dụng cái số tối đa vị trí các ứng dụng. Trong cách này sự gây trở ngại lẫn nhau giữa các bộ vi xử lý là tối thiểu. Trọng tải được chia sẻ giữa các bộ vi xử lý, và các tắc nghẽn nguy kịch, như mạng truyền thông tự nó hoặc dịch vụ chung cho toàn bộ hệ thống là được tránh. Kết quả này là một hệ quả của đòi hỏi khả năng xử lý tự trị cho các ứng dụng cục bộ đã được phát biểu trong định nghĩa CSDL phân tán. Hoàng Anh Tuấn – CH21-CNTT-Vinh 9
- Bài tập lớn môn học Lý thuyết các Hệ phân tán - Tính tin cậy và tính sẵn sàng: Con đường CSDL phân tán, đặc biệt với dữ liệu dư thừa, nó cũng được sử dụng để đạt được một sự tin cậy và tính sẵn sàng cao hơn. 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ụng các kỹ thuật vẫn chưa được hiểu biết hoàn chỉnh. Khả năng xử lý tự trị của các vị trí khác nhau tự nó không đảm bảo một tính tin cậy toàn bộ cao của hệ thống, nhưng nó đảm bảo mộ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, nhưng hậu quả của sự cố được hạn chế tới các ứng dụng sử dụng dữ liệu của vị trí có sự cố, và đổ vỡ hoàn toàn của hệ th ống là hiếm xảy ra. CHƯƠNG II: CSDL THIẾT KẾ TỐT I. Định nghĩa CSDL thiết kế tốt Cho CSDL gồm các bảng sau: R1(u1), R2(u2), … Rk(uk). (*) k ui Đặt A = i =1 k Fi ; với Fi là tập các phụ thuộc hàm trên ui. F= i =1 Ta nói CSDL (*) thiết kế tốt, nếu: Mọi R trên A, ta luôn có: R = R1 ∞ R2 ∞ R3 ∞ … ∞ Rk Ví dụ: CSDL có 2 bảng sau: R1(MaSV, Hoten), R2(MaSV, Diem) là CSDL thiết kế tốt, vì: Mọi R trên A = {MaSV, Hoten, Diem} R = R1 ∞ R2 II. Thuật toán kiểm tra CSDL thiết kế tốt 1. Phát biểu bài toán Input: CSDL R1(u1), R2(u2), … Rk(uk). (*) Output: (*) là CSDL thiết kế tốt: Yes/No 2. Thuật toán kiểm tra Bưới 1: k ui Đặt A = i =1 Hoàng Anh Tuấn – CH21-CNTT-Vinh 10
- Bài tập lớn môn học Lý thuyết các Hệ phân tán k Fi ; với Fi là tập các phụ thuộc hàm trên ui. F= i =1 Bưới 2: Kiểm tra bằng thuật toán Chase xem R = R 1 ∞ R2 ∞ R3 ∞ … ∞ Rk ( Trả về kết quả: Yes hay No) a CHƯƠNG III: KHẢO SÁT CSDL QUẢN LÝ THUÊ BAO CSDL Quản lý thuê bao (QLTHUEBAO) là một trong những CSDL phục vụ công tác quản lý khách hàng, hỗ trợ hệ thống tính cước và hệ thống quản lý thu nợ của VNPT Nghệ An. CSDL QLTHUEBAO thực tế chạy trên Hệ quản trị CSDL Oracle. Để phục vụ nghiên cứu cho bài tập lớn này, QLTHUEBAO đ ược xây dựng lại trên Hệ quản trị CSDL Microsoft SQL Server 2005. I. Khảo sát CSDL Quản lý thuê bao hiện tại 1. Sơ đồ quan hệ của CSDL QLTHUEBAO hiện tại Hình 2: Sơ đồ quan hệ của CSDL QLTHUEBAO hiện tại 2. Các bảng dữ liệu trong QLTHUEBAO 1, Bảng KHACHHANG: Chứa các thông tin chính về khách hàng. Hoàng Anh Tuấn – CH21-CNTT-Vinh 11
- Bài tập lớn môn học Lý thuyết các Hệ phân tán Hình 3: bảng KHACHHANG 2, Bảng DONVI: Là bảng danh mục các đơn vị quản lý khách hàng và nhân viên thu cước Hình 4: Bảng DONVI 3, Bảng DICHVU: Là bảng danh mục các dịch vụ viễn thông. Hoàng Anh Tuấn – CH21-CNTT-Vinh 12
- Bài tập lớn môn học Lý thuyết các Hệ phân tán Hình 5: Bảng DICHVU 4, Bảng DANHBA_DT: chứa thông tin các thuê bao điện thoại (cố định, di động, di động nội vùng) Hình 6: Bảng DANHBA_DT 5, Bảng DANHBA_NET: chứa thông tin các thuê bao băng rộng ADSL, cáp quang FTTH, thuê kênh riêng, thuê bao truyền trình MyTV, Sông Lam TV. Hình 7: Bảng DANHBA_NET 6, Bảng NHANVIEN: Là bảng danh mục các nhân viên thu cước. Hình 8: Bảng NHANVIEN Hoàng Anh Tuấn – CH21-CNTT-Vinh 13
- Bài tập lớn môn học Lý thuyết các Hệ phân tán 7, Bảng TRANGTHAI: mô tả thông tin trạng thái tạm cắt hay đang hoạt động bình thường của thuê bao. Hình 9: Bảng TRANGTHAI 2. Nhận xét CSDL QLTHUEBAO hiện tại - CSDL có thiết kế với các quan hệ sáng suốt. - Tuy nhiên, CSDL này có xẩy ra hiện tượng dư thừa dữ liệu. Từ dư th ừa dữ liệu, khi khai thác dữ liệu sẽ không chính xác. Đó là trường Đ ịa ch ỉ c ủa khách hàng có trong 3 bảng: KHACHHANG, DANHBA_DT và DANHBA_NET. + Xét khách hàng Nguyễn Thanh Bình có mã khách hàng VI000010, thông tin của khách hàng này trong bảng KHACHHANG là: Hình 10: Thông tin địa chỉ khách hàng trong KHACHHANG Khách hàng Nguyễn Thanh Bình có sử dụng 2 dịch vụ là điện thoại c ố định và điện thoại di động, nên những thông tin số máy của khách hàng này trong bảng DANHBA_DT: Hình 11: Thông tin địa chỉ khách hàng trong DANHBA_DT Mặt khác, khách hàng trên còn dùng 2 dịch vụ nữa là ADSL và MyTV, nên thông tin về 2 dịch vụ của khách hàng này xuất hiện trong bảng DANHBA_NET: Hoàng Anh Tuấn – CH21-CNTT-Vinh 14
- Bài tập lớn môn học Lý thuyết các Hệ phân tán Hình 12: Thông tin địa chỉ khách hàng trong DANHBA_NET Như vậy, thông tin địa chỉ của khách hàng Nguyễn Thanh Bình là “Số 10, Lê Hồng Phong, Tp. Vinh” đã lặp lại đến 5 lần. Dư thừa dữ liệu dẫn đ ến tốn tài nguyên hệ thống. - Nếu cập nhật địa chỉ tại các bảng không giống nhau thì không biết thông tin địa chỉ nào là chính xác. + Xét khách hàng Trịnh Văn Nam có mã khách hàng ND000018, thông tin c ủa khách hàng này trong bảng KHACHHANG là: Hình 13: Thông tin địa chỉ khách hàng lệch trong KHACHHANG Khách hàng này có sử dụng các dịch vụ là Điện thoại di động, Điện thoại c ố định và ADSL nên thông tin của các thuê bao này có trong 2 bảng DANHBA_DT và DANHBA_NET. Tuy nhiên, thông tin địa chỉ ở các bảng không giống nhau: Hoàng Anh Tuấn – CH21-CNTT-Vinh 15
- Bài tập lớn môn học Lý thuyết các Hệ phân tán Hình 14: Thông tin địa chỉ lệch trong DANHBA_DT và DANHBA_NET Ta thấy, thông tin địa chỉ của khách hàng Trịnh Văn Nam ở mỗi nơi một khác. Khi cần thông tin chính xác địa chỉ của khách hàng này thì không biết dựa vào đâu là chính xác nhất. 3. Đề xuất phương án chỉnh sửa Vì mỗi khách hàng có địa chỉ duy nhất, dù họ có sử dụng bao nhiêu dịch vụ đi nữa, nên chỉ cần chứa thông tin địa chỉ trong bảng KHACHHANG mà thôi. Trong 2 bảng DANHBA_DT và DANHBA_NET xóa cột Diachi đi. Ta có sơ đồ quan hệ của CSDL QLTHUEBAO mới như sau: Hình 15: Sơ đồ quan hệ của CSDL QLTHUEBAO mới II. Kiểm tra QLTHUEBAO là một CSDL thiết kế tốt 1. Tập thuộc tính và tập phụ thuộc hàm Ta có tập thuộc tính: A = {Ma_KH, Ten_KH, Ma_DV, Ten_DV, Ma_TT, Ten_TT, Ma_Donvi, Ten_Donvi, Ma_NV, Ten_NV, Somay, Ngay_KN, Account, Ngay_TT} Tập phụ thuộc hàm: F ={Ma_KH → u1, Ma_DV → u2, Ma_TT → u3, Ma_Donvi → u4, Ma_NV → u5, Somay → u6, Account→ u7} Hoàng Anh Tuấn – CH21-CNTT-Vinh 16
- Bài tập lớn môn học Lý thuyết các Hệ phân tán u1 = {Ma_KH, Ten_KH, Ma_NV, Ma_Donvi} u2 = {Ma_DV, Ten_DV} u3 = {Ma_TT, Ten_TT} u4 = {Ma_Donvi, Ten_Donvi} u5 = {Ma_NV, Ten_NV, Ma_Donvi} u6 = {Somay, Ma_TT, Ma_DV, Ma_KH, Ngay_TT} u7 = {Account, Ma_TT, Ma_DV, Ma_KH, Ngay_KN} 2. Sử dụng thuật toán Chase Ta có bảng xuất phát Hình 16: Bảng xuất phát Hình 17: Bảng Ma_KH → u1 Hình 18: Bảng Ma_DV → u2 Hoàng Anh Tuấn – CH21-CNTT-Vinh 17
- Bài tập lớn môn học Lý thuyết các Hệ phân tán Hình 19: Bảng Ma_TT → u3 Hình 20: Bảng Ma_Donvi → u4 Hình 21: Bảng Ma_NV → u5 Hình 22: Bảng Somay → u6 Hình 23: Bảng Account→ u7 Vậy dòng u7 đầy đủ các ai → YES Hoàng Anh Tuấn – CH21-CNTT-Vinh 18
- Bài tập lớn môn học Lý thuyết các Hệ phân tán Kết luận: QLTHUEBAO sau khi sửa đổi là một CSDL thiết kế tốt. Hoàng Anh Tuấn – CH21-CNTT-Vinh 19
- Bài tập lớn môn học Lý thuyết các Hệ phân tán TÀI LIỆU THAM KHẢO [1] PGS. TS Nguyễn Bá Tường, “Nhập môn CSDL phân tán”, NXB Khoa học kỹ thuật, 2005. [2] M.Tamer Ozsu And Patricle Valduriez, “Principles of Distributed Database Systems”, Second Edition, Prentive Hall Upper Saddle River, New Jersy, 1999. [3] Michanel V. Mannino, “ Database Application Development & Design”, Published by McGaw-Hill /Irwin, New Yor.k, 2001. [4] Abram Siberschatz, Henry F.Korth, S.Sudarshan “ Database Systems Concepts”, Published by McGaw-Hill /Irwin, New York, 2002. Hoàng Anh Tuấn – CH21-CNTT-Vinh 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình : Thực hành tin học căn bản
68 p | 6112 | 1962
-
Bài giảng môn Công nghệ phần mềm
45 p | 1207 | 409
-
Chương trình quản lý bán hàng công ty
66 p | 487 | 209
-
Đề tài " Hệ thống quản lý hộ khẩu "
20 p | 718 | 164
-
Bài tập lớn Tin học đại cương
12 p | 445 | 80
-
KỸ THUẬT LẬP TRÌNH Yêu cầu môn học: • Nắm vững ngôn ngữ lập trình C •
3 p | 258 | 49
-
Môn học/Môđun: Tin học đại cương (Bài tập lớn số 01)
2 p | 236 | 38
-
Bài giảng Bài tập lớn xử lý ảnh - Hoàng Văn Hiệp
40 p | 210 | 18
-
Bài giảng điện tử môn tin học: WINDOWS SERVER 2003 & ACTIVE DIRECTORY
0 p | 123 | 15
-
Bài 2: Hệ quản trị cơ sở dữ liệu
5 p | 217 | 7
-
Bài giảng Xử lý dữ liệu trong sinh học với phần mềm Excel - Bài 6: Phân tích phương sai một số kiểu thiết kế khác
8 p | 72 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn