Tải bản đầy đủ (.pdf) (66 trang)

Hướng dẫn tự học môn cơ sở dữ liệu đại học kinh tế quốc dân

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.14 MB, 66 trang )

12/1/2016

Trƣờng Đại học Kinh tế Quốc dân
National Economics University

CƠ SỞ DỮ LIỆU

© Khoa Tin học Kinh tế

Trƣờng Đại học Kinh tế Quốc dân
National Economics University

1. Họ tên giảng viên:
2. Địa chỉ: Văn phòng Khoa Tin học kinh tế - Phòng 4.3 nhà
10.
3. Website Khoa, Bộ môn:
4. Số ĐT giảng viên:
5. Email giảng viên:

© Khoa Tin học Kinh tế

1


12/1/2016

Trƣờng Đại học Kinh tế Quốc dân
National Economics University

KẾ HOẠCH GIẢNG DẠY HỌC PHẦN
Trong đó


STT

Nội dung

Tổng số
tiết

Lý thuyết

Bài tập, thảo
luận, kiểm tra

1

Chương 1: Cơ sở dữ liệu và các mô
hình cơ sở dữ liệu

7

5

2

2

Chương 2: Một số ngôn ngữ khai thác
cơ sở dữ liệu

15


8

7

3

Chương 3: Lý thuyết thiết kế cơ sở dữ
liệu quan hệ

12

7

5

4

Chương 4: Tổ chức dữ liệu vật lý

3

2

1

5

Chương 5: Tối ưu hóa câu truy vấn
(câu hỏi)


5

3

2

6

Chương 6: An toàn và toàn vẹn dữ liệu
3

2

1

45

27

18

Tổng cộng

Ghi chú

Phòng máy tính có kết
nối Internet và cài đặt
bộ phần mềm SQL và
Microsoft Office


© Khoa Tin học Kinh tế

Trƣờng Đại học Kinh tế Quốc dân
National Economics University

1. Thời điểm kiểm tra học phần: Tuần 10 hoặc 11
2. Phƣơng pháp đánh giá học phần:
- Điểm lên lớp, thảo luận, thuyết trình: 10%

- Điểm kiểm tra: 20%
- Điểm thi kết thúc học phần: 70%
3. Yêu cầu của giảng viên:

© Khoa Tin học Kinh tế

2


12/1/2016

NỘI DUNG CHƢƠNG TRÌNH

• CHƢƠNG 1: CƠ SỞ DỮ LIỆU VÀ MỘT SỐ MÔ HÌNH CƠ
SỞ DỮ LIỆU
• CHƢƠNG 2: MỘT SỐ NGÔN NGỮ KHAI THÁC CƠ SỞ DỮ
LIỆU.
• CHƢƠNG 3: LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU
QUAN HỆ.
• CHƢƠNG 4: TỔ CHỨC DỮ LIỆU VẬT LÝ
• CHƢƠNG 5. TỐI ƢU HOÁ TRUY VẤN (CÂU HỎI).

• CHƢƠNG 6: AN TOÀN VÀ TOÀN VẸN DỮ LIỆU

© Khoa Tin học Kinh tế

TÀI LIỆU THAM KHẢO
+ Jeffrey Ullman, Nguyên lý các hệ cơ sở dữ liệu và cơ sở
tri thức (3 tập) – NXB Thống kê
+ Nguyễn Kim Anh. Nguyên lý của các hệ cơ sở dữ liệu.
Nhà xuất bản Đại học Quốc gia Hà nội, 2004.
+ Nguyễn An Tuế. Giáo trình Nhập môn Cơ sở dữ liệu quan
hệ. Khoa CNTT, ĐHKHTN, Đại học Quốc gia TP. HCM, 1996.
+ Nguyễn Bá Tƣờng. Cơ sở dữ liệu: Lý thuyết và thực hành.
Nhà xuất bản khoa học và kỹ thuật, 2001.
+ Lê Tiến Vƣơng. Nhập môn Cơ sở dữ liệu quan hệ. Nhà
xuất bản khoa học và kỹ thuật, 2000

© Khoa Tin học Kinh tế

3


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
 Chương này giới thiệu các khái niệm chung
của một hệ cơ sở dữ liệu như: Cơ sở dữ liệu
là gì, phân loại CSDL, các đối tượng sử dụng
CSDL, hệ quản trị CSDL, các mức biểu diễn
CSDL, kiến trúc tổng quan của một hệ quản

