4. Những nội dung nghiên cứu chính
2.2.3. Thuật toán phân mảnh lại ReF (Refragmentation)
Thuật toán thực hiện qua hai bƣớc:
1. Khác với hai thuật toán trên, các nút không thực hiện gộp nhóm trực tiếp các phần dữ liệu trên địa chỉ lưu trữ của nó, mà trước tiên phân mảnh lại quan hệ trên thuộc tính nhóm kiểu GROUP BY của quan hệ này.
Nghĩa là dùng cú pháp FOR i = 0 TO m-1
SELECT * INTO Vungi FROM <Tên quan hệ >
WHERE <Thuộc tính số> MOD m = i END FOR
2. Các vị trí thực hiện gộp nhóm các thành phần dữ liệu sau khi đã phân mảnh lại. Nghĩa là, dùng cú pháp FOR i = 0 TO m-1 SELECT * FROM Vungi GROUPE BY <Thuộc tính số > END FOR Ví dụ 2.2.3. Với dữ liệu ở ví dụ 2.2.2
Trước tiên chúng ta phân mảnh kiểu hàm băm tại các địa điểm và gửi vào 3 vùng tương ứng 0, 1, 2
FOR i = 0 TO 2
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
FROM SV_HVBC
WHERE STT MOD 3 = i END FOR
FOR i = 0 TO 2
SELECT * INTO Vungi FROM SV_HaiPhong WHERE STT MOD 3 = i END FOR
FOR i = 0 TO 2
SELECT * INTO Vungi FROM SV_LaoCai WHERE STT MOD 3 = i END FOR Tiếp tục dùng lệnh gộp nhóm FOR i = 0 TO 2 SELECT * FROM Vungi GROUPE BY STT END FOR
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Sẽ đƣợc kết quả nhƣ hình 2.2.3 STT Khoa Số SV 3 QTKD 160 6 Anh 131 STT Khoa 1 CNPM 240 4 LUAT 50 7 DULICH 145 STT Khoa 2 HTTT 130 5 DTVT 146 8 CHINES 60 Số SV Số SV
STT Mod 3 = 0 STT Mod 3 = 1 STT Mod 3 = 2 Dữ liệu lưu tại
TP. Hải Phòng Dữ liệu lưu tại
TP. Hải Phòng TP. Hải Phòng Dữ liệu lưu tại Dữ liệu lưu tại TP. Lào Cai
Gộp nhóm Gộp nhóm Gộp nhóm Dữ liệu lưu tại
Học viện CN BCVT
Hình 2.2.3. Gộp nhóm theo thuật toán ReF