Ví dụ: 1.1.2 Phép giao. Cho 2 quan hệ R và S khả hợp Phép giao của R và S - Ký hiệu R S
- Là một quan hệ gồm các bộ thuộc R đồng thời thuộc S
Ví dụ
1.1.3 Phép hiệu(trừ)
Cho 2 quan hệ R và S khả hợp
Phép giao của R và S
- Ký hiệu R S
- Là một quan hệ gồm các bộ thuộc R và khơng thuộc S
Ví dụ:
1.1.4 Phép tích Cartesian
Đƣợc dùng để kết hợp các bộ của các quan hệ lại với nhau
Ký hiệu R S
29 Bài giảng csdl 60
Mỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong S Nếu R có u bộ và S có v bộ thì Q sẽ có u v bộ
Nếu R có n thuộc tính và Q có m thuộc tính thì Q sẽ có n + m thuộc tính (R+ Q+ )
Ví dụ1 :
Ví dụ 2:
30 Bài giảng csdl 60
1.2. Các phép tính đặc biệt 1.2.1 Phép chiếu. (PROJECT) 1.2.1 Phép chiếu. (PROJECT)
-Được dùng để lấy ra một vài cột của quan hệ R -Ký hiệu: π<danh sách các thuộc tính>( R)
-Kết quả trả về là một quan hệ +Có k thuộc tính
+Có số bộ ln ít hơn hoặc bằng số bộ của R Ví dụ 1:
A,C (R)
Ví dụ 2: phép chiếu:
π < MANV, HONV, TENLOT, TENNV, NGSINH, DCHI, LUONG, PHUCAP >(NHANVIEN) PHUCAP >(NHANVIEN)
Ví dụ 3
Cho biết họ tên và lƣơng của các nhân viên +Quan hệ: NHANVIEN
+Thuộc tính: HONV, TENNV, LUONG
HONV,TENNV,LUONG (NHANVIEN)
Cho biết họ tên của các nhân viên và lƣơng của họ sau khi tăng 10%
HONV, TENNV, LUONG*1.1 (NHANVIEN)
Tăng thời gian làm việc cho tất cả nhân viên lên 1.5 lần
PHANCONG MA_NVIEN, SODA, THOIGIAN*1.5(PHANCONG) THOIGIAN*1.5(PHANCONG)
Số các bộ trong quan hệ kết quả từ một phép chiếu luôn luôn nhỏ hơn hoặc bằng số các bộ trong R. Nếu danh sách chiếu là một siêu khố của R (nghĩa là nó chứa một khố nào đó của R) thì quan hệ kết quả có cùng một số bộ nhƣ R. Ngoài ra, nếu <danh sách 2> chứa tất cả các thuộc tính có trong <danh sách 1> thì
π< danh sách1>(π< danh sách2> ( R)) = π< danh sách 1> ( R) Phép chiếu khơng có tính giao hốn.
Phép đặt lại tên (RENAME)
Ví dụ4: Để đƣa ra Họtên nv và Lƣơng của các Nhânviên làm việc ở đơn vị có phụ cấp là 4
chúng ta phải áp dụng một phép chọn và một phép chiếu.
31 Bài giảng csdl 60
C2: σKQTG <PHUCAP= 4>(NHANVIEN)
πKetqua < HONV,TENNV,LUONG >(KQTG)
1.2.2 Phép chọn. (select)
Phép chọn đƣợc sử dụng để chọn một tập hợp các bộ thoả mãn điều kiện chọn từ một quan hệ. Ta có thể xem phép chọn nhƣ một bộ lọc, nó chỉ giữ lại các bộ thoả mãn điều kiện đặt ra.
Kết quả trả về là một quan hệ
- Có cùng danh sách thuộc tính với R
- Có số bộ ln ít hơn hoặc bằng số bộ của R
- Phép chọn đƣợc ký hiệu là
σ< điều kiện chọn>( R)
Ví dụ1: để chọn các bộ NHÂNVIÊN thuộc về đơn vị có mã số nv là 4 hoặc các bộ NHÂNVIÊN có lƣơng lớn hơn 3000 ta có thể viết một cách riêng rẽ nhƣ sau:
σ< MAnv = 4>( NHANVIEN) σ< LUONG > 3000>( NHANVIEN)
Biểu thức logic chỉ ra trong <điều kiện chọn> đƣợc tạo nên từ một số hạng mục có dạng : <tên thuộc tính> <phép so sánh> <giá trị hằng>
hoặc <tên thuộc tính> <phép so sánh> <tên thuộc tính>
trong đó <tên thuộc tính> là tên của một thuộc tính trong R, <phép so sánh> là một trong các phép tốn so sánh {<, <=, =, >=, >, ≠} cịn <giá trị hằng> là một giá trị hằng từ miền giá trị của thuộc tính. Các hạng mục có thể đƣợc nối với nhau bằng các phép tốn lơ gic AND, OR, NOT để tạo ra một điều kiện chọn chung.
Ví dụ2: để chọn ra các nhân viên làm việc ở đơn vị có mã sốNV là 4 và có lƣơng lớn hơn 3000 hoặc các nhân viên làm việc ở đơn vị có mã sốNV là 5 và có lƣơng lớn hơn 4000 ta có thể viết phép chọn nhƣ sau:
σ< MANV = 4>AND <LUONG>3000>OR< MANV = 5>AND <LUONG>3500>( NHANVIEN)
Phép chọn có tính giao hốn
Ví dụ 3:
Cho biết các nhân viên ở tên nv là hân
- Quan hệ: NHANVIEN
- Thuộc tính: TENNV
- Điều kiện: TENNV=‟HÂN‟
TENNV=‟HÂN‟ (NHANVIEN)
Tìm các nhân viên có lƣơng trên 25000 ở phucap 4 hoặc các nhân viên có lƣơng trên 30000 ở phucap 5
-Quan hệ: NHANVIEN
(LUONG>25000 PHG=4) (LUONG>30000 PHG=5)