TU 2.1.2- Chiều thời gian của thiết kế logic UT

Một phần của tài liệu Cơ sở dữ liệu thời gian (Trang 52 - 54)

hóa. Để minh họa cho điều đó, xem xét một quan hệ thời gian KHOA_HOC đƣợc dùng để lƣu trữ cho mỗi khóa học về CNTT, số hiệu khóa học (#KHOA_HOC), số chứng chỉ cho mỗi khóa (#CHUNG_CHI), tên của giảng viên (GIANG_VIEN), lƣơng trả cho mỗi giảng viên (LUONG_GV), số lƣợng học viên tham gia một lớp (#SO_HOC_VIEN), và một nhãn thời gian ghi lại ngày của khóa học (ngay). Một ví dụ điển hình về KHOA_HOC đƣợc minh họa ở Hình 2.2.

#KHOA_HOC #CHUNG _CHI GIANG _VIEN LUONG_GV #SO_HOC _VIEN ngay CS50 3 Tam 1K 50 3/3/93 CS50 3 Tam 1K 45 8/3/93 CS50 3 Tam 1.5K 50 5/4/93 CS50 3 An 1K 50 3/10/93 CS50 3 An 1K 50 7/10/94 CS50 3 An 1K 45 17/10/94 Hình 2.2: Ví dụ về quan hệ các khóa học.

Giả sử với quan hệ KHOA_HOC, các ràng buộc sau đây đƣợc cho trƣớc: (1) các thuộc tính NGAY và #KHOA_HOC cùng tạo thành một khóa dự tuyển; (2) phụ thuộc hàm #KHOA_HOC → #CHUNG_CHI phải đƣợc thỏa mãn; (3) mức chi trả cho mỗi giảng viên sẽ không thay đổi trong một tháng;

(4) một giảng viên không đƣợc phép thay đổi trong bất kỳ một tuần cho trƣớc nào (để đảm bảo cho những chỉ định về bài tập cho học viên là nhất quán).

thuộc hàm chỉ liên quan đến các thuộc tính của quan hệ KHOA_HOC.

Quan hệ KHOA_HOC không chỉ bao gồm dƣ thừa không có yếu tố thời gian (ví dụ: giá trị #CHUNG_CHI cho mỗi khóa học là đƣợc lặp đi lặp lại nhiều lần), mà còn có những dƣ thừa thời gian (ví dụ: cùng một giá trị của LUONG_GV là bị lặp đi lặp lại trong một tháng cho cả hai giảng viên “Tam” và “An”). Tƣơng tự nhƣ dƣ thừa không có yếu tố thời gian, dƣ thừa thời gian dẫn đến sự không nhất quán tiềm ẩn và những dị thƣờng của phép chèn và xóa: ta có thể cập nhật lƣơng trả cho “Tam” trong một bộ mà quên không thay đổi trong các bộ khác trong cùng một tháng, trong trƣờng hợp đó ta có thể có sự chi trả cho “Tam” khác nhau trong tháng, do đó tạo nên sự không nhất quán. Hơn thế nữa, chúng ta không thể ghi lại một giảng viên cho một khóa học nếu ta không biết ngày nào khóa học bắt đầu. Phép xoá cũng sinh ra vấn đề tƣơng tự: nếu chúng ta xoá mọi bộ giá trị của một khoá học nào đó, vô tình ta sẽ mất vết tên và lƣơng của giảng viên.

Để loại bỏ dƣ thừa dữ liệu, nếu ta sử dụng các phụ thuộc hàm tƣơng ứng với ràng buộc (1) và (2), chúng ta sẽ thu đƣợc phép tách BCNF cho CSDL KHOA_HOC nhƣ sau: (#KHOA_HOC, #CHUNG_CHI) và (#KHOA_HOC, GIANG_VIEN,

LUONG_GV, #SO_HOC_VIEN, ngay). Phép tách này là không thích đáng vì vẫn còn dƣ thừa dữ liệu cho các giá trị GIANG_VIEN và LUONG_GV mặc dù dƣ thừa các giá trị của #CHUNG_CHI đã đƣợc loại bỏ.

#KHOA_HOC #CHUNG_CHI GIANG_VIEN LUONG_GV thang

CS50 3 Tam 1K 3/93

Tam 1.5K 4/93 An 1K 10/94 #KHOA_HOC GIANG_

VIEN tuan #KHOA_HOC #SO_HOC_VIEN ngay CS50 Tam Tuần từ 8/2/93 CS50 50 3/3/93 CS50 Tam Tuần từ 7/3/93 CS50 45 8/3/93 CS50 Tam Tuần từ 4/4/93 CS50 50 5/4/93 CS50 An Tuần từ 2/10/94 CS50 50 3/10/94 CS50 An Tuần từ 16/10/94 CS50 50 7/10/94 CS50 45 17/10/94 Hình 2.3. Phép tách tự nhiên.

Để loại bỏ đƣợc dƣ thừa trong CSDL KHOA_HOC, ràng buộc (3) và (4) bao gồm các hạt thời gian cần phải đƣợc xem xét. Thực vậy, một phép tách tự nhiên cho

KHOA_HOC đƣợc mô tả trong Hình 2.3, trong đó các lƣợc đồ là ở các dạng hạt khác nhau. Chú ý rằng một tuần đƣợc xác định bởi dạng “tuần của ngày” trong đó “ngày” đƣợc xem là ngày đầu tiên của tuần đó (ví dụ: Chủ nhật). Dễ dàng nhận thấy rằng mỗi lƣợc đồ trong Hình 2.3 là loại bỏ đƣợc sự dƣ thừa bởi các ràng buộc (1)-(4). Một số câu hỏi nảy sinh từ ví dụ này:

(1) Chúng ta mô tả các ràng buộc có yếu tố thời gian chính xác nhƣ thế nào? Ta tìm thấy đƣợc các ràng buộc ẩn ra sao? Chúng ta định nghĩa nhƣ thế nào để tránh đƣợc một số dƣ thừa nhất định (ví dụ các dạng chuẩn)?

(2) Bằng cách nào ta có đƣợc các phép tách một cách tự động mà chúng không có dƣ thừa, cho phép xây dựng lại dữ liệu gốc và bảo toàn đƣợc các phụ thuộc?

(3) Ta phải sử dụng những toán tử gì để xây dựng lại quan hệ gốc từ các quan hệ đã đƣợc tách (chú ý là phép kết nối tự nhiên (natural-join) không thể sử dụng đƣợc cho mục đích này)? Khái niệm về phép tách không mất thông tin sẽ đƣợc định nghĩa ra sao?

Mục tiêu của chƣơng này là sẽ trả lời các câu hỏi đó.

2.2. KIỂU VÀ MODUL THỜI GIAN:

Một phần của tài liệu Cơ sở dữ liệu thời gian (Trang 52 - 54)

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

(120 trang)