trị CSDL, tính độc lập giữa CSDL và chương
trình. Các mô hình cơ sở dữ liệu.
© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu

1.1. Tổng quan về cơ sở dữ liệu
1.1.1. Tầm quan trọng của cơ sở dữ liệu

- Dƣ thừa dữ liệu và tính không nhất quán
(Data redundancy and inconsistency)

- Khó khăn trong việc truy xuất dữ liệu
- Sự cô lập dữ liệu (Data isolation)
- Các vấn đề về tính toàn vẹn
- Tính bất thƣờng trong truy xuất cạnh tranh
- Vấn đề an toàn (Security problems)
© Khoa Tin học Kinh tế

4


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.1. Tổng quan về cơ sở dữ liệu
1.1.2. Lịch sử phát triển của cơ sở dữ liệu.
• 60 Mô hình mạng và cây phân cấp Đối tƣợng

Không Riêng biệt
• 70 Mô hình quan hệ Giá trị Có Riêng biệt
• 80 Mô hình cơ sở hƣớng đối tƣợng Đối tƣợng
Không Tích hợp
• 90 Mô hình cơ sở tri thức Giá trị Có Tích hợp
• Nay Mô hình cơ sở dữ liệu Web Giá trị Có Tích hợp

© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.1. Tổng quan về cơ sở dữ liệu
1.1.3. Các khái niệm cơ bản về cơ sở dữ liệu

© Khoa Tin học Kinh tế

5


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.1. Tổng quan về cơ sở dữ liệu
1.1.3. Các khái niệm cơ bản về cơ sở dữ liệu
+ Cơ sở dữ liệu
• Ƣu điểm của CSDL
• Vấn đề cần giải quyết
• Các đối tƣợng sử dụng cơ sở dữ liệu
+ Hệ quản trị cơ sở dữ liệu

• Các thành phần của hệ QTCSDL
• + Hệ cơ sở dữ liệu

© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.1. Tổng quan về cơ sở dữ liệu
1.1.4. Phân loại các hệ cơ sở dữ liệu
+ Hệ CSDL tập trung
• Hệ CSDL cá nhân
• Hệ CSDL trung tâm
• Hệ CSDL khách/chủ
+ Hệ CSDL phân tán
• Hệ CSDL phân tán thuần nhất
• Hệ CSDL phân tán không thuần nhất

© Khoa Tin học Kinh tế

6


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.2. Các mức biểu diễn của một cơ sở dữ liệu
1.2.1. Lược đồ và các thể hiện.

© Khoa Tin học Kinh tế


CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.2. Các mức biểu diễn của một cơ sở dữ liệu
1.2.2. Tổ chức cơ sở dữ liệu vật lý.
- Mức thấp nhất của sự trừu tƣợng
- Nó tồn tại trong các thiết bị lƣu trữ
- Đây là mức lƣu trữ CSDL – mức trong
+Vấn đề cần giải quyết
• Dữ liệu gì, đƣợc lƣu trữ thế nào?
• Ở đâu? (đĩa từ, băng từ, track, sector,…. nào?)
•Cần các chỉ mục gì?
- Ngƣời sử dụng chuyên môn
© Khoa Tin học Kinh tế

7


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.2. Các mức biểu diễn của một cơ sở dữ liệu
1.2.3. Lược đồ mức khái niệm và mô hình dữ liệu.
- Trừu tƣợng hóa thế giới thực
+ CSDL cần lƣu giữ bao nhiêu loại dữ liệu?
+ Đó là những dữ liệu gì?
+ Mối quan hệ giữa các dữ liệu này nhƣ thế nào?
- Dữ liệu gì cần thiết đƣa vào CSDL
- Mô tả mối quan hệ giữa các dữ liệu


© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.2. Các mức biểu diễn của một cơ sở dữ liệu
1.2.4. Mức khung nhìn (Views).
- Mức ngoài hay còn gọi là lƣợc đồ con
- Mức ngƣời sử dụng và chƣơng trình ứng dụng
- Có thể nhìn thấy toàn bộ hoặc 1 phần CSDL
- Có thể không biết về cấu trúc tổ chức lƣu trữ thông
tin trong CSDL
- Chỉ có thể làm việc với 1 phần CSDL

