Bài giảng Cơ sở dữ liệu: Chương 5 - Ngôn ngữ SQl
lượt xem 8
download
Bài giảng Cơ sở dữ liệu: Chương 5 - Ngôn ngữ SQl sau đây bao gồm những nội dung về phép chia trong SQL. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về lĩnh vực này. Với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hữu ích.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu: Chương 5 - Ngôn ngữ SQl
- CHƯƠNG 5 NGÔN NGỮ SQL
- KNOWLEDGE FOR SHARE Tài liệu tham khảo [1] Đỗ Phúc, Nguyễn Đăng Tỵ. Giáo trình cơ sở dữ liệu. Đại học Quốc gia Tp.HCM. [2] Đồng Thị Bích Thủy. Giáo trình cơ sở dữ liệu. Đại học Quốc gia Tp.HCM. [3] Trần Ngọc Bảo. Slide bài giảng CSDL Đại học Sư Phạm TP.HCM [4] Lê Minh Triết. Slide bài giảng CSDL Đại học Sư Phạm TP.HCM 2 5/3/2013
- KNOWLEDGE FOR SHARE 4. Truy vấn dữ liệu Phép chia trong SQL R A B C D E S D E RS A B C a a 1 bi a 1 ai a a a 1 b 1 a a b 1 a a 1 a b 3 a a 1 a b 1 a b 1 RS là tập các giá trị ai trong R sao cho không có giá trị bi nào trong S làm cho bộ (ai, bi) không tồn tại trong R 3 5/3/2013
- KNOWLEDGE FOR SHARE 3. Phép toán tập hợp Phép chia ÷ (Division) Được dùng để lấy ra một số bộ trong quan hệ R sao cho thỏa với tất cả các bộ trong quan hệ S Ký hiệu R S – R(Z) và S(X) • Z là tập thuộc tính của R, X là tập thuộc tính của S •XZ Kết quả của phép chia là một quan hệ T(Y) – Với Y=Z-X – Có t là một bộ của T nếu với mọi bộ tSS, tồn tại bộ tRR thỏa 2 điều kiện • tR(X) = tS(X) R(Z) S(X) T(Y) • tR(Y) = t X Y 4 5/3/2013
- KNOWLEDGE FOR SHARE 3. Phép toán tập hợp Phép chia ÷ (Division) R A B C D E S D E a a 1 a 1 a a 1 b 1 a b 1 a a 1 a b 3 RS a a 1 a b 1 A B C a b 1 a a 5 5/3/2013
- KNOWLEDGE FOR SHARE 3. Phép toán tập hợp Phép chia ÷ (Division) Cho biết nhân viên tham gia tất cả các đề án – Quan hệ: PHANCONG, DEAN – Thuộc tính: MANV πMANV(PHANCONG ÷DEAN) 6 5/3/2013
- KNOWLEDGE FOR SHARE 3. Phép toán tập hợp Phép chia ÷ (Division) Cho biết nhân viên tham gia tất cả các đề án do phòng số 4 phụ trách – Quan hệ: PHANCONG, DEAN – Thuộc tính: MANV – Điều kiện: PHG=4 πMANV(σPHONG=4(PHANCONG ÷DEAN)) 7 5/3/2013
- KNOWLEDGE FOR SHARE 3. Phép toán tập hợp Phép chia ÷ (Division) Biểu diễn phép chia thông qua tập đầy đủ các phép toán ĐSQH (xem khái niệm tập đầy đủ ở slide sau) R(Z) S(X) T(Y) Các bước: X Y Q1 Y(R) Chọn Y trên R X:DA Q2 Q1 S Tích RY x S Y:NV Q3 Y(Q2 R) ((RY x S)-R)Y Z:PCôg (Q3: Đến đây ta tìm ra những Y không tham gia đầy đủ vào S) T Q1 Q3 RY - ((RY x S)-R)Y 8 5/3/2013
- KNOWLEDGE FOR SHARE 3. Phép toán tập hợp Phép chia ÷ (Division) R S MADA MANV MADA DA01 NV01 DA01 DA01 NV02 DA02 DA02 NV01 Q2=Q1xS Q3= Y(Q2 R) DA03 DA03 NV01 MADA MANV MANV DA01 NV01 * NV02 Q1=RY DA01 NV02 * MANV DA02 NV01 * T NV01 MANV DA02 NV02 NV02 NV01 DA03 NV01 * DA03 NV02 5/3/2013 9
- KNOWLEDGE FOR SHARE 4. Truy vấn dữ liệu SELECT R1.A, R1.B, R1.C FROM R R1 Phép chia trong SQL WHERE NOT EXISTS ( SELECT * Sử dụng FROM S NOT EXISTS WHERE NOT EXISTS ( để biểu diễn SELECT * FROM R R2 WHERE R2.D=S.D AND R2.E=S.E AND R1.A=R2.A AND R1.B=R2.B AND R1.C=R2.C ) ) 10 5/3/2013
- KNOWLEDGE FOR SHARE 4. Truy vấn dữ liệu Phép chia trong SQL Sử dụng truy vấn lồng để biểu diễn phép chia SELECT R.A,R.B,R.C FROM R WHERE R.A+R.B+R.C NOT IN ( SELECT Q2.A+Q2.B+Q2.C FROM (SELECT R.A,R.B,R.C,S.* FROM R,S) Q2 WHERE Q2.A+Q2.B+Q2.C+Q2.D+Q2.E NOT IN (SELECT R.A+R.B+R.C+R.D+R.E FROM R) ) -- Q3 LÀ A,B,C KHÔNG THAM GIA ĐẦY ĐỦ VÀO S 11 5/3/2013
- KNOWLEDGE FOR SHARE 4. Truy vấn dữ liệu Phép chia trong SQL Sử dụng hàm count SELECT MANV,COUNT(MADA) FROM PHANCONG GROUP BY MANV HAVING COUNT(MADA)=(SELECT COUNT(MADA) FROM DEAN) 12 5/3/2013
- KNOWLEDGE FOR SHARE 4. Truy vấn dữ liệu Phép chia trong SQL Tìm tên các nhân viên được phân công làm tất cả các đề án – Tìm tên các nhân viên mà không có đề án nào là không được phân công làm – Tập bị chia: PHANCONG(MA_NVIEN, MADA) – Tập chia: DEAN(MADA) – Tập kết quả: KQ(MA_NVIEN) – Kết KQ với NHANVIEN để lấy ra TENNV 13 5/3/2013
- KNOWLEDGE FOR SHARE 4. Truy vấn dữ liệu Phép chia trong SQL SELECT NV.TENNV FROM NHANVIEN NV, PHANCONG PC1 WHERE NV.MANV=PC1.MANV AND NOT EXISTS ( SELECT * FROM DEAN DA WHERE NOT EXISTS ( SELECT * FROM PHANCONG PC2 WHERE PC2.MADA=DA.MADA AND PC1.MANV=PC2.MANV )) 14 5/3/2013
- HẾT
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 634 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 40 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 82 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 48 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 169 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 103 | 4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p | 69 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn