Bài giảng Cơ sở dữ liệu - Chương 7: SQL căn bản - Trịnh Hoàng Nam

CÁC THÀNH PHẦN

CỦA MỘT CÂU TRUY VẤN SQL

Câu truy vấn SQL

• Xác định các thông tin cần thiết

• Xác định (các) quan hệ chứa các thông tin đó

• Xác định (các) điều kiện

• Xác định (các) thông tin trả về

pdf 8 trang yennguyen 760
Bạn đang xem tài liệu "Bài giảng Cơ sở dữ liệu - Chương 7: SQL căn bản - Trịnh Hoàng Nam", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Chương 7: SQL căn bản - Trịnh Hoàng Nam

Bài giảng Cơ sở dữ liệu - Chương 7: SQL căn bản - Trịnh Hoàng Nam
9/3/2018
1
SQL CĂN BẢN
CƠ SỞ DỮ LIỆU
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
NỘI DUNG
 Phép toán trên một quan hệ
 Phép toán tập hợp
 Phép toán trên nhiều quan hệ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
CÁC THÀNH PHẦN 
CỦA MỘT CÂU TRUY VẤN SQL
Câu truy vấn SQL
• Xác định các thông tin cần thiết
• Xác định (các) quan hệ chứa các thông tin đó
• Xác định (các) điều kiện
• Xác định (các) thông tin trả về
Quy trình xây dựng câu truy vấn
SELECT 
FROM 
WHERE 
Trích xuất dữ liệu theo 
yêu cầu từ các bảng dữ 
liệu hiện có
9/3/2018
2
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP CHỌN
Định nghĩa
• Liệt kê nhân viên trong đơn vị số 1
Ví dụ
SELECT *
FROM R
WHERE C
Chọn từ quan hệ R các bộ 
dữ liệu thỏa mãn điều kiện C
SELECT * FROM EMPLOYEE WHERE DNUM = 1
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP CHỌN
• Điều kiện chọn là một biểu thức lôgic kết hợp 
các phép so sánh bởi các phép nối lôgic 
AND, OR, và NOT
Điều kiện chọn
• Liệt kê nhân viên làm việc trong đơn vị số 1 
và có mức lương trên $85,000/năm
Ví dụ
SELECT * FROM EMPLOYEE
WHERE DNUM = 1 AND ESALARY > 85000
9/3/2018
3
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP CHIẾU
Định nghĩa
• Liệt kê tên và mức lương cơ bản của tất cả 
nhân viên trong công ty
Ví dụ
SELECT L
FROM R 
Chia quan hệ R thành hai phần:
• Phần được chọn chứa các thuộc tính chiếu L
• Phần không được chọn chứa các thuộc tính 
còn lại
SELECT Ename, Esalary 
FROM EMPLOYEE
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP CHIẾU
• Phép chiếu được áp dụng lên các thuộc tính và 
các biểu thức tính toán dựa trên các thuộc tính 
đó
Thuộc tính chiếu
• Liệt kê tên và lương thực lãnh của nhân viên, 
biết lương thực lãnh bằng hai lần mức lương 
cơ bản
Ví dụ
SELECT Ename, 2*ESalary 
FROM EMPLOYEE
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP SẮP XẾP
• Sắp xếp các bộ trong quan hệ R theo trật tự tăng (giảm) đối
với một (số) thuộc tính
• Sử dụng mệnh đề ORDER BY
Định nghĩa
• Liệt kê các nhân viên trong phòng số 1 theo thứ tự giảm 
dần của lương
Ví dụ
SELECT
FROM
WHERE
ORDER BY
EMPLOYEE
dNum = 5
*
ESalary DESC
9/3/2018
4
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP
 Liệt kê thông tin tất cả nhân viên nữ trong công ty
 Liệt kê tên và lương của các nhân viên nữ có mức 
lương trên 30.000
 Liệt kê tên, mã đơn vị và mức lương của các nhân 
