Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 100 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
100
Dung lượng
6,95 MB
Nội dung
Chuẩn hóa CSDL Các vấn đề bảng quan hệ Ví dụ 1: part warehouse quantity Inventory warehouse-address SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan heä Inventory part warehouse quantity warehouse-address bolt King Bros 20 Long St 20 nut King Bros 40 Long St 20 screw King Bros 10 Long St 20 NULL Lucid Ltd NULL Compton Pl 10 SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ INVENTORY table – Đòa nhà kho lập lại nhiều chứa mặt hàng có nhà kho – Nếu đòa nhà kho thay đổi, lưu mặt hàng chứa nhà kho phải thay đổi theo – Nếu có thời điểm nhà kho mặt hàng để lưu đòa nhà kho, cần phải có mà thuộc tính mặt hàng số lượng phải NULL SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Ví dụ 2: Institution Employee Location Peter 15.101 Department Paul ITACS ITACS 15.101 Kate ITACS 15.104 Mike Math 10.001 Jane SinhVienZone.com Math 10.008 https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Institution table – Vò trí phòng ban lập lại chứa nhân viên phòng ban – Nếu vò trí phòng ban thay đổi lưu nhân viên phòng ban phải cập nhật – Nếu phòng ban chưa có nhân viên để lưu vò trí phòng ban có mà số thuộc tính phải NULL SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Ví duï 3: Insertion test Employee emp# car child 100 TRS200 John 100 TRS200 Kate 100 SWG100 John 100 SWG100 Kate 100 ??? Peter SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Employee table – Việc đăng ký số xe phải lập lại cho người – Tên người cần lập lại với số đăng ký xe (bùng nổ số !) – Do dư thừa liệu, liệu trở nên tính quán – Nếu người (hoặc xe) trò thuộc tính (hoặc xe) cần phải để NULL SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Ví dụ 4: Kết bảng thông qua thuộc tính city Supplier Company s# sname salary city cname city 10 Peter 100K Paris Golden Bolts Paris 20 Joan 120K Rome Red Nuts Rome Green Tomatoes Rome SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan heä Supplier JOIN Company s# sname salary city cname 10 Peter 100K Paris Golden Bolts 20 Joan 120K Rome Red Nuts 20 Joan 120K Rome ? Green Tomatoes Nhaø cung cấp 'Peter' sống làm việc cho công ty 'Paris‘ Nhà cung cấp 'Joan' sống 'Rome' làm việc cho công ty 'Green Tomatoes' không làm việc cho công ty ‘Red Nuts' SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Bảng Supplier Company – Kết bảng thông qua thuộc tính city sinh biểu diễn thông tin sai Supplier JOIN Company s# sname salary city cname 10 Peter 100K Paris Golden Bolts 20 Joan 120K Rome Red Nuts 20 Joan 120K Rome SinhVienZone.com Green Tomatoes https://fb.com/sinhvienzonevn Khóa lược đồ quan hệ Khóa (primary key): Là siêu khóa tối tiểu người phân tích chọn để cài đặt Khóa dự tuyển (candidate key): Là siêu khóa tối tiểu khác khơng chọn làm khóa Khi cài đặt vào CSDL, khố dự tuyển trở thành khóa (unique key) gọi khóa thứ cấp (secondary key) SinhVienZone.com https://fb.com/sinhvienzonevn Khóa lược đồ quan hệ Khóa giúp cho việc nhận biết tìm record cách nhanh chóng quan hệ Ràng buộc khóa chính: NOT NULL UNIQUE Ràng buộc khóa dự tuyển: UNIQUE SinhVienZone.com https://fb.com/sinhvienzonevn Bao đóng tập thuộc tính Bao đóng tập thuộc tính X tương ứng tập phụ thuộc hàm F (ký hiệu XF+) tất thuộc tính A cho X->A suy dẫn logic từ F X->A F+ A XF+ Thuật tốn tìm XF+ Input: R(U, F), X U Output: XF+ Phương pháp: X0 = X; Lặp: Xi+1 = Xi Z cho (Y->Z) F Y Xi Xi+1 = Xi Ta có XF+ = Xi SinhVienZone.com https://fb.com/sinhvienzonevn Thuật tốn tìm khố Cho R(U,F), ký hiệu thuật tốn tìm khố: Uright(ULeft): Các thuộc tính vế phải tất PTH N = U – Uright: Các thuộc tính lập (không xuất FD nào) thuộc tính xuất vế trái FD => N khoá D = Uright – Uleft: Các thuộc tính xuất vế phải FD => D khoá L = U – (N D): thuộc tính thuộc khơng thuộc khố SinhVienZone.com https://fb.com/sinhvienzonevn Thuật tốn tìm khố (tt) Thuật tốn tìm tất khố lược đồ quan hệ dựa tập PTH Input: R(U, F) Output: Các khoá R Phương pháp: N = U – Uright Nếu NF+ = U, N khố R Giải thuật dừng Tìm D = Uright – Uleft, L = U – (N D): Với Li L: Thử với Li, Li có phần tử làm trước X = N Li, Nếu XF+ = U X khoá R Lưu ý: Nếu X = N Li khố khơng thử với Lj L mà Li Lj SinhVienZone.com https://fb.com/sinhvienzonevn Phân rã lược đồ quan hệ Phân rã (decomposition) lược đồ quan hệ R(U) thay R tập lược đồ quan hệ R1, R2, , Rk R cho U1 U2 … Uk = U, với Ui tập thuộc tính Ri, giao Ui khơng thiết phải rỗng • Khi muốn khơi phục lại r (thể R) ta thực phép kết ri ( thể Ri tương ứng) • Hỏi: • Dữ liệu lưu ri có phản ánh trung thực r hay khơng? • Khi cần khơi phục lại r từ ri hay khơng? SinhVienZone.com https://fb.com/sinhvienzonevn Phân rã bảo tồn nội dung Cho R(U,F) Nếu R phân rã phép phân rã ρ thành Ri, cho với thể r(R) thoả tập phụ thuộc hàm F, ta có r = s (với s có cách kết ri), lúc ρ gọi phân rã bảo tồn nội dung • Khi phân rã bảo tồn nội dung, r ban đầu ln tái tạo trung thực cách kết nối ri • Kết trường hợp gọi kết không thông tin (lossless join) SinhVienZone.com https://fb.com/sinhvienzonevn Phân rã bảo toàn nội dung (tt) Định lý: Cho R(U,F) Phân rã R thành R1, R2 bảo toàn nội dung (btnd) tương ứng với F R1 R2 -> R1 - R2 hay R1 R2 -> R2 - R1 Ví dụ: R(ABC), F = {A -> B} • Nếu R phân rã thành R1(AB) R2(AC) btnd • Nếu R phân rã thành R1(AB) R2(BC) khơng btnd => Một phép phân rã có btnd hay khơng tùy thuộc vào tập pth SinhVienZone.com https://fb.com/sinhvienzonevn Phân rã bảo toàn phụ thuộc hàm • Chiếu tập pth F tập thuộc tính Z, ký hiệu ¶Z(F), tập phụ thuộc hàm X -> Y F+ cho XY Z • Khi phân rã R(U, F) thành Ri(Ui, Fi) thỡ: Ui = U v Fi = ảUi (F) Phép phân rã ρ bảo toàn pth nếu: Fi suy dẫn tất pth F SinhVienZone.com https://fb.com/sinhvienzonevn Phân rã bảo tồn phụ thuộc hàm (tt) • Các pth F ràng buộc toàn vẹn R • Khi phân rã btnd khơng bảo tồn pth liệu phục hồi giống ban đầu không đảm bảo ràng buộc tồn vẹn liệu • Những pth khơng bảo tồn phép phân rã cần kiểm tra, thơng qua việc kết nối số ri, trình cập nhật liệu • Trường hợp lý tưởng phân rã vừa btnd vừa bảo tồn pth • Chỉ phép phân rã bảo toàn nội dung cài đặt SinhVienZone.com https://fb.com/sinhvienzonevn Chuẩn hoá liệu dạng chuẩn Định nghĩa: Dạng chuẩn (normal form): Là trạng thái quan hệ có áp dụng quy tắc liên quan đến pth quan hệ Chuẩn hố liệu (data normalization) q trình phân rã lược đồ quan hệ chưa chuẩn hố (có dạng chuẩn thấp) thành lược đồ quan hệ nhỏ dạng chuẩn cao (có cấu trúc tốt hơn) SinhVienZone.com https://fb.com/sinhvienzonevn Các bước chuẩn hoá Các bước chuẩn hố liệu CSDL chưa chuẩn hóa Tồn thuộc tính đa trò Boyce Codd Normal Form BCNF Loại bỏ thuộc tính đa trò CSDL dạng chuẩn Loại bỏ dư thừa PTH 1NF Loại bỏ PTH không đầy đủ 2NF Loại bỏ PTH bắt cầu Loại bỏ PTH đa trò 4NF Loại bỏ dư thừa phi chuẩn lại 5NF 3NF SinhVienZone.com https://fb.com/sinhvienzonevn Tổng kết chuẩn hoá CSDL Mục tiêu dạng chuẩn quan hệ hạn chế dư thừa liệu lưu trữ Những dư thừa liệu phát sinh từ mối liên quan mục liệu thể qua phụ thuộc hàm Dư thừa liệu dẫn đến dị thường thêm, xoá, cập nhật liệu SinhVienZone.com https://fb.com/sinhvienzonevn Tổng kết chuẩn hoá CSDL (tt) Trong 2NF 3NF dư thừa liệu 2NF: loại phụ thuộc riêng phần vào khoá, tồn phụ thuộc bắc cầu vào khoá 3NF: loại phụ thuộc bắc cầu vào khố thuộc tính khơng ngun tố BCNF: loại bỏ dư thừa liệu mà phụ thuộc hàm tạo (khơng thể suy giá trị ô bảng cách sử dụng phụ thuộc hàm với số liệu có bảng) Dạng chuẩn lược đồ csdl với dạng chuẩn lược đồ quan hệ có dạng chuẩn thấp SinhVienZone.com https://fb.com/sinhvienzonevn Tổng kết chuẩn hoá CSDL (tt) Để đạt dạng chuẩn cao (ít dư thừa liệu), lược đồ quan hệ thường phân rã thành nhiều lược đồ quan hệ Một lược đồ quan hệ ln phân rã thành lược đồ quan hệ đạt 3NF vừa bảo toàn nội dung vừa bảo toàn phụ thuộc hàm Một lược đồ quan hệ ln phân rã thành lược đồ quan hệ đạt BCNF bảo tồn nội dung khơng bảo tồn tập phụ thuộc hàm SinhVienZone.com https://fb.com/sinhvienzonevn ... nổ số !) – Do dư thừa liệu, liệu trở nên tính quán – Nếu người (hoặc xe) trò thuộc tính (hoặc xe) cần phải để NULL SinhVienZone. com https://fb .com/ sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng... Nuts' SinhVienZone. com https://fb .com/ sinhvienzonevn Chuẩn hóa CSDL Các vấn đề bảng quan hệ Bảng Supplier Company – Kết bảng thông qua thuộc tính city sinh biểu diễn thoâng tin sai Supplier JOIN Company... thiểu SinhVienZone. com https://fb .com/ sinhvienzonevn Chuẩn hóa CSDL Nguyên tắc đạo thiết kế CSDL Thiết kế bảng quan hệ cho chúng kết điều kiện thuộc tính khóa khóa ngoại, mà không sinh thực tế SinhVienZone. com