Bài giảng cung cấp cho người học các kiến thức: Đại số quan hệ. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu.
Chương Đại số quan hệ Nội dung chi tiết Giới thiệu Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép kết Phép chia Các phép toán khác Các thao tác cập nhật quan hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Giới thiệu Xét số xử lý quan hệ NHANVIEN - Thêm nhân viên - Chuyển nhân viên có tên “Tùng” sang phòng số TENNV HONV NGSINH DCHI PHAI LUONG PHONG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Quang Pham 11/10/1937 450 TV HN Nam 55000 Cho biết họ tên ngày sinh nhân viên có lương 40000 Nhu Le 06/20/1951 Quang Pham 11/10/1937 Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Giới thiệu (tt) Có loại xử lý - Làm thay đổi liệu (cập nhật) • Thêm mới, xóa sửa - Khơng làm thay đổi liệu (rút trích) • Truy vấn (query) Thực xử lý - Đại số quan hệ (Relational Algebra) • Biểu diễn câu truy vấn dạng biểu thức - Phép tính quan hệ (Relational Calculus) • Biểu diễn kết - SQL (Structured Query Language) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Nhắc lại Đại số - Toán tử (operator) - Toán hạng (operand) Trong số học - Toán tử: +, -, *, / Toán hạng - biến (variables): x, y, z Hằng (constant) Biểu thức • • (x+7) / (y-3) (x+y)*z and/or (x+7) / (y-3) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Đại số quan hệ Biến quan hệ - Tập hợp (set) Toán tử phép toán (operations) - Trên tập hợp • • • Hội (union) Giao (intersec) Trừ (difference) - Rút trích phần quan hệ • • Chọn (selection) Chiếu (projection) - Kết hợp quan hệ • • Tích Cartesian (Cartesian product) Kết (join) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Đại số quan hệ (tt) Hằng số thể quan hệ Biểu thức - Được gọi câu truy vấn - Là chuỗi phép toán đại số quan hệ - Kết trả thể quan hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Nội dung chi tiết Giới thiệu Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép kết Phép chia Các phép toán khác Các thao tác cập nhật quan hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Phép toán tập hợp Quan hệ tập hợp - Phép hội R S - Phép giao R S - Phép trừ R S Tính khả hợp (Union Compatibility) - Hai lược đồ quan hệ R(A1, A2, …, An) S(B1, B2, …, Bn) khả hợp • • Cùng bậc n Và có DOM(Ai)=DOM(Bi) , 1 i n Kết , , quan hệ có tên thuộc tính với quan hệ (R) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Phép toán tập hợp (tt) Ví dụ NHAN_VIEN TENNV NGSINH PHAI Tung 12/08/1955 Hang THAN_NHAN TENTN NG_SINH PHAITN Nam Trinh 04/05/1986 Nu 07/19/1968 Nu Khang 10/25/1983 Nam Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu Hung 09/15/1962 Nam Minh 02/28/1942 Nam Chau 12/30/1988 Nu Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 10 Ví dụ 19 Cho biết tên phịng ban có số lượng nhân viên đơng Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 78 Ví dụ 20 Cho biết tên nhân viên phân công làm nhiều đề án Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 79 Ví dụ 21 Cho biết tên phịng số lượng nhân viên phịng Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 80 Phép kết Mở rộng phép kết để tránh mát thông tin - Thực phép kết - Lấy thêm khơng thỏa điều kiện kết Có hình thức - Mở rộng bên trái - Mở rộng bên phải - Mở rộng bên Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 81 Ví dụ 22 Cho biết họ tên nhân viên tên phòng ban mà họ trưởng phòng có NHANVIEN MANV=TRPHG PHONGBAN KQ HONV,TENNV, TENPHG (R1) R1 TENNV HONV TENPHG Tung Nguyen Nghien cuu Hang Bui null Nhu Le null Vinh Pham Quan ly Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 82 Ví dụ 22-b Cho biết tên phịng ban tên trưởng phịng phịng ban có Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 83 Ví dụ 22-c Cho biết tên nhân viên tên phịng ban mà nhân viên trực thuộc có Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 84 Nội dung chi tiết Giới thiệu Đại số quan hệ Phép toán tập hợp Phép chọn Phép chiếu Phép tích Cartesian Phép kết Phép chia Các phép toán khác Các thao tác cập nhật quan hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 85 Các thao tác cập nhật Nội dung CSDL cập nhật thao tác - Thêm (insertion) - Xóa (deletion) - Sửa (updating) Các thao tác cập nhật diễn đạt thơng qua phép tốn gán Rnew phép tốn Rold Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 86 Thao tác thêm Được diễn đạt Rnew Rold E - R quan hệ - E biểu thức ĐSQH Ví dụ - Phân cơng nhân viên có mã 123456789 làm thêm đề án mã số 20 với số 10 PHANCONG PHANCONG (‘123456789’, 20, 10) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 87 Thao tác xóa Được diễn đạt Rnew Rold E - R quan hệ - E biểu thức ĐSQH Ví dụ - Xóa phân công đề án nhân viên 123456789 PHANCONG PHANCONG Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM MANV=‘123456789’(PHANCONG) 88 Ví dụ 23 Xóa phân cơng đề án có địa điểm „Ha Noi‟ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 89 Thao tác sửa Được diễn đạt Rnew F1, F2, …, Fn (Rold) - R quan hệ - Fi biểu thức tính tốn cho giá trị thuộc tính Ví dụ - Tăng thời gian làm việc cho tất nhân viên lên 1.5 lần PHANCONG MA_NVIEN, SODA, THOIGIAN*1.5(PHANCONG) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 90 Ví dụ 24 Các nhân viên làm việc 30 tăng thời gian làm việc lên 1.5 lần, lại tăng lên lần Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 91 Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 92 ... (projection) - Kết hợp quan hệ • • Tích Cartesian (Cartesian product) Kết (join) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Đại số quan hệ (tt) Hằng số thể quan hệ Biểu thức - Được gọi câu truy vấn -. .. truy vấn - Là chuỗi phép toán đại số quan hệ - Kết trả thể quan hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Nội dung chi tiết Giới thiệu Đại số quan hệ Phép tốn tập hợp Phép chọn... Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 16 Phép chọn (tt) Kết trả quan hệ - Có danh sách thuộc tính với R - Có số ln số R Ví dụ R A B C D 12 23 10 Cơ sở liệu - Khoa CNTT -