viên nữ ở đơn vị số 1 có mức lương trên 30.000 hoặc 
ở đơn vị khác và có mức lương dưới 45.000
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP TOÁN TẬP HỢP
• Quan hệ là một tập hợp, giữa hai quan hệ có các phép toán 
tập hợp như phép hợp, phép giao, và phép trừ
Định nghĩa
• Hai quan hệ được gọi là khả hợp, nếu có cùng số thuộc tính, 
và cùng miền giá trị cho từng cặp thuộc tính tương ứng
Điều kiện khả hợp
• Các bộ dữ liệu trùng nhau bị loại bỏ ra khỏi kết quả của các 
phép toán tập hợp
• Lược đồ của quan hệ kết quả là lược đồ của quan hệ đứng 
trước trong phép toán
Chú ý
9/3/2018
5
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP HỘI
• Quan hệ kết quả của phép hội (Union) của hai 
quan hệ R và S chứa đúng tất cả các bộ của 
các quan hệ này.
Định nghĩa
• Liệt kê tên các nhân viên thuộc đơn vị số 1 và 
số 2
Ví dụ
SELECT FROM WHEREEMPLOYEE DNum=1EName
UNION
SELECT FROM WHEREEMPLOYEE DNum=2EName
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP GIAO
• Quan hệ kết quả của phép giao (Intersect) của 
hai quan hệ R và S chứa đúng tất cả các bộ 
thuộc đồng thời cả hai quan hệ này.
Định nghĩa
• Liệt kê danh sách mã nhân viên tham gia cả 
hai dự án số 1 và số 2
Ví dụ
SELECT FROM WHEREWORKSON PNum=1ESSN
INTERSECT
SELECT FROM WHEREWORKSON PNum=2ESSN
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP TRỪ
• Quan hệ kết quả của phép trừ (Except) của hai 
quan hệ R và S chứa các bộ chỉ thuộc quan hệ 
R mà không thuộc quan hệ S.
Định nghĩa
• Liệt kê tên mã số các nhân viên chỉ tham gia 
dự án số 1 và không tham gia dự án số 2
Ví dụ
SELECT FROM WHEREWORKSON PNum=1ESSN
EXCEPT
SELECT FROM WHEREWORKSON PNum=2ESSN
9/3/2018
6
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP
 Liệt kê mã số các nhân viên chưa từng tham gia 
dự án
 Liệt kê tên, lương các nhân viên không chịu sự 
giám sát của bất kỳ nhân viên nào khác
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP NHÂN CHÉO
Định nghĩa
Ví dụ
SELECT *
FROM R, S
Tổ hợp các bộ từ hai quan hệ 
R và S một cách ngẫu nhiên
?
9/3/2018
7
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP NHÂN CHÉO
• Mỗi bộ trong quan hệ kết quả của phép nhân chéo 
R với S là tổ hợp của một bộ trong R với một bộ 
trong S
Định nghĩa
• Hai quan hệ tham gia không cần khả hợp
• Nếu R có nR thuộc tính, mR bộ, S có nS thuộc tính, 
mS bộ thì quan hệ kết quả của phép nhân chéo R 
với S có nR+nS thuộc tính và mR*mS bộ
Một số đặc trưng
Phép nhân chéo không thực sự có nhiều ý nghĩa
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP KẾT THETA
Định nghĩa
Ví dụ
SELECT *
FROM R, S
WHERE C
Tổ hợp các bộ từ hai quan hệ 
R và S thỏa mãn điều kiện C
?
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
PHÉP KẾT THETA
• Mỗi bộ trong quan hệ kết quả kết theta R với S 
theo điều kiện C là tổ hợp của một bộ trong R với 
một bộ trong S sao cho thỏa mãn điều kiện kết C
Định nghĩa
• Hai quan hệ tham gia không cần khả hợp
• Phép kết theta là phép chọn điều kiện C của một 
phép nhân chéo
Một số đặc trưng
9/3/2018
8
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C
ơ
s
ở
d
ữ
l
i
ệ
u
–
T
ổ
n
g
q
u
a
n
h
ệ
t
h
ố
n
g
c
ơ
s
ở
d
ữ
l
i
ệ
u
BÀI TẬP
 Liệt kê tên, tuổi, mức lương của các nhân viên trong
phòng Kinh doanh
 Liệt kê các dự án do phòng Kinh doanh quản lý
 Liệt kê tên, tuổi của các nhân viên đã từng tham gia
các dự án do phòng Kinh doanh quản lý
DEPARTMENT
DNumber
DName
mgrSSN
mgrStartdate
DEPENDENT
DName
ESSN
DSex
DBirthdate
DRelationship
DEPLOCATION
DNum
DLocation
EMPLOYEE
ESSN
EName
ESalary
ESex
EBirthdate
EStartdate
DNum
supervisorSSN
PROJECT
PNumber
PName
PLocation
DNum
WORKSON
ESSN
PNum
workHours

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_7_sql_can_ban_trinh_hoang_nam.pdf