© Khoa Tin học Kinh tế

8


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.3. Kiến trúc tổng quát của một hệ quản trị CSDL

© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.3. Kiến trúc tổng quát của một hệ quản trị CSDL


© Khoa Tin học Kinh tế

9


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.3. Kiến trúc tổng quát của một hệ quản trị CSDL

© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.4. Các mô hình cơ sở dữ liệu
1.4.1. Mô hình thực thể - liên kết (mô hình ER).
- Các khái niệm cơ sở
+ Các tập thực thể:
+ Các thuộc tính và khóa
+ Các liên kết
- Sơ đồ thực thể liên kết
- Tính năng liên kết

© Khoa Tin học Kinh tế

10



12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.4. Các mô hình cơ sở dữ liệu
1.4.2. Mô hình dữ liệu quan hệ.
- Một số khái niệm
+ Quan hệ:
VD: n = 2, D1 ={0,1}, D2 = {a, b, c}
Thì tích Đề-các của D1 x D2 là {(0, a), (0, b), (0, c), (1, a), (1, b), (1, c)}
=> {(0, a), (0, c),(1, b)} là một quan hệ
+ Lƣợc đồ quan hệ
• Cho U = {A1, A2, …, An}
• Với mỗi thuộc tính Ai, i = 1, 2,… có miền giá trị tƣơng ứng là
dom(Ai).
• Khi đó, r là quan hệ xác định trên tập thuộc tính U nếu
r  dom(A1) x dom(A2) x… x dom(An). Lúc đó U là một lƣợc đồ quan
hệ và nói quan hệ r xác định trên lƣợc đồ U
© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.4. Các mô hình cơ sở dữ liệu
1.4.1. Mô hình dữ liệu quan hệ.
SV{Tên, NS, Quê}
Tên = {Hà, Hƣơng, Sơn, Tuấn}
NS = {1992, 1993, 1994}
Quê = { Hà Nội, Hải Phòng}

© Khoa Tin học Kinh tế


11


12/1/2016

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.4. Các mô hình cơ sở dữ liệu
1.4.2. Mô hình dữ liệu quan hệ.
• Khóa: U = {A1, A2,…, An}. Một tập K  U đƣợc gọi là khóa
của quan hệ r nếu với bất kỳ hai bộ t1, t2 với t1 ≠ t2, đều
tồn tại một thuộc tính A thuộc K sao cho t1[A] ≠ t2[A]
K= {A3, A5}; hoặc K ={A3, A7}
Trong một quan hệ có
thể có nhiều khóa
– Khóa tối thiểu
– Khóa ngoài

© Khoa Tin học Kinh tế

CHƢƠNG 1. Cơ sở dữ liệu và một số mô hình
cơ sở dữ liệu
1.4. Các mô hình cơ sở dữ liệu
1.4.2. Mô hình dữ liệu quan hệ.
Biến đổi các sơ đồ ER sang mô hình quan hệ
- Biến đổi các tập thực thể
- Biến đổi các liên kết
- Các khóa của các sơ đồ quan hệ


© Khoa Tin học Kinh tế

12


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
Trong chƣơng này sẽ tìm hiểu về các ngôn ngữ cho phép
định nghĩa các đối tƣợng của một CSDL và biểu diễn các
yêu cầu trên CSDL đó mà một HQTCSDL có thể hỗ trợ. Cụ
thể, sẽ xem xét ba cách tiếp cận chính đối với việc thiết kế
các ngôn ngữ biểu diễn các yêu cầu trên CSDL quan hệ.
Các ký hiệu đƣợc sử dụng để biểu diễn các yêu cầu. Các
khía cạnh không truy vấn của một ngôn ngữ thao tác dữ
liệu quan hệ liên quan đến các thao tác thêm, xóa, sửa đổi
các bộ. Do vậy, các ngôn ngữ thao tác dữ liệu trƣớc đây đôi
khi còn đƣợc gọi là ngôn ngữ truy vấn
Các ngôn ngữ truy vấn đối với mô hình quan hệ đƣợc chia
làm hai lớp
1/ Các ngôn ngữ đại số
2/ Các ngôn ngữ tính toán vị từ

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.1. Phép hợp

Phép hợp của hai quan hệ khả hợp r và s, ký hiệu là r  s, là
tập tất cả các bộ thuộc r hoặc thuộc s hoặc thuộc cả hai
quan hệ
r  s = {t | t  r  t  s}

