You are on page 1of 29

Trường Đại học Công

Cơ sở dữ liệu nghiệp Thực phẩm


phân tán TP.HCM
Đề tài:Phân mảnh
dọc và hỗn hợp Môn: CƠ SỞ DỮ LIỆU NÂNG CAO
GVHD: Nguyễn Văn Thịnh
Nhóm: 2 3/28/22

1
MSSV Tên sinh viên

2001191021 Trần Phương Bình

2001190595 Nguyễn Duy Khang

Thành viên 2001190646 Nguyễn Trọng Liêm

2001190680 Lê Hoàng Nam

2001190317 Nguyễn Thành Tuấn

3/28/22 2
Khái quát về phân mảnh dữ
liệu

Phân mảnh dọc

• Định nghĩa,yêu cầu của phân mảnh dọc


• Thông tin cần thiết của phân mảnh dọc
Nội Dung:
Phân mảnh hỗn hợp

Kết luận

3/28/22 3
 Phân mảnh (fragmentation)
dữ liệu là việc chia các quan
Khái quát về phân hệ trong một cơ sở dữ liệu
mảnh dữ liệu (CSDL) thành các quan hệ nhỏ
hơn hay còn gọi là các mảnh
(fragment).

3/28/22 4
Khái quát về phân
mảnh dữ liệu

 Vị trí của phân mảnh


trong thiết kế các hệ
cơ sở dữ liệu phân
tán

5 3/28/22
Khái quát về phân  Các kiểu phân mảnh dữ liệu:
• Phân mảnh ngang
mảnh dữ liệu
• Phân mảnh dọc
• Phân mảnh kiểu kết hợp
 Các thông tin yêu cầu cho phân mảnh:
• Thông tin về cơ sở dữ liệu gồm tập các
quan hệ, tập các phụ thuộc.
• Thông tin về các ứng dụng gồm các
câu truy vấn trên các quan hệ.
3/28/22 6
 Lý do phân mảnh dữ liệu:
• Xuất phát từ đặc điểm của CSDL tập trung,
cách thức truy cập vào các CSDL tập trung.
Đặc điểm và yêu cầu của ứng dụng truy vấn.
• Tăng mức độ hoạt động đồng thời và tăng
Khái quát về lưu lượng hoạt động của hệ thống.
phân mảnh
 Một số hạn chế:
dữ liệu • Tăng chi phí truy xuất dữ liệu đến các mảnh
và tăng chi phí kết nối các mảnh.
• Việc kiểm soát ngữ nghĩa, bảo đảm tính độc
lập dữ liệu, toàn vẹn dữ liệu sẽ gặp khó khăn
hơn.
3/28/22 7
3/28/22

 Định nghĩa phân mảnh dọc:


Phân mảnh dọc là sự phân chia
Phân mảnh tập thuộc tính của một quan hệ
toàn cục thành tập thuộc tính
8
dọc con, các mảnh dọc có được
bằng cách chiếu quan hệ toàn
cục trên mỗi tập thuộc tính con.
Có hai kiểu phân mảnh dọc :
Phân mảnh dọc dư thừa và
phân mảnh dọc không dư thừa.
Ví dụ 2 : Xét quan hệ toàn cục nhân viên (EMP) mô tả mã nhân viên (MANV), tên nhân
viên (TENNV), lương (LUONG), thuế thu nhập (THUE), nhà quản lý (NQL) và phòng ban
họ làm việc (PHONGBAN) như sau :

EMP(MANV, TENNV, LUONG, THUE, NQL, PHONGBAN)


Quan hệ toàn cục này được phân mảnh dọc dư thừa (thuộc tính TENNV ) như sau :
EMP1 = Π MANV, TENNV, NQL, PHONGBAN (EMP)
EMP2 = Π MANV, TENNV ,LUONG, THUE (EMP)
Phân mảnh dọc không dư thừa (non-
redundant fragmentation):
Phân mảnh dọc không dư thừa là các
phân mảnh dọc không chứa thuộc tính
chung không khóa nào cả.
Ví dụ 3 : Quan hệ toàn cục :
EMP(MANV, TENNV, LUONG, THUE, NQL, PHONGBAN)
Quan hệ toàn cục này được phân mảnh dọc không dư thừa (thuộc tính ) như sau :
EMP1 = Π MANV, TENNV, NQL, PHONGBAN (EMP)
EMP2 = Π MANV, LUONG, THUE (EMP)
Phân mảnh này phản ánh lương và thuế của các nhân viên được quan lý riêng. Việc tái
thiết lại quan hệ EMP có thể nhận được từ :
EMP = EMP1 JNN EMP2 (với JNN là phép kết nối tự nhiên hai quan hệ).
Vì MANV là khóa của quan hệ EMP. Nói chung, việc chứa khóa của quan hệ toàn
cục vào mỗi mảnh là cách tốt nhất để bảo đảm cho tính tái thiết.
Từ đó chúng ta thấy sự phân mảnh cũng thỏa tính đầy đủ và tính tách biệt.
Phân mảnh dọc ;

 Yêu cầu của phân mảnh dọc:


Giả sử ta có quan hệ R
Tập các thuộc tính của quan hệ R:   a1, a 2,..., a m
Tập các mảnh của mảnh của R: F  R , R ,..., R 
R 1 2 n

K là khóa của quan hệ R


• Tính đầy đủ:bất kì thuộc tính nào trong quan hệ R đều có thể tìm thấy
trong mỗi mảnh con.

 a   , k | a  R ,k k
 1.n; R k F k

• Tính khôi phục lại:

 | R F
i i R
 R  R1   R 2
  ...   R n
Với ►< là phép toán nửa kết (Semi Join)

