11/22/2018<br />
<br />
CƠ SỞ DỮ LIỆU<br />
ĐẠI SỐ QUAN HỆ<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
NỘI DUNG<br />
<br />
1<br />
<br />
• Các phép toán một ngôi<br />
<br />
2<br />
<br />
• Các phép toán hai ngôi<br />
<br />
3<br />
<br />
• Các phép toán khác<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
CÁC PHÉP TOÁN MỘT NGÔI<br />
Phép chọn<br />
Chọn từ quan hệ R các bộ dữ liệu thỏa mãn điều kiện C.<br />
Ký hiệu: σC(R)<br />
<br />
Phép chiếu<br />
Chia quan hệ R thành hai phần: phần được chọn chứa các thuộc<br />
tính chiếu, phần không được chọn chứa các thuộc tính còn lại.<br />
Ký hiệu: L(R)<br />
<br />
Phép đổi tên<br />
Đổi tên quan hệ R và các thuộc tính của nó.<br />
Ký hiệu: S(R)<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
1<br />
<br />
11/22/2018<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
CÁC PHÉP TOÁN MỘT NGÔI<br />
Một số chú ý<br />
• Điều kiện chọn là một biểu thức lôgic kết<br />
hợp các phép so sánh bởi các phép nối lôgic<br />
AND, OR, và NOT<br />
• Phép chiếu được áp dụng lên các thuộc tính<br />
và các biểu thức tính toán dựa trên các<br />
thuộc tính đó<br />
• Phép chọn và phép chiếu làm giảm kích<br />
thước của quan hệ kết quả so với quan hệ<br />
gốc<br />
<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
CÁC PHÉP TOÁN MỘT NGÔI<br />
Các ví dụ<br />
• Liệt kê nhân viên trong đơn vị số 1<br />
DNum = 1(EMPLOYEE)<br />
<br />
• Liệt kê nhân viên làm việc trong<br />
đơn vị số 1 và có mức lương trên<br />
$85,000/năm<br />
DNum = 1 AND ESalary>85000 (EMPLOYEE)<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
CÁC PHÉP TOÁN MỘT NGÔI<br />
Các ví dụ<br />
• Liệt kê tên và mức lương cơ bản của<br />
tất cả nhân viên trong công ty<br />
EName, ESalary (EMPLOYEE)<br />
<br />
• Liệt kê tên và lương thực lãnh của<br />
nhân viên, biết lương thực lãnh bằng<br />
hai lần mức lương cơ bản<br />
EName, 2*ESalary (EMPLOYEE)<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
2<br />
<br />
11/22/2018<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
CÁC PHÉP TOÁN MỘT NGÔI<br />
Các ví dụ<br />
• Đổi tên thuộc tính PName<br />
PROJECT thành ‘proName’<br />
<br />
của<br />
<br />
PNumber, proName, dNum, PLocation (PROJECT)<br />
<br />
• Đổi tên quan hệ PROJECT thành<br />
quan hệ PROS (giữ nguyên tên các<br />
thuộc tính<br />
PROS (PROJECT)<br />
<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
BÀI TẬP 1<br />
DEPENDENT<br />
<br />
PROJECT<br />
<br />
EMPLOYEE<br />
<br />
DEPARTMENT<br />
<br />
DName<br />
<br />
PNumber<br />
<br />
ESSN<br />
<br />
DNumber<br />
<br />
ESSN<br />
<br />
PName<br />
<br />
EName<br />
<br />
DName<br />
<br />
DSex<br />
<br />
PLocation<br />
<br />
ESalary<br />
<br />
mgrSSN<br />
<br />
DBirthdate<br />
<br />
DNum<br />
<br />
ESex<br />
<br />
mgrStartdate<br />
<br />
EBirthdate<br />
<br />
DRelationship<br />
<br />
EStartdate<br />
<br />
WORKSON<br />
ESSN<br />
<br />
DNum<br />
supervisorSSN<br />
<br />
PNum<br />
<br />
DEPLOCATION<br />
DNum<br />
DLocation<br />
<br />
workHours<br />
<br />
<br />
<br />
<br />
<br />
<br />
Liệt kê tất cả nhân viên nữ trong công ty<br />
Liệt kê tất cả nhân viên nữ có mức lương trên 30.000<br />
Liệt kê tất cả nhân viên nữ ở độ tuổi từ 25 đến 40<br />
Liệt kê tất cả nhân viên nữ vừa được tuyển dụng trong<br />
năm nay<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
BÀI TẬP 1<br />
DEPENDENT<br />
<br />
PROJECT<br />
<br />
EMPLOYEE<br />
<br />
DEPARTMENT<br />
<br />
DName<br />
<br />
PNumber<br />
<br />
ESSN<br />
<br />
DNumber<br />
<br />
ESSN<br />
<br />
PName<br />
<br />
EName<br />
<br />
DName<br />
<br />
DSex<br />
<br />
PLocation<br />
<br />
ESalary<br />
<br />
mgrSSN<br />
<br />
DBirthdate<br />
<br />
DNum<br />
<br />
ESex<br />
<br />
mgrStartdate<br />
<br />
EBirthdate<br />
<br />
DRelationship<br />
<br />
EStartdate<br />
<br />
WORKSON<br />
ESSN<br />
PNum<br />
<br />
DNum<br />
supervisorSSN<br />
<br />
DEPLOCATION<br />
DNum<br />
DLocation<br />
<br />
workHours<br />
<br />
Liệt kê tên, tuổi của các nhân viên có từ 5 năm kinh<br />
nghiệm trở lên<br />
Liệt kê tên, số năm công tác của các nhân viên có<br />
mức lương trên 45.000<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
3<br />
<br />
11/22/2018<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
CÁC PHÉP TOÁN HAI NGÔI<br />
Phép toán tập hợp<br />
Quan hệ là một tập hợp, giữa hai quan hệ có các phép toán tập<br />
hợp như phép hợp, phép giao, và phép trừ<br />
<br />
Phép nhân chéo<br />
Tổ hợp các bộ từ hai quan hệ một cách ngẫu nhiên<br />
<br />
Phép kết theta<br />
Tổ hợp các bộ từ hai quan hệ sao cho thỏa mãn điều kiện kết<br />
<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
PHÉP TOÁN TẬP HỢP<br />
Điều kiện khả hợp<br />
Hai quan hệ được gọi là khả hợp, nếu có cùng số thuộc tính, và<br />
cùng miền giá trị cho từng cặp thuộc tính tương ứng<br />
<br />
Phép hợp<br />
R S = {t | t R t S}<br />
<br />
Phép giao<br />
R S = {t | t R t S}<br />
<br />
Phép trừ<br />
R S = {t | t R t S}<br />
<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
PHÉP TOÁN TẬP HỢP<br />
Một số chú ý<br />
• Các bộ dữ liệu trùng nhau bị loại bỏ ra<br />
khỏi kết quả của các phép toán tập hợp<br />
• Lược đồ của quan hệ kết quả là lược đồ<br />
của quan hệ đứng trước trong phép toán<br />
<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
4<br />
<br />
11/22/2018<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
PHÉP TOÁN TẬP HỢP<br />
Các ví dụ<br />
• Liệt kê nhân viên làm việc trong đơn vị<br />
số 1 và có mức lương trên<br />
$85,000/năm<br />
DNum = 1 AND ESalary>85000 (EMPLOYEE)<br />
R1=DNum = 1 (EMPLOYEE)<br />
R2=ESalary>85000 (EMPLOYEE)<br />
R = R1 R2<br />
<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
BÀI TẬP 2<br />
DEPENDENT<br />
<br />
PROJECT<br />
<br />
EMPLOYEE<br />
<br />
DEPARTMENT<br />
<br />
DName<br />
<br />
PNumber<br />
<br />
ESSN<br />
<br />
DNumber<br />
<br />
ESSN<br />
<br />
PName<br />
<br />
EName<br />
<br />
DName<br />
<br />
DSex<br />
<br />
PLocation<br />
<br />
ESalary<br />
<br />
mgrSSN<br />
<br />
DBirthdate<br />
<br />
DNum<br />
<br />
ESex<br />
<br />
mgrStartdate<br />
<br />
EBirthdate<br />
<br />
DRelationship<br />
<br />
EStartdate<br />
<br />
WORKSON<br />
ESSN<br />
<br />
DNum<br />
supervisorSSN<br />
<br />
PNum<br />
<br />
DEPLOCATION<br />
DNum<br />
DLocation<br />
<br />
workHours<br />
<br />
Liệt kê mã số dự án do đơn vị mã số 001<br />
quản lý hoặc có sự tham gia của nhân<br />
viên mã số 00001<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu<br />
<br />
BÀI TẬP 2<br />
DEPENDENT<br />
<br />
PROJECT<br />
<br />
EMPLOYEE<br />
<br />
DEPARTMENT<br />
<br />
DName<br />
<br />
PNumber<br />
<br />
ESSN<br />
<br />
DNumber<br />
<br />
ESSN<br />
<br />
PName<br />
<br />
EName<br />
<br />
DName<br />
<br />
DSex<br />
<br />
PLocation<br />
<br />
ESalary<br />
<br />
mgrSSN<br />
<br />
DBirthdate<br />
<br />
DNum<br />
<br />
ESex<br />
<br />
mgrStartdate<br />
<br />
EBirthdate<br />
<br />
DRelationship<br />
<br />
EStartdate<br />
<br />
WORKSON<br />
ESSN<br />
PNum<br />
<br />
DNum<br />
supervisorSSN<br />
<br />
DEPLOCATION<br />
DNum<br />
DLocation<br />
<br />
workHours<br />
<br />
Liệt kê mã số dự án do đơn vị mã số 001<br />
quản lý và không có sự tham gia của nhân<br />
viên mã số 00001<br />
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn<br />
<br />
5<br />
<br />