Cơ sở dữ liệu phân tán CSDLPT nói riêng và các hệ phân tán nói chung là một lĩnh vực đã được nghiên cứu từ lâu, nhưng gần đây do sự phát triển nhanhchóng của công nghệ truyền thông và sự
Trang 1********** **********
TIỂU LUẬN CHUYÊN ĐỀ
CƠ SỞ DỮ LIỆU NÂNG CAO
Thành phố Hồ Chí Minh
08/2012
Trang 2MỤC LỤC
DANH MỤC CÁC HÌNH 3
LỜI NÓI ĐẦU 3
Chương I>Giới thiệu: 4
Chương II>Cơ sở dữ liệu phân tán: 5
1/Các khái niệm cơ bản: 5
2/Sự cần thiết của hệ cơ sở dữ liệu phân tán: 8
3/Các đặc điểm của cơ sở dữ liệu phân tán: 9
4/Mô hình kiến trúc của hệ cơ sở dữ liệu phân tán: 10
Chương III>Thiết kế cơ sở dữ liệu phân tán: 14
1/Các kiểu phân mảnh: 14
2/Phương pháp phân mảnh ngang: 16
3/Phương pháp phân mảnh dọc: 19
4/Phân tán tài nguyên: 27
Chương IV>Cài đặt thuật toán tìm phân mảnh dọc: 27
1/Giới thiệu chương trình: 27
2/Một số đoạn mã chính để xây dựng chương trình: 28
3/Hướng dẫn sử dụng chương trình: 36
Chương V>Kết luận & Hướng phát triển đề tài: 39
1/Kết luận : 39
2/Hướng phát triển đề tài: 39
TÀI LIỆU THAM KHẢO 41
Trang 3DANH MỤC CÁC HÌNH
Hình 1: Các mô hình không phải hệ CSDLPT 6
Hình 2: Mô hình hệ CSDLPT 7
Hình 3: Các tầng trong suốt của hệ thống 8
Hình 4: Sơ đồ hệ phân tán client/server 11
Hình 5: Sơ đồ kiến trúc của hệ phân tán ngang hàng 13
Hình 6: Sơ đồ kiến trúc của hệ phân tán phức hợp 14
Hình 7: Chia các thuộc tính gom cụm 24
Hình 8: Giao diện chính của chương trình 28
Hình 9: Mở file 36
Hình 10: Chọn file cần mở 37
Hình 11: Dữ liệu được nhập vào hai ma trận 37
Hình 12: Xác nhận việc thực hiện 38
Hình 13: Kết quả thực hiện sau khi tính toán 38
LỜI NÓI ĐẦU
Ngày nay công nghệ thông tin (CNTT) đã vượt ra ngoài khuôn khổ một đối tượng riêng của khoa học công nghệ CNTT trở thành một nhân tố quan trọng trong
Trang 4sản xuất và phát triển kinh tế toàn xã hội với phạm vi toàn cầu Trong nền kinh tế trithức CNTT đóng vai trò then chốt Mạng máy tính cũng trở thành công cụ đắc lựckhông thể thiếu cho bất kỳ một tổ chức xã hội nào
Cơ sở dữ liệu phân tán (CSDLPT) nói riêng và các hệ phân tán nói chung là
một lĩnh vực đã được nghiên cứu từ lâu, nhưng gần đây do sự phát triển nhanhchóng của công nghệ truyền thông và sự bành trướng ngày càng mạnh mẽ của mạngInternet, cùng với xu thế toàn cầu hóa trong mọi lĩnh vực như ngân hàng, giáo dục,doanh nghiệp,… đặc biệt là về thương mại, CSDLPT đã trở thành một lĩnh vực thuhút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sản xuất phầnmềm Vậy CSDLPT là gì ? Để trả lời cho câu hỏi này người nghiên cứu đang từngbước tiếp cận, tìm hiểu nhằm đưa ra câu trả lời một cách chính xác hơn
Về mặt trực quan, cụm từ CSDLPT bao gồm 2 cụm từ là cơ sở dữ liệu (CSDL)
và phân tán (PT) Nhưng về mặt công nghệ CSDLPT chính là sự hợp nhất của hai hướng tiếp cận đối với quá trình xử lý dữ liệu là công nghệ CSDL và công nghệ
mạng máy tính.
Trong phạm vi bài tiểu luận này người nghiên cứu chỉ trình bày một cách tổngquát nhất về những khái niệm của CSDLPT và đồng thời cài đặt thử nghiệm chương
trình Mô phỏng thuật toán phân mảnh dọc để thiết kế CSDLPT.
Qua bài thu hoạch, em xin gửi lời cảm ơn chân thành, sâu sắc đến thầy
PGS.TS Đỗ Phúc, người đã tận tình truyền đạt cho em những kiến thức sâu rộng,
bổ ích về môn Cơ sở dữ liệu nâng cao Từ đó giúp em nắm vững hơn về cơ sở lý
thuyết, và có được một nền tảng kiến thức cơ bản tạo điều kiện thuận lợi để emhoàn thành tốt bài tiểu luận này Bên cạnh đó em cũng xin gửi lời cảm ơn đến cácanh/chị trong cùng khóa học đã nhiệt tình chia sẽ tài liệu và những thông tin cầnthiết trong suốt quá trình học
Thân mến,
Người nghiên cứu
Chương I> Giới thiệu:
Nếu như phần lớn lịch sử phát triển của máy tính cá nhân đã được viết trên đất
Mỹ thì cách đây khoảng 40 năm, TS Nguyễn Chí Công đã cùng đồng nghiệp cho ra
Trang 5đó, máy tính đã có đủ khả năng xây dựng hệ thống thông tin và hệ 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ữngnguồn phát triển hệ thống ứng dụng ngày càng có nhiều kinh nghiệm Hệ thốngthô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ệ CSDLPT được phát triển dựa trên hai nền công nghệdường như đối lập nhau là công nghệ CSDL và công nghệ mạng máy tính Mộttrong những mục đích, động cơ chính của việc sử dụng các hệ CSDL là việc tíchhợp các dữ liệu, giao tác của một xí nghiệp, tổ chức và cho phép truy xuất tập trung,
do vậy có thể điều khiển được các truy xuất đến dữ liệu đó Còn công nghệ mạng đingược lại với mọi nỗ lực tập trung hóa Tuy nhiên sự hòa quyện vào nhau của hainền công nghệ đó đã giúp cho việc trao đổi dữ liệu, thông tin,…thông qua mạngmáy tính ngày càng nhanh chóng và chính xác hơn, tiết kiệm được nhiều về mặtthời gian lẫn không gian lưu trữ
Do đó để xây dựng và cài đặt một CSDLPT chúng ta không những chỉ cầnnắm vững các kiến thức về CSDL mà còn cần phải hiểu biết về mạng máy tính Cụthể để giải quyết bài toán trên chúng ta cần nắm vững các vấn đề về thiết kế phântán, thiết kế dữ liệu, các loại mạng máy tính, mạng dải rộng, mạng vô tuyến,internet,…
Chương II> Cơ sở dữ liệu phân tán:
1/ Các khái niệm cơ bản:
Hệ cơ sở dữ liệu phân tán (CSDLPT) được xây dựng dựa trên hai nền công
nghệ cơ bản là cơ sở dữ liệu (CSDL) và mạng máy tính Hệ CSDLPT được mô tả
như là tập hợp nhiều CSDL có liên quan logic đến nhau và được phân bố trên mạngmáy tính
Trong khái niệm được mô tả về CSDLPT ở trên có hai đặc trưng cơ bản là
“liên quan logic” và “phân bố trên mạng” Trong CSDLPT các tập tin dữ liệu
được lưu trữ độc lập trên các nút của mạng máy tính và phải có liên quan đến nhau
về mặt logic và hơn thế nữa còn đòi hỏi chúng phải được truy xuất qua một giaodiện chung thống nhất
Cơ sở dữ liệu phân tán = Cơ sở dữ liệu + Mạng máy tính
Trang 6Hiện nay khái niệm xử lý phân tán (Distributed Processing), tính toán phân
tán (Distributed Computing) hoặc các thuật ngữ có từ “phân tán” được dùng để chỉ
các hệ thống rải rác như các hệ thống máy tính có đa bộ xử lý (multiprocessorsystem) hay là các xử lý trên mạng máy tính CSDLPT là một khái niệm không baogồm các trường hợp xử lý dữ liệu trong các hệ thống sử dụng bộ nhớ chung, kể cả
bộ nhớ trong hay bộ nhớ thứ cấp (đĩa từ), nhất thiết phải là một hệ có sử dụng giaotiếp mạng với các trạm làm việc độc lập
Hệ quản trị cơ sở dữ liệu (Distributed Database Management System) là hệ
thống phần mềm cho phép quản lý các hệ CSDLPT và làm cho sự phân tán trở nên
“trong suốt” đối với người sử dụng.
Hình 1: Các mô hình không phải hệ CSDLPT
Trang 7Hình 2: Mô hình hệ CSDLPT
Khái niệm trong suốt (transparent) để chỉ sự tách biệt ở cấp độ cao của hệ
thống với các vấn đề cài đặt ở cấp độ thấp của hệ thống Có các dạng trong suốt nhưsau:
• Trong suốt về phân tán: Do tính chất phân tán của hệ thống nên các dữliệu được lưu trữ tại các nút có vị trí địa lý khác nhau, phần mềm sẽ đápứng các yêu cầu sao cho người dùng không cần phải biết vị trí địa lýcủa dữ liệu
• Trong suốt về phân hoạch: Do dữ liệu phân tán và do nhu cầu của côngviệc nên dữ liệu cần được phân hoạch và mỗi phân hoạch được lưu trữtại một nút khác nhau (đây gọi là quá trính phân mảnh - fragmentation).Quá trình phân mảnh hoàn toàn tự động bởi hệ thống và người dùngkhông cần phải can thiệp vào
• Trong suốt về nhân bản: Vì lý do tính hiệu năng và độ tin cậy nên dữliệu còn được sao chép một phần ở những vị trí khác nhau
• Trong suốt về độc lập dữ liệu
• Trong suốt về kết nối mạng: Người dùng không cần biết về sự có mặtcủa các giao tiếp mạng
Trang 8Hình 3: Các tầng trong suốt của hệ thống
2/ Sự cần thiết của hệ cơ sở dữ liệu phân tán:
2.1/ Sự phát triển của các cơ cấu tổ chức:
Cùng với sự phát triển của xã hội, nhiều cơ quan xí nghiệp có cơ cấu tổ chứckhông tập trung, hoạt động phân tán trên phạm vi rộng Vì vậy việc thiết kế và càiđặt CSDLPT là phù hợp, đáp ứng mọi nhu cầu truy xuất và khai thác dữ liệu Cùngvới sự phát triển của công nghệ viễn thông tin học, động cơ thúc đẩy kinh tế, việc tổchức các trung tâm máy tính lớn và tập trung trở thành vấn đề cần nghiên cứu
Cơ cấu tổ chức và vấn đề kinh tế là một trong những nguyên nhân quan trọngnhất của sự phát triển CSDLPT
2.2/ Giảm chi phí truyền thông:
Trong thực tế sử dụng một số ứng dụng mang tính địa phương sẽ làm giảm chiphí truyền thông Bởi vậy việc tối ưu hóa tính địa phương của các ứng dụng là mộttrong những mục tiêu chính của việc thiết kế và cài đặt CSDLPT
2.3/ Hiệu quả công việc:
Sự tồn tại một số hệ thống xử lý địa phương đạt được thông qua việc xử lýsong song Vấn đề này có thể thích hợp với mọi hệ đa xử lý CSDLPT có thuận lợitrong phân tích dữ liệu phản ánh điều kiện phụ thuộc của các ứng dụng Theo cáchnày tác động qua lại giữa các bộ xử lý được làm cực tiểu Công việc được phân chiagiữa các bộ xử lý khác nhau và tránh được các tắc nghẽn thông tin trên mạng truyềnthông hoặc các dịch vụ chung của toàn hệ thống Sự phân tán dữ liệu phản ánh hiệuquả làm tăng tính địa phương của các ứng dụng
Trang 92.4/ Độ tin cậy và tính sẵn sàng:
Cách tiếp cận CSDLPT cho phép truy nhập độ tin cậy và tính sẵn sàng caohơn Tuy nhiên để đạt được mục đích đó là vấn đề không đơn giãn đòi hỏi kỹ thuậtphức tạp Những lỗi xuất hiện trong một CSDLPT có thể xẩy ra nhiều hơn vì số cácthành phần cấu thành lớn hơn, nhưng ảnh hưởng của lỗi chỉ ảnh hưởng tới các ứngdụng sử dụng các site lỗi Sự hỏng hóc của toàn hệ thống hiếm khi xẩy ra
3/ Các đặc điểm của cơ sở dữ liệu phân tán:
CSDLPT không đơn giản là sự phân bố của các CSDL, bởi vì CSDLPT cónhiều điểm khác biệt so với CSDL tập trung truyền thống CSDLPT có một số điểmnổi bậc so với CSDL tập trung như: quản lý dữ liệu phân tán và nhân bản một cách
vô hình, độ tin cậy qua các giao dịch phân tán, cải thiện hiệu năng và dễ dàng mởrộng hệ thống
3.1/ Quản lý phân tán và nhân bản một cách vô hình:
Đặc tính vô hình muốn nói đến sự tách biệt về ngữ nghĩa ở cấp độ cao của một
hệ thống với các vấn đề cài đặt ở cấp độ thấp Nói cách khác, một hệ thống vô hình
sẽ “che khuất” các chi tiết cài đặt, không cho người dùng nhìn thấy Ưu điểm củamột hệ quản trị CSDLPT vô hình hoàn toàn là mức độ hỗ trợ cao mà nó cung cấpcho việc phát triển các ứng dụng phức tạp Rõ ràng là chúng ta mong muốn làm chotất cả đề vô hình hoàn toàn
3.2/ Độ tin cậy qua các giao dịch phân tán:
Các hệ quản trị CSDLPT được dự định dùng để cải thiện độ tin cậy bởi vìchúng có các thành phần được nhân bản và vì thế loại bỏ được các tình huống có sự
cố tại các điểm riêng lẻ Sự cố tạo một trạm riêng lẻ hoặc sự cố đường liên lạc làmmất liên lạc với một hoặc nhiều trạm sẽ không đủ làm ngừng trệ toàn bộ hệ thống
3.3/ Cải thiện hiệu năng:
Hiệu năng của CSDLPT được cải tiến dựa vào hai điểm:
• Hệ quản trị CSDLPT có khả năng phân mảnh CSDL khái niệm và chophép cục bộ hóa dữ liệu
• Tính song song của các hệ thống phân tán có thể được khai thác để thựchiện song song liên truy vấn và truy vấn nội bộ
3.4/ Dễ dàng mở rộng hệ thống:
Trang 10Trong môi trường phân tán, dễ dàng tăng kích thước dữ liệu và hiếm khi cầnsửa đổi trong các hệ thống lớn Việc mở rộng thường có thể được thực hiện bằngcách tăng khả năng lưu trữ và xử lý của mạng Rõ ràng là không thể có được sự giatăng “khả năng” một cách tuyến tính, vì điều này phụ thuộc vào chi phí phân tán,Tuy nhiên vẫn có thể có những cải tiến có ý nghĩa Khả năng mở rộng hệ thống dễdàng mang tính kinh tế, chi phí giảm.
4/ Mô hình kiến trúc của hệ cơ sở dữ liệu phân tán:
Trong số các mô hình kiến trúc của hệ quản trị cơ sở dữ liệu phân tán
(QTCSDLPT) được trình bày trong các tài liệu kinh điển ta xét 3 mô hình phổ biến:
4.1/ Mô hình kiến trúc của hệ phân tán client/server:
Đặc trưng của hệ này là các chức năng của hệ thống được chia làm 2 lớp làclient và server
Trong hệ thống client/server các thao tác xử lý dữ liệu đáp ứng yêu càu củakhách hàng đều được thực hiện bởi các chức năng phía server, chỉ có kết quả mớiđược gửi trả lại cho client
Hệ client với các tầng:
• Giao diện tương tác với người sử dụng (User Interface), các chươngtrình ứng dụng (Application Program),…
• Hệ quản trị cơ sở dữ liệu khách hàng (Client DBMS)
• Các phần mềm mạng có chức năng truyền tin (CommunicationSoftware)
Hệ server với các tầng:
• Các phần mềm mạng có chức năng truyền tin
• Tần kiểm soát ngữ nghĩa của dữ liệu (Semantic Data Controler)
• Tầng tối ưu hóa câu hỏi (Query Optimizer)
• Tầng quản lý các giao thức (Transaction Manager)
• Tần quản lý khôi phục (Recovery Manager)
• Tần hỗ trợ thực thi (Runtime Support Processor)
• Hệ điều hành quản lý chung và giao tiếp với CSDL vật lý
Trang 11Hình 4: Sơ đồ hệ phân tán client/server
Hệ client/server có ưu điểm là xử lý dữ liệu tập trung, trên đường truyền chỉ cócác yêu cầu (câu hỏi) và kết quả đáp ứng câu hỏi, giảm tải được khối lượng truyềntin trên mạng kết hợp với thiết bị tại server rất mạnh sẽ tăng tốc độ xử lý dữ liệu của
cả hệ thống
4.2/ Mô hình hệ phân tán ngang hàng:
Đặc điểm nổi bật của hệ thống này là dữ liệu được tổ chức ở các nút có chứcnăng như nhau, đồng thời sự tổ chức dữ liệu ở các nút này lại có thể rất khác nhau,
từ đó cần phải có:
• Định nghĩa dữ liệu tại mỗi vị trí: tại mỗi nút phải xây dựng lược đồ dữliệu cụ bộ LIS (Local Internal Schema)
Trang 12• Mô tả cấu trúc logic toàn cục: Lược đồ khái niệm toàn cục GCS(Global Conceptual Schema).
• Mô tả cấu trúc logic tại mỗi vị trí, điểu này xẩy ra do nhân bản và phânmảnh gọi là lược đồ khái niệm cục bộ LCS (Local ConceptualSchema)
• Mô tả cấu trúc dữ liệu của các ứng dụng gọi là lược đồ ngoại giới ES(External Schema)
Cấu trúc của hệ thống bao gồm hai thành phần chính: Bộ phận tiếp nhận ngườidùng (User Processor) và bộ phận xử lý dữ liệu (Data Processor) Hai modul nàyđược đặt chung trên mỗi máy chứ không tách biệt như hệ thống client/server
Các chức năng cơ bản của từng modul như sau:
• Giao tiếp người dùng (User Interface Handle): Diễn dịch yêu cầu, địnhdạng kết quả
• Kiểm soát dữ liệu ngữ nghĩa (Semantic Data Controler): Dựa vào lược
đồ khái niệm toàn cục để kiểm tra câu truy cấn có thực hiện được haykhông
• Tối ưu hóa câu hỏi toàn cục (Global Query Optimizer): Định ra chiếnlược thực thi tốt nhất trên các nút
• Giám sát thực thi truy vấn toàn cục (Global Execution Monitor)
• Xử lý truy vấn cục bộ (Local Query Processor)
• Quản lý khôi phục cục bộ (Local Recover Manager): Quản lý sự nhấtquán khi có sự cố
• Xử lý hỗ trợ thực thi (Runtime Support Processor): Quản lý truy xuấtCSDL
Trang 13Hình 5: Sơ đồ kiến trúc của hệ phân tán ngang hàng
4.3/ Mô hình hệ phân tán ngang hàng:
Sự khác biệt cơ bản so với hệ phân tán ngang hàng là ở chỗ phức hệ không có(hoặc có không đầu đủ) một lược đồ khái niệm toàn cục
Trang 14Hình 6: Sơ đồ kiến trúc của hệ phân tán phức hợp
Tóm lại trong 3 mô hình nêu trên thì mô hình client/server đang được pháttriển rộng rãi và chứng tỏ các ưu điểm của nó về tính đơn giản và hữu hiệu trênmạng
Chương III> Thiết kế cơ sở dữ liệu phân tán:
Một CSDLPT dựa trên mô hình quan hệ trước hết phải tuân thủ các quy tắc vềchuẩn hóa cho CSDL quan hệ Để phân tán CSDL có hai hoat động chính đó là:
Phân mảnh cách quan hệ và phân tán các quan hệ (cấp phát các mảnh dữ liệu).
1/ Các kiểu phân mảnh:
Xét hệ CSDLPT dựa trên các lược đồ quan hệ, như vậy sự phân mảnh chính làhoạt động chia một bảng thành các bảng nhỏ hơn Giả sử ta có các quan hệ EMP,PROJ, PAY, ASG được mô tả như sau:
Trang 15PROJ1PN O PNameBudgetLocP1Thiết
bị150000TorontoP2CSDL125000NewYork
PROJ2PN O PNameBudgetLocP3Games750
00NewYorkP4CAD100000Paris
Trang 16Trong thực tế phân mảnh sẽ xảy ra việc kết hợp cả hai loại phân mảnh và tagọi là sự phân mảnh hỗn hợp Mức độ phân mảnh tùy theo yêu cầu của ứng dụng,phân mảnh quá lớn hay quá nhỏ đều gây ra các hiệu ứng phụ khó kiểm soát.
1.3/ Các quy tắc phân mảnh:
Các quy tắc này nhằm đảm bảo tính chất nhất quán của CSDL, đặc biệt về ngữnghĩa của dữ liệu
R1, R2,…,Rn thì mỗi mục dữ liệu phải nằm trong một hoặc nhiều cácmảnh con Ở đây trong phân mảnh ngang thì mục dữ liệu được hiểu làcác bộ còn trong phân mảnh dọc là các thuộc tính Quy tắc này đảm bảokhông bị mất dữ liệu khi phân mảnh
mảnh con R1, R2,…,Rn thì phải định nghĩa được một toán tử quan hệ
∇sao cho R = ∇i 1=n Ri
con R1, R2,…,Rn Đối với phân mảnh ngang mục di đã nằm trong mảnh
Rj thì nó sẽ không nằm trong mảnh Rk với k ≠ j Đối với phân mảnhdọc thì khóa chính phải được lập lại trong các mảnh con, còn các thuộctính khác phải tách rời
2/ Phương pháp phân mảnh ngang:
2.1/ Các yêu cầu về thông tin: Để phục vụ cho các loại phân mảnh ta cần có
các loại thông tin sau đây:
• Thông tin về cơ sở dữ liệu:
Đây là thông tin về lược đồ dữ liệu toàn cục, chỉ ra các mối liên kết giữa cácquan hệ Ta mô hình hóa sự liên kết này bằng một đồ thị có hướng, các cung chỉ
Trang 17gọi là quan hệ chủ nhân (Owner) còn quan hệ ở cuối đường nối gọi là quan hệ thành
viên (Member) Ta định nghĩa hai hàm Owner và Member từ tập các đường nối đến
tập các quan hệ
Ví dụ:
Ta có các hàm Owner và Member xác định như sau:
Owner(L1) = PAY, Member(L1) = EMP
Owner(L2) = EMP, Member(L2) = ASG
Owner(L3) = PROJ, Member(L3) = ASG
• Thông tin về ứng dụng:
o Thông tin định tính: hướng dẫn cho hoạt động phân mảnh
o Thông tin định lượng: chủ yếu được sử dụng trong các mô hìnhcấp phát
2.2/ Phân mảnh ngang nguyên thủy:
Phân mảnh ngang nguyên thủy thực chất là một phép chọn trên quan hệ chủcủa một lược đồ quan hệ R
Ri = δFi(R) với i = 1,…,tTrong đó Fi là công thức chọn sử dụng một vị từ hội sơ cấp mi
Khi một tập vị từ là cực tiểu thì tất cả các vị từ trong đó đều sinh ra phân mảnh
được truy xuất bởi ít nhất một ứng dụng, ta gọi những vị từ đó là có liên đới
Bước 1: Thuật toán tìm vị từ đầy đủ và cực tiểu
Quy tắc cơ bản về DD&CT: Một quan hệ hoặc một mảnh được phânhoạch thành ít nhất hai phần và chúng được truy xuất khác nhau bởi ít nhất một ứngdụng
Trang 18Ta gọi fi của PR là mảnh fi được sinh ra từ một vị từ hội sơ cấp trong
PR
Thuật toán COM_MIN:
• Đầu vào: R là quan hệ, PR là tập vị từ đơn giản
• Đầu ra: PR’ là tập vị từ đơn giản và cực tiểu
Tìm một pj∈PR sao cho pj phân hoạch một mảnh fk
của PR’ theo quy tắc cơ bản DD&CT;
Until PR’ là đầy đủ
End Bước 2: Tính tập vị từ hội sơ cấp từ tập đầy đủ và cực tiểu Việc tính toán này
rất dễ nhưng hay dẫn đến những tập vị từ hội sơ cấp rất lớn do việc tính máy móc
Việc giản ước tập vị từ hội sơ cấp được thực hiện ở bước 3.
Bước 3: Loại bỏ những vị từ hội sơ cấp vô nghĩa Việc này đầu tiên phải xác
định những vị từ mâu thuẫn với tập các phép kéo theo
Bước 4: Thuật toán tìm vị từ hội sơ cấp có nghĩa
• Đầu vào: R là một quan hệ
• Đầu ra: M là tập các vị từ hội sơ cấp có nghĩa
Trang 19PR’ = COM_MIN(R, PR);
Tính tập M các vị từ hội sơ cấp từ PR’;Tính tập I các phép kéo theo giữa các pi∈ PR’;
For mỗi mi∈M Do
If mi mâu thuẫn với I Then M = M – {mi};
End
2.3/ Phân mảnh ngang dẫn xuất:
Phân mảnh ngang dẫn xuất được định nghĩa dựa trên sự phân mảnh ngang mộtquan hệ thành viên của một đường nối dựa theo phép toán chọn trên quan hệ chủnhân của đường nối đó, hay ta còn gọi đó là sự phân mảnh quan hệ thành viên dựatrên cơ sở phân mảnh quan hệ chủ nhân
Cho trước một đường nối L, ta có: Owner (L) = S và Member (L) = R Địnhnghĩa các mảnh ngang dẫn xuất của R như sau:
Ri = RθSi với i = 1…sTrong đó s là số lượng các mảnh ngang trên R, Si =δFi(S) là mảnh ngang nguyênthủy được xây dựng từ vị trí hội sơ cấp Fi, θlà phép liên kết bằng trên khóa kết nốicủa chủ nhân và thành viên
Ý nghĩa của phân mảnh dọc là tạo ra các quan hệ nhỏ hơn để sao cho giảm tối
đa thời gian thực hiện của các ứng dụng chạy trên mảnh đó Việc phân mảnh dọc làhoạt động chia một quan hệ R thành các mảnh con R1, R2,…,Rn sao cho mỗi mảnhcon chứa tập con thuộc tính và chứa cả khóa của R Với cách đặt vấn đề như vậy thìviệc phân mảnh dọc không chỉ là bài toán của CSDLPT mà còn là bài toán của ngay
cả hệ CSDL tập trung
Trang 20Ví dụ: Cho tập Q={Q1,Q2,Q3,Q4} các truy vấn, tập A={A1,A2,A3,A4,A5}
các thuộc tính, tập S={S1,S2,S3} các vị trí trong hệ CSDLPT Ma trận truy vấn sửdụng thuộc tính và ma trận sử dụng truy vấn tại các vị trí như sau:
a Tìm ma trận ái lực thuộc tính AA
b Giả sử ban đầu chọn thuộc tính A5,A3, tính mức độ đóng góp để chọn
vị trí của các thuộc tính A1,A2,A4 bằng thuật toán năng lượng liên kết,sau đó tính ma trận ái lực gom cụm
c Dùng thuật toán tách dọc dựa trên ma trận ái lực gom cụm để gom cácthuộc tính thành 2 nhóm và tạo 2 mảnh dọc
3.1/ Độ đo ái lực aff(A i , A j ):
Độ đo ái lực thuộc tính giữa hai thuộc tính Ai và Aj của quan hệ R[A1, A2,…
An] ứng với tập quan hệ Q = (q1, q2,…,qn) được định nghĩa như sau:
aff(A i , A j ) = ∑ tất cả các query truy cập đến Ai và Aj (truy vấn)
Truy vấn = ∑ tất cả các site (tần số truy cập của một truy vấn *
excutionaccess
Bài toán tìm ma trận AA:
Ta tính được tổng của từng Q như sau:
Q1 = 21
Q2 = 24
Q3 = 90
Q4 = 11