3/28/22 14
Phân mảnh dọc
• Tính tách biệt:

  ,k  j | R
k j k
Rj  D  
Với D  là tập thuộc tính khóa của R và Rk j

3/28/22 15
Thông tin cần thiết của phân mảnh dọc
• Ma trận giá trị sử dụng thuộc tính:
Xét: Q={q1,q2,..,qq} :tập các câu truy vấn
R(A1,A2,…,An):quan hệ toàn cục


A use q i,:Ma 
A j trận thuộc tính sử dụng.Với i=1,…,q và j= 1,…,n
qxn

3/28/22 Nhóm 2 16
Thông tin cần thiết của phân mảnh dọc
Ví dụ 4: Xét 4 câu truy vấn sau đối với quan hệ BRANCH
 q1: Tìm vốn của chi nhánh theo mã chi nhánh
SELECT VON
FROM BRANCH
WHERE MACN=Value
 q2: Tìm tên chi nhánh và vốn của tất cả các chi nhánh
SELECT TENCN, VON
FROM BRANCH
 q3: Tìm tên chi nhánh theo tên địa điểm
SELECT TENCN
FROM BRANCH
WHERE DDIEM=Value
q4: Tìm tổng vốn của các chi nhánh tại mỗi thành phố
SELECT SUM(VON)
FROM BRANCH
WHERE DDIEM=Value
 
3/28/22 17
Thông tin cần thiết của phân mảnh dọc

Ma trận giá trị sử dụng thuộc tính:


 
A1 A2 A3 A4
q1 1 0 1 0
A 
q2 0

q3  0
1
1
1
0

0
1
 
q4  0 0 1 1
3/28/22 18
Thông tin cần thiết của phân mảnh dọc
 Ma trận lực hút :


AA  aff  Ai, A j   nxn
Với:

aff ( Ai , A j )  
k :[( use ( qk , Ai )  use ( qk , A j )
 ref (q )acc (q )
]1Sl
l k l k

Trong đó:
ref(qk) :số truy xuất đến các thuộc tính (Ai,Aj) cho mỗi ứng dụng
của qk tại vị trí Sl.
acc(qk) :số đo tần số truy xuất ứng dụng.

3/28/22 19
Thông tin cần thiết của phân mảnh dọc
 Ví dụ 5:
Giả sử ref(qk)=1 cho tất cả qk và Sl. Số đo tần số truy xuất ứng dụng giả thiết
như sau:
acc1(q1)=12 acc2­(q1)=15 acc3(q1)=8
acc1(q2)=5 acc2­(q2)=0 acc3(q2)=0
acc1(q3)=25 acc2(q3)=20 acc3(q3)=25
acc1(q4)=2 acc2(q4)=0 acc3(q4)=0
Tính số đo ái lực giữa các thuộc tính A1 và A3 ứng dụng duy nhất truy xuất đến
cả hai thuộc tính này là
l q13 nên ta có:
aff ( A1 , A3 )   acc1 (qk )  acc1 (q1 ) acc2 (q1 )  acc3 (q1 )  35
k 1 l 1

3/28/22 20
Thông tin cần thiết của phân mảnh dọc
Ta có được ma trận lực hút thuộc tính như sau:
A1 A2 A3 A4
AA  A1 35 0 35 0 

A2 0 75 5 70 
 
A3 35 5 42 2 
 
A4  0 70 2 72 

3/28/22 21
Phân mảnh hỗn hợp
Trong thực tế, hầu hết các trường hợp phân mảnh ngang hay phân mảnh dọc đơn giản của CSDL
không thoả mãn yêu cầu người sử dụng. Thường CSDL được phân mảnh dọc sau đó phân mảnh ngang,
tạo ra sự phân chia theo cấu trúc cây (hình dưới). Chiến lược phân mảnh này gọi là phân đoạn lai, hay
phân mảnh trộn, hay phân mảnh lồng.
R
H H
R1 R

R11 R12 R21 R22 R23

Phân đoạn hỗn hợp


Trong ví dụ (hình trên), nó được phân hoạch
thành 2 mảnh dọc. Như vậy, kết quả phân hoạch
quan hệ PROJ là một tập mảnh ngang, trong đó
mỗi một mảnh lại được tiếp tục phân chia thành
2 mảnh dọc.

R11 R12 R21 R22 R23


Tái xây dựng phân đoạn hỗn hợp
Tính đúng đắn của phân mảnh hỗn hợp được đảm bảo, vì chiến
lược phân mảnh này dựa theo phân mảnh ngang và phân mảnh
dọc, đảm bảo tính đúng đắn như đã trình bày. Để khôi phục
quan hệ toàn cục trong trường hợp phân mảnh hỗn hợp, có thể
bắt đầu từ các node lá của cây phân hoạch và dịch chuyển lên
bằng cách thực hiện các phép kết nối và phép hợp. Phân mảnh
hỗn hợp đầy đủ nếu các mảnh lá và các mảnh trung gian là đầy
đủ. Tương tự, có thể kiểm tra tính tách biệt của chiến lược phân
mảnh hỗn hợp. Tính tách biệt được đảm bảo khi các mảnh lá và
mảnh trung gian cũng tách biệt.
Kết luận

• Phân mảnh dọc nói riêng và phân mảnh nói chung là một phần trong quá
trình thiết kế các hệ cơ sở dữ liệu phân tán,là công việc đầu tiên phải
thực hiện.với mục đích tạo ra các đơn vị cấp phát logic,sao cho chi phí
để thực hiện truy vấn thông tin là thấp nhất.

3/28/22 28
Bài thuyết trình đến đây là kết thúc
Cảm ơn các bạn đã lắng nghe.

You might also like