Bài giảng Cơ sở dữ liệu - Chương 2: SQL Căn bản
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ý
8 trang |
Chia sẻ: huongthu9 | Lượt xem: 492 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Cơ sở dữ liệu - Chương 2: SQL Căn bản, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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
Các file đính kèm theo tài liệu này:
- bai_giang_co_so_du_lieu_chuong_2_sql_can_ban.pdf