Thiết kế Dữ liệu phân tán cho hệ thống

Một phần của tài liệu Xây dựng cơ sở dữ liệu phân tán quản lý học sinh sinh viên tại trường cao đẳng kỹ nghệ dung quất (Trang 71 - 72)

7. Kết luận

3.3.8. Thiết kế Dữ liệu phân tán cho hệ thống

Việc phân tán dữ liệu và quyền truy cập dữ liệu trên CSDL phân tán dựa vào từng Khoa, Khoa nào thì đƣợc quyền truy cập và xử lý dữ liệu của Khoa đó.

Theo yêu cầu của bài toán đặt ra và mô hình dữ liệu quan hệ ở trên, ta phân mảnh dữ liệu theo phƣơng pháp phân mảnh ngang để xử lý bài toán. Cụ thể nhƣ sau:

Giả sử, ta có bảng KHOA_PHONG_BAN với 6 bộ dữ liệu nhƣ sau :

KHOA_PB_ID KHOA_PB_MA KHOA_PB_TEN DIEN_THOAI FAX

22 KCKDL Khoa Cơ Khí Động

Lực

4 KĐT Khoa Điện - Điện

Tử

19 KLHD Khoa Công Nghệ

Lọc Hóa Dầu

17 KCB Khoa Khoa Học Cơ

Bản 5 KTH Khoa Kỹ Thuật Tổng Hợp 18 KCK Khoa Cơ Khí Chế Tạo Bảng 3.1 Khoa, Phòng ban

Ta phân mảnh dữ liệu sinh viên thành 6 mảnh dựa trên các quan hệ sau:

- SINH_VIEN(Ma_Sinh_Vien, Ho, Ho_Lot, Ten, Ngay_Sinh,

Noi_Sinh_Dia_Chi, Noi_Sinh_Phuong_Xa, Noi_Sinh_Quan_Huyen, Noi_Sinh_Tinh_Thanh_Pho, Noi_Sinh_Quoc_Gia, Tthn_Id,

Gioi_Tinh_Id, So_Cmnd, So_Cmnd_Ngay_Cap, So_Cmnd_Noi_Cap, Da_Nghi_Hoc, Ttsv_Id, Ttsv_Ngay_Cap_Nhat, Ton_Giao_Id,

Khu_Vuc_Id, Dan_Toc_Id, Hktt_Dia_Chi, Hktt_Phuong_Xa, Hktt_Quan_Huyen, Hktt_Tinh_Thanh_Pho, Hktt_Quoc_Gia, Cohn_Dia_Chi, Cohn_Phuong_Xa, Cohn_Quan_Huyen,

Cohn_Tinh_Thanh_Pho, Cohn_Quoc_Gia, Dien_Thoai_Lien_He, Ho_Ten_Cha, Nghe_Nghiep_Cha, Dien_Thoai_Cha, Ho_Ten_Me, Nghe_Nghiep_Me, Dien_Thoai_Me, Anh_Dai_Dien, Ghi_Chu)

- KHOA_PHONG_BAN(Khoa_Pb_Id, Khoa_Pb_Ma, Khoa_Pb_Ten,

Khoa_Pb_Id_Root, Dia_Chi, Phuong_Xa, Quan_Huyen,

Tinh_Thanh_Pho, Quoc_Gia, Dien_Thoai, Fax, Email, Website, Zipcode, Postal_Code, Mo_Ta, Ngay_Thanh_Lap, Loai_Pb_Id)

- NGANH_CHUYEN_NGANH_KHOA_PHONG_BAN(Khoa_Pb_Id,

- SINH_VIEN_KHOA_HOC(Ma_Sinh_Vien, Bac_Hoc_Id, Khoa_Hoc_Id, Nganh_Chuyen_Nganh_Id, Khoa_Pb_Id, He_Dao_Tao_Id, Lopsh_Id, Tu_Ngay, Den_Ngay, Chuc_Vu) Mối liên hệ giữa các quan hệ nhƣ sau:

Mỗi KHOA_PHONG_BAN có nhiều NGANH_CHUYEN_NGANH, mỗi NGANH_CHUYEN_NGANH có nhiều LOP, mỗi LOP có nhiều SINH_VIEN.

Dựa mối quan hệ giữa các quan hệ, ta có tập vị từ nối sau:

- KHOA_PHONG_BAN.Khoa_Pb_Id= NGANH_CHUYEN_NGANH_KHOA_PHONG_BAN.Khoa_Pb_Id - NGANH_CHUYEN_NGANH_KHOA_PHONG_BAN.Nganh_Chuyen_ Nganh_Id = SINH_VIEN_KHOA_HOC.Nganh_Chuyen_Nganh_Id - SINH_VIEN_KHOA_HOC.Ma_Sinh_Vien=SINH_VIEN. .Ma_Sinh_Vien Ta có 6 mảnh nhƣ sau: SINH_VIEN1 = KHOA_PHONG_BAN.Khoa_Pb_Id = 4 SINH_VIEN2 = KHOA_PHONG_BAN.Khoa_Pb_Id = 5 SINH_VIEN3 = KHOA_PHONG_BAN.Khoa_Pb_Id = 17 SINH_VIEN4 = KHOA_PHONG_BAN.Khoa_Pb_Id = 18 SINH_VIEN5 = KHOA_PHONG_BAN.Khoa_Pb_Id = 19 SINH_VIEN6 = KHOA_PHONG_BAN.Khoa_Pb_Id = 22 Ứng dụng cụ thể:

Ví dụ: Để liệt kê danh sách sinh viên thuộc Khoa Kỹ thuật Tổng hợp ta dùng câu lệnh SQL nhƣ sau:

SELECT SINH_VIEN.* FROM SINH_VIEN INNER JOIN

SINH_VIEN_KHOA_HOC ON SINH_VIEN.MA_SINH_VIEN = SINH_VIEN_KHOA_HOC.MA_SINH_VIEN INNER JOIN NGANH_CHUYEN_NGANH_KHOA_PHONG_BAN ON SINH_VIEN_KHOA_HOC.KHOA_PB_ID =

NGANH_CHUYEN_NGANH_KHOA_PHONG_BAN.KHOA_PB_ID INNER JOIN KHOA_PHONG_BAN ON SINH_VIEN_KHOA_HOC.KHOA_PB_ID = KHOA_PHONG_BAN.KHOA_PB_ID AND

NGANH_CHUYEN_NGANH_KHOA_PHONG_BAN.KHOA_PB_ID = HOA_PHONG_BAN.KHOA_PB_ID WHERE

KHOA_PHONG_BAN.KHOA_PB_ID = 5

Một phần của tài liệu Xây dựng cơ sở dữ liệu phân tán quản lý học sinh sinh viên tại trường cao đẳng kỹ nghệ dung quất (Trang 71 - 72)

Tải bản đầy đủ (PDF)

(97 trang)