© Khoa Tin học Kinh tế

13


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.2. Phép giao
Phép giao của hai quan hệ khả hợp r và s, ký hiệu là r  s,
là tập tất cả các bộ thuộc hai quan hệ r và s
r  s = {t | t  r  t  s}

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.3. Phép trừ
Phép trừ của hai quan hệ khả hợp r và s, ký hiệu r – s, là tập
tất cả các bộ thuộc r nhƣng không thuộc s
r – s = {t | t  r  t  s}


© Khoa Tin học Kinh tế

14


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.4. Phép tích Đề-các
Tích Đề-các của hai quan hệ r và s, ký hiệu r x s là tập tất cả
các (n+m)-bộ có n thành phần đầu tiên là một bộ thuộc r và
m thành phần sau là một bộ thuộc s
r x s = {t | t = (a1, a2,…, an, b1, b2, bm)  (a1, …, an) r  (b1, …, bm) s}

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.5. Phép chiếu
Phép chiếu của quan hệ r trên tập thuộc tính X, ký hiệu x(r), là
tập các bộ của r xác định trên tập thuộc tính X
x(r) = {t[X] | t  r}
VD : Với X = {Tên, NS, QQ}
và Y = {Môn, Tiết}

© Khoa Tin học Kinh tế


15


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.6. Phép chọn
Cho r là một quan hệ và F là một biểu thức logic trên các
thuộc tính của r. Phép chọn trên quan hệ r với biểu thức
chọn F, ký hiệu F(r), là tập tất cả các bộ thỏa mãn F
F(r) = {t | t  r  F(t) = đúng}

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.7. Phép kết nối
Phép kết nối của quan hệ r với quan hệ s với biểu thức kết nối F
đƣợc định nghĩa
r
s = {t | t = (u,v)  u  r  v  s  F(t) = đúng}
trong đó :
u là một bộ u = (a1, …, an)
và v là một bộ v = (b1, …, bm)
(u, v) = (a1,… , an, b1, …, bm)
F = (QQ = TP)


© Khoa Tin học Kinh tế

16


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.1. Đại số quan hệ
2.1.8. Phép chia
Cho r là một quan hệ n ngôi xác định trên tập thuộc
tính U và s là một quan hệ m ngôi xác định trên tập
thuộc tính V, với n > m và s ≠ , có nghĩa là lực lƣợng
của s # 0 hay s có ít nhất 1 bộ. Giả thiết V  U. Phép
chia quan hệ r cho quan hệ s, ký hiệu r  s, là tập tất
cả các bộ t sao cho với mọi bộ v  s thì t ghép với v
thuộc r
r  s = {t |  v  s  (t, v)  r}

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.2. Phép tính vị từ biến bộ
2.2.1. Định nghĩa hình thức
Là ngôn ngữ truy vấn phi thủ tục, mô tả thông tin
mong muốn mà không chỉ ra thủ tục đặc biệt để đạt
đƣợc các thông tin
Một biểu thức phép tính vị từ biến bộ có dạng {t|P(t)}

P: là một công thức, một số biến bộ có thể xuất hiện
trong một công thức. Một biến bộ là một biến tự do
nếu không bị lƣợng hóa bởi một lƣợng từ  hay . Do
vậy trong {t| v  s  (t,v)  r}

© Khoa Tin học Kinh tế

17


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.2. Phép tính vị từ biến bộ
2.2.1. Định nghĩa hình thức
Một công thƣc phép tính vị từ biến bộ đƣợc thiết lập từ
các công thức nguyên tố, có một trong các dạng:
• u  r: u là một biến bộ; r là một quan hệ
• u[x]  v[y]: u, v là các biến bộ; x là một thuộc tính mà
trên đó u xác định và y là một thuộc tính mà trên đó
y xác định;  là phép toán so sánh
• u[x]  c: u là một biến bộ; x là một thuộc tính mà trên
đó x xác định; c là một hằng trong miền xác định của
x;  là một phép so sánh
© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.2. Phép tính vị từ biến bộ

