Ngônngữthủ tục
Đạisốquanhệ
SQL
Ngônngữphithủ tục
Phéptínhquanhệbộ
Phéptínhquanhệmiền
QBE
SửdụngtrongAccess,giaodiệnđồhọa
Datalog
CúphápnhưProlog
62 trang |
Chia sẻ: mamamia | Lượt xem: 1777 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng chương 4: Ngôn ngữ vấn tin SQL, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Chương 4:
Ngôn ngữ vấn tin SQL
Ngôn ngữ thao tác dữ liệu
(Data Manipulate Language - DML)
Ngôn ngữ định nghĩa dữ liệu
(Data Definition Language - DDL)
Đặng Thị Kim Anh
Email: kimanh060282@gmail.com
(Structured Query Language)
2Ngôn ngữ truy vấn dữ liệu
Ngôn ngữ thủ tục
Đại số quan hệ
SQL
Ngôn ngữ phi thủ tục
Phép tính quan hệ bộ
Phép tính quan hệ miền
QBE
Sử dụng trong Access, giao diện đồ họa
Datalog
Cú pháp như Prolog
Logical
Schema
3CSDL Quản lý cho thuê đĩa phim
Mô hình DL quan hệ trình bày dưới dạng đồ hoạ
4Giới thiệu
SQL do IBM đề xuất và đã phát triển
1974: SEQUEL (Structure English Query Language)
1976: SEQUEL2 – Data definition, Manipulation, Control
1983: SQL (DB2)
1986: Database Language ISO 9075-1987 (DB2.1)
1989: Added Embedded SQL
1992: SQL-92, ISO/IEC 9075-1992 (DDL-DML extend)
1999: SQL-99, Object – Oriented feature
Hiện nay là ngôn ngữ vấn tin quan hệ được sử dụng trong
nhiều hệ thống CSDL thương mại
5Mô hình dữ liệu trong SQL
SQL
dựa trên phép toán tập hợp và quan hệ
Kết quả là một quan hệ.
Mô hình sử dụng
Bảng là tập các dòng dữ liệu
Mỗi một dòng trong bảng có cùng số cột và trên cùng các
miền giá trị.
Cho phép các dòng giống nhau
Thứ tự các dòng lưu trữ không xác định
Ngôn ngữ SQL gồm
Ngôn ngữ định nghĩa dữ liệu – DDL
Ngôn ngữ thao tác dữ liệu - DML
6Ngôn ngữ định nghĩa dữ liệu
Dùng để định nghĩa các lược đồ trong CSDL
Gồm 3 câu lệnh
Tạo lược đồ: CREATE
Xóa lược đồ: DROP
Thay đổi cấu trúc lược đồ: ALTER
Được áp dụng để tạo
Bảng: Table
Khung nhìn: View
Miền: Domain
Tập ký tự: Character set
…
7CREATE TABLE (1)
Tạo cấu trúc bảng cơ sở trong CSDL
Tạo bảng gồm
Tên bảng: Table name
Định nghĩa cột
Tên cột: Field name
Kiểu dữ liệu: Data type
Ràng buộc trên cột: Column constraint
Giá trị mặc định: Default value
Ràng buộc trên bảng: Table constraint
8CREATE TABLE (2)
Cú pháp
CREATE TABLE Tên bảng (
Tên_cột Kiểu/độ_rộng DEFAULT Giá_trị
[ NULL | NOT NULL]
[ PRIMARY KEY | UNIQUE |
[FOREIGN KEY] REFERENCES Tên_bảng(Tên_cột) ]
[, Tên cột n…], [Ràng buộc bảng] )
Chú ý
Giá trị mặc định của cột là NULL
Ràng buộc trên nhiều cột → Ràng buộc bảng
9CREATE TABLE (3)
Một số loại ràng buộc
NOT NULL: trường không được phép để trống
PRIMARY KEY: khóa chính ≈ NOT NULL và UNIQUE
FOREIGN KEY: khóa ngoại, liên kết
UNIQUE: có giá trị duy nhất
DEFAULT: giá trị sẽ nhận khi người dùng không nhập vào
trường đó
CHECK: biểu thức điều kiện mà giá trị nhập vào trường
đó phải thỏa mãn
…
10
Ví dụ (1)
11
Ví dụ (2)
12
Ví dụ (3)
13
Ví dụ (4)
14
DROP TABLE
15
ALTER TABLE
16
Ngôn ngữ thao tác dữ liệu
17
Câu lệnh truy vấn dữ liệu
18
Mệnh đề SELECT
19
Mệnh đề SELECT (tiếp)
20
Mệnh đề SELECT (tiếp)
21
Mệnh đề SELECT (tiếp)
22
Mệnh đề FROM
23
Nối tự nhiên
24
INNER JOIN
25
OUTER JOIN (1)
26
OUTER JOIN (2)
27
Mệnh đề WHERE
28
Mệnh đề WHERE (tiếp)
29
Mệnh đề WHERE (tiếp)
30
Mệnh đề WHERE với giá trị Null
31
Sắp xếp các bộ dữ liệu kết quả
32
UNION (1)
33
UNION (2)
34
Ví dụ (1)
35
Ví dụ (2)
36
Hàm gộp nhóm
(Aggregate functions)
37
Hàm gộp nhóm… (tiếp)
38
Hàm gộp nhóm… (tiếp)
39
Mệnh đề GROUP BY
40
Mệnh đề GROUP BY… (tiếp)
41
Mệnh đề GROUP BY… (tiếp)
42
Mệnh đề HAVING
43
Mệnh đề HAVING …(tiếp)
44
WHERE hay HAVING ?
45
Câu lệnh SELECT đầy đủ
46
Định lượng một câu SQL
47
Câu lệnh lồng nhau
(lồng trong phần SELECT).1
48
Câu lệnh lồng nhau
(lồng trong phần SELECT).2
49
Câu lệnh lồng nhau
(lồng trong phần FROM).1
50
Câu lệnh lồng nhau
(lồng trong phần FROM).2
51
Câu lệnh lồng nhau
(lồng trong phần WHERE).1
52
Câu lệnh lồng nhau
(lồng trong phần WHERE).2
53
Câu lệnh lồng nhau
(lồng trong phần WHERE).3
54
Câu lệnh lồng nhau
(lồng trong phần WHERE).4
55
Câu lệnh lồng nhau
(lồng trong phần Having).1
56
Thao tác khác trên dữ liệu
57
INSERT
58
INSERT (tiếp)
59
UPDATE
60
UPDATE(tiếp)
61
DELETE
62
DELETE…(tiếp)