1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương cơ sở dữ liệu (ĐHCQ)

154 194 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 154
Dung lượng 2,39 MB

Nội dung

MỤC LỤC CÁC KHÁI NIỆM BẢN VỀ HỆ SỞ DỮ LIỆU 1.1 Dữ liệu - thông tin 1.1.1 Dữ liệu 1.1.2.Thông tin 1.2 sở liệu 1.3 Hệ quản trị CSDL 10 1.3.2.Các chức hệ quản trị sở liệu 11 1.3.3.Các đặc trưng giải pháp sở liệu 12 1.4 Các mô hình liệu 15 1.4.1 Mô hình thực thể - liên kết (thực thể -quan hệ) 17 1.4.2 Mô hình liệu quan hệ 17 1.4.3 Mô hình liệu mạng 17 1.4.4 Mô hình liệu phân cấp 18 MÔ HÌNH THỰC THỂ - LIÊN KẾT 20 2.1 Sử dụng mô hình quan niệm bậc cao cho việc thiết kế sở liệu 20 2.2 Các thành phần mô hình ER 21 2.2 Thực thể thuộc tính 21 2.2 Kiểu thực thể, tập thực thể, khóa tập giá trị 22 2.2.3 Kiểu liên kết, tập liên kết thể 24 2.2.4.Cấp liên kết, tên vai trò kiểu liên kết đệ quy 25 2.2.5 Các ràng buộc kiểu liên kết 26 2.2.6.Thuộc tính kiểu liên kết 27 2.2.7.Các kiểu thực thể yếu 27 2.3 Bài tập thiết kế CSDL dựa mô hình ER 29 2.4 Tổng kết mô hình thực thể - liên kết 31 4.1 Tóm tắt 31 2.4.2.Câu hỏi luyện tập 31 MÔ HÌNH QUAN HỆ - CHUYỂN CSDL ER SANG CSDL QUAN HỆ 33 3.1.Các khái niệm 33 3.1.1.Thuộc tính (Attribute) 33 3.1.2.Lược đồ quan hệ (relation schema) 33 3.1.3 Quan hệ (relation) 34 3.1.4.Bộ (tuple) 34 3.1.5.Siêu khóa - khóa (super key - key) 34 3.2 sở liệu quan hệ lược đồ sở liệu quan hệ 36 3.3 Ràng buộc toàn vẹn 39 3.3.1 Khái niệm ràng buộc toàn vẹn 39 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 3.3.2 Các yếu tố ràng buộc toàn vẹn 39 3.3.3 Phân loại ràng buộc toàn vẹn 41 3.4 Các phép tính sở liệu quan hệ 44 3.4.1 Các phép toán cập nhật quan hệ 44 3.4.2 Tìm kiếm liệu (truy vấn liệu) 46 3.5 Các quy tắc chuyển đổi từ lược đồ CSDL ER sang thiết kế quan hệ 46 3.6 Chuyển đổi mô hình cụ thể 51 BÀI TẬP VỀ THIẾT KẾ CSDL DỰA TRÊN MÔ HÌNH CSDL: ER VÀ QUAN HỆ 53 4.1 Nhắc lại lý thuyết 53 4.2 Bài tập 53 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 54 5.1.Phép chọn (SELECT) 54 5.2 Phép chiếu (PROJECT) 56 5.3 Phép đặt lại tên (RENAME) 56 5.4 Các phép toán lý thuyết tập hợp 57 5.5.Phép nối (JOIN) 59 5.7.Phép chia 61 5.7.Các phép toán quan hệ bổ sung 62 5.7.1.Các hàm nhóm phép nhóm 62 5.7.2.Các phép toán khép kín đệ quy 63 5.8 Một sốdụ truy vấn đại số quan hệ 64 BÀI TẬP VỀ NGÔN NGỮ ĐẠI SỐ QUAN HỆ 65 6.1 Nhắc lại lý thuyết 65 6.2 Bài tập – thảo luận 65 BẢN VỀ TỐI ƯU HÓA MỘT CÂU HỎI TRUY VẤN 66 7.1 Mở đầu 67 7.2 Tổng quan tối ưu hóa câu hỏi 67 7.3 Phương pháp ước lượng đại số quan hệ 69 7.4 Nguyên tắc tối ưu hóa 69 7.5 Kỹ thuật tối ưu hoá biểu thức đại số quan hệ 70 7.5.1 Biểu thức quan hệ 70 7.5.2 Biến đổi biểu thức quan hệ 71 7.5.3 Các quy tắc tương đương 71 7.5.4 Một số nhận xét thực tối ưu hóa câu hỏi 73 7.6 Ví dụ 74 7.7 Bài tập 76 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên NGÔN NGỮ TRUY VẤN CẤU TRÚC SQL 80 8.1 SQL chuẩn ngôn ngữ ANSI để truy cập CSDL 80 8.1.1 SQL gì? 80 8.1.2 SQL chuẩn 80 8.2 Bảng CSDL 80 8.3 Ngôn ngữ truy vấn cấu trúc (SQL) 80 8.3.1 SQL ngôn ngữ thao tác liệu (DML - Data Manipulation Language)81 8.3.2 SQL ngôn ngữ định nghĩa liệu (DDL - Data Definition Language)81 8.4 Các kiểu liệu 81 8.5 Câu lệnh định nghĩa liệu (create database, create table, alter table, drop table ) 82 8.5.1 Tạo CSDL 82 8.5.2 Tạo bảng CSDL 82 8.5.3 Các ràng buộc toàn vẹn (TBTV) cách tạo ràng buộc bảng 83 8.5.4 Lệnh sửa đổi bảng(alter table) 87 8.6 Bài tập 88 CẬP NHẬT DỮ LIỆU VÀ TRUY VẤN DỮ LIỆU 89 9.1 Cập nhật liệu 89 9.1.1 Câu lệnh thêm liệu (insert) 89 9.1.2 Câu lệnh sửa đổi liệu (update) 89 9.1.3 Câu lệnh xóa liệu (delete) 90 9.2 Truy vấn 91 9.2.1 Cú pháp câu lệnh select 91 9.2.2 SQL đại số quan hệ 92 9.2.3 Mệnh đề select 92 9.2.4 Mệnh đề where 93 9.2.5 Mệnh đề order by 95 9.2.6 Kết nối bảng 96 9.3.Bài tập 97 10 CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG 97 10.1 Các phép toán tập hợp 97 10.1.1 Toán tử UNION 97 10.1.2 Toán tử EXCEPT INTERSECT 98 10.2 Truy vấn lồng 98 10.2.1 Truy vấn lồng phân cấp 99 10.2.2 Truy vấn lồng tương quan 99 10.3 Bài tập liên quan đến phép toán tập hợp truy vấn lồng 100 11 HÀM KẾT HỢP VÀ GOM NHÓM, MỘT SỐ TRUY VẤN KHÁC 100 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 11.1 Hàm kết hợp 100 11.2 Gom nhóm 102 11.2.1 Cú pháp 102 11.2.2 Điều kiện nhóm .103 11.3 Thứ tự thực câu truy vấn mệnh đề Group by Having 104 11.4 Một số dạng truy vấn khác 105 11.4.1 Truy vấn mệnh đề From 105 11.4.2 Điều kiện kết nối mệnh đề From 105 12 BÀI TẬP, THẢO LUẬN: HÀM KẾT HỢP VÀ GOM NHÓM, MỘT SỐ TRUY VẤN KHÁC 106 12.1 Nhắc lại lý thuyết 106 12.2 Bài tập 106 12.3 Thảo luận 107 13 THỰC HÀNH CÂU LỆNH CREATE DATABASE, CREATE TABLE, ALTER TABLE, DROP TABLE 107 14 THỰC HÀNH RBTV 107 15 THỰC HÀNH VỀ CẬP NHẬT DỮ LIỆU 107 16 THỰC HÀNH VỀ TRUY VẤN BẢN 107 17 THỰC HÀNH VỀ CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG 107 18 THỰC HÀNH HÀM KẾT HỢP VÀ GOM NHÓM 107 19 THỰC HÀNH MỘT SỐ DẠNG TRUY VẤN KHÁC 107 20 KIỂM TRA THỰC HÀNH 107 21 PHỤ THUỘC HÀM 107 21.1 Khái niệm 107 21.2 Một số tính chất phụ thuộc hàm 109 21.3 Định nghĩa suy dẫn theo quan hệ 110 21.4 Hệ tiên đề Amstrong (Armstrong’s Axioms) 111 21.5 Định nghĩa suy dẫn theo hệ tiên đề Amstrong 112 21.6 Bao đóng tập thuộc tính (closures of attribute sets) 112 21.6.1 Thuật toán tìm bao đóng tập thuộc tính 115 21.6.2 Thuật toán tìm F+ 118 22 PHỦ CỦA TẬP PHỤ THUỘC HÀM 119 22.1 Định nghĩa tương đương 119 22.2 Các tập phụ thuộc hàm tương đương 120 22.3 Phụ thuộc hàm không thừa 121 22.3.1 Phụ thuộc hàm thừa 121 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 22.3.2 Phủ không 122 22.4 Phủ thu gọn 123 22.4.1 Phụ thuộc hàm vế trái thừa: 123 22.4.2 Tập phụ thuộc hàm vế phải thuộc tính: 123 22.4.3 Tập phụ thuộc hàm không thừa (phủ không dư): 124 22.4.4 Tập phụ thuộc hàm tối thiểu: 124 23 KHÓA CỦA LƯỢC ĐỒ QUAN HỆ 125 23.1 Siêu khóa khóa 125 23.2 Họ Sperner khóa 126 23.3 Một số vấn đề khóa 127 23.3.1.Tìm khoá lược đồ quan hệ 127 23.3.2 Kiểm tra tập cho trước phải khoá hay không? 128 23.3.3 Giao tất khoá 128 23.3.4 Thuật toán kiểm tra lược đồ cho hay nhiều khoá 131 23.3.5 Thuật toán tìm tất khoá lược đồ quan hệ 131 24 BÀI TẬP VỀ PHỤ THUỘC HÀM VÀ KHÓA CỦA LƯỢC ĐỒ QUAN HỆ 135 24.1 Nhắc lại lý thuyết 135 24.2 Bài tập áp dụng 135 25 CÁC DẠNG CHUẨN BẢN CỦA LƯỢC ĐỒ QUAN HỆ 138 25.1 Một số khái niệm liên quan 138 25.2 Các dạng chuẩn 138 25.3 Dạng chuẩn 1( 1NF-first normal form) 140 25.4 Dạng chuẩn 2NF (second normal form) 140 25.5 Dạng chuẩn (3NF- Third normal form) 142 25.6 Dạng chuẩn Boyce Codd ( BCNF- Boyce Codd normal form) 142 25.7 Mối quan hệ dạng chuẩn 143 26 PHÉP TÁCH LƯỢC ĐỒ QUAN HỆ 145 26.1 Tách lược đồ quan hệ 145 26.2 Phép tách bảo toàn phụ thuộc hàm 148 26.3 Tách không thông tin thành lược đồ dạng BCNF 149 26.4 Tổng kết 149 27 BÀI TẬP VỀ CÁC DẠNG CHUẨN HÓA VÀ PHÉP TÁCH 152 27.1 Nhắc lại lý thuyết 152 27.2 Bài tập – thảo luận 152 TÀI LIỆU THAM KHẢO 154 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên CÁC KHÁI NIỆM BẢN VỀ HỆ SỞ DỮ LIỆU Lý thuyết CSDL lĩnh vực tin học nhằm nghiên cứu chế, nguyên lý, phương pháp tổ chức, lưu trữ liệu thiết bị mang tin, nhằm khai thác hiệu liệu lưu trữ Các sở liệu hệ sở liệu trở thành thành phần chủ yếu sống hàng ngày xã hội đại Trong vòng ngày người nhiều hoạt động cần giao tiếp với sở liệu như: đến ngân hàng để rút tiền gửi tiền, đăng ký chỗ máy bay khách sạn, truy cập vào thư viện tin học hoá để tìm sách báo, đặt mua tạp chí nhà xuất bản…Tại ngân hàng, cửa hàng, người ta cập nhật tự động việc quản lý tiền bạc, hàng hoá Tất giao tiếp gọi ứng dụng sở liệu truyền thống Trong sở liệu truyền thống, hầu hết thông tin lưu giữ truy cập văn số Những năm gần đây, tiến kỹ thuật đưa đến ứng dụng sở liệu Các sở liệu đa phương tiện lưu trữ hình ảnh, phim tiếng nói Các hệ thống thông tin địa lý lưu trữ phân tích đồ, liệu thời tiết ảnh vệ tinh Kho liệu hệ thống phân tích trực tuyến sử dụng nhiều công ty để lấy phân tích thông tin lợi từ sở liệu lớn nhằm đưa định Các kỹ thuật sở liệu động thời gian thực sử dụng việc kiểm tra tiến trình công nghiệp sản xuất Các kỹ thuật tìm kiếm sở liệu áp dụng cho World Wide Web để cung cấp việc tìm kiếm thông tin cần thiết cho người sử dụng cách duyệt qua Internet Để hiểu sở kỹ thuật sở liệu phải sở kỹ thuật sở liệu truyền thống Mục đích giáo trình nghiên cứu sở kỹ thuật Trong chương định nghĩa sở liệu, hệ quản trị sở liệu, mô hình sở liệu thuật ngữ khác 1.1 Dữ liệu - thông tin 1.1.1 Dữ liệu Dữ liệu kiện cấu trúc, ý nghĩa Mọi thông tin quản lý máy tính điện tử theo phương cách phải thể liệu ghi thiết bị lưu trữ Trong tin học, liệu hiểu biểu diễn thông tin đưa vào máy tính điện tử để xử lý thường dạng sau đây: Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Dữ liệu Dữ liệu dạng số Số nguyên Số thực Dữ liệu dạng phi số Văn Hình ảnh Tri thức Âm Sự kiện Luật dẫn Hình 1-1 Các dạng liệu Để lưu trữ máy tính điện tử liệu số, phi số tri thức mã hoã số nhị phân - Dữ liệu dạng số bao gồm số nguyên số thực Ví dụ: (Số nguyên), -57 (Số nguyên), 43.56 (Số thực) Một dạng liệu khác đặc trưng cho đại lượng logic thường “ số hoá ” qua giá trị - Dữ liệu phi số bao gồm văn (dạng chữ), âm hình ảnh - Dữ liệu dạng tri thức: bao gồm kiện luật dẫn Ví dụ: Bạn Hà đạt điểm tổng kết môn Tin học (sự kiện) Nếu học sinh đạt tổng kết từ trở lên môn học sinh xếp loại giỏi môn (Luật dẫn) Tuỳ theo mục đích xử lý tiếp tục phân chia liệu thành cấu trúc nhỏ gộp liệu thành cấu trúc lớn hơn, phức tạp Vài ví dụ tiêu biểu liệu: + An đạt 550 điểm tổng số 600 điểm + Nhà cách trường 10km + Hà sinh ngày 23 tháng năm 883 + Nhạc ghi băng từ + Bức hình bạn Bản thân liệu ý nghĩa không sếp hay kết hợp thêm vài liệudụ điểm An Thật tốt biết An điểm cao liệu kèm thêm liệu khác như: + An đạt 500 tổng số 600 điểm + Hoà đạt 300 tổng số 600 điểm Thì làm nhiều Bây so sánh chúng biết thêm An: + An đạt 500 điểm + An đạt điểm cao Hoà Xa điểm sinh viên lớp An, ta biết nhiều Ta tính xem An đứng thứ lớp Vì liệu xem quan trọng xử lý Để hiểu rõ xem ví dụ khác: + Bình sinh ngày 20 tháng 10 năm 1998 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Kết hợp với với liệu ngày tại: + Hôm ngày 20 tháng 10 năm 2004 cho ta biết Bình tuổi 1.1.2.Thông tin a Khái niệm Khi liệu xử lý ý nghĩa lúc gọi thông tin Một vài ví dụ thông tin: a An đạt điểm cao Hoà b Chuyến tàu bị trễ 30 phút c Giờ bình 24 tuổi b Đặc điểm thông tin  Thông tin mang lại cho người hiểu biết, nhận thức tốt đối tượng đời sống xã hội, thiên nhiên, giúp cho họ thực hợp lý công việc cần làm để đạt tới mục đích cách tốt Con người nhu cầu đọc báo, nghe đài, xem phim, video, tham quan, du lịch, tham khảo ý kiến người khác, để nhận thêm thông tin Nốt nhạc sô-nát ánh trăng Beethoven làm cho người nghe cảm thấy tươi mát, êm dịu đêm trăng Những thông tin cảm xúc tác giả truyền đạt lại  Thông tin phát sinh, lưu trữ, truyền, tìm kiếm, xử lý, chép, nhân Thông tin méo mó, bị biến dạng, sai lệch bị phá huỷ nhiễu tác động hay người xuyên tạc  Thông tin thể nhiều dạng hình thức khác sóng ánh sáng, sóng âm, sóng điện từ, ký hiệu viết giấy khắc gỗ, đá, kim loại… Chúng gọi vật mang tin  Cùng thông tin biểu diễn liệu khác Cũng năm đơn vị, hệ thập phân ta dùng ký hiệu “5” hệ đếm La mã lại dùng kí hiệu: “V” Dữ liệu (kí hiệu) biểu diễn thông tin khác Cùng kí hiệu “I” tiếng Anh nghĩa đại từ nhân xưng thứ (tôi) toán học lại chữ số La mã giá trị đơn vị c So sánh liệu thông tin Dữ liệu Thông tin Một tập hợp kiện số liệu Dữ liệu tổ chức xếp Không giá trị nhiều Luôn ích Được chuyển thành thông tin Cũng chuyển thành liệu Các hệ thống xử lý truyền thống Tiếp cận CSDL giải vấn đề hệ tập tin theo lối cũ: Vấn đề 1: cấu trúc logic cấu trúc vật lý Kiến trúc bên HQTCSDL quan hệ tách biệt rõ ràng giữa: - cấu trúc luận lý tất tập tin chương trình ứng dụng khai thác tập tin Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên - cấu trúc vật lý csdl phần lưu trữ tập tin Tiếp cận tạo cho người quản trị CSDL thay đổi cấu trúc vật lý hay nơi lưu trữ tập tin mà không ảnh hưởng đến chương trình ứng dụng Vấn đề 2: thừa liệu Khi HQTCSDLQH giới thiệu, nhiều tổ chức mong tích hợp tập tin phân tán khắp tổ chức vào CSDL tập trung Dữ liệu chia sẻ cho nhiều ứng dụng khác người sử dụng khai thác đồng thời tập liệu liên quan đến họ Điều làm hạn chế thừa liệu Vấn đề 3: Sự khai thác liệu người sử dụng Trong hệ QTCSDLQH người dùng trực tiếp khai thác liệu thông qua việc sử dụng câu truy vấn hay công cụ báo cáo cung cấp hệ QTCSDL - sở liệu tập liệu đối tượng cần cần quản lý, lưu trữ thiết bị mang tin, quản lý theo chế thống nhất, nhằm thực tốt chức sau: + Mô tả liệu + Cập nhật liệu + Tìm kiếm nói riêng, khai thác liệu nói chung Hệ quản trị CSDL (database management system) hệ thống phần mềm giúp người sử dụng thực chức năng: mô tả liệu, cập nhật tìm kiếm Người quản trị CSDL người thực thao tác sau: + Tạo lập liệu + Bổ sung liệu + Xoá liệu + Tìm kiếm + Bảo quản 1.2 sở liệu sở liệu kỹ thuật sở liệu ảnh hưởng lớn đến việc sử dụng máy tính thể nói sở liệu đóng vai trò quan trọng lĩnh vực sử dụng máy tính giáo dục, thương mại, kỹ nghệ, khoa học, thư viện,… Thuật ngữ sở liệu trở thành thuật ngữ phổ dụng Một sở liệu tập hợp liệu liên quan với nhau, lưu trữ thiết bị mang tin, nhiều người sử dụng tổ chức theo mô hình Dữ liệu kiện ghi lại ý nghĩa Ngày CSDL tồn ứng dụng thông dụng, ví dụ: - Hệ kho kiểm kê - Hệ đặt chỗ máy bay - Hệ nguồn nhân lực Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên - hệ dịch vụ công cộng cấp nước, điện, khí đốt - Điều khiển trình chế tạo sản xuất Các tính chất sở liệu Một sở liệu tính chất sau: Một sở liệu biểu thị khía cạnh giới thực hoạt động công ty, nhà trường, ngân hàng… Những thay đổi giới thực phải phản ánh cách trung thực vào sở liệu Những thông tin đưa vào sở liệu tạo thành không gian sở liệu “thế giới nhỏ” (miniworld) Một sở liệu tập hợp liệu liên kết với cách logic mang ý nghĩa cố hữu Một sở liệu tập hợp tuỳ tiện Một sở liệu thiết kế phổ biến cho mục đích riêng Nó nhóm người sử dụng chủ định số ứng dụng xác định phù hợp với mối quan tâm người sử dụng Nói cách khác, sở liệu nguồn cung cấp liệu, mức độ tương tác với kiện giới thực nhóm người quan tâm tích cực đến nội dung Một sở liệu cỡ tuỳ ý độ phức tạp thay đổi sở liệu gồm vài trăm ghi (như sở liệu phục vụ việc quản lý lương quan nhỏ), sở liệu dung lượng lớn (như sở liệu phục vụ cho việc tính cước điện thoại, quản lý nhân phạm vi lớn) Các sở liệu phải tổ chức quản lý cho người sử dụng tìm kiếm liệu, cập nhật liệu lấy liệu cần thiết Một sở liệu tạo trì cách thủ công tin học hoá Một sở liệu tin học hoá tạo trì bằng nhóm chương trình ứng dụng 1.3 Hệ quản trị CSDL Một hệ quản trị sở liệu tập hợp chương trình giúp cho người sử dụng tạo ra, trì khai thác sở liệu Nó hệ thống phần mềm phổ dụng, làm dễ trình định nghĩa, xây dựng thao tác sở liệu cho ứng dụng khác Định nghĩa sở liệu bao gồm việc đặc tả kiểu liệu, cấu trúc ràng buộc cho liệu lưu trữ sở Xây dựng sở liệu trình lưu trữ liệu phương tiện lưu trữ hệ quản trị sở liệu kiểm soát Thao tác sở liệu bao gồm chức truy vấn sở liệu để lấy liệu cụ thể, cập nhật sở liệu để phản ánh thay đổi giới nhỏ tạo báo cáo từ liệu Các hệ quản trị sở liệu dùng để thể sở liệu tin học hoá phổ dụng (là phần mềm đóng gói) chuyên dụng (là tập phần mềm tạo với mục đích riêng) 10 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Hình 25.2 Một thể lược đồ quan hệ 25.3 Dạng chuẩn 1( 1NF-first normal form) Một lược đồ quan hệ =(U, F) gọi dạng chuẩn 1(1 NF) tất miền giá trị thuộc tính R nguyên tố (không thể phân chia được) Chú ý: Tính phân chia tính chất tương đối Định nghĩa cho thấy quan hệ chuẩn hóa 1NF Ví dụ: Xét quan hệ S (S#, PRO), thấy thuộc tính PRO chứa giá trị không nguyên tố Vì quan hệ quan hệ dạng chuẩn 1NF PRO S# P# QTY S1 210 200 300 S2 210 200 S3 300 210 Hình 25.3 Một thí dụ quan hệ không 1NF 25.4 Dạng chuẩn 2NF (second normal form) Trước nghiên cứu dạng chuẩn thứ 2, ta xét ví dụ sau đây: Xét CSDL gồm lược đồ quan hệ THI (MONTHI, GIAOVIEN) SINHVIEN(MONTHI, MSSV, TEN, TUOI, DCHI, DIEM) phản ánh thông tin kết thi đơn vị đó.Trong quan hệ THI MONTHI khoá quan hệ SINHVIEN MONTHI MSSV khoá Ở quan hệ thứ hai dễ nhận thấy MONTHI, MSSV, DIEM xác định kết thi sinh viên MSSV, TEN, TUOI, DCHI xác định đối tượng dự thi Xét hành lược đồ quan hệ THI SINHVIEN sau: THI MONTHI GIAOVIEN Toán T.Trợ Lý T.Công Hóa T.Giao SINHVIEN MONTHI MSSV TEN TUOI DCHI DIEM Toán 11 Lan 20 HN 8.0 Toán 12 Hue 21 HY 7.5 Hóa 11 Lan 20 HN 7.0 Hóa 12 Hue 21 HY 6.0 Lý 11 Lan 20 HN 5.0 140 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Lý 13 An 12 BN 4.0 Trong trình cập nhật lưu trữ liệu xuất vấn đề sau: thừa liệu Ở quan hệ SINHVIEN , việc lưu trữ thông tin ví dụ sinh viên mã sinh viên 11 phải lặp lại lần địa chỉ, lần tuổi Rõ ràng thừa Phép thay đổi Khi cần thay đổi thông tin một sinh viên phải thay đổi tất ứng với sinh viên Ví dụ sinh viên tên Lan phải thay đổi bộ, rõ ràng tốn thời gian.Hơn sửa đổi thông tin sinh viên bỏ sót số chưa sửa dẫn đến bất đồng liệu Phép chèn Không thể bổ sung sinh viên vào quan hệ SINHVIEN sinh viên chưa thi môn quan hệ SINHVIEN chứa thông tin sinh viên thi môn Bất lợi loại bỏ thông tin thi cử khỏi quan hệ Phép loại bỏ Giả sử lý cần phải huỷ bỏ môn thi Lý mà danh sách sinh viên giữ nguyên Khi quan hệ THI ta xoá (Lý, T.Công), quan hệ SINHVIÊN xoá môn thi Lý thông tin sinh viên An Để khắc phục bất lợi ta tách Lược đồ quan hệ SINHVIEN thành lược đồ quan hệ sau: SINHVIEN (MSSV, TEN, TUOI, DCHI) THIXONG (MSSV, MONTHI, DIEM) Định nghĩa: Cho lược đồ quan hệ  =(U, F), lược đồ  gọi dạng chuẩn 2, ký hiệu 2NF lược đồ dạng chuẩn 1NF thuộc tính không khoá  phụ thuộc đầy đủ vào khoá Thuật toán kiểm tra lược đồ dạng chuẩn 2NF hay không? Bài toán: Cho lược đồ quan hệ  = (U, F), hỏi lược đồ dạng chuẩn 2NF hay không? Thuật toán 1: Thuật toán kiểm tra dạng chuẩn Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: Khẳng định Q đạt chuẩn hay không đạt chuẩn Bước 1: Tìm tất khóa Q Bước 2: Với khóa K, tìm bao đóng tất tập thật LỚN NHẤT S K Bước 3: Nếu bao đóng chứa thuộc tính không khóa Q không đạt chuẩn 2NF Ngược lại Q đạt chuẩn Ví dụ: 141 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Cho lược đồ quan hệ Q (A, B, C, D) tập phụ thuộc hàm F={AB→C; B→D; BC→A} Hỏi Q đạt chuẩn không? Bài làm: Khóa =AB =BC ; tập khóa là: A, B, C Ta thấy B ϲ , B→D, D thuộc tính không khóa => thuộc tính không khóa không phụ thuộc đầy đủ vào khóa => Q không đạt chuẩn 25.5 Dạng chuẩn (3NF- Third normal form) Định nghĩa1: Cho lược đồ quan hệ  =(U, F), lược đồ  gọi dạng chuẩn 3, ký hiệu 3NF, lược đồ dạng chuẩn 2NF thuộc tính không khoá  không phụ thuộc hàm bắc cầu vào khoá Định nghĩa 2:Cho lược đồ quan hệ  =(U, F), lược đồ  gọi dạng chuẩn 3, ký hiệu 3NF, phụ thuộc hàm X A F+ với A  X thì: - Hoặc X siêu khóa - Hoặc A thuộc tính khóa Nhận xét: Lược đồ quan hệ  =(U, F), với F tập phụ thuộc hàm vế phải gồm thuộc tính Khi lược đồ  dạng chuẩn 3NF phụ thuộc hàm X A F với A  X - Hoặc X siêu khóa - Hoặc A thuộc tính khóa Thuật toán kiểm tra lược đồ dạng chuẩn 3NF hay không? Từ nhận xét ta thuật toán kiểm tra xem lược đồ dạng chuẩn 3NF hay không sau: Input: lược đồ quan hệ  =(U, F) Output: khẳng định  đạt chuẩn 3NF hay không Thuật toán Vào: Lược đồ quan hệ Q,tập phụ thuộc hàm F Ra: Khẳng định Q đạt chuẩn hay không đạt chuẩn Bước 1: Tìm tất khóa Q Bước 2: Từ F tạo tập phụ thuộc hàm tương đương vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X→A với A∉X X siêu khóa A thuộc tính khóa Q đạt chuẩn ngược lại Q không đạt chuẩn Ví dụ: Cho lược đồ quan hệ Q(A,B,C,D) F={AB→C; D→B; C→ABD} Hỏi lược đồ dạng 3NF? ={AB}; ={AD}; ={C} khóa => phụ thuộc hàm X→A F A thuộc tính khóa Vậy Q đạt chuẩn 25.6 Dạng chuẩn Boyce Codd ( BCNF- Boyce Codd normal form) 142 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Định nghĩa 1: Cho lược đồ quan hệ  =(U, F), lược đồ  gọi dạng chuẩn Boyce Codd, ký hiệu BCNF, lược đồ dạng chuẩn 1NF XA F+ ( A X ) X phải siêu khoá lược đồ Định nghĩa 2: Cho lược đồ quan hệ  =(U, F), lược đồ  gọi dạng chuẩn Boyce Codd, ký hiệu BCNF, lược đồ dạng chuẩn 1NF XYF phụ thuộc hàm không tầm thường (YX) X phải siêu khoá lược đồ Thuật toán kiểm tra lược đồ dạng chuẩn BCNF hay không? Từ định nghĩa dạng chuẩn BCNF ta thuật toán kiểm tra xem lược đồ dạng chuẩn BCNF hay không sau: Input: Lược đồ quan hệ  =(U, F) Output: Khẳng định  đạt chuẩn BCNF hay không Thuật toán: Vào: lược đồ quan hệ Q, tập phụ thuộc hàm F Ra: Khẳng định Q đạt chuẩn BC hay không đạt chuẩn BC Bước 1: Tìm tất khóa Q Bước 2: Từ F tạo phụ thuộc hàm tương đương vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X→A với A∉X X siêu khóa Q đạt chuẩn BC ngược lại Q không đạt chuẩn BC Ví dụ: Q (A, B, C, D, E, I) F={ACD→EBI, CE→AD} Hỏi Q đạt chuẩn BC không? Giải: Lược đồ cho khóa: ACD, CE F = {ACD→E, ACD→B, ACD→I, CE→A, CE→D} Mọi phụ thuộc hàm vế trái siêu khóa => Q đạt chuẩn BC 25.7 Mối quan hệ dạng chuẩn Định lý: Một lược đồ dạng chuẩn cao dạng chuẩn thấp, nhiên điều ngược lại không điều mô tả hình sau: Ta chứng minh lược đồ dạng chuẩn BCNF dạng chuẩn 3NF Giả sử lược đồ  = (U, F) dạng chuẩn BCNF không dạng chuẩn 3NF, tồn khoá K, tồn thuộc tính không khoá A cho phụ thuộc bắc cầu vào K Suy  Y  U cho: KY YA YK AKY Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 143 Chọn X=Y XA YA AX AY X không siêu khoá X=Y mà YK suy lược đồ cho không dạng BCNF mâu thuẫn với giả thiết Suy đpcm Chứng minh lược đồ dạng 3NF dạng 2NF Giả sử lược đồ dạng 3NF không dạng 2NF, tức tồn khoá K, tồn thuộc tính không khoá A cho thuộc tính A phụ thuộc không đầy đủ vào khoá K suy tồn K’  K, K’ A đặt Y=K’ ta KY YA YK Y K AKY (vì KY khoá), suy thuộc tính không khoá A phụ thuộc bắc cầu vào khoá Do lược đồ cho không dạng 3NF Điều trái với giả thiết Suy đpcm 144 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 26 PHÉP TÁCH LƯỢC ĐỒ QUAN HỆ 26.1 Tách lược đồ quan hệ Định nghĩa: Phép tách lược đồ quan hệ  = (U, F) phép thay tập lược đồ i = (Ui, Fi), i=1, ,k với điều kiện Ui    i=1, , k ,  Ui= U, Fi= F/Ui phép tách ký hiệu  ={U1, U2, , Uk} Ký hiệu  = (U, F),  ={U1, U2, , Uk} phép tách R quan hệ U, ký hiệu m(R)=R[U1] * R[U2] * * R[Uk] Định nghĩa: Phép tách kết nối không thông tin (lossless-join decomposition) Cho lược đồ quan hệ  = (U, F) phép tách  ={U1, U2, , Uk} lược đồ Phép tách  gọi phép tách kết nối không thông tin quan hệ R U ta m(R)= R, ngược lại m(R) R ta nói phép tách  phép tách thông tin Bổ đề: Cho lược đồ quan hệ  =(U, F) phép tách  ={U1, U2, , Uk} lược đồ đó, R quan hệ U, gọi Ri=R[Ui] thì: a) R m(R) b) Nếu S=m(R) S[Ui]=Ri c) m(m(R)) =m(R) Chứng minh: a) lấy tR, đặt ti= t.Ui, ti= t.Ui R[Ui] suy  R[U1] * R[U2] * * R[Uk] t m (R) R m (R) b) theo ta RS, suy R[Ui]S[Ui] hay RiS[Ui] Cần S[Ui]Ri giả sử với i mà ti  S[Ui] t= S cho t[Ui]=ti Cũng tS cho t[Ui]=vj vj  Ri cho t[Ui]=vj trờng hợp t[Ui]  Ri Nhng t[Ui]=ti S[Ui] Ri từ Ri=S[Ui] c) S=m(R) theo b) S[Ui]=Ri Do vậy: k m (S)= * Ri=m (R) i 1 Bài toán: cho lược đồ quan hệ  = (U, F) phép tách , hỏi phép tách thông tin hay không, hay với phép tách  cần kiểm tra xem đẳng thức m(R)=R,  R(U) Thuật toán kiểm tra phép tách kết nối thông tin hay không? 145 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Input: - Tập thuộc tính U - Tập phụ thuộc hàm F Phép tách  ={U1, U2, , Uk} Output: Xác định liệu phép tách  thông tin hay không Phương pháp: b1) Giả sử U={A1, A2, , An}, ta xây dựng bảng gồm k+1 dòng n+1 cột (n=|U |, k=|  | ), cột thứ i (i=1 n) bảng ứng với thuộc tính Ai, hàng thứ j (j=1 k) bảng ứng với lược đồ j= (Uj, Fj), cột i (i=1 n) hàng j (j=1 k) ta điền ký hiệu (ta gọi ký hiệu tín hiệu chính) thuộc tính Ai Ui , ngược lại ta điền bji (ta gọi bji tín hiệu phụ) b2) Biến đổi bảng theo quy tắc sau: Với phụ thuộc hàm XY  F, bảng hai hàng giống tập thuộc tính X thi ta cần làm chúng giống tập thuộc tính Y theo quy tắc sau: Nếu hai giá trị tín hiệu ta sửa lại tính hiệu phụ thành tín hiệu tức sửa bji thành Nếu hai tín hiệu phụ ta sửa lại hai tín hiệu ký hiệu bji , tức sửa lại số cho giống Tiếp tục áp dụng phụ thuộc hàm bảng (kể phụ thuộc hàm sử dụng) không áp dụng Quan sát bảng cuối cùng: xuất hàng gồm toàn tín hiệu (hàng gồm toàn ký hiệu a) phép tách  kết nối không thông tin, ngược lại phép tách  phép tách kết nối thông tin Ví dụ: Cho lược đồ quan hệ  = (U, F) với U={A1, A2, A3, A4, A5} F={ A1  A2 A3 , A2 A4 A5 , A2 A3} ={ A1 A2 A4, A2 A3, A1 A4 A5} Hỏi phép tách  kết nối không thông tin không Giải: Xây dựng bảng gồm 3+1 dòng 5+1 cột: - Điền tín hiệu vào bảng A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 b15 U2 b21 a2 a3 b24 b25 146 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên U3 a1 b32 b33 a4 a5 - Biến đổi bảng dựa vào tập phụ thuộc hàm F + Sử dụng phụ thuộc hàm A1  A2 A3 ta biến đổi bảng A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 b15 U2 b21 a2 a3 b24 b15 U3 a1 a2 b13 a4 a5 + Sử dụng phụ thuộc hàm A2 A4 A5 A1 A2 A3 A4 A5 U1 a1 a2 b13 a4 a5 U2 b21 a2 a3 b24 b15 U3 a1 a2 b13 a4 a5 + Sử dụng phụ thuộc hàm A2 A3 A1 A2 A3 A4 A5 U1 a1 a2 a3 a4 a5 U2 b21 a2 a3 b24 b15 U3 a1 a2 a3 a4 a5 Trong bảng hàng cuối gồm toàn tín hiệu chính, phép tách  phép tách kết nối không thông tin Định lý: Cho lược đồ  = (U, F), phép tách  ={U1, U2 } U1  U2  U1 \ U2 (1) U1  U2  U2 \ U1 (2) phép tách  phép tách kết nối không thông tin Chứng minh: Giả sử U={A1, A2, , An}, U1={A1, A2, , Am}, U2={Ak, A2, , An} U1  U2 = {Ak, Ak+1, , Am} Ta lập bảng gồm dòng n cột điền vào tín hiệu 147 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên A1 A2 Ak Ak+1 Am An-1 An U1 a1 A1 ak ak+1 am b1n-1 b1n U2 b21 b12 ak ak+1 am an-1 an U1 \ U2 U1  U2 U2 \ U Giả sử (2) đúng, ta thấy hai dòng bảng giống miền U1  U2 = {Ak, Ak+1, , Am}, nên chúng phải giống miền U2 \ U1, miền U2 \ U1 dòng gồm toàn tín hiệu phụ dòng hai miền gồm toàn tín hiệu tất tín hiệu phụ miền U2 \ U1 thay tín hiệu tương ứng dòng thứ hai, sau thay toàn dòng thứ gồm toàn tín hiệu , phép tách  phép tách kết nối không thông tin Hệ quả: Cho lược đồ quan hệ  =(U, F), X, Y U, XYF+ phép ={U1 , U2} với U1=XY, U2 =XZ Z=U\XY, phép tách  phép tách kết nối không thông tin Thật ta U1  U2 = X , U1 \ U2 =Y theo giả thiết thiết XY nên U1  U2 U1 \ U2 theo định lý phép tách  phép tách kết nối không thông tin Bổ đề: Mọi lược đồ quan hệ hai thuộc tính dạng BCNF a) Cho lược đồ quan hệ  =(U, F), gọi  ={U1,U2,…, Uk} phép tách không thông tin  F Gọi Fi hình chiếu F lên Ui ( i  1, n ) tức Fi={XY | XYF+ XYUi} Gọi ={Ui1, Ui2, …Uim} phép tách không thông tin lược đồ  = (Ui, Fi ) Khi phép tách lợc đồ  thành {U1, U2, …, Ui-1, Ui1, Ui2, , Uim, Ui+1, , Uk) F phép tách kết nối không thông tin b) Giả thiết   phần a) gọi: ={U1, U2, , Uk, Uk+1, …, Un} phép tách  thành tập lược đồ bao gồm   phép tách không thông tin F 26.2 Phép tách bảo toàn phụ thuộc hàm Để quan hệ phục hồi từ phân rã phân rã phải bảo toàn liệu Hơn phép tách phải thoả mãn đặc tính khác bảo toàn phụ thuộc hàm Những đặc tính yêu cầu phân rã phải thoả mãn tất phụ thuộc hàm vốn thoả quan hệ gốc Hình chiếu tập phụ thuộc hàm tập thuộc tính 148 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Cho lược đồ quan hệ  =(U, F), ZU hình chiếu tập F lên tập thuộc tính Z, ký hiệu F/Z xác định sau F/Z={XY | XY  F+ XYZ} Định nghĩa không yêu cầu XY phải thuộc F phải thuộc F+, Trong đó, X Y phải tập Z Thuật toán tìm hình chiếu tập phụ thuộc hàm lên tập thuộc tính Để tìm hình chiếu F lên Z ta lấy tập thực X Z, đóng vai trò vế trái phụ thuộc hàm Tính X+ Gán Y=(X+  Z) \X Khi XY phụ thuộc hàm F/Z Bảo toàn phụ thuộc hàm: Cho lược đồ quan hệ  =(U, F),  ={U1, U2, , Un} phép tách , gọi Fi hình chiếu F lên Ui, phép tách  gọi phép tách bảo toàn phụ thuộc hàm n F (  Fi )+=F+ 26.3 Tách không thông tin thành lược đồ dạng BCNF Cho lược đồ  = (U, F), phép tách  ={U1, U2, , Uk}, phép tách lược đồ thành tập lược đồ dạng BCNF phép tách thoả mãn: Phép tách  phép tách kết nối không thông tin Tất lược đồ i = (Ui, Fi) dạng BCNF Đặt D:={R}; Khi lược đồ quan hệ Q D BCNF, ta thực vòng lặp: Với lược đồ quan hệ Q D không BCNF tìm phụ thuộc hàm X->Y Q vi phạm BCNF thay Q D lược đồ quan hệ (Q-Y) (XY) Quá trình lặp dừng không quan hệ D vi phạm BCNF Phương pháp: Xuất phát từ phụ thuộc hàm X A F, phụ thuộc hàm XA vi phạm điều kiện BCNF, ta xây dựng phép tách  ={U1, U2}, tương ứng với lược đồ 1 2 cho: Phép tách phép tách kết nối không thông tin Phụ thuộc hàm XA phụ thuộc hàm lược đồ 1 thoả mãn điều kiện BCNF lược đồ Nếu lược đồ 1 2 chưa dạng BCNF tiếp tục trình đó, điều vi phạm BCNF bị loại bỏ, cuối ta thu tập lược đồ 149 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên dạng BCNF trình tách luôn đảm bảo phép tách kết nối không thông tin sở thuật toán giả thiết lược đồ  = (U, F) chưa dạng BCNF tồn phụ thuộc hàm XA, AX, X siêu khoá U1=XA, U2 =U \ A Nhận xét: X=U1  U2, U1 \ U2 =A, XA U1  U2  U1 \ U2 theo định lý phần phép tách  ={U1 , U2} phép tách kết nối không thông tin Vì U1 =XA phụ thuộc hàm XA lược đồ 1 = (U1, F1) nên X siêu khoá Nếu 1 , 2 chưa dạng BCNF ta áp dụng trình tách tương tự Cuối ta thu tập lược đồ dạng BCNF trình tách không thông tin Ví dụ: Cho lược đồ  = (U, F) với U=CRHTSG (C: Course, T: Teacher, H: Hour, R: Room, S: Student, G: Group) F ={CT, HR  C, CH  R, CS G, HS R} Nhận xét - Lược đồ khoá HS - Lược đồ chưa dạng BCNF - Ta thấy lược đồ  = (U, F) phụ thuộc hàm CS G vi phạm điều kiện BCNF nên ta tách lược đồ thành lược U1 =CGS, U2 =CTHRS - Ta thấy lược đồ 2 = (U2, F2) phụ thuộc hàm C T vi phạm điều kiện BCNF nên ta tách lược đồ thành lược U3 =CT, U4 =CHRS - Ta thấy lược đồ 4 = (U4, F4) phụ thuộc hàm CH R vi phạm điều kiện BCNF nên ta tách lược đồ thành lược đồ U5 =CHR, U6 =CHS 150 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Như phép tách cuối ={ CSG, CT , CHR , CHS }  = (U, F) U1 =CSG F1={CSG} K=CS U2 =CTHRS F2={CT, HRC, CHR, HSR} K=HS U3 =CT F3={CT} K=C U5 =CHR F5={ HRC, HRC} K=HR, K=HC U4 =CHSR F4={ HRC, CHR, HSR} K=HS U6 =CHS F6={ HSC} K=HS 26.4.Tổng kết Trong chương nói đến nguy hiểm xảy việc thiết kế sở liệu, xác định cách không hình thức số chuẩn mực để lược đồ quan hệ “tốt” hay “tồi” đưa số nguyên tắc không hình thức cho thiết kế tốt Sau trình bày vài khái niệm cho phép ta thiết kế quan hệ theo cách trên-xuống cách phân tích quan hệ cách riêng rẽ Chúng ta định nghĩa trình thiết kế phân tích tách cách giới thiệu trình chuẩn hóa Những vấn đề bất thường cập nhật xảy thừa xảy quan hệ đề cập đến Các chuẩn mực không hình thức lược đồ quan hệ tốt bao gồm ngữ nghĩa thuộc tính rừ ràng đơn giản, giá trị null mở rộng quan hệ Một phép tách tốt phải tránh việc sinh giả thực phép nối Chúng ta định nghĩa khái niệm phụ thuộc hàm thảo luận số tính chất Các phụ thuộc hàm nguồn thông tin ngữ nghĩa thuộc tính lược đồ quan hệ Chúng ta cách suy diễn phụ thuộc phụ thêm dựa tập phụ thuộc hàm cho trước tập quy tắc suy diễn Chúng ta định nghĩa khái niệm bao đóng phủ tối thiểu tập phụ thuộc hàm cung cấp thuật toán tính phủ tối thiểu Ta làm để kiểm tra xem hai tập phụ thuộc hàm tương đương hay không Tiếp theo, mô tả trình chuẩn hóa để đạt đến thiết kế tốt cách kiểm tra quan hệ kiểu phụ thuộc hàm không mong muốn Chúng ta cung cấp cách chuẩn hóa liên tiếp dựa khóa định nghĩa trước 151 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên quan hệ sau giảm nhẹ đòi hỏi đưa định nghĩa tổng quát dạng chuẩn tính đến tất khóa dự tuyển quan hệ Trong phần trước trình bày nhiều thuật toán chuẩn hóa Đó thuật toán tổng hợp quan hệ tạo quan hệ 3NF từ lược đồ quan hệ vũ trụ dựa tập phụ thuộc hàm người thiết kế sở liệu xác định Các thuật toán tạo quan hệ BCNF (hoặc 4NF) cách tách không mát liên tiếp quan hệ không chuẩn hóa thành hai quan hệ thành phần thời điểm Chúng ta thảo luận hai tính chất quan trọng phép tách: tính chất nối không mát (hoặc không phụ thêm) tính chất bảo toàn phụ thuộc Một thuật toán kiểm tra phép tách không mát thuật toán kiểm tra tính không mát phép tách thành hai quan hệ trình bày Chúng ta thấy việc tổng hợp quan hệ dạng 3NF đảm bảo hai tính chất khả việc tổng hợp quan hệ BCNF khả đảm bảo tính không mát, đảm bảo tính bảo toàn phụ thuộc 27 BÀI TẬP VỀ CÁC DẠNG CHUẨN HÓA VÀ PHÉP TÁCH 27.1 Nhắc lại lý thuyết 27.2 Bài tập – thảo luận Bài số 1: Cho lược đồ quan hệ  = (U, F) với a U = ABCD, F = {DB, CA, BACD } b U= ABCDE, F = { ABCE, EAB, CD } c U= ABCDEG, F = { AB, CDG , ACE, DG} d R = (U, F), U = ABCDEHI, F = {CHDE, CI BE, IDAC, ADCB, AHI BD} Xác định dạng chuẩn cao (2NF, 3NF, BCNF) lược đồ quan hệ Bài số 2: Cho  = (u, F) với U = ABCDEF, F = {ABC, CB, ABDE, FA} Lược đồ dạng BCNF không? Giải thích Bài số 3: Cho lược đồ quan hệ R = (U, F), U = ABCDEHI, F = {CHDE, CI BE, IDAC, ADCB, AHI BD} δ ={ABCI, CDEB, DHAB} Hãy sử dụng thuật toán để kiểm tra phép tách kết nối δ mát thông tin hay không? Bài số 4: a Cho lược đồ quan hệ  = (U, F) với U=ABCDEGH F = {CDH, EB, DG, BHE, CHDG, CA } Hỏi phép tách =(ABCDE, BCH, CDEGH) kết nối thông tin không 152 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên b Cho =(u, F) với U=ABCDE F={AC, BC, CD, DEC, CEA} kiểm tra tính kết nối không thông tin phép tách  = {AC, CD, BE, BC, AE} Bài số 5: a Cho lược đồ quan hệ  = (U, F) với U=ABCDEGH F = {CDH, EB, DG, BHE, CHDG, CA } Hỏi phép tách =(ABCDE, BCH, CDEGH) kết nối thông tin không b Cho =(u, F) với U=ABCDE F={AC, BC, CD, DEC, CEA} kiểm tra tính kết nối không thông tin phép tách  = {AC, CD, BE, BC, AE} Bài số 6: Cho lược đồ quan hệ R = (U, F), U = ABCDEHI, F = {CHDE, CI BE, IDAC, ADCB, AHI BD} δ ={ABCI, CDEB, DHAB} Hãy sử dụng thuật toán để kiểm tra phép tách kết nối δ mát thông tin hay không? 153 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên TÀI LIỆU THAM KHẢO [1] Giáo trình nhập môn CSDL quan hệ, Lê Tiến Vương, NXB thống kê, 2000 [2] Đề cương giảng sở liệu, 2011, khoa Công nghệ thông tin [3] Nguyễn Bá Tường, sở liệu quan hệ ứng dụng, NXB Khoa học kỹ thuật, 2005 [4] Hồ Thuần, Hồ Cẩm Hà, Lý thuyết CSDL, NXB Giáo dục [5] Sở BCVT TP Hà nội, Giáo trình sở liệu, 2005 [6] Vũ Đức Thi, CSDL – kiến thức thực hành, nhà xuất thống kê, 1997 [7] Raghu Ramakrishnan- Johannes Gehrke, Database Management Systems, 2nd Ed [8] Elmasri – Navathe, Fundamentals Of Database Systems 3rd Edition, Addison Wesley 154 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên ... đích giáo trình nghiên cứu sở kỹ thuật Trong chương định nghĩa sở liệu, hệ quản trị sở liệu, mô hình sở liệu thuật ngữ khác 1.1 Dữ liệu - thông tin 1.1.1 Dữ liệu Dữ liệu kiện cấu trúc, ý nghĩa... liệu lưu trữ sở Xây dựng sở liệu trình lưu trữ liệu phương tiện lưu trữ hệ quản trị sở liệu kiểm soát Thao tác sở liệu bao gồm chức truy vấn sở liệu để lấy liệu cụ thể, cập nhật sở liệu để phản... năng: mô tả liệu, cập nhật tìm kiếm Người quản trị CSDL người thực thao tác sau: + Tạo lập liệu + Bổ sung liệu + Xoá liệu + Tìm kiếm + Bảo quản 1.2 Cơ sở liệu Cơ sở liệu kỹ thuật sở liệu có ảnh

Ngày đăng: 24/10/2017, 15:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w