tailieunhanh - Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn

Tiếp nội dung phần 1, Giáo trình Cơ sở dữ liệu: Phần 2 được biên soạn gồm các nội dung chính sau: Thiết kế cơ sở dữ liệu quan hệ; Những vấn đề liên quan đến thiết kế. Mời các bạn cùng tham khảo! | Chương 4. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ . Dư thừa dữ liệu và các dị thường cập nhật Mục đích chính của thiết kế CSDL quan hệ là nhóm các thuộc tính vào các bảng quan hệ sao cho giảm được nhiều nhất sự dư thừa dữ liệu và dẫn đến giảm được không gian lưu trữ cần thiết cho các quan hệ cơ sở. Ngoài ra khi dữ liệu dư thừa một số vấn đề khác có thể nảy sinh như dị thường thêm bộ dị thường xóa bộ và dị thường sửa bộ. Các dị thường này còn được gọi chung lại là dị thường cập nhật. Để minh họa chúng ta xét ví dụ sau Ví dụ . Xét các quan hệ N CC người cung cấp trên tập thuộc tính Hoten Diachi và quan hệ CCH cung cấp hàng trên tập thuộc tính Hoten M athang Gia . Giả sử chúng ta đã kết nối hai quan hệ này thành quan hệ N CCH người cung cấp hàng với tập thuộc tính Hoten Diachi M athang Gia . Có thể thấy quan hệ N CCH chứa tất cả các thông tin về người cung cấp hàng cho siêu thị . Rõ ràng quan hệ này có dữ liệu dư thừa đó là địa chỉ duy nhất của người cung cấp hàng lặp lại mỗi lần cho mỗi mặt hàng được cung cấp. Lúc này các dị thường cập nhật có thể xuất hiện là Dị thường khi sửa bộ chúng ta có thể cập nhật địa chỉ mới của một người cung cấp hàng trong một bộ nhưng vẫn để lại địa chỉ cũ trong một bộ khác do hậu quả của dư thừa . Khi đó người cung cấp hàng không có địa chỉ duy nhất như chúng ta đã nghĩ dữ liệu không nhất quán . Dị thường khi thêm bộ chúng ta không thể biết được địa chỉ của một người cung cấp hàng nếu hiện tại họ không cung cấp ít nhất một mặt hàng. Có thể đặt những giá trị null trong các thuộc tính M athang 105 và Gia của một bộ cho một người cung cấp hàng nào đó nhưng khi thêm một mặt hàng cho người cung cấp hàng đó chúng ta có nhớ xóa đi bộ mang giá trị null hay không. Mặt khác nếu giả thiết Hoten M athang là một khóa tối tiểu của quan hệ N CCH thì lúc đó chúng ta không thể tìm ra các bộ nhờ chỉ mục sơ cấp được nếu có những giá trị null trong thuộc tính M athang của khóa tối tiểu. Dị thường khi xóa bộ nếu giả sử chúng ta xóa tất cả các mặt hàng được .