Với cấu trúc dạng bảng, các cột của bảng tương ứng với các thuộc tính của quan hệ.Mỗi thuộc tính phải được định nghĩa theo một kiểu dữ liệu nhất định nhằm đảm bảo thôngtin trong dữ liệu
Trang 1BÀI THU HOẠCH
MÔN HỌC: CƠ SỞ DỮ LIỆU NÂNG CAO
kế Web Service
Giảng viên hướng dẫn : PGS.TS ĐỖ PHÚC
Học viên thực hiện : NGUYỄN THỊ DIỆU ANH
MSHV : C1101064
Trang 2MỤC LỤC
MỞ ĐẦU 3
I TỔNG QUAN HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 1 Nền tảng phát triển 4
2 Khái niệm .8
II KIẾN TRÚC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN 1 Kiến trúc cơ sở dữ liệu phân tán 11
2 Kiến trúc hệ quản trị cơ sở dữ liệu phân tán 12
III LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU PHÂN TÁN 1 Thiết kế hệ cơ sở dữ liệu phân tán 16
2 Kiểm soát dữ liệu ngữ nghĩa 25
3 Phân rã vấn tin 27
4 Cục bộ hóa dữ liệu 28
IV DEMO ỨNG DỤNG 1 Mô tả bài toán 30
2 Demo chương trình 31
KẾT LUẬN 34
TÀI LIỆU THAM KHẢO 35
Trang 3MỞ ĐẦU
Thuật ngữ “phân tán” được sử dụng trong một vài năm trở lại đây để chỉ việc xử lýthông tin trên các thành phần hệ thống nằm tách biệt nhau, mỗi một hệ thống thực hiệnmột nhiệm vụ xác định và được liên kết với nhau thông qua mạng máy tính
Một thực tế đặt ra là sự phát triển ngày càng rộng lớn của các công ty, xí nghiệp, cácnhà sản xuất Hệ thống vừa phải đáp ứng phục vụ đầy đủ dữ liệu, nhưng cũng đòi hỏitính nhanh nhạy, chuẩn xác Vì vậy, hệ thống phân tán nhằm giải quyết các bài toán mangtính chất phức tạp dựa trên nguyên tắc kinh điển: “chia để trị” Ý tưởng chung cho hệthống này là chia nhỏ thành các nhóm phần mềm, thực hiện xử lý trên các bộ phận khácnhau nhưng có thể hoàn thành chung một tác vụ nào đó
Có thể phân tán các thành phần khác nhau như phân tán dữ liệu, phân tán chức năng,phân tán thiết bị xử lý và mức độ cao nhất là phân tán quyền điều khiển Việc phân tán cái
gì sẽ ảnh hưởng tới toàn bộ quá trình thiết kế cấu trúc hệ thống và xử lý phân tán
Trong phạm vi bài thu hoạch này, tôi xin trình bày những lý thuyết cơ bản nhất về xử
lý trong hệ cơ sở dữ liệu phân tán, ứng dụng để phát triển trên hệ thống quản lý khách sạnqua Web service
Cảm ơn Thầy PGS.TS Đỗ Phúc đã tận tình giảng dạy, truyền đạt những kiến thức sâurộng về các hệ cơ sở dữ liệu nâng cao, là nền tảng quan trọng cho tôi tìm tòi, học hỏithêm Cảm ơn các Thầy Cô phụ trách phòng Sau đại học – Trường Đại học CNTT đã tạođiều kiện tốt nhất cho lớp Cao học khóa 6 học tập, nghiên cứu
Trang 4I TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
1 Nền tảng phát triển
Hệ thống phân tán được phân tán được phát triển dựa trên hai hướng tiếp cận trong 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 Hệ thống dữliệu truyền thống được định nghĩa và duy trì dữ liệu riêng biệt, còn hệ thống phân tánchuyển sang mô hình định nghĩa và quản lý dữ liệu tập trung Quá trình thay đổi mô hìnhnày làm cho dữ liệu có tính chất độc lập, các ứng dụng được giữ nguyên khi thay đổi cấutrúc vật lý của thiết bị Công nghệ mạng máy tính nhằm đảm bảo dù tách biệt trên các bộphận khác nhau nhưng các thành phần vẫn có thể kết nối và cùng thực hiện chung một loạichức năng của hệ thống, đảm bảo tính thống nhất và toàn vẹn Bây giờ chúng ta sẽ tìmhiểu về những đặc trưng cơ bản của các lý thuyết nền tảng này
a Hệ quản trị cơ sở dữ liệu quan hệ:
Cơ sở dữ liệu quan hệ: là một tập hợp dữ liệu có cấu trúc liên quan đến các đối
tượng thực tế, được mô hình hóa dưới cấu trúc dạng các bảng Một quan hệ R được địnhnghĩa trên n tập D1, D2, , Dn là một tập gồm n bộ <d1, d2, …, dn> sao cho d1 ϵ D1 , d2 ϵ D2,
…, dn ϵ Dn
Một mô hình quan hệ có ba đặc trưng cơ bản:
Cấu trúc dữ liệu được mô tả bằng các quan hệ, biểu diễn trên các bảng hai chiều vớicác phần tử là mục dữ liệu
Mô hình dữ liệu quan hệ đảm bảo được tính nhất quán dữ liệu, được chuẩn hóa và loại
bỏ các thành phần dư thừa, đảm bảo tính toàn vẹn
Cho phép thao tác trên quan hệ theo kiểu tập hợp, có thể tính toán trên các quy tắcphép toán logic và đại số quan hệ
Với cấu trúc dạng bảng, các cột của bảng tương ứng với các thuộc tính của quan hệ.Mỗi thuộc tính phải được định nghĩa theo một kiểu dữ liệu nhất định nhằm đảm bảo thôngtin trong dữ liệu thống nhất
Trang 5Ví dụ: Cơ sở dữ liệu nhân viên phòng ban có 2 bảng như sau:
Bảng Nhan_vien gồm các thuộc tính: Ma_nhan_vien, Ten_nhan_vien,Ma_phong_ban, He_so_luong, Chuc_vu
Bảng Phong_ban gồm các thuộc tính: Ma_phong_ban, Ten_phong_ban,Truong_phong
Khóa: Mô hình dữ liệu quan hệ thao tác trên các bộ dựa vào khóa, ở ví dụ trên bảng
Nhan_vien sẽ có khóa là Ma_nhan_vien, bảng Phong_ban có khóa là Ma_phong_ban.Khóa không được phép có giá trị rỗng và mỗi khóa sẽ xác định duy nhất một bộ của quanhệ
Chuẩn hóa: Là quá trình thay thế từ một quan hệ đã cho sang một quan hệ mới đơn
giản hơn nhưng lại chặt chẽ Việc chuẩn hóa là để tạo ra một cơ sở dữ liệu đầy đủ nhưngloại bỏ hết các thành phần dư thừa, từ đó xử lý các dữ liệu nhanh và chính xác
Quá trình chuẩn hóa giúp nhằm làm cho các lược đồ quan hệ không gặp phải nhữngvấn đề sau
- Bất thường do dữ liệu lặp
- Bất thường khi cập nhật
- Bất thường khi chèn
- Bất thường khi xóa
Các quan hệ được chuẩn hóa dựa trên các dạng chuẩn 1NF, 2NF và 3NF, dạng chuẩnđược phân cấp và cấp sau tốt hơn cấp trước Một trong những quy tắc chung để chuẩn hóa
là “phân rã”: các quan hệ được tách ra thành hai hoặc nhiều quan hệ con và biến đổi
chúng về các dạng chuẩn Yêu cầu đặt ra là khi phân rã không được làm mất thông tingiữa các quan hệ, vẫn đảm bảo sự liên kết đầy đủ như hệ thống ban đầu Do vậy, người tađưa ra các quy trình được gọi là “phân rã không làm mất thông tin”
Phụ thuộc hàm: là một ràng buộc giữa hai tập thuộc tính của lược đồ quan hệ Giả sử
có quan hệ R(A1, A2, …, An) và X, Y là tập con của {A1, A2, …, An} Ta nói Y phụ
Trang 6thuộc hàm vào X, kí hiệu X→Y nếu mỗi giá trị X trong R xác định giá trị duy nhất của Ytrong R
Quy tắc toàn vẹn: là các ràng buộc định nghĩa các trạng thái nhất quán của cơ sở dữ
liệu Các ràng buộc toàn vẹn xuất phát từ những quy định hoặc điều kiện thực tế hoặctrong quá trình mô hình hóa dữ liệu Ràng buộc toàn vẹn nhằm đảm bảo tính nhất quáncủa dữ liệu, nó đảm bảo cho dữ liệu không xảy ra mâu thuẫn hoặc lỗi, diễn tả đúng ngữnghĩa thực tế
Đại số quan hệ: là một tập các phép toán trên các quan hệ, được xây dựng trên lý
thuyết tập hợp Các phép toán cơ bản như: phép chiếu, phép chọn, phép hợp, phép giao,phép kết, phép chia lấy thương, …
Phép chọn: δ F(R) với R là quan hệ và F là điều kiện chọn
Các nhân viên có Ma_phong_ban là “TCHC”:
δ Ma¿=TCHC(Nhan vien)
Phép chiếu: π A , B(R) với R là quan hệ và A, B, … là tập các thuộc tính của R Lấythông tin tên nhân viên, chức vụ trong bảng Nhan_vien
π Ten¿, Chuc vu(Nhan vien)
Các phép toán khác của đại số quan hệ dựa trên nguyên tắc tính toán tập hợp và haiphép toán chọn, chiếu cơ bản trên
Hệ quản trị cơ sở dữ liệu quan hệ: là một thành phần phần mềm hỗ trợ mô hình quan
hệ và một ngôn ngữ quan hệ Các chức năng của hệ quản trị cơ sở dữ liệu có thể đươcphân thành các tầng như sau:
Tầng giao diện: quản lý giao diện với ứng dụng, các chương trình ứng dụng cơ
sở dữ liệu được thực hiện trên các khung nhìn
Tầng điều khiển: chịu trách nhiệm điều khiển vấn tin bằng các đưa thêm các vị
từ toàn vẹn ngữ nghĩa và vị từ cấp quyền
Trang 7 Tầng xử lý vấn tin: chịu trách nhiệm ánh xạ câu vấn tin thành chuỗi thao tác đãđược tối ưu ở mức thấp hơn
Tầng thực thi: hướng dẫn thực hiện các hoạch định truy xuất, bao gồm việc quản
lý giao dịch và việc đồng bộ hóa các phép toán đại số quan hệ
Tầng truy xuất dữ liệu: quản lý cấu trúc dữ liệu dùng để cài đặt các quan hệ,đồng thời quản lý các vùng đệm bằng cách lưu tạm các dữ liệu thường được truyxuất đến nhiều nhất
Tầng duy trì nhất quán: chịu trách nhiệm điều khiển các hoạt động đồng thời vàghi vào nhật ký cập nhật, cho phép khôi phục lại giao dịch, hệ thống, thiết bị saukhi gặp sự cố
b Hệ thống mạng máy tính
Định nghĩa: là một tập các máy tính tự vận hành, được kết nối lại và có khả năng
trao đổi thông tin giữa chúng
Các máy tính trên một mạng thường được gọi là node, host hoặc site (trạm),được kết nối với nhau thông qua đường truyền Các mạng máy tính là cơ sở hạ tầngcho hệ thống phân tán
Theo các lược đồ truyền thông vật lý và phương thức giao tiếp, mạng có thể cóhai loại cấu trúc như sau:
Mạng kết nối điểm đến điểm (point – to – point network): bao gồm nhiều mốinối giữa các cặp máy tính với nhau Để chuyển từ nguồn tới đích, một gói có thể phải
đi qua các máy trung gian Thường thì có thể có nhiều đường di chuyển có độ dài khácnhau (từ máy nguồn tới máy đích với số lượng máy trung gian khác nhau) Thuật toán
để định tuyến đường truyền giữ vai trò quan trọng trong kỹ thuật này
Mạng quảng bá (broadcast network), hay còn gọi là mạng đa điểm (multi – pointnetwork): bao gồm một kênh truyền thông được chia sẻ cho mọi máy trong mạng.Mẩu thông tin truyền đi được gọi là “gói” (packet) chuyển đi bởi một máy bất kỳ sẽ
Trang 8gửi tới Khi nhận “gói tin”, mỗi máy sẽ kiểm tra lại địa chỉ Nếu như đúng với địa chỉthì được xử lý tiếp, không thì nó sẽ bỏ qua.
Mạng máy tính có những thành phần cơ bản như sau:
Thiết bị đầu cuối: là các thiết bị có chức năng thu nhận tín hiệu lan truyền và kếtnối như máy tính, điện thoại di động, …
Môi trường truyền: là các thiết bị vật lý cho phép thao tác truyền thông tin qua
Chia sẻ tài nguyên
Đảm bảo sự tin cậy và an toàn thông tin
Tiết kiệm chi phí
Cung cấp thông tin từ xa giữa các cá nhân
Liên lạc trực tiếp và riêng tư
2 Khái niệm
Cơ sở dữ liệu phân tán: là một 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 Bao gồm một tập các node, mỗi node biểu diễn chomột máy tính và thiết bị lưu trữ thứ cấp kèm theo Một số cặp máy tính có thể nối vớinhau bằng các link, cho phép dữ liệu được gửi trực tiếp từ máy này sang máy khác theomột trong hai chiều
Để hiểu khái niệm trên ta tìm hiểu ý nghĩa của hai cụm từ: liên đới logic và phân bốtrên một mạng máy tính
Liên đới logic: toàn bộ dữ liệu của cơ sở dữ liệu phân tán có một số các thuộc tính
ràng buộc với nhau
Trang 9Phân bố trên một mạng máy tính: toàn bộ dữ liệu của cơ sở dữ liệu phân tán không
được lưu trữ ở một nơi mà lưu trữ trên nhiều trạm thuộc mạng máy tính, điều này giúpchúng ta phân biệt CSDL phân tán với CSDL tập trung đơn lẻ
Hệ quản trị cơ sở dữ liệu phân tán (Distributed DataBase System – DDBS): là một
hệ thống phần mềm cho phép quản lý các cơ sở dữ liệu phân tán và làm cho ngườidùng không cảm thấy có sự “phân tán” trong quá trình sử dụng Các tập tin phải đượcliên đới logic, có cấu trúc và được truy xuất qua một giao diện chung
Hình 1: Mô tả hệ cơ sở dữ liệu phân tán
Hệ cơ sở dữ liệu phân tán không thuần nhất: các cơ sở dữ liệu lưu trữ cục bộ ở các
nơi (Site) không dùng chung một hệ quản trị cơ sở dữ liệu
Hệ cơ sở dữ liệu phân tán thuần nhất: các cơ sở dữ liệu lưu trữ cục bộ ở tất cả các
nơi (Site) đều dùng chung một hệ quản trị cơ sở dữ liệu
Phân mảnh: là quá trình phân hoạch dữ liệu quan hệ và lưu mỗi phân hoạch tại một
vị trí khác nhau Thông thường có hai cách phân hoạch: phân mảnh dọc và phân mảnhngang
Trạm 4
Datab ase
Datab ase Datab
ase
Trang 10Nhân bản: là quá trình sao chép một phần dữ liệu vào các vị trí khác nhau trong hệ
thống phân tán
Vô hình: là một trong những đặc trưng cơ bản của hệ thống phân tán Người thiết kế
sẽ che dấu đi những cài đặt chi tiết, không cho người dùng nhìn thấy, chính vì thế khó
mà nhận biết được sự phân tán trong quá trình truy vấn dữ liệu Một số loại vô hìnhnhư vô hình kết mạng (vị trí, đặt tên, …), vô hình nhân bản làm cho người dùng khôngphân biệt được giữa bản sao và bản chính, vô hình phân mảnh,…
Trang 11II KIẾN TRÚC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN
1 Kiến trúc cơ sở dữ liệu phân tán
Mô hình kiến trúc dưới đây không thể hiện chính xác chi tiết với mọi hệ cơ sở dữliệu phân tán, tuy nhiên các mức của dữ liệu phân tán được mô tả dễ hiểu và phù hợpvới đa số cách tổ chức dữ liệu phân tán nói chung
- Sơ đồ tổng thể: định nghĩa tất cả dữ liệu được lưu trữ trong cơ sở dữ liệu phân
tán Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của các tập quanhệ
- Sơ đồ phân đoạn: mỗi quan hệ tổng thể có thể được phân chia thành các mảnh
riêng biệt (fragment) Sơ đồ phân đoạn biểu diễn ánh xạ một chiều của sự phânchia này Thông thường chúng ta có phân mảnh dọc hoặc phân mảnh ngang
- Sơ đồ định vị: mỗi một đoạn/mảnh được xác định tại một vị trí vật lý trong mạng
một cách logic Kiểu ánh xạ định nghĩa trong sơ đồ định vị quyết định một cơ sở
dữ liệu phân tán có 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
Trang 122 Kiến trúc hệ quản trị cơ sở dữ liệu phân tán
Dựa trên cơ sở dữ liệu phân tán, người ta lựa chọn các hệ quản trị cơ sở dữ liệutương ứng phù hợp với nhu cầu quản lý thông tin
Kiến trúc của hệ thống mô tả các thành phần của nó và chức năng mỗi thành phầntương ứng Đối với hệ quản trị cơ sở dữ liệu phân tán, việc xác định thành phần hệthống có thể dựa vào những cách tiếp cận khác nhau:
- Phân chia theo thành phần vật lý: mỗi thành phần cung cấp một chức năng vận
hành nào đó, chúng tương tác qua lại theo một quy tắc, trật tự chung
- Phân chia theo chức năng: mỗi nhóm người sử dụng sẽ được phân cấp các chức
năng tương ứng Do vậy, giao diện cũng sẽ phân cấp để mô tả chính xác các chức năng
mà người dùng có quyền truy cập thông tin
- Phân chia theo dữ liệu: các kiểu dữ liệu khác nhau được định nghĩa
Các lựa chọn cài đặt một hệ quản trị cơ sở dữ liệu được tổ chức hệ thống theo cácđặc tính:
- Tính tự vận hành (tính tự trị): được hiểu là sự phân tán quyền điều khiển, là mức
hộ hoạt động độc lập của từng hệ quản trị cơ sở dữ liệu riêng lẻ Tính tự vận hành đượcbiểu hiện qua chức năng của một số yếu tố, như sự trao đổi thông tin giữa các hệ thốngthành viên với nhau, thực hiện giao dịch độc lập hoặc không lập và có được phép sửađổi chúng hay không Yêu cầu của hệ thống tự vận hành được xác định theo nhiềucách:
Thao tác cục bộ của hệ quản trị cơ sở dữ liệu riêng lẻ không bị ảnh hưởng khitham gia hoạt động hệ đa cơ sở dữ liệu
Các hệ quản trị CSDL xử lý và tối ưu truy vấn cũng không bị ảnh hưởng bởi thựcthi truy vấn toàn cục truy cấp nhiều hệ CSDL
Tính nhất quán của hệ thống hoặc thao tác không bị ảnh hưởng khi các hệ quảntrị CSDL riêng lẻ kết nối hay tách rời khỏi tập các CSDL
Trang 13Để xác định chiều của tính tự trị ta xem xét như sau:
Tự trị thiết kế: mỗi hệ quản trị cơ sở dữ liệu riêng lẻ có thể sử dụng mô hình dữliệu và kỹ thuật quản lý giao dịch theo ý muốn
Tự trị truyền thông: mỗi hệ quản trị cơ sở dữ liệu riêng lẻ tùy ý đưa ra quyết địnhcủa nó về loại thông tin mà nó cần cung cấp cho cac hệ quản trị CSDL khác hoặcphần mềm điều khiển thực thi toàn cục
Tự trị thực thi: mỗi hệ quản trị CSDL có thể thực thi cac giao dịch được gửi tới
nó theo cách mà nó muốn
- Tính phân tán dữ liệu: là sự phân tán dữ liệu trên nhiều vị trí khác nhau Người
dùng tiếp cận dữ liệu thông qua các khung nhìn Thông thường có hai cách phân tán dữliệu: phân tán khách/ chủ và phân tán ngang hàng
Phân tán khách/ chủ (client/ server): phân tán theo chức năng, cung cấp môi trường ứng dụng và giao diện cho người sử dụng Nhiệm vụ truyền thông được chia sẻ
giữa khách (client) và chủ (server)
Phân tán ngang hàng: đưnợc gọi là phân tán đầy đủ, không có sự khác biệt giữachức năng của client và server Mỗi máy trong hệ thống mạng đều có chức năng đầy đủcủa hệ quản trị cơ sở dữ liệu và trao đổi thông tin giữa các máy khác để thực hiện truyvấn và giao dịch
- Tính hỗn hợp: xuất phát từ sự khác biệt về phần cứng, về giao thức mạng dẫn đến
việc quản lý dữ liệu của các site là khác nhau Các mô hình dữ liệu khác nhau sinh ratính hốn hợp Ngay cả trong cùng một mô hình dữ liệu, việc nhập liệu bởi những ngườidùng khác nhau và ngôn ngữ truy vấn khác nhau cũng làm phát sinh tính hỗn hợp trong
hệ thống phân tán
Từ những đặc tính trên, ta xem xét hệ khách/ chủ và hệ ngang hàng
Hệ quản trị cơ sở dữ liệu phân tán khách/chủ: cung cấp hai lớp chức năng làserver và client nhằm tạo ra sự dễ dàng trong việc quản lý tính phức tạp của các hệquản trị
Trang 14Hệ phân tán khách/chủ có nhiều ưu điểm vượt trội là xử lý dữ liệu tập trung,phần lớn việc xử lý dữ liệu được thực hiện trên server Điều này có nghĩa là tất cả mọiviệc xử lý và tối ưu hoá vấn tin, quản lý giao dịch được thực hiện tại server, trên đườngtruyền chỉ có các gói tin yêu cầu và kết quả đáp ứng yêu cầu, như vậy sẽ giảm khốilượng truyền tin trên mạng, tăng tốc độ xử lý dữ liệu của hệ thống
Hình 3: Mô hình khách/ chủ
Kiến trúc Client/ Server đơn giản là một server truy cập bởi nhiều client Sựkhác biệt quan trọng của hệ thống này với cơ sở dữ liệu tập trung là CSDL chỉ đượclưu trên server và có phần mềm quản lý nó, do đó cách thức giao dịch và quản lý bộnhớ cache là khác nhau
Kiến trúc nhiều server trong hệ thống được gọi là đa client – đa server Với loạinày có hai chiến lược quản lý: hoặc là client quản lý kết nối nó tới server hoặc nó chỉbiết server chủ và liên lạc với các server khác qua server chủ khi có yêu cầu
Trang 15 Hệ quản trị CSDL phân tán ngang hàng: cần phải có một định nghĩa nội tạiriêng cho mỗi vị trí, được gọi là lược đồ nội tại cục bộ LIS (local internal schema) Dữliệu phân tán thường được phân tán và nhân bản trên các vị trí khác nhau, vì vậy cần
mô tả tổ chức dữ liệu vật lý trên mọi vị trí Kiến trúc của hệ cơ sở dữ liệu phân tán có
ba mức: nhiều khung nhìn dữ liệu khác nhau trong mức lược đồ ngoài, một mô hìnhduy nhất mô tả khái niệm tàn cục, và nhiều mô hình khái niệm cục bộ tương ứng vớilược đồ cục bộ trên mỗi vị trí
Trang 16III LÀM VIỆC VỚI CƠ SỞ DỮ LIỆU PHÂN TÁN
1 Thiết kế cơ sở dữ liệu phân tán
Các cơ sở dữ liệu phân tán thường được thiết kế theo hướng top – down Việc đầutiên cần thực hiện là phân mảnh Mục đích của việc phân mảnh là tạo ra các đơn vị cấpphát logic, sao cho chi phí thực hiện truy vấn thông tin là thấp nhất Các bộ hoặc cácthuộc tính của quan hệ không thể xem như là một đơn vị cấp phát vì nó sẽ làm hệ thốngtrở nên phức tạp hơn Thiết kế phân mảnh bằng cách nhóm một số bộ được gọi là phânmảnh ngang, hoặc nhóm một số thuộc tính được gọi là phân mảnh dọc Các mảnh đượchình thành tạo ra các đơn vị cấp phát dữ liệu khác nhau
a Quy tắc phân mảnh: để đảm bảo cơ sở dữ liệu khi phân mảnh không thay đổi vềngữ nghĩa
- Tính đầy đủ: Quan hệ R được phân rã thành các mảnh R1, R2, , Rn thì mỗi mịc
dữ liệu có trong quan hệ R sẽ chứa trong ít nhất một mảnh Ri (i = 1 n) Quy tắc nàyđảm bảo dữ liệu trong R được ánh xạ hoàn toàn vào các mảnh và không bị mất
- Tính phục hồi: nếu một quan hệ R được phân rã thành cách mảnh
R1, R2, …, Rn thì khi đó R =∇ Ri, ∀ Ri ∈ FR Toán tử ∇ thay đổi tùy theo từng loạiphân mảnh Khả năng phục hồi quan hệ từ các mảnh sẽ đảm bảo hoàn toàn các phụthuộc
- Tính tách biệt: nếu quan hệ R được phân rã ngang thành các mảnh
Ri, i = 1 n và mục dữ liệu di nằm trong một mảnh Ri thì nó sẽ không nằm trong mảnh
Rk (k≠ i) Quy tắc này đảm bảo các mảnh phân rã rời nhau Trong trường hợp phânmảnh dọc, khóa chính phải được lặp lại trong tất cả các mảnh Do đó tính tách biệttrong phân mảnh dọc được hiểu là không liên quan tới khóa chính của quan hệ
Trang 17b Phân mảnh ngang: là việc phân chia quan hệ thành nhiều các nhóm bộ Kết quảcủa quá trình phân mảnh ngang là các quan hệ con, số lượng phụ thuộc vào điều kiệnràng buộc các thuộc tính Các bộ trong các quan hệ con là tách biệt nhau Phân mảnhngang thực chất là phép chọn quan hệ thỏa mãn một biểu thức điều kiện cho trước Phân mảnh ngang cơ sở được định nghĩa bằng phép chọn trên quan hệ đích của lược
đồ cơ sở dữ liệu: Ri = δ Fi(R) , I = 1 n Trong đó Fi là biểu thức đại số quan hệ, nếu Fi làdạng chuẩn hội thì nó là vị từ hội sơ cấp mi
Vị từ đơn giản có tính đầy đủ (Completeness) và tính cực tiểu (Minimality): Tập các
vị từ đơn giản Pr là đầy đủ khi và chỉ khi xác suất truy nhập bởi mỗi ứng dụng tới bộbất kỳ của một mảnh hội sơ cấp bất kỳ được định nghĩa theo Pr là như nhau Vị từ đầy
đủ sẽ đảm bảo cho các mảnh thoả mãn các vị từ sơ cấp, nhất quán về mặt logic Đồngnhất về mặt thống kê theo cách ứng dụng truy nhập Vì vậy, sử dụng một tập vị từ đầy
đủ làm cơ sở cho việc phân mảnh ngang cơ sở
Đặc tính thứ hai của tập các vị từ có tính cực tiểu Nếu một vị từ f phân mảnh thànhcác mảnh nhỏ hơn f1 và f2, thì phải có ít nhất một ứng dụng truy nhập đến f1 và f2 theocác cánh khác nhau Khi đó nói rằng vị từ đơn giản f có tính liên đới (Relevant), ảnhhưởng đến việc xác định một phân mảnh Nếu tất cả các vị từ của tập Pr đều có liên đớithì tập Pr được gọi là cực tiểu
Thuật toán COM_MIN tạo ra một tập đầy đủ và cực tiểu các vị từ Pr’ từ một tập các