YOMEDIA
Bài giảng CSDL: Chương 4 - Ngôn ngữ thao tác dữ liệu
Chia sẻ: Minh Minh
| Ngày:
| Loại File: PDF
| Số trang:22
312
lượt xem
18
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng CSDL: Chương 4 - Ngôn ngữ thao tác dữ liệu giới thiệu các phép toán (operation): phép chọn (selection); phép chiếu (projection); phép hợp (union); phép hiệu (set difference); phép tích Descartes (Cartesian product) và ba phép toán suy ngẫm: phép kết (Join); phép giao (Intersection) và phép chia (Division). Mời bạn đọc tham khảo.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng CSDL: Chương 4 - Ngôn ngữ thao tác dữ liệu
- BÀI GIẢNG
CỞ SỞ DỮ LiỆU
- Các phép toán (operation)
5 phép toán cơ bản
Phép chọn (selection)
Phép chiếu (projection)
Phép hợp (union)
Phép trừ (set difference)
Phép tích Descartes (Cartesian product)
3 phép toán suy dẫn*
Phép kết (Join)
Phép giao (Intersection)
Phép chia (Division)
(*Có thể được biểu diễn dưới dạng các phép toán cơ bản)
- Ký hiệu một thể hiện của lược đồ quan hệ R(A1, A2,
Quan hệ r là
…, Am)
Điều kiện F là 1 biểu thức luận lý có giá trị true/false. F
bao gồm:
Các toán hạng là hằng hoặc tên thuộc tính
Các phép toán so sánh =, , ,
Các phép toán luận lý not (), and (), or ()
- Phép chọn (selection)
Phép chọn trên quan hệ r(R) theo điều kiện F, ký hiệu là
r(F) hay r:F , cho kết quả là 1 quan hệ bao gồm các bộ
của r thỏa mãn điều kiện F
r(F) = r:F = { t |t r và F(t) = true }
* Phép chọn và phép chiếu là phép toán một toán hạng 4
- Phép chọn (selection) – ví dụ 1
Relation r A B C D
A B C D r(A=B) 1 7
12 3
1 7
23 10
5 7
12 3
r(A=B ^ D>5) A B C D
23 10
1 7
23 10
- Phép chiếu (Projection)
Cho quan hệ r trên R(A1, A2,..,Am) và tập con các thuộc
tính X={Aj1, Aj2, …, Ajn} với j1, j2,.., jn là các số
nguyên phân biệt nằm trong khoảng từ 1 đến m
Phép chiếu r trên tập thuộc tính X cho kết quả là 1 quan
hệ
r[X] = r.X = {t | u r sao cho t = u[X]}
Phép chiếu loại bỏ những bộ trùng nhau
6
- Phép chiếu (Projection) – ví dụ 1
Relation r
r[A,C]
A B C A C A C
10 1 1 1
20 1 1 1
30 1 1 2
40 2 2
- hợp quan hệ r và
Phéphợp của 2(union) s
Phép
r + s = r s = { t | t r t s}
trong đó: r và s là hai quan hệ khả hợp
r+s
- hiệu quan Difference)
Phéphiệu của 2(Set hệ r và s
Phép
r-s={t|tr ts}
trong đó: r và s là hai quan hệ khả hợp
r-s
- Phép giaoquan hệ r và s
Phép giao của 2 (Intersection)
r * s = r s = {t | t r t s}
trong đó: r và s là hai quan hệ khả hợp
r*s
Hai quan hệ r và s là khả hợp ( union-compatible) khi :
•Có cùng số thuộc tính
•Các thuộc tính tương ứng có cùng miền giá trị
- Bài tập
Cho 2 quan hệ định nghĩa trên 2 lược đồ Quan hệ :
Customer( Cuscode, cusName, cusPhone, City)
Supplier ( SupCode, SupName, SupPhone, City)
Hiển thị danh sách các thành phố có khách hàng và
đồng thời có nhà cung cấp?
Hiển thị danh sách các thành phố có khách hàng và
không có nhà cung cấp?
- Phép kết (join)
thay thế phép (r x s) (F)
với F là biểu thức điều kiện có dạng r.A s.B
Bao gồm :
join)
Theta join (-join
Equijoin
Natural join
Outer join
- Phép kết - Theta join
Cho r và s là hai quan hệ tương ứng trên các lược đồ R(A1,
A2,..,Am) và S(B1,B2,…,Bn)
Gọi Q(A1, A2,.., Am, B1, B2, ….,Bn)
là 1 phép so sánh
Ai R và Bj S là 2 thuộc tính có thể so sánh với nhau bởi
phép
Phép kết của r và s trên 2 thuộc tính Ai và Bj ký hiệu ,
cho kết quả là 1 quan hệ q trên lược đồ quan hệ Q, bao gồm
các bộ t
q(Q) = {t | tr r và ts s với t[R] = tr
r Ai Bj
s
và t[S] = ts và t[Ai] t[Bj] }
13
- Phép kết - Theta join
Ví dụ : Hiển thị ứng với mã mỗi môn học và các môn học
tiếp sau nó ?
MONHOC ( MaMon, TenMon, SoTC, Hocky)
MaMon TenMon SoTC Hocky
A Aaaa 3 1
B Bbbb 4 1
C Cccc 3 2
D Dddd 2 3
Chú ý : Sử dụng phép gán để tạo ra một biến quan hệ tạm:
14
s r [MaMon, Hocky] , với r MONHOC
- Phép kết - Theta join
MaMon Hocky r s MaMon Hocky
r.Hocky < s.Hocky
A 1 A 1
B 1 B 1
C 2 C 2
D 3 D 3
MaMon MaMonsau
A C
A D
B C
B D
C D
- Phép kết bằng và kết tự nhiên
Phép kết Theta với là phép so sánh bằng , thì được gọi là
phép kết bằng _ Equijoin
Phép kết Theta với là phép so sánh bằng được thực hiện
trên các thuộc tính chung (cùng tên) của R và S , thì được
gọi là phép kết tự nhiên – Natural join. Ký hiệu
Quan hệ kết quả q không lặp lại các thuộc tính chung của R
và S r s
VD: Hiển thị danh sách các khách hàng và nhà cung cấp ở cùng một thành phố
Customer( Cuscode, cusName, cusPhone, City)
Supplier ( SupCode, SupName, SupPhone, City)
16
- Phân biệt các phép join
Phép so sánh Áp dụng trên Tập kết quả
Theta join Tất cả Trên 2 thuộc
tính cùng kiểu
dữ liệu
Equijoin phép bằng Trên 2 thuộc
tính cùng kiểu
dữ liệu
Natural join phép bằng Trên 2 thuộc Không lặp lại
tính chung thuộc tính
chung
- Phép kết ngoài - Outer join
Bao gồm : Left/Right Outer Join, Full Outer Join
Phép kết Left Outer Join giữa r và s, cho phép các bộ của r
không kết được với các bộ của s cũng được xuất hiện trong
quan hệ kết quả
Những giá trị tương ứng với các bộ trong quan hệ bị thiếu sẽ
được gán trị Null
Ưu điểm : giữ được thông tin mà lẽ ra bị mất trong phép kết
Ký hiệu :
r s
18
- Phép kết ngoài - Outer join
r s
MASV MAMH DIEM
MAMH TENMH
99001 CSDL 5.0
CSDL COSO
99002 FOX 2.0 DULIEU
99003 MANG 8.0 FOX FOXPRO
MASV MAMH DIEM MAMH TENMH
99001 CSDL 5.0 CSDL COSO DULIEU
99002 FOX 2.0 FOX FOXPRO
99003 MANG 8.0
- Phép chia - Division
Cho quan hệ r định nghĩa trên R với tập thuộc tính A
Cho quan hệ s định nghĩa trên S với tập thuộc tính B , với
BA
Gọi C = A - B , là tập thuộc tính chỉ có trong tập thuộc
tính A của R
Phép chia r s cho kết quả là một quan hệ với tập thuộc
tính C và bao gồm các bộ sao cho đối với mọi bộ
của s , thì tồn tại bộ thuộc r
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...