Quản trị Cơ sở dữ liệu và Phần mềm ứng dụng: Ngôn ngữ SQL
SQL (Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc) là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ. Nó là một tiêu chuẩn ANSI/ISO
Quản trị Cơ sở dữ liệu và
Phần mềm ứng dụng
Bộ môn CNTT – TMĐT
Khoa Thương mại điện tử
Chương III
Ngôn ngữ SQL
Chương III: Ngôn ngữ SQL
1. Đại số quan hệ và ngôn ngữ SQL
2. Lệnh định nghĩa dữ liệu
3. Lệnh cập nhật dữ liệu
4. Lệnh truy vấn dữ liệu
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 3
Chương III
1. Đại số quan hệ và ngôn ngữ SQL
1.1. Đại số quan hệ
1.2. Ngôn ngữ SQL
2. Lệnh định nghĩa dữ liệu
3. Lệnh cập nhật dữ liệu
4. Lệnh truy vấn dữ liệu
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 4
1.1.Đại số quan hệ
Đại số quan hệ cung cấp tám phép
toán tác động trên các quan hệ và
cho kết quả cũng là một quan hệ
gồm:
Các phép toán tập hợp: Hợp, trừ, giao,
tich Đề các.
Các phép toán quan hệ: Chọn, chiếu,
kết nối, chia.
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 5
Đại số quan hệ(t)
Quan hệ khả hợp
Định nghĩa: Hai quan hệ là khả hợp nếu
chúng được xác định trên cùng tập
thuộc tính và các thuộc tính cùng tên
có cùng miền giá trị.
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 6
a. Phép hợp (union)
Định nghĩa:
Phép hợp của hai quan hệ khả hợp r và
s, ký hiệu là r U 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ệ.
Ví dụ:
A B C A B C A B C
a1 b1 c1 a1 b1 c1 a1 b1 c1
a1 b1 c2 U =
a1 b2 c1 a1 b1 c2
a1 b2 c2 a1 b2 c2 a1 b2 c1
a2 b2 c2 a1 b2 c2
a3 b2 c2 a2 b2 c2
Bài giảng CSDL và Phần mềm ứng a3 b2 c2
03/11/2008 dụng 7
b. Phép giao
Định nghĩa:
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 cả hai quan hệ r và s.
Ví dụ:
A B C A B C A B C
a1 b1 c1 U a1 b1 c1 a1 b1 c1
a1 b1 c2 =
a1 b2 c1 a1 b2 c2
a1 b2 c2 a1 b2 c2
a2 b2 c2
a3 b2 c2
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 8
c. Phép trừ
Định nghĩa:
Phép trừ 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 nhưng không thuộc s.
Ví dụ:
A B C A B C A B C
a1 b1 c1 a1 b1 c1 a1 b1 c2
a1 b1 c2 - =
a1 b2 c1 a2 b2 c2
a1 b2 c2 a1 b2 c2 a3 b2 c2
a2 b2 c2
a3 b2 c2
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 9
d. Phép tích Đề các
Định nghĩa:
Cho quan hệ r xác định trên tập thuộc
tính {A1, …, An} và quan hệ s xác định
trên tập thuộc tính {B1, …, Bm}. Tích Đề
các của hai quan hệ r và s ký hiệu là
r x s là tập tất cả các (m+n)-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.
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 10
Phép tích Đề các(t)
Ví dụ:
A B C D E A B C D E
a1 b1 1 1 e1 a1 b1 1 1 e1
x = a1 b1 1 2 e2
a2 b2 2 2 e2
a3 b3 3 3 e3 a1 b1 1 3 e3
a2 b2 2 1 e1
a2 b2 2 2 e2
a2 b2 2 3 e3
a3 b3 3 1 e1
a3 b3 3 2 e2
a3 b3 3 3 e3
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 11
e. Phép chiếu
Định nghĩa;
Cho quan hệ r xác định trên tập thuộc
tính U={A1, …, An}. X U. Phép chiếu
của r trên tập thuộc tính X , ký hiệu là
Πx(r), là tập các bộ của r xác định trên
X.
Ví dụ: A B
ΠA,B(r) = a1 b1
ΠC(s) = C
a1 b2 c1
a2 b2 c2
a3 b2
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 12
Phép chiếu trên một quan hệ thực
chất là phép toán loại bỏ đi một số
thuộc tính và chỉ giữ lại những thuộc
tính còn lại của quan hệ đó.
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 13
f. Phép chọn
Định nghĩa:
Cho r là một quan hệ, F là một biểu
thức điều kiện. Phép chọn trên r với
biểu thức chọn F, ký hiệu σF(r), là tập
tất cả các bộ của r thỏa mãn điều kiện
F.
Ví dụ:
σA = a1(r)= σA = a1 ^ C= c 2(r)=
A B C A B C
a1 b1 c1 a1 b1 c2
a1 b2 c2 a1 b2 c2
a1 giảng CSDL và Phần mềm ứng
Bài b1 c2
03/11/2008 dụng 14
Phép chọn là phép toán lọc ra một
tập con các bộ của quan hệ đã cho
thỏa mãn một điêu kiện xác định.
Điều kiện dó được gọi là điều kiện
chọn hay biểu thức chọn.
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 15
g. Phép chia
Định nghĩa:
Cho hai quan hệ r xác định trên n thuộc
tính, s xác định trên m thuộc tính
(n>m, s ≠ ø), phép chia quan hệ r cho
quan hệ s, ký hiệu r ÷ s, là các bộ t sao
cho với mọi bộ v thuộc s thì t ghép với
v thuộc r.
A B B
Ví dụ: A
a1 b1 ÷ b1 = a1
a1 b2 b2
a1 b3 b3
a2 b4
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 16
h. Phép kết nối
Khái niệm:
Phép kết nối hai quan hệ r, s, ký hiệu
r s là phép ghép các cặp bộ của hai
∆
∆
quan hệ thỏa mãn một điều kiện kết nối
hay một biêu thức kết nối F.
Ví dụ: F= (C≤D)
A B C D E
A B C D E
a1 b1 1 1 e1
a1 b1 1 1 e1 a1 b1 1 2 e2
∆
∆
=
a2 b2 2 2 e2 a1 b1 1 3 e3
a3 b3 3 3 e3 a2 b2 2 2 e2
a2 b2 2 3 e3
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng a3 b3 3 3 e3
17
Biểu diễn câu hỏi bằng đại số quan hệ
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 18
III.1.2. Ngôn ngữ SQL
SQL ( Structured Query Language) : Ngôn
ngữ truy vấn có cấu trúc
Tiền thân SEQUEL, IBM phát triển cho hệ CSDL
thử nghiệm System/R, 1974
1986, ANSI/ISO công nhận một chuẩn ngôn
ngữ sử dụng trên csdl quan hệ.
SQL_86 (ANSI)
SQL_89 (sửa đổi nhỏ)
SQL_92 (chuẩn hiện tại, ANSI/ISO)
SQL_99 (mở rộng – đối tượng)
SQL_2003 (hỗ trợ XML và nhiều tính năng
khác)
SQL_2006 …
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 19
Các hệ quản trị cơ sở dữ liệu quan hệ
thương mại hiện có như Oracle, SQL
Server, Informix, DB2,... đều chọn SQL
làm ngôn ngữ cho sản phẩm của mình.
SQL cài đặt trong các hệ quản trị CSDL
thương mại có một số khác biệt so với
SQL do ANSI/ISO đề xuất.
Các câu lệnh SQL cung cấp có thể được
nhúng vào trong các ngôn ngữ lập trình
nhằm xây dựng các ứng dụng tương tác
với cơ sở dữ liệu.
Bài giảng CSDL và Phần mềm ứng
03/11/2008 dụng 20