Tài liệu Giaùo trình CÔ SÔÛ DÖÕ LIEÄU Trang 1 MỤC LỤC Chöông 1 pdf

95 347 0
Tài liệu Giaùo trình CÔ SÔÛ DÖÕ LIEÄU Trang 1 MỤC LỤC Chöông 1 pdf

Đ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

Giáo trình CƠ SỞ DỮ LIỆU Trang MỤC LỤC Chương MÔ HÌNH QUAN HỆ I NGUYÊN NHÂN RA ĐỜI CỦA MÔ HÌNH QUAN HỆ II CÔ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIEÄU .3 CSDL gì? Heä quản trị CSDL Người duøng (User) .4 CSDLQH Hệ tập tin theo lối cũ .5 III MÔ HÌNH QUAN HEÄ Mô hình quan hệ ? .5 Các khái niệm mô hình quan hệ Các phép toán tập hợp 10 Các phép toán quan hệ 11 Các tính chất đại số quan hệ 12 IV MÔ HÌNH THỰC THỂ KẾT HP 15 Giới thiệu mô hình thực thể kết hợp 15 Chuyển từ mô hình thực thể kết hợp sang lược đồ CSDL 17 V BÀI TẬP 19 Phép toán tập hợp phép toán quan hệ 19 Mô hình thực thể kết hợp 20 Chương 22 NGÔN NGỮ TRUY VẤN SQL 22 I CÁCH TẠO QUAN HỆ BẰNG ACCESS 22 II CÂU LỆNH TRUY VẤN 22 BIỂU THỨC (EXPRESSION) 22 CÂU LỆNH SQL 25 III BÀI TẬP .28 Chương 32 RÀNG BUÔC TOÀN VẸN QUAN HỆ 32 I RÀNG BUỘC TOÀN VẸN - CÁC YẾU TỐ CỦA RÀNG BUỘC TOÀN VẸN 32 Ràng Buộc Toàn Vẹn 32 Các Yếu Tố Của Ràng Buộc Toàn Vẹn .32 II PHÂN LOẠI RÀNG BUỘC TOÀN VẸN 33 Ràng buộc toàn vẹn liên 34 Ràng buộc toàn vẹn phụ thuộc tồn tại: 34 Ràng buộc toàn vẹn miền giá trị 34 Ràng buộc toàn vẹn liên thuộc tính 35 Ràng buộc toàn vẹn liên thuộc tính liên quan hệ .35 Ràng buộc toàn vẹn thuộc tính tổng hợp .35 III BÀI TẬP .35 Chương 37 PHUÏ THUỘC HÀM 37 I KHAÙI NIÊM PHỤ THUỘC HÀM 37 Bộ môn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang Định nghóa phụ thuộc hàm 38 Phụ thuộc hàm hiển nhiên 38 Thuật toán Satifies 38 Các phụ thuộc hàm có 39 II HỆ LUẬT DẪN ARMSTRONG 42 Phụ thuộc hàm suy diễn logic từ F .42 Hệ luật dẫn Amstrong 43 Hệ luật dẫn Armstrong đầy đủ 47 III THUẬT TOÁN TÌM F+ .48 Thuật toán 48 Thuật toán cải tiến 48 IV BAØI TAÄP .49 Chương 50 PHỦ CỦA TẬP PHỤ THUỘC HÀM 50 I ĐỊNH NGHĨA 50 II PHỦ TỐI THIỂU CỦA MỘT TẬP PHỤ THUỘC HÀM .50 Phụ thuộc hàm có vế trái dư thừa .50 Tập phụ thuộc hàm có vế phải thuộc tính 51 Tập phụ thuộc hàm không dư thừa 51 Tập phụ thuộc hàm tối thiểu .51 III KHÓA CỦA LƯC ĐỒ QUAN HỆ 52 Định Nghóa 52 Thuật toán tìm tất khóa 53 IV BÀI TẬP .55 Chương 57 CHUẨN HÓA CƠ SỞ DỮ LIỆU .57 I DẠNG CHUẨN CỦA LƯC ĐỒ QUAN HỆ 57 Định nghóa dạng chuẩn 57 II PHÉP TÁCH KẾT NỐI BẢO TOÀN .62 Phép tách kết nối bảo toàn thông tin 62 Phép tách bảo toàn phụ thuộc hàm .67 III THIẾT KẾ CSDL BẰNG CÁCH PHÂN RÃ 70 Phân rã thành dạng chuẩn BC (hay chuẩn 3) bảo toàn thông tin 70 Phân rã thành dạng chuẩn vừa bảo toàn thông tin vừa bảo toàn phụ thuộc hàm 76 IV BÀI TẬP .79 oOo Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang Chương MÔ HÌNH QUAN HỆ I NGUYÊN NHÂN RA ĐỜI CỦA MÔ HÌNH QUAN HỆ (RELATIONAL MODEL) Trong nhiều năm, công nghệ tính toán thông tin phát triển từ hệ thống lớn, đắt tiền, độc quyền đến hệ thống mở mạnh không đắt tiền Sự phát triển mang lại lợi ích to lớn cho người dùng cuối phát triển gói ứng dụng số xử lý văn bản, bảng tính điện tử, văn phòng xuất bản, hệ quản lý sở liệu, máy tính trợ giúp công nghệ phần mềm Trước máy tính hóa sở liệu đươc giới thiệu, liệu lưu trữ theo kiểu điện tử thành nhiều tập tin riêng biệt sử dụng hệ tập tin (từ sau ta gọi hệ tập tin theo lối cũ) Những tập tin xử lý ngôn ngữ hệ thứ ba COBOL, FORTRAN, PASCAL BASIC để tạo giải pháp cho vấn đề doanh nghiệp Mỗi ứng dụng, chẳng hạn hệ tính lương, hệ kho hay hệ thống kế toán có tập tập tin riêng chứa liệu riêng Các ứng dụng tạo ba vấn đề sau: - Có liên kết chặt chẽ cấu trúc luận lý cấu trúc vật lý tập tin chương trình ứng dụng khai thác chúng Điều khiến việc tạo nên ứng dụng khó khăn, tốn nhiều thời gian mà tốn bảo trì hệ thống - Có dư thừa liệu lớn qua việc trùng lắp tập tin ứng dụng khác Điều tạo vấn đề như: liệu thiếu quán, không gian đóa bị lãng phí, thời gian bảo trì lưu phòng hờ tập tin gia tăng, vấn đề quản trị không trọng bảo mật tổ chức liệu thiếu thống Một ví dụ điển hình trùng lắp liệu là: Hệ quản lý nguồn nhân lực bao gồm ba hệ chính: Hệ lương, hệ trì ngày công lương cho tất nhân viên Hệ nhân sự, hệ trì lý lịch cá nhân, liệu tổ chức, công việc đào tạo vị trí thăng tiến Hệ hưu, hệ quản trị qui tắc liên quan đến nghỉ hưu, loại nghỉ hưu Chi tiết hưu nhân viên Vấn đề phức tạp Hệ lương thông thường quản lý phòng tài chánh, Hệ nhân Hệ hưu quản lý phòng tổ chức Rõ ràng, có nhiều liệu nhân viên chung cho ba hệ Thường hệ thực giữ gìn riêng biệt chúng tạo trùng liệu nhân viên mà chúng dùng - Người sử dụng có khả khai thác trực tiếp liệu II CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (DATABASE AND DATABASE MANAGEMENT SYSTEM) Khởi đầu, giới thiệu CSDL HQTCSDL nhằm giải vấn đề hệ thông tin dựa tập tin theo lối cũ (C1.I) Điều tạo việc phát triển hai mươi lăm năm qua hệ CSDL quan hệ thương mại xuất cuối năm thập niên 70 năm đầu thập niên 80 Trước xem xét CSDL hệ QTCSDLQH giải vài vấn đề hệ thông tin theo lối cũ cần làm rõ vài khái niệm Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang CSDL gì? Một sở liệu định nghóa tạm sau: chỗ chứa có tổ chức tập hợp tập tin liệu có tương quan, mẫu tin cột 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 - 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 Hệ quản trị CSDL Một hệ quản trị CSDL (HQTCSDL) là: - tập phần mềm quản lý CSDL cung cấp dịch vụ xử lý CSDL cho người phát triển ứng dụng người dùng cuối - HQTCSDL cung cấp giao diện người sử dụng liệu - HQTCSDL biến đổi CSDL vật lý thành CSDL logic Dựa vào cách tổ chức liệu, HQTCSDL chia thành năm loại: - loại phân cấp hệ IMS IBM - loại mạng IDMS Cullinet Software - Loại tập tin đảo ADABAS Software AG - Loại quan hệ như ORACLE Oracle, DB2 IBM, ACCESS Microsoft Access - Loại đối tượng tiếp cận thiết kế HQTCSDL việc sử dụng loại sớm trở nên phổ biến Hiện tại, loại HQTCSDL sử dụng công nghệ loại HQTCSDL quan hệ (RDBMS) Loại chiếm lónh công nghệ 10-15 năm cuối đánh bật loại HQTCSDL phân cấp gần HQTCSDL mạng Người dùng (User) Người dùng khai thác CSDL thông qua HQTCSDL phân thành ba loại: người quản trị CSDL, người phát triển ứng dụng lập trình, người dùng cuối - Người quản trị CSDL, hàng ngày, chịu trách nhiệm quản lý bảo trì CSDL như: + xác toàn vẹn liệu ứng dụng CSDL, bảo mật CSDL + lưu phòng hờ phục hồi CSDL + giữ liên lạc với người phát triển ứng dụng, người lập trình người dùng cuối + bảo đàm hoạt động trôi chảy hiệu CSDL HQTCSDL Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang Người phát triển lập trình ứng dụng người chuyên nghiệp máy tính có trách nhiệm thiết kế, tạo dựng bảo trì hệ thông tin cho người dùng cuối Người dùng cuối người không chuyên máy tính họ chuyên gia lãnh vực khác có trách nhiệm cụ thể tổ chức Họ khai thác CSDL thông qua hệ phát triển người phát triển ứng dụng hay công cụ truy vấn HQTCSDL - CSDLQH Hệ tập tin theo lối cũ Tiếp cận CSDL giải vấn đề hệ tập tin theo lối cũ: i 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 - 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 ii Vấn đề 2: dư 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ế dư thừa liệu iii 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 III MÔ HÌNH QUAN HỆ (RELATIONAL MODEL) Mô hình quan hệ ? Mô hình Cơ sở liệu Quan hệ (gọi tắt Mô hình Quan hệ) E.F Codd đề xuất năm 1971 Mô hình bao gồm: - Một hệ thống ký hiệu để mô tả liệu dạng dòng cột quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại, - Một tập hợp phép toán thao tác liệu phép toán tập hợp, phép toán quan hệ - ràng buộc toàn vẹn quan hệ Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang Các hệ HQTCSDLQH ngày xây dựng dựa vào lý thuyết mô hình quan hệ Mục đích môn học giúp cho sinh viên nắm kiến trúc tổng quát mô hình quan hệ áp dụng để lập mô hình liệu quan hệ có hiệu lưu trữ khai thác MASV HOTENH MONHOC TENKHOA 99001 99002 99001 99005 CO SO DU LIEU CO SO DU LIEU TIN HOC VAN PHONG TIN HOC VAN PHONG CÔNG NGHỆ THỘNG TIN CÔNG NGHỆ THỘNG TIN CÔNG NGHỆ THỘNG TIN ANH VAN TRAN DAN THU NGUYEN HA DA THAO TRAN DAN THU LE THANH TRUNG DIEMTHI 3.0 8.0 6.0 5.0 Chẳng hạn với toán quản lý điểm thi sinh viên; lưu trữ liệu theo dạng bảng với cột MASV, HOTEN, MONHOC,TENKHOA, DIEMTHI gía trị cột HOTEN, MONHOC, TENKHOA bị trùng lắp Sự trùng lắp gây nên số vấn đề: - Ta lưu trữ sinh viên sinh viên chưa có điểm thi - Khi cần sửa đổi họ tên sinh viên ta phải sửa tất dòng có liên quan đến sinh viên Điều dễ gây tình trạng liệu thiếu quán - Khi có nhu cầu xóa điểm thi sinh viên kéo theo khả xóa họ tên sinh viên Việc lưu trữ liệu không với mô hình quan hệ Để lưu trữ với mô hình quan hệ ta phải thay MONHOC MAMH, thay TENKHOA MAKHOA, tách bảng liệu lớn thành nhiều bảng con, mô hình MASV MAMH MAKHOA DIEMTHI MASV HOTEN 99001 CSDL CNTT 3.0 99001 TRAN DAN THU 99002 CSDL CNTT 8.0 99002 NGUYEN HA DA THAO 99001 THVP CNTT 6.0 99005 LE THANH TRUNG 99005 THVP AV 5.0 MAMH TENMH SOTIET CSDL CO SO DU LIEU 90 THVP TIN HOC VAN PHONG 90 MAKHOA TENKHOA CNTT CONG NGHE THONG TIN AV ANH VAN Các khái niệm mô hình quan hệ i Thuộc tính (Attribute, Arity) Chẳng hạn với toán quản lý điểm thi sinh viên; với đôái tượng sinh viên ta cần phải ý đến đặc trưng riêng họ tên, ngày sinh, nữ (giới tính), tỉnh thường trú, học bổng, lớp mà sinh viên theo học, đặc trưng gọi thuộc tính Các thuộc tính phân biệt qua tên gọi phải thuộc vào kiểu liệu định (số, chuỗi, ngày tháng, logic, hình ảnh,…) Kiểu liệu kiểu đơn Trong đối tượng hai thuộc tính tên Thông thường thuộc tính chọn lấy giá trị tập kiểu liệu tập hợp gọi miền giá trị thuộc tính Thuộc tính ngày tháng có kiểu liệu số nguyên, miền giá trị đến (tối đa là) 31 Hoặc điểm thi sinh viên số nguyên từ đến 10 Thường người ta dùng chữ hoa A,B,C,… để biểu diễn thuộc tính, A1,A2,…., An để biểu diễn số lượng lớn thuộc tính Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU ii Trang Lược Đồ Quan Hệ (Relation Schema) Tập tất thuộc tính cần quản lý đối tượng với mối liên hệ chúng gọi lược đồ quan hệ Lược đồ quan hệ Q với tập thuộc tính {A1,A2, ,An} viết Q(A1,A2, ,An) Tập thuộc tính Q ký hiệu Q+ Chẳng hạn lược đồ quan hệ sinh viên (Đặt tên Sv) với thuộc tính là: Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH) Thường thành lập lược đồ, người thiết kế gắn cho ý nghóa định, ý nghóa gọi tân từ lược đồ quan hệ Dựa vào tân từ người ta xác định tập thuộc tính khóa lược đồ quan hệ (khái niệm khoá trình bày phần sau) Khi phát biểu tân từ cho lược đồ quan hệ, người thiết kế cần phải mô tả đầy đủ ý nghóa để người khác tránh hiểu nhầm Chẳng hạn tân từ lược đồ quan hệ là:”mỗi sinh viên có mã sinh viên (MASV) nhất, mã sinh viên xác định tất thuộc tính sinh viên họ tên (HOTEN), nữ (NU) ,ngày sinh (NGAYSINH), lớp theo học (MALOP), học bổng (HOCBONG), tỉnh cư trú (TINH) Nhiều lược đồ quan hệ nằm hệ thống quản lý gọi lược đồ sở liệu Ví dụ lược đồ sở liệu để quản lý điểm sinh viên gồm lược đồ quan hệ sau: Sv(MASV, HOSV,TENSV, NU, NGAYSINH, MALOP, TINH, HOCBONG) Lop(MALOP,TENLOP,SISO,MAKHOA) Kh(MAKHOA,TENKHOA, SOCBGD) Mh(MAMH, TENMH, SOTIET) Kq(MASV, MAMH, DIEMTHI) Phần giải thích thuộc tính: MASV Mã sinh viên HOTEN Tên sinh viên NU Nữ NGAYSINH ngày sinh LOP lớp TENLOP tên lớp SISO sỉ số lớp MAKHOA mã khoa HOCBONG học bổng TINH tỉnh TENKHOA tên khoa SOCBGD số cán giảng dạy MAMH mã môn học TENMH tên môn học SOTIET số tiết DIEMTHI điểm thi iii Quan Hệ (Relation) Sự thể lược đồ quan hệ Q thời điểm gọi quan hệ, rõ ràng lược đồ quan hệ định nghóa nhiều quan hệ Thường ta dùng ký hiệu R, S, Q để lược đồ quan hệ, quan hệ định nghóa tương ứng ký hiệu là r, s, q Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU iv Trang Bộ (Tuple) Bộ tập giá trị liên quan tất thuộc tính lược đồ quan hệ Chẳng hạn quan hệ sau có MASV HOTEN NU NGAYSINH MALOP TINH HOCBONG 99001 TRAN DAN THU TRUE 15-03-1977 CÑTH2B TIEN GIANG 120000 99002 NGUYEN HA DA THAO TRUE 25-04-1986 TCTH29C TPHCM 120000 Thường người ta dùng chữ thường (như t,p,q,…) để biểu diễn Chẳng hạn để nói t thuộc quan hệ r ta viết: t ∈ r Về trực quan quan hệ xem bảng, cột thông tin thuộc tính, dòng thông tin Chẳng hạn sau thể quan hệ định nghóa lược đồ sở liệu quản lý sinh viên trên: rSv MASV 99001 99002 99003 99004 99005 99006 99007 99008 99009 99010 99011 99012 99013 99014 99015 99016 99017 99018 99019 99020 99021 99022 99023 HOTEN TRAN DAN NGUYEN HA DA PHAM ANH NGUYEN NGOC LE THANH NGUYEN HONG VU THI TRUONG KIM TON THAT HA VAN BUI VAN LE HUU VU THANH TRAN QUANG PHAM VAN HUYNH THANH TRAN MINH PHAN VAN PHAM THI NGUYEN THI PHAM TAN TRAN PHUOC LE THI THANH rKh MAKHOA CNTT AV HOA MAÙY TÍNH XD DL THU THAO HUY THUAN TRUNG VAN LOAN QUANG QUYEN LONG ANH CHI CONG CUONG HAI HOANG LAM SANG HUYEN NGAN QUANG QUYEN VAN TENKHOA NU NGAYSINH TRUE 15-03-1977 TRUE 25-04-1986 FALSE 16-08-1977 FALSE 24-12-1980 FALSE 20-11-1978 FALSE 19-09-1979 TRUE 15-03-1975 FALSE 15-05-1975 FALSE 26-06-1976 FALSE 14-04-1973 FALSE 22-12-1972 FALSE 28-08-1977 FALSE 29-03-1979 FALSE 30-05-1981 FALSE 30-06-1976 FALSE 29-07-1982 FALSE 21-08-1977 FALSE 19-05-1979 FALSE 16-06-1982 TRUE 11-11-1981 FALSE 01-01-1980 FALSE 12-12-1979 TRUE 11-11-1980 SOCBGD 60 CONG NGHE THONG TIN 60 ANH VAN 20 HOA CHAT 10 MOI TRUONG 10 XAY DUNG DU LICH Bộ môn CSDL Trường CĐCN MALOP CÑTH2B CÑTH2B CÑTH2B CÑTH2B CÑAV1 CÑAV1 CÑAV1 CÑTH2B CÑTH2B CÑAV1 CÑAV1 CÑÑT2 CÑTH2B CÑÑT2 CÑÑT2 CÑÑT2 CÑTH2B CÑDL1 CÑDL1 CÑTH2B CÑDL1 CÑTH2B CÑDL1 TINH HOCBONG TIEN GIANG 120000 TPHCM 120000 BAC LIEU CA MAU CA MAU 120000 SOC TRANG CA MAU HA NOI VUNG TAU 60000 BAC LIEU AN GIANG CAN THO 60000 KIEN GIANG 60000 DONG THAP 120000 CA MAU TPHCM 80000 TRA VINH DONG THAP 120000 CAN THO 120000 CA MAU 120000 CA MAU BAC LIEU 60000 TPHCM 120000 rMh MAMHTENMH CSDL CO SO DU LIEU FOX FOXPRO THVP TIN HOC VAN PHONG AVTH ANH VAN TIN HOC KTS KY THUAT SO CTDL CAU TRUC DU LIEU SOTIET 90 120 90 60 60 60 Giaùo trình CƠ SỞ DỮ LIỆU TTIN SINH VL ĐT TOAN -TIN HOC CONG NGHE SINH HOC VAT LY ĐIỆN TỬ rKq MASV 99001 99002 99003 99004 99005 99001 99002 99003 99004 99005 MAMH CSDL CSDL CSDL CSDL CSDL THVP THVP THVP THVP THVP 99020 99021 99022 99023 99023 THVP MANG MANG CSDL MANG rLop MALOP CÑTH2B TCTH29C CÑAV1 CÑÑT2 CÑDL1 v Trang 30 30 20 20 TTNT MANG VB AC LR INTER HDH KTLT VIFOX TRI TUE NHAN TAO MANG MAY TINH CB VI SUAL BASIC ACCESS LAP RAP MAY TINH CAC DICH VU INTERNET HE DIEU HANH KY THUAT LAP TRINH VISUAL FOXPRO 45 45 90 180 60 45 60 45 60 DIEMTHI 3.0 8.0 8.0 3.0 2.0 6.0 3.0 8.0 9.0 5.0 99006 99007 99008 99009 99010 99011 99012 99013 99014 99015 MANG MANG MANG MANG TTNT FOX FOX FOX VB VB 6.0 2.0 7.0 3.0 5.0 4.0 5.0 7.0 7.0 3.0 99016 99017 99017 99017 99017 99017 99002 99004 99018 99019 KTS KTS FOX MANG CSDL TTNT MANG MANG TTNT CSDL 7.0 7.0 4.0 8.0 8.0 6.0 8.0 4.0 7.0 8.0 7.0 7.0 6.0 8.0 6.0 99023 99023 99023 99023 99023 TTNT THVP FOX VB KTS 3.0 6.0 8.0 9.0 6.0 99021 99021 99022 99022 CSDL THVP FOX TTNT 8.0 9.0 5.0 6.0 TENLOP CAO ĐẲNG TIN HỌC KHOÁ 2000B TRUNG CẤP TIN HỌC KHOÁ 29 C CAO ĐẲNG ANH VĂN CAO ĐẲNG ĐIỆN TỬ CAO ĐẲNG DU LỊCH SISO 60 121 120 80 42 MAKHOA cntt cntt av đt dl Khóa (Key, Candidate Key): Cho lược đồ quan hệ R, S⊆R+ S gọi siêu khóa (superkey) lược đồ quan hệ R với hai tùy ý quan hệ R giá trị thuộc tính S khác Một lược đồ quan hệ có nhiều siêu khoá Siêu khoá chứa thuộc tính gọi khóa định, trường hợp lược đồ quan hệ có nhiều khóa định, khóa chọn để cài đặt gọi khóa (Primary key) (trong phần sau khóa gọi tắt khóa) Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 10 Các thuộc tính tham gia vào khóa gọi thuộc tính khóa (prime key), ngược lại gọi thuộc tính không khóa (non prime key) Một thuộc tính gọi khóa ngoại thuộc tính lược đồ quan hệ lại khóa lược đồ quan hệ khác Ví dụ: Ta xem lược đồ quan hệ sau: Xe(SODANGBO,QUICACH, INHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA) Siêu khóa: (SOSUON,QUICACH), Khóa định: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY), (MAXE) Khóa chính: MAXE Thuộc tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE Thuộc tính không khóa: QUICACH, HINHDANG, MAUSAC Khóa Sv (MASV), Khoá Mh (MAMH), khoá Kh (MAKHOA), khóa Kq (MASV,MAMH) khóa Lop MALOP, Lop thuộc tính MAKHOA khóa ngoại Các phép toán tập hợp (set operation) i Phép hợp (Union operation) Cho hai lược đồ quan hệ Q1 Q2 có tập thuộc tính {A1,A2, ,An} r1 r2 hai quan hệ Q1 Q2 Phép hợp hai lược đồ quan hệ Q1 Q2 tạo thành lược đồ quan hệ Q3 Q3 xác định sau: Q3+= {A1,A2, ,An} r3= r1+r2 = {t | t ∈ r1 t ∈ r2} Ví dụ: r1 r3 = r + r r2 MASV MAMH DIEMTHI MASV MAMH 99001 99002 99003 CSDL CTDL MANG 5.0 2.0 8.0 99002 99001 99003 CTDL TTNT CSDL ii DIEMTHI MASV MAMH DIEMTHI 2.0 5.0 6.0 99001 99002 99003 99001 99003 CSDL CTDL MANG TTNT CSDL 5.0 2.0 8.0 5.0 6.0 Pheùp Giao (Intersection): Cho hai lược đồ quan hệ Q1 Q2 có tập thuộc tính {A1,A2, ,An} r1 r2 hai quan hệ Q1 Q2 Phép giao hai lược đồ quan hệ Q1 Q2 tạo thành lược đồ quan hệ Q3 nhö sau: Q3+={A1,A2, ,An} r3 = r1*r2= {t | t ∈ r1 t ∈ r2} Ví dụ: r1 r2 r3 = r1* r2 MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI 99001 CSDL 5.0 99002 CTDL 2.0 99002 CTDL 2.0 99002 CTDL 2.0 99001 TTNT 5.0 99003 MANG 8.0 99003 CSDL 6.0 Bộ môn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 81 R(W,A,Z,Y,Q,P) R1(A,Z); R2(W,Y,Q,P) R3(Y,Q,P,A) F = {W →AYQP, A →Z, YQP →A} Hãy kiểm tra tính kết nối không thông tin 11/ Cho lược đồ quan hệ Q(Môn, GiảngViên,Giờ giảng, Phòng, SinhViên, Hạng) với F ={M→GV; G,P→M; G,GV→P; M,SV→H; G,SV→P} C = {Q1(M,G,P); Q2(M,GV);Q3( M,SV,H)} Kiểm tra xem lược đồ sở liệu sau có bảo toàn thông tin F ? 12/ Kiểm Tra Dang Chuẩn a) Q(A,B,C,D) F={CA→D; A→B} b) Q(S,D,I,M) F={SI→D;SD→M} c) Q(N,G,P,M,GV) F={N,G,P→M;M→GV} d) Q(S,N,D,T,X) F={S→N; S→D; S→T; S→X} 13/ Phân rã lược đồ thành dạng BCK a) Q(S,D,I,M) F={S,I→D;S,D→M} b) Q(A,B,C,D) F={A→B;B→C;D→B} c) Q(C,S,Z) F={C,S→Z; Z→C} 14/ Phân rã lược đồ thành dạng 3NF vừa bảo toàn phụ thuộc hàm vừa bảo toàn thoâng tin a) Q(A,B,C), F={A→B;A→C;B→A;C→A;B→C} b) Q(MSCD,MSSV,CD,HG) F={MSCD→CD; CD→MSCD; CD,MSSV→HG; MSCD,HG→MSSV; CD,HG→MSSV; MSCD,MSSV→HG} c) Q(A,B,C,D) F={ AB→C; C→B} oOo Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 82 ĐỀ THI MẪU MÔN CƠ SỞ DỮ LIỆU (thời gian 60 phút) Đề BÀI 1: (6 điểm) Để quản lý lịch dạy giáo viên lịch học lớp, trường tổ chức sau: Mỗi giáo viên có mã số giáo viên (MAGV) nhất, MAGV xác định thông tin như: họ tên giáo viên (HOTEN), số điện thoại (DTGV) Mỗi giáo viên dạy nhiều môn cho nhiều khoa thuộc quản lý hành chánh khoa Mỗi môn học có mã số môn học (MAMH) nhất, môn học xác định tên môn học (TENMH) ng với lớp môn học phân cho giáo viên Mỗi phòng học có số phòng học (PHONG) nhất, phòng có chức (CHUCNANG); chẳng hạn phòng lý thuyết, phòng thực hành máy tính, phòng nghe nhìn, xưởng thực tập khí,… Mỗi khoa có mã khoa (MAKHOA) nhất, khoa xác định thông tin như: tên khoa (TENKHOA), điện thoại khoa(DTKHOA) Mỗi lớp có mã lớp (MALOP) nhất, lớp có tên lớp (TENLOP), só số lớp (SISO) Mỗi lớp học nhiều môn nhiều khoa thuộc quản lý hành khoa Hàng tuần, giáo viên phải lập lịch báo giảng cho biết giáo viên dạy lớp nào, ngày (NGAYDAY), môn gì, phòng nào, từ tiết (TUTIET) đến tiết (DENTIET) nào, tựa đề dạy (BAIDAY), ghi (GHICHU) tiết dạy này, dạy lý thuyết (LYTHUYET) hay thực hành - giả sử LYTHUYET=1 dạy thực hành LYTHUYET=2 lý thuyết, ngày có 16 tiết, sáng từ tiết đến tiết 6, chiều từ tiết đến tiết 12, tối từ tiết 13 đến 16.Giả sử ta có lược đồ sở liệu để quản lý toán sau: Giaovien(MAGV,HOTEN,DTGV,MAKHOA) Monhoc(MAMH,TENMH) Phonghoc(PHONG,CHUCNANG) Khoa(MAKHOA,TENKHOA,DTKHOA) Lop(MALOP,TENLOP,SISO,MAKHOA) Lichday(MAGV,MAMH,PHONG,MALOP,NGAYDAY,TUTIET,DENTIET,BAIDAY,LYTHUYET,GHICHU) 1.Hãy xác định khóa cho lược đồ quan hệ (2,0 đ) 2.Phát biểu ràng buộc toàn vẹn miền giá trị, ràng buộc toàn vẹn liên thuộc tính (1.0 đ) 3.Dựa vào lược đồ CSDL trên, thực câu hỏi sau SQL (3,0 đ) a.Xem lịch báo giảng tuần từ ngày 16/09/2002 đến ngày 23/09/2002 giáo viên có MAGV (mã giáo viên) TH3A040 Yêu cầu: MAGV,HOTEN,TENLOP,TENMH,PHONG, NGAYDAY, TUTIET, DENTIET, BAIDAY, GHICHU) b.Xem lịch báo giảng ngày 23/09/2002 giáo viên có mã khoa CNTT Yêu cầu: MAGV,HOTEN,TENLOP,TENMH,PHONG, NGAYDAY, TUTIET, DENTIET,BAIDAY, GHICHU c.Cho biết số lượng giáo viên (SOLUONGGV) khoa, kết cần xếp tăng dần theo cột tên khoa yêu cầu: TENKHOA ,SOLUONGGV ( SOLUONGGV thuộc tính tự đặt) Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 83 BÀI 2: (4 điểm) Cho lược đồ quan hệ Q(A,B,C,D,E,G,H,K) tập phụ thuộc hàm F nhö sau; F = {C → AD; E→ BH; B→ K; CE→ G} Kiểm tra xem phụ thuộc hàm E→ K; E→G có thuộc tập F+ ? (1,0đ) Tìm tất khóa Q (1,0đ) Xác định dạng chuẩn Q (1,0đ) Nếu Q chưa đạt chuẩn BC Hãy phân rã Q thành lược đồ CSDL đạt chuẩn BC (1,0đ) ĐÁP ÁN BÀI 1:Câu 1: Giaovien(MAGV,HOTEN,DTGV,MAKHOA) Monhoc(MAMH,TENMH) Phonghoc(PHONG,CHUCNANG) Khoa(MAKHOA,TENKHOA,DTKHOA) Lop(MALOP,TENLOP,SISO,MAKHOA) Lichday(MAGV,MAMH,PHONG,MALOP,NGAYDAY,TUTIET,DENTIET,BAIDAY,LYTHUYET,GHICHU) a b Caâu 2: ∀ t ∈ rGiaovien RBTV miền giá trị t.HOTEN ≠ NULL cuối ∀ ∀ t ∈ rMonhoc RBTV miền giá trị t.TENMH ≠ NULL cuối ∀ ∀ t ∈ rKhoa RBTV miền giá trị t.TENKHOA ≠ NULL cuối ∀ ∀ t ∈ rLOP RBTV miền giá trị t.TENLOP ≠ NULL t.SISO > cuối ∀ ∀ t ∈ rLichday t.TUTIET < t.DENTIET RBTV liên thuộc tính t.NGAYDAY ≠ NULL RBTV miền giá trị t.BAIDAY ≠ NULL RBTV miền giá trị (t.LYTHUYET =1 Or t.LYTHUYET=2) RBTV miền giá trị (t.TUTIET >=1 t.TUTIET=1 t.DENTIET=#16/09/2002# AND ngaydayAD; E->BH; B->K; CE->G} Q(A,B,C,D,E,G,H,K) K = CE Tính F1, K1 F1={C->AD} Q1(C,A,D) K1 = C F2={E->BH} Q2(E,B,H) K2=E F12={E->BH;B->K;CE->G; } Q12(B,C,E,G,H,K) K12 = CE Tính F22,K22 Tính F2,K2 F22={E->K;CE->G} Q22(C,E,G,K) K22 = CE Tính F3,K3 F3={E->K} Q3(E,K) K3 = E Tính F4,K4 F4={CE->G} Q4(C,E,G) K4 = CE Q(A,B,C,D,E,G,H,K); F={C→AD; E→BH; B→K; CE→G} Vậy lược đồ quan hệ Q tách thành lược đồ sở liệu đạt chuẩn BC sau: Q1(C,A,D) F1={C→AD} đạt chuẩn BC Q2(E,B,H) F2={E→BH} đạt chuẩn BC Q3(E,K) F3={E→K} đạt chuẩn BC Q4(C,E,G) F4={CE→G} đạt chuẩn BC oOo Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 85 Đề Cho lược đồ sở liệu C dùng để quản lý hoạt động sửa chữa, bảo trì xe gara xe Lược đồ sở liệu C gồm lược đồ quan hệ sau: Q1: Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG) Tân từ: Mỗi người thợ có mã số MATHO để nhận diện Mỗi thợ có tên (TENTHO) thuộc nhóm (NHOM) Nhóm trưởng (NHOM_TRUONG)của nhóm số người thợ nhóm MGT(MATHO)=MGT(NHOM_TRUONG) Q2: Cong_viec(MACV,NOIDUNGCV) Tân từ: Dịch vụ sửa chữa xe chia nhỏ thành nhiều công việc để dễ dàng tính toán chi phí với khách hàng Mỗi công việc có mã riêng (MACV) nội dung công việc mô tả qua NOIDUNGCV Q3: Hop_dong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD, NG_GAIO_DK,NG_NGTHU) Tân từ: Mỗi hợp đồng sửa xe ký kết với khách hàng có mã số (SOHD) để phân biệt NGAYHD ngày ký hợp đồng Mỗi khách hàng có mã số (MAKH), tên (TENKH) địa (DCHI) để theo dõi công nợ SOXE số đăng xe đem đến sửa chữa, số phòng CSGT đường cấp (nếu xe đổi chủ xem xe khác) Khách hàng ký hợp đồng chủ xe sửa chữa Một khách hàng ký nhiều hợp đồng sửa chữa nhiều xe khác hợp đồng sửa chữa nhiều lần xe ngày Những công việc sửa chữa cho đầu xe ký hợp đồng lần TRIGIAHD tổng trị giá hợp đồng NG_GIAO_DK ngày dự kiến phải giao trả xe cho khách NG_NGTHU ngày nghiệm thu thật sau sửa chữa xong để lý hợp đồng Q4: Chitiet_HD(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO) Tân từ: Mỗi hợp đồng sửa xe gồm nhiều công việc MACV mã số công việc TRIGIA_CV chi phí vật tư, phụ tùng, thiết bị, công thợ tính toán với khách Mỗi công việc hợp đồng giao cho người thợ phụ trách (MATHO) người thợ tham gia vào nhiều công việc hay nhiều hợp đồng khác KHOANTHO số tiền giao khóan lại cho người thợ sửa chữa Q5: Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU) Tân từ: Khách hàng (MAKH) toán tiền hợp đồng (SOHD) làm nhiều lần trước sau nghiệm thu (trong ngày khác ngày) Mỗi lần toán có số phiếu để phân biệt (SOPH), NGAYPH ngày phát hành phiếu SOTIENTHU số tiền toán HOTEN họ tên người mang tiền đến toán (có thể khác với tên khách hàng đứng ký hợp đồng) Câu hỏi: 1/ Xác định tập hợp F gồm tất phụ thuộc ham suy từ tân từ lược đồ quan hệ (không cần liệt kê phụ thuộc hàm hiển nhiên) Xác định khóa cho lược đồ quan hệ Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 86 2/ Mô tả tất ràng buộc toàn vẹn lược đồ sở liệu C Lập bảng tầm ảnh hưởng tổng hợp 3/ Dùng ngôn ngữ SQL để thực yêu cầu sau: a) Cho biết danh sách người thợ không tham gia vào hợp đồng sửa chữa b) Cho biết danh sách hợp đồng lý (đã giao tra xe cho khách) chưa toán đầy đủ c) Giả sử hôm ngày 21/12/95 cho biết danh sách hợp đồng cần phải hoàn tất trước ngày 31/12/95 d) Cho biết người thợ thực nhiều công việc e) Cho biết người thợ thực tổng giá trị công việc (tổng số tiền) cao 4/ Lược đồ sở liệu C dạng chuẩn (cao nhất) Hãy dùng thuật toán phân rã để nâng cấp lược đồ sở liệu Lưu ý: Các thuộc tính xem thuộc tính đơn Đáp án: Câu 1: F1={MATHO→TENTHO,NHOM,NHOM_TRUONG} Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG) F2={MACV→NOIDUNGCV} Q2:Congviec(MACV,NOIDUNGCV) F3={SOHD→NGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU; MAKH→TENKH,DCHI} Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU) F4={SOHD,MACV→TRIGIA_CV,MATHO,KHOANTHO} Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO) F5={SOPH→NGAYPH,SOHD,HOTEN,SOTIENTHU;SOHD→MAKH} Q5:Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU) Câu 2: mô tả tất ràng buộc toàn vẹn: R11 ∀ t1,t2 ∈ rTho t1.MATHO ≠ t2.MATHO cuoái ∀ R12 rTho[NHOM_TRUONG] ⊆ rTho[MATHO] R13 ∀ t ∈ rTho t.TENTHO ≠ NULL t.NHOM ≠ NULL cuoái ∀ R21 ∀ t1,t2 ∈ rCongviec t1.MACV ≠ t2.MACV cuối ∀ Bộ mơn CSDL Trường CĐCN RBTV khóa RBTV khóa ngoại RBTV miền giá trị RBTV miền giá trị RBTV khóa Giáo trình CƠ SỞ DỮ LIỆU Trang 87 R22 ∀ t ∈ rCongviec t.NOIDUNGCV ≠ NULL cuối ∀ RBTV miền giá trị R31 ∀ t1,t2 ∈ rHopdong t1.SOHD ≠ t2.SOHD cuoái ∀ ∀ t ∈ rHopdong t.NGAYHD ≠ NULL t.MAKH ≠ NULL t.TENKH ≠ NULL t.SOXE ≠ NULL t.TRIGIAHD > t.NGAYHD cuoái ∀ RBTV RBTV RBTV RBTV RBTV RBTV RBTV miền giá trị miền giá trị miền giá trị miền giá trị miền giá trị liên thuộc tính liên thuộc tính RBTV khóa RBTV khóa ngoại RBTV khóa ngoại RBTV khóa ngoại RBTV liên thuộc tính RBTV miền giá trị ∀ t1,t2 ∈ rPhieu_thu RBTV khóa t1.SOPH ≠ t2.SOPH cuối ∀ rPhieu_thu[SOHD] ⊆ rHopdong[SOHD] RBTV khóa ngoại ∀ t ∈ rPhieuthu t.NGAYPH ≠ NULL RBTV miền giá trị t.MAKH ≠ NULL RBTV miền giá trị RBTV miền giá trị t.HOTEN ≠ NULL t.SOTIENTHU > RBTV miền giá trị cuối ∀ ∀t∈rPhieuthu ∃t’∈rHopdong RBTV liên thuộc tính liên quan hệ t.SOHD = t’.SOHD t.NGAYPH date() OR ISNULL(ng_ngthu)) b)SELECT sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu FROM hop_dong WHERE ng_giao_dk (SELECT SUM(SOTIENTHU) FROM phieu_thu WHERE phieu_thu.sohd = hop_dong.sohd) OR sohd Not In (Select sohd From phieu_thu)) c)SELECT sohd,ngayhd,makh,tenkh,dchi,soxe,trigiahd,ng_giao_dk,ng_ngthu FROM hop_dong WHERE ng_giao_dk > #12/21/95# AND ng_giao_dk = ALL (SELECT COUNT(macv) FROM chiTiet_hd GROUP BY matho) e)SELECT chiTiet_hd.matho,tentho,SUM(trigia_cv) AS congtrigia_cv FROM chiTiet_hd INNER JOIN tho ON chiTiet_hd.matho = tho.matho GROUP BY chiTiet_hd.matho,tentho HAVING SUM(trigia_cv) >= ALL (SELECT SUM(trigia_cv) FROM chiTiet_hd GROUP BY matho) Caâu 4: F1={MATHO→TENTHO,NHOM,NHOM_TRUONG} Q1:Tho(MATHO,TENTHO,NHOM,NHOM_TRUONG) K1 = MATHO ⇒ Q1 dạng chuẩn BC F2={MACV→NOIDUNGCV} Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 89 Q2:Congviec(MACV,NOIDUNGCV) K2 = MACV ⇒ Q2 dạng chuaån BC F3={SOHD→NGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU; MAKH→TENKH,DCHI} Q3: Hopdong(SOHD,NGAYHD,MAKH,TENKH,DCHI,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU) K3 = SOHD ⇒ Q3 dạng chuẩn F4={SOHD,MACV→TRIGIA_CV,MATHO,KHOANTHO} Q4:ChiTiet_hd(SOHD,MACV,TRIGIA_CV,MATHO,KHOANTHO) K4 = {SOHD,MACV} ⇒ Q4 dạng chuẩn BC F5={SOPH→NGAYPH,SOHD,HOTEN,SOTIENTHU;SOHD→MAKH} Q5:Phieu_thu(SOPH,NGAYPH,SOHD,MAKH,HOTEN,SOTIENTHU) K5 = SOPH ⇒ Q5 dạng chuẩn Vậy lược đồ sở liệu C đạt dạng chuẩn Để nâng cấp lược đồ sở liệu ta phải phân rã Q3 Q5 thành: F31={SOHD→NGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU} Q31: Hopdong(SOHD,NGAYHD,MAKH,SOXE,TRIGIAHD,NG_GIAO_DK,NG_NGTHU) K31 = SOHD ⇒ Q31 đạt chuẩn BC F32={MAKH→TENKH,DCHI} Q32: Khachhang(MAKH,TENKH,DCHI) K32 = MAKH ⇒ Q32 đạt chuẩn BC F51={SOPH→NGAYPH,SOHD,HOTEN,SOTIENTHU} Q51:Phieu_thu(SOPH,NGAYPH,SOHD,HOTEN,SOTIENTHU) K51 = SOPH ⇒ Q51 đạt chuẩn BC F52={SOHD→MAKH} Q52:Hopdong(SOHD,MAKH) K52 = SOHD ⇒ Q52 đạt chuẩn BC Lược đồ Q52 lược đồ Q31 nên ta loại Q52 khỏi lược đồ sở liệu C Vậy lược đồ sở liệu C phân rã thành lược đồ Q1,Q2,Q31,Q32,Q4,Q51 oOo Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 90 Đề Cho lược sơ đồ sở liệu C dùng để quản lý hoạt động kinh doanh kiều hối đơn vị Lược đồ sở liệu C gồm lược đồ quan hệ sau : Q1: Nguyen_te(LOAINT,NGAY,TIGIA,TILE_HH) Tân từ : Mỗi nguyên tệ nhận diện qua LOAINT Các loại nguyên tệ là: USD, FF, DM, YEN, Thuộc tính TIGIA tỉ giá so với tiền đồng VN nguyên tệ ngày ( Ngân hàng Ngoại thương định vào đầu ngày cố định ngày) Thuộc tính TILE_HH tỉ lệ % huê hồng mà công ty hưởng giá trị chi trả nguyên tệ (tỉ lệ cố định năm) Lưu ý : Quan hệ chứa nguyên tệ mà công ty có chi trả kiều hối Mỗi cần chi trả môt loại nguyên tệ mới, công ty bắt đầu lưu tỉ giá nguyên tệ kể từ ngày chi trả trở Q2: Don_vi(MADV,NUOC) Tân từ : Công ty làm đại diện cho khoảng 50 đơn vị nước để chi trả kiều hối cho khách hàng VN Mỗi đơn vị có mã riêng để phân biệt (MADV)và đặt trụ sở nước (NUOC) Q3: Danh_sach(MADV,SODS,NGAYDS) Tân từ : Mỗi danh sách liên quan đến đơn vị, có số thứ tự (SODS) để phân biệt với danh sách khác đơn vị Thuộc tính NGAYDS ngày công ty nhận danh sách, ngày mà đơn vị nước gởi danh sách cho công ty Trong ngày, đơn vị nước gởi tối đa danh sách Q4: Ctiet_ds(MADV,SODS,HOTENKH,DIACHI,LOAINT,TIENNT) Tân từ : Mỗi danh sách chi trả đơn vị gồm nhiều khách hàng Giả sử thuộc tính HOTENKH thêm số thông tin phụ đủ để phân biệt với khách hàng khác danh sách Mỗi khách hàng có địa (DIACHI) nhiều khách hàng có chung địa Trong danh sách, khách hàng nhận loại nguyên tệ với số tiền nguyên tệ TIENNT Q5: Giay_bao(SOGB,MADV,SODS,HOTENKH,NGAYGB,LAN) Tân từ : Sau nhận danh sách đơn vị, công ty gởi giấy báo cho khách hàng VN Mỗi giấy báo có số thứ tự SOGB (đánh số tăng dần) để phân biệt với giấy báo khác (của đơn vị khác đơn vị) Nếu sau lần gởi giấy báo (mỗi lần cách tuần) mà khách hàng không đến nhận tiền, công ty gởi trả cho đơn vị nước ngoài) Q6:Chi_tra(SOPCHI,MADV,SODS,HOTENKH,NGAYCTRA,SOTIENVN) Tân từ : Mỗi khách hàng danh sach đơn vị, sau nhận giấy báo, đến nhận tiền đồng VN lần công ty phiếu chi tiền cho khách có số SOPCHI để phân biệt với phiếu chi khác Thuộc tính SOTIENVN số tiền ĐVN mà khách hàng nhận tương đương với TIENNT ghi danh sách Tỉ giá qui đổi tính vào ngày chi trả (NGAYCTRA) Số tiền huê hồng mà công ty hưởng tính toán dựa số tiền thực chi (SOTIENVN) tỉ lệ huê hồng nguyên tệ Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 91 Câu hỏi : Xác định tập F gồm tất phụ thuộc hàm suy từ tân từ lược đồ quan hệ Xác định khóa cho lược đồ quan hệ Mô tả tất ràng buộc toàn vẹn lược đồ sở liệu Lập bảng tầm ảnh hưởng tổng hợp Dùng ngôn ngữ SQL để thực yêu cầu sau: a) Cho biết tỉ giá nguyên tệ ngày 21/12/95 b) Cho biết danh sách chi trả kiều hối đơn vị có trụ sở đặt nước Pháp c) Cho biết khách hàng không đến nhận tiền d) Cho tổng số tiền huê hồng mà công ty khoảng thời gian từ ngày d1 đến ngày d2 e) Cho biết đơn vị nước có tổng số tiền chi trả (tính theo tiền đồng VN) cao Lược đồ sở liệu C dạng chuẩn (cao nhất) ? Hãy dùng thuật toán phân rã để nâng cấp sở liệu Lưu ý : Các thuộc tính có miền giá trị ngày dương lịch xem thuộc tính đơn oOo Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 92 Đề Cho lược đồ sở liệu C dùng để quản lý việc thuê mướn phòng khách sạn Lược đồ sở liệu C gồm lược đồ quan hệ nhu sau : Q1: Phong(MAPH,SO_NGUOI,DACDIEM,GIA_PHONG) Tân từ: Các phòng khách sạn phân biệt với qua MAPH SO_NGUOI khả chứa tối đa phòng DACDIEM mô tả số đặc điểm phòng GIA_PHONG giá thuê phòng ngày Q2: Tien_nghi(LOAI_TN,TEN_TN) Tân từ: Ngoài vật dụng tối thiểu, khách sạn trang bị thêm số tiện nghi khác cho phòng : điện thoại, tivi, tủ lạnh, … LOAI_TN mã số để phân biệt loại tiện nghi TEN_TN tên gọi loại tiện nghi Q3: Tai_san(LOAI_TN,STT,MAPH,NGAY_TB) Tân từ : Mỗi loại tiện nghi, khách sạn mua số lượng lớn STT dùng để phân biệt vật dụng loại tiện nghi Một vật dụng xếp trang bị cho nhiều phòng khác ngày vật dụng trang bị cho phòng MAPH phòng trang bị NGAY_TB ngày bắt đầu trang bị Lưu ý : Mỗi vật dụng thay đổi phòng cập nhật lại MAPH NGAY_TB vật dụng Q4: Thue_phong(MAPH,HOTEN,NGAYBD,NGAYKT,NGAYTRA,LOAIDV,NGAYDV,TIENDV) Tân từ : HOTEN họ tên khách thuê phòng MAPH Giả sử hô tên khách thuê phòng phòng ngày luôn khác NGAYBD NGAYKT ngày bắt đầu ngày kết thúc (dự kiến) thuê phòng NGAYTRA ngày trả thật Giả sử trường hợp khách trả phòng thuê lại phòng ngày Số tiền thuê phòng chia cho số khách thuê phòng Khách thuê phòng sử dụng thêm dịch vụ (gọi điện thoại đường dài, thuê xe, thủ tục hành chính, …) LOAI_DV mã số loại dịch vụ sử dụng NGAYDV ngày dịch vụ thực TIENDV số tiền khách thuê phải trả cho dịch vụ Nếu ngày khách thuê phòng sử dụng dịch vụ nhiều lần tiền dịch vụ cộng dồn lại thành lần tạo thành (ví dụ ngày gọi điện thoại với số tiền phải trả : 5000ĐVN, 4500ĐVN, 2000ĐVN tính chung lần 11500ĐVN) Các dịch vụ tính riêng khách Nếu dịch vụ chung cho số khách tính tiền cho đơn vị khách đại diện Câu hỏi : Xác định tập F gồm tất phụ thuộc hàm suy từ tân từ lược đồ quan hệ Xác định khóa cho lược đồ quan hệ Mô tả tất ràng buộc toàn vẹn lược đồ sở liệu C Lập bảng tầm ảnh hưởng tổng hợp ràng buộc toàn vẹn Dùng ngôn ngữ SQL để thực yêu cầu sau : a) Cho biết thông tin phòng có khả chứa người b) Cho biết thông tin phòng có trang bị máy lạnh (LOAITN=’ML’) Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 93 c) Cho biết thông tin phòng (02/01/96) có trang bị máy lạnh d) Giả sử hôm ngày 02/01/96 Tính tổng số tiền phải trả (tiền thuê phòng tiền dịch vụ) khách thuê phòng X từ ngày 21/12/95 trả phòng vào hôm e) Cho biết doanh số thu phòng (không tính tiền dịch vụ) Lược đồ sở liệu C dạng chuẩn (cao nhất) ? Hãy dùng thuật toán phân rã để nâng cấp lược đồ sở liệu C Lưu ý : Các thuộc tính có miền giá trị ngày dương lịch xem thuộc tính đơn oOo Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 94 Đề Cho lược đồ sở liệu C dùng để quản lý việc việc cho mượn sách thư viện (xem chỗ mang nhà) Lược đồ sở liệu C gồm lược đồ quan hệ sau : Q1 : The_loai(MATL,TENTL) Tân từ : Sách thư viện phân chia theo thể loại để bạn đọc dễ dàng tra cứu MATL mã số thể loại dùng để phân biệt thể loại TENTL tên gọi thể loại Q2 : Sach(MASH,TENSH,NGUYEN_TAC,TAC_GIA,MATL) Tân từ : MASH dùng để phân biệt sách TENSH tên (tựa) tiếng Việt sách NGUYEN_TAC tên nguyên tác (tiếng Việt tiếng nước ngoài) TAC_GIA tên tác giả (hay nhóm tác giả) sách Nếu sách có nhiều tập hay nhiều xem đầu sách khác có mã số khác MATL mã thể loại sách Q3 : phieu_muon(MADG,TENDG,DCHI,NGAYCAP,MASH,NGAYMUON,NGAYTRA,TAI_CHO) Tân từ : Mỗi độc giả có phiếu mượn sách với mã số MADG để phân biệt với độc giả khác Các thuộc tính TENDG, DCHI tên địa độc giả NGAYCAP ngày cấp thẻ cho độc giả MASH mã số sách mượn Giả sử trường hợp mượn trả lại sách ngày Nếu sách mượn đọc chỗ thuộc tính TAI_CHO có giá trị True NGAYMUON=NGAYTRA Nếu sách mượn nhà thuộc tính TAI_CHO có giá trị False NGAYTRA có giá trị trống sách mang trả lại cho thư viện Mỗi độc giả giữ nhà tối đa sách sách giữ nhà tối đa 30 ngày (không cần lưu ý đến biện pháp xử lý khách vi phạm nội qui) Q4 : Le_phi(MADG,NAM,NGAY_NOP,SOTIEN) Tân từ: Độc giả phải đóng lệ phí năm (NAM) để gia hạn thẻ mượn sách NGAY_NOP,SOTIEN ngày số tiền nôp lệ phí cho NAM Câu hỏi : Xác định tập F gồm tất phụ thuộc hàm suy từ tân từ lược đồ quan hệ Xác định khóa cho lược đồ quan hệ Mô tả tất ràng buộc toàn vẹn lược đồ sở liệ C Lập bảng tầm ảnh hưởng tổng hợp ràng buộc toàn vẹn Dùng ngôn ngữ SQL để thực yêu cầu sau : a) Cho biết danh sách độc giả sách mượn 20 ngày (kể từ ngày 02/01/96) b) Cho biết sách có tên thể loại “Tin học” có tham gia biên soạn tác giả “X” c) Cho biết tổng số lần mượn sách d) Cho biết tổng số lần mượn thể loại sách e) Cho biết thể loại sách mượn nhiều Lược đồ sở liệu C dạng chuẩn (cao nhất) ? Hãy dùng thuật toán phân rã để nâng cấp lược đồ sở liệu C Lưu ý : Các thuộc tính có miền giá trị ngày dương lịch xem thuộc tính đơn Bộ mơn CSDL Trường CĐCN Giáo trình CƠ SỞ DỮ LIỆU Trang 95 TÀI LIỆU THAM KHẢO [1].Nhập môn sở liệu Đồng Thị Bích Thủy - Nguyễn An Tế [2].Cơ sở liệu – lý thuyết thực hành Nguyễn Bá Tường [3].Cơ sở liệu Đỗ Trung Tuấn [4].Mô hình liệu ngôn ngữ truy vấn JEFFREY D ULLMAN [5].Lý thuyết thiết kế sở lieäu JEFFREY D ULLMAN [6].The Theory Of Relational Databases DAVID MAIER oOo Bộ môn CSDL Trường CĐCN ... 9/8 10 :15 a Cushing 11 6 10 /8 10 :15 a Clark 2 81 8/8 10 :15 a Clark 3 01 12/8 10 :15 a Clark 83 11 /8 10 :15 a Chin 83 13 /8 10 :15 a Chin 11 6 12 /8 10 :15 a Copely 2 81 9/8 10 :15 a Copely 2 81 13/8 10 :15 a Copely 412 ... 28-08 -19 77 FALSE 29-03 -19 79 FALSE 30-05 -19 81 FALSE 30-06 -19 76 FALSE 29-07 -19 82 FALSE 21- 08 -19 77 FALSE 19 -05 -19 79 FALSE 16 -06 -19 82 TRUE 11 -11 -19 81 FALSE 01- 01- 1980 FALSE 12 -12 -19 79 TRUE 11 -11 -19 80... 9/8 10 :15 a Cushing 11 6 10 /8 1: 25p Clark 2 81 8/8 5:50a Clark 3 01 12/8 6:35p Clark 83 11 /8 10 :15 a Chin 83 13 /8 10 :15 a Chin 11 6 12 /8 1: 25p Copely 2 81 9/8 5:50a Copely 2 81 13/8 5:50a Copely 412 15 /8

Ngày đăng: 25/01/2014, 13:20

Từ khóa liên quan

Mục lục

  • .

    • NGUYÊN NHÂN RA ĐỜI CỦA MÔ HÌNH QUAN HỆ (RELATIONAL MOD

    • CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (DATABAS

      • CSDL là gì?

      • Hệ quản trò CSDL

      • Người dùng (User)

      • CSDLQH và Hệ tập tin theo lối cũ

        • Vấn đề 1: cấu trúc logic và cấu trúc vật lý

        • Vấn đề 2: dư thừa dữ liệu

        • Vấn đề 3: Sự khai thác dữ liệu của người sử dụng

        • MÔ HÌNH QUAN HỆ (RELATIONAL MODEL)

          • Mô hình quan hệ là gì ?

          • Các khái niệm cơ bản của mô hình quan hệ

            • Thuộc tính (Attribute, Arity)

            • Lược Đồ Quan Hệ (Relation Schema)

            • Quan Hệ (Relation)

            • Bộ (Tuple)

            • Khóa (Key, Candidate Key):

            • Các phép toán tập hợp (set operation)

              • Phép hợp (Union operation)

              • Phép Giao (Intersection):

              • Phép Trừ (Minus, difference)

              • Tích Descartes (Cartesian Product, product)

              • Các phép toán quan hệ

                • Phép Chiếu (Projection)

                • Phép Chọn (Selection)

                • Phép kết, Phép Kết Tự Nhiên (join, natural join):

Tài liệu cùng người dùng

Tài liệu liên quan