Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
806,58 KB
Nội dung
CƠ SỞ DỮ LIỆU GV: ThS Lương Thị Ngọc Khánh Email: ltnkhanh@it.tdt.edu.vn Web: it.tdt.edu.vn/~ltnkhanh Chương IV ĐẠI SỐ QUAN HỆ • • • • Giới thiệu Phép chọn Phép chiếu Phép tích decac • Phép kết nối • • • • • Phép Phép Phép Phép Phép hợp giao hiệu chia đặt lại tên Giới thiệu • Đại số quan hệ – phương pháp để mơ hình hóa phép toán thao tác CSDL quan hệ – ưu điểm mơ hình liệu quan hệ – đơn giản mạnh đại số có tính đầy đủ, phi thủ tục – sở cho việc thiết lập ngôn ngữ liệu bậc cao 01-2014 504009 – Đại số quan hệ Khái niệm liên quan • Hai quan hệ tương thích/ rời – hai quan hệ r1, r2 tương thích với chúng có tập thuộc tính U Và r1, r2 gọi hai quan hệ rời chúng khơng có thuộc tính chung • Khái niệm xếp cạnh nhau: Giả sử cho t = (a1, a2,…, an), u = (b1, b2, …, bm) ta có: t,u = (a1, a2,…, an, b1, b2, …, bm) 01-2014 504009 – Đại số quan hệ Phép chọn (Selection) • Ký hiệu • Dùng để xây dựng tập thỏa mãn điều kiện cho trước • Kết phép chọn quan hệ r với điều kiện C ký hiệu C(r) C(r) = {t / t r, C(t) = True} 01-2014 504009 – Đại số quan hệ Phép chọn (tt) – Biểu thức lôgic C tạo thành từ biểu thức có dạng: tên thuộc tính tốn tử so sánh giá trị hằng tên thuộc tính tốn tử so sánh tên thuộc tính , – • tên thuộc tính tên thuộc tính thuộc R • tốn tử so sánh tốn tử thơng thường {=, , ≥, ≠} • giá trị hằng giá trị miền thuộc tính 01-2014 504009 – Đại số quan hệ Phép chọn (tt) – Ví dụ: Trên quan hệ HOCBONG, • phép chọn (DiemTB≥9.0)(HOCBONG) ta có kết sau: maSoSV hoTenSV Ngaysinh ĐiemTB MucHBg Ti05020 Lê Ngọc Phúc 06-12-1988 9.0 240.000 01-2014 504009 – Đại số quan hệ Phép chọn (tt) • Lưu ý: – Toán tử so sánh tập {=, , ≥, ≠} áp dụng cho thuộc tính có MGT có thứ tự Nếu miền thuộc tính ko có thứ tự, tốn tử so sánh áp dụng tập {=, ≠} – Các tốn tử chọn có tính giao hoán, cụ thể: – ((R)) = ((R)) 01-2014 504009 – Đại số quan hệ Phép chọn (tt) • Cho lược đồ quan hệ sau: – SINHVIEN (MaSV, Hoten, Namsinh, QQ, Hocluc) • Mỗi sinh viên có Mã số nhất, họ tên, quê quán học lực – DETAI (MaDT, TenDT, Chunhiem, Kinhphi) • Mỗi đề tài có Mã số nhất, tên đề tài, chủ nhiệm đề tài, kinh phí thực đề tài (đơn vị tính: triệu đồng) – SV_DT (MaSV, MaDT, NoiAD, KQ) • Mỗi SV thực nhiều ĐT: mã số sinh viên, mã đề tài, nơi áp dụng, kết thực đề tài • Ta có sở liệu mẫu cho sau: 01-2014 504009 – Đại số quan hệ Phép chọn (tt) 01-2014 504009 – Đại số quan hệ 10 Phép kết nối (tt) • Ví dụ: r 01-2014 s D F A B C f1 a1 b1 f2 a2 b2 a3 b r ⋈C>=Ds A 504009 – Đại số quan hệ B C D F a2 b2 f1 a2 b2 3 f2 a3 b f1 21 Phép kết nối (tt) • Ý nghĩa: – Phép kết nối dùng để kết hợp hai có liên quan thuộc hai quan hệ khác thành – nói cách khác, phép kết nối cho phép xử lý mối liên quan quan hệ CSDL 01-2014 504009 – Đại số quan hệ 22 Phép hợp (Union) • Phép hợp – Hợp hai quan hệ tương thích r1, r2 ký hiệu r1 r2 quan hệ U gồm phần tử thuộc r1 r2 r1 r2 = {t: t r1 t r2} 01-2014 504009 – Đại số quan hệ 23 Phép hợp (tt) • Ví dụ: Cho LĐQH sau: Canbo(Maso, Hoten, Ngsinh, QQ, Hs_luong) Giangvien(Maso, Hoten, Ngaysinh, QQ, Hs_luong) - In danh sách gồm: mã số họ tên tất cán giảng viên: ∏Maso, Hoten(Canbo U Giảngviên) 01-2014 504009 – Đại số quan hệ 24 Phép giao (Intersection) • Giao hai quan hệ tương thích r1, r2 ký hiệu r1 r2 quan hệ U gồm vừa thuộc r1 vừa thuộc r2 r1 r2 = {t: t r1 t r2} 01-2014 504009 – Đại số quan hệ 25 Phép giao (tt) • Vd: In mã sinh viên họ tên sinh viên vừa thực đề tài "DT001" vừa thực đề tài "DT005” ∏MaSV, Hoten(σ(MaDT='DT001')(SINHVIEN * SV_DT )) ∏MaSV, Hoten(σ(MaDT='DT005')(SINHVIEN * SV_DT )) 01-2014 504009 – Đại số quan hệ 26 Phép hiệu (Minus or except) • Hiệu hai quan hệ tương thích r s ký hiệu r - s, quan hệ gồm tất thuộc r không thuộc s r – s = {t: t r t s} • Ví dụ: In mã sinh viên họ tên sinh viên khơng thực đề tài có nơi áp dụng Vĩnh Long ∏MaSV, Hoten(SINHVIEN) ∏MaSV, Long')(SV_DT))*SINHVIEN) 01-2014 504009 – Đại số quan hệ Hoten((σ(Noi_AD='Vinh 27 Ví dụ 01-2014 504009 – Đại số quan hệ 28 Phép chia (Division) • Cho R(A1, A2, …, An), S lược đồ R • r s quan hệ R S r s = {t: ts s t, ts r} 01-2014 504009 – Đại số quan hệ 29 Phép đặt lại tên • sử dụng để đặt tên cho quan hệ trung gian – ký hiệu: tên quan hệ trung gian biểu thức ĐSQH 01-2014 504009 – Đại số quan hệ 30 Phép đặt lại tên (tt) • Ví dụ: – Với biểu thức (THANHTICH) DiemTB≥9.0(HOCBONG) • (trong THANHTICH bảng lưu thành tích sinh viên gồm thuộc tính maSoSV, thanhTichSV), ta dùng phép đặt tên sau: XuatSac KetQua DiemTB≥9.0(HOCBONG) XuatSac THANHTICH – Có thể đặt lại tên cho thuộc tính quan hệ trung gian quan hệ kết cách liệt kê tên thuộc tính dấu ngoặc kèm theo tên quan hệ 01-2014 504009 – Đại số quan hệ 31 Bài tập chương IV • Cho lược đồ quan hệ sau: • Hanghoa(MaHG, TenHG, DVT, Dongia, Cohang) – Mỗi mặt hàng có mã số có tên hàng, đơn vị tính, đơn giá hàng có cịn kho hay khơng (Cohang = hết hàng, Cohang = cịn hàng) • Khach(MaKH, Hoten, Diachi, Daily) – Mỗi khách hàng có mã số nhất, họ tên, địa khách có phải đại lý hay khách hàng lẻ (Daily = khách đại lý, Daily = khách khách mua bán lẻ) • Hoadon(SoHD, Ngaylap, Ngaygiao, Trigia, MaKH) – Mỗi hóa đơn có số hóa đơn nhất, ngày lập, trị giá hóa đơn, ngày giao hàng giao cho khách hàng • Chitiet_HD(SoHD, MaHG, Soluong, Giaban) – Lưu thơng tin chi tiết hóa đơn bao gồm số HĐ, mã hàng, số lượng bán giá bán mặt hàng 01-2014 504009 – Đại số quan hệ 32 Bài tập chương IV (tt) • Viết biểu thức đại số quan hệ cho câu hỏi sau: – Cho biết Mã số tên mặt hàng kho – Cho biết họ tên địa khách hàng đại lý – Cho biết trị giá hóa đơn lập vào ngày 12/05/2007 01-2014 504009 – Đại số quan hệ 33 Bài tập chương IV (tt) – Cho biết họ tên, địa khách hàng lẻ mua hàng vào ngày 15/01/2007 – In thông tin gồm mã số, tên hàng đơn vị tính mặt hàng khách hàng Đồng Tháp mua vào ngày 15/12/2006 01-2014 504009 – Đại số quan hệ 34 Bài tập chương IV (tt) – In mã số, tên mặt hàng thuộc hóa đơn có trị giá lớn 1000 – Cho biết tên mặt hàng chưa bán – Cho biết mã số, tên đại lý khơng mua hai mặt hàng “H001” “H002” – Tìm tên mặt hàng vừa mua đại lý Vĩnh Long vừa mua khách hàng lẻ Trà Vinh 01-2014 504009 – Đại số quan hệ 35 ... phép tốn thao tác CSDL quan hệ – ưu điểm mô hình liệu quan hệ – đơn giản mạnh đại số có tính đầy đủ, phi thủ tục – sở cho việc thiết lập ngôn ngữ liệu bậc cao 01-2014 504009 – Đại số quan hệ Khái... liệt kê tên thuộc tính dấu ngoặc kèm theo tên quan hệ 01-2014 504009 – Đại số quan hệ 31 Bài tập chương IV • Cho lược đồ quan hệ sau: • Hanghoa(MaHG, TenHG, DVT, Dongia, Cohang) – Mỗi mặt hàng... bao gồm số HĐ, mã hàng, số lượng bán giá bán mặt hàng 01-2014 504009 – Đại số quan hệ 32 Bài tập chương IV (tt) • Viết biểu thức đại số quan hệ cho câu hỏi sau: – Cho biết Mã số tên mặt hàng kho