2.2.1. Định nghĩa hình thức
Việc thiết lập các công thức nguyên tố
• Một công thức nguyên tố là một công thức
• Nếu P1 là một công thức thì  P1 và (P1) cũng là công
thức
• Nếu P1 và P2 là công thức thì P1  P2, P1  P2 và
P1  P2 cũng là công thức
• Nếu P1 là công thức chứa một biến bộ tự do u, và r là
một quan hệ thì  u  r (P1(u) và  u  r (P1(u)) cũng
là các công thức
© Khoa Tin học Kinh tế

18


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.2. Phép tính vị từ biến bộ
2.2.1. Định nghĩa hình thức
Một số phép tƣơng đƣơng trong phép vị từ biến bộ
• P1  P2 tƣơng đƣơng (P1  P2)
• t  r(P1(t)) tƣơng đƣơng  t r( P1(t))
• P1  P2 tƣơng đƣơng  P1  P2

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu

2.2. Phép tính vị từ biến bộ
2.2.2. Tính an toàn của các biểu thức
Biểu thức phép tính vị từ biến bộ có thể sinh ra một
quan hệ vô hạn => để hạn chế cần phải có khái niệm
miền của công thức
Miền của P: dom(P) – là tập hợp tất cả các giá trị đƣợc
tham chiếu bởi P
• Các giá trị đƣợc viết ra trong chính P
• Giá trị xuất hiện trong một bộ của quan hệ đƣợc viết
ra trong P
dom((t  r)) là tập các giá trị xuất hiện trong r, do
quan hệ của r đƣợc viết ra trong biểu thức
© Khoa Tin học Kinh tế

19


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.3. Phép tính vị từ biến miền
2.3.1. Định nghĩa hình thức
Một biểu thức trong phép tính vị từ biến miền có
dạng
{<x1,…, xn> | P(x1, …, xn)}
x1,…, xn biểu diễn các biến miền
P biểu diễn một công thức đƣợc hợp thành từ các
công thức nguyên tố


© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.3. Phép tính vị từ biến miền
2.3.1. Định nghĩa hình thức
Công thức nguyên tố trong phép tính vị từ biến miền
có dạng
• <x1,…, xn>  r : r là một quan hệ; x1,…, xn là các biến
miền hay các hằng miền
• x  y: x, y là các biến miền và  là phép so sánh
• x c: x là biến miền; c là hằng trong miền của thuộc tính
và  là phép so sánh

© Khoa Tin học Kinh tế

20


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.3. Phép tính vị từ biến miền
2.3.1. Định nghĩa hình thức
Thiết lập công thức từ các công thức nguyên tố
• Một công thức nguyên tố là một công thức
• Nếu P1 là một công thức thì  P1 và (P1) cũng là công
thức
• Nếu P1 và P2 là công thức thì P1  P2, P1  P2 và

P1  P2 cũng là công thức
• Nếu P1(x) là công thức chứa x ( với x là biến miền)
thì  x (P1(x) và và  x (P1(x)) cũng là các công thức
© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.3. Phép tính vị từ biến miền
2.3.2. Tính an toàn cho biểu thức
Để đảm bảo tính an toàn cho biểu thức cần có các luật
Giả sử {<x1,…, xn> | P(x1, …, xn)} là an toàn nếu
• Tất cả các giá trị xuất hiện trong các bộ của biểu thức là
các giá trị từ dom(P)
• Với mỗi công thức con ‘tồn tại’ có dạng  x (P1(x), công
thức này đúng nếu và chỉ nếu có một giá trị trong
dom(P1) sao cho P1(x) là đúng
• Với mỗi công thức ‘với mọi’ có dạng x (P1(x), công thức
này đúng nếu và chỉ nếu P1(x) là đúng với tất cả các giá
trị x từ dom(P1)
© Khoa Tin học Kinh tế

21


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.4. Ngôn ngữ đại số quan hệ thuần túy
2.4.1. Các phép toán đại số

Đại số quan hệ
Đại số quan hệ thuần túy (ISBL)
RS
R+S
R–S
R–S
RS
R.S
F(R)
R:F
A1,… An(R)
R%A1,…, An

© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.4. Ngôn ngữ đại số quan hệ thuần túy
2.4. 2. Các ví dụ về truy vấn bằng ngôn ngữ đại số
thuần túy
- Đƣa ra danh sách các môn học thuộc nhóm Tự chọn
LIST Mon:Nhom=‘Tự chọn’
- Đƣa ra danh sách sinh viên học môn CSDL hoặc
KTLT
LIST Diem: Tenmon=‘CSDL’  Tenmon =‘KTLT’%TenSV

© Khoa Tin học Kinh tế

22



12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.5. SQL – Structure Query Language
SELECT – FROM – WHERE
SELECT A1, A2,…, An FROM r1, r2,…., rn
 A ,..., A (  P ( r1  r2  ...  rn ) )
1

WHERE P

n

SELECT [DISTINCT] <d/s cột>|*|<biểu thức số học>
FROM <d/s tên bảng>|<d/sách các view>
[WHERE <biểu thức điều kiện>]
[GROUP BY <d/s tên cột> [HAVING kiện>]]
[ORDER BY <d/s tên cột>|<biểu thức> [ASC|DESC]]
[UNION|INTERSECT|MINUS<câu truy vấn con>]
© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.5. SQL – Structure Query Language
Trong đó WHERE có thể đƣợc biểu diễn dƣới các dạng
• WHERE [NOT] <Biểu thức> <biểu thức>
• WHERE [NOT] <tên cột> [NOT] LIKE <xâu ký tự>

• WHERE [NOT] <biểu thức> [NOT] IN ({danh sách| câu truy
vấn}]
• WHERE [NOT] EXISTS (<câu truy vấn con>)
• WHERE [NOT]<biểu thức>sánh>{SOME|ANY|ALL( truy vấn con)}
• WHERE [NOT] <biểu thức logic>
• WHERE [NOT] <biểu thức logic> {AND|OR} [NOT] thức logic>
© Khoa Tin học Kinh tế

23


12/1/2016

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu










Truy vấn trên 1 bảng
SELECT Ten FROM SV
SELECT DISTINCT Ten FROM SV

Ký hiệu * để chỉ ra tất cả các cột đƣợc đƣa ra
SELECT * FROM SV
SELECT * FROM SV, MON
Truy vấn có điều kiện
SELECT MASV FROM DIEM WHERE MAMON = ‘CSDL’
SELECT MASV FROM DIEM WHERE KQUA BETWEEN 6
AND 9
• = SELECT MASV FROM DIEM WHERE KQUA <= 9 AND
KQUA >=6
© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
• Truy vấn với điều kiện có chứa xâu ký tự
Ký hiệu % : Thay thế cho 1 xâu con nào đó (nhóm ký tự
bất kỳ)
Ký hiệu _ : Thay thế cho 1 ký tự bất kỳ
LIKE : Xử lý các xâu ký tự gần đúng khi ngƣời sử dụng
không rõ giá trị cụ thể chính xác
• SELECT * FROM SV WHERE Ten LIKE ‘Ba%’
• Truy vấn trên nhiều bảng
• SELECT Ten
FROM SV, DIEM
WHERE SV.MASV = DIEM.MASV AND MAMON=’CSDL’
© Khoa Tin học Kinh tế

24


12/1/2016


CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
• Phép đổi tên OLD_NAME AS NEW_NAME
• SELECT MASV, MAMON AS THILAI FROM DIEM WHERE
KQUA <5
• Truy vấn có sắp xếp
• SELECT TENMON FROM MON WHERE NHOM =’Tự chọn’
ORDER BY TENMON ASC
• Truy vấn với các phép toán tập hợp
• UNION, INTERSECT và MINUS tƣơng ứng với các phép toán
 , , –SELECT MASV FROM SV MINUS SELECT MASV
FROM DIEM
= SELECT MASV FROM SV WHERE MASV<>ALL(SELECT
MASV FROM DIEM)
• SELECT TEN FROM SV WHERE TUOI >=ALL(SELECT TUOI
FROM SV)
© Khoa Tin học Kinh tế

CHƢƠNG 2: Một số ngôn ngữ khai thác cơ
sở dữ liệu
2.5.2. Các hàm thƣ viện
• AVG, COUNT, SUM, MAX, MIN
• SELECT AVG(SOTIET) FROM MON WHERE
NHOM=’Tự chọn’
• Lƣu ý : SUM và AVG thì đối số phải là tập hợp các
giá trị số, còn các hàm khác có thể phi số. Với SUM
và AVG không đƣợc sử dụng từ khóa DISTINCT cho
dù kết quả không có sự thay đổi
• SELECT MASV, COUNT(MAMON) FROM DIEM

GROUP BY MASV

© Khoa Tin học Kinh tế

25


×