Chương 2 Tổng quan về cơ sở dữ liệu

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

1

Nội dung

(cid:153) Các khái niệm của CSDL quan hệ. (cid:153) Các ràng buộc toàn vẹn. (cid:153) Chuẩn hóa dữ liệu. (cid:153) Các phép toán đại số quan hệ. (cid:153) Ngôn ngữ SQL.

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

2

Các khái niệm của CSDL quan hệ

(cid:153) Cơ sở dữ liệu (cid:102) database (cid:102) Cơ sở dữ liệu là sự tập hợp có tổ chức các dữ

liệu có liên quan luận lý với nhau.

(cid:102) Dữ liệu (data) (cid:102) Có tổ chức (organized) (cid:102) Có liên quan luận lý (logically related)

(cid:153) Cơ sở dữ liệu quan hệ (cid:102) relational database (cid:102) CSDL quan hệ là CSDL mà dữ liệu được lưu

trữ trong các bảng.

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

3

Các khái niệm của CSDL quan hệ

(cid:153) Một số thuật ngữ (cid:102) Miền (domain) (cid:102) Thuộc tính (attribute). (cid:102) Lược đồ quan hệ (relation schema). (cid:102) Vị từ (predicate) của lược đồ quan hệ. (cid:102) Bậc (degree) của lược đồ quan hệ. (cid:102) Quan hệ (relation). (cid:102) Thể hiện quan hệ (relation instance). (cid:102) Bộ (tuple) của quan hệ. (cid:102) Bậc (degree) của quan hệ. (cid:102) Khóa (key) của lược đồ quan hệ.

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

4

Các khái niệm của CSDL quan hệ

(cid:153) Một số thuật ngữ (cid:102) Khóa (key). (cid:102) Khóa dự tuyển (candidate key). (cid:102) Khóa chính (primary key). (cid:102) Khóa ngoại (foreign key). (cid:102) Lược đồ cơ sở dữ liệu (database schema). (cid:102) Ràng buộc toàn vẹn (integrity constraint).

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

5

Các phép toán đại số quan hệ

(cid:153) Năm phép toán cơ bản

(cid:102) Phép chọn (cid:102) Phép chiếu (cid:102) Phép hợp (cid:102) Phép hiệu (cid:102) Phép tích Descartes

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

6

Các phép toán đại số quan hệ

(cid:153) Các phép toán khác

(cid:102) Phép giao (cid:102) Phép kết−θ (cid:102) Phép kết tự nhiên (cid:102) Phép kết ngoài (cid:102) Phép nửa kết−θ (cid:102) Phép nửa kết tự nhiên (cid:102) Phép chia

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

7

Định nghĩa bảng

Cú pháp của lệnh CREATE TABLE

CREATE TABLE [] AS SELECT statement;

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

8

Thay đổi định nghĩa bảng

(cid:153) Lệnh ALTER TABLE dùng để thay đổi định

nghĩa của một bảng.

Cú pháp của lệnh ALTER TABLE. ALTER TABLE

[ADD ⏐ MODIFY ⏐ DROP options] ( []) [ENABLE clause⏐ DISABLE clause];

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

9

Hủy bỏ bảng

(cid:153) Lệnh DROP TABLE dùng để hủy bỏ một

bảng trong một lược đồ.

Cú pháp của lệnh DROP TABLE:

DROP TABLE

[CASCADE CONSTRAINTS];

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

10

Lệnh INSERT

(cid:153) Thêm dữ liệu vào một bảng

Cú pháp của lệnh INSERT - Thêm một hàng: INSERT INTO

[()] VALUES ();

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

11

Lệnh DELETE

(cid:153) Xóa bỏ các hàng của một bảng

Cú pháp của lệnh DELETE: DELETE [FROM]

[WHERE ];

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

12

Lệnh UPDATE

(cid:153) Cập nhật dữ liệu của các hàng của một

bảng

Cú pháp của lệnh UPDATE: UPDATE

[] SET = {, }

[, = {, } …]

[WHERE ];

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

13

Lệnh SELECT

(cid:153) Dùng để truy vấn dữ liệu của một bảng

hoặc nhiều bảng.

(cid:153) Lệnh SELECT thực hiện các phép toán của

đại số quan hệ. (cid:102) Phép tích (cid:102) Phép kết (cid:102) Phép chọn (cid:102) Phép chiếu

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

14

Lệnh SELECT

Cú pháp của lệnh SELECT:

SELECT [DISTINCT] [INTO ]

FROM [WHERE ] [GROUP BY [HAVING ]] [ORDER BY ];

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

15

Lệnh SELECT

Hình 2.27. Thứ tự xử lý các mệnh đề của lệnh SELECT.

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

16

Hàm kết hợp

(cid:153) Hàm kết hợp (aggregate function) còn được gọi là hàm nhóm (group function).

Hàm

Giá trị trả về

AVG ([DISTINCT ⏐ ALL] n)

Giá trị trung bình của n, bỏ qua các giá trị rỗng.

] expr *)

COUNT ([DISTINCT ⏐ ALL

Số hàng mà expr có giá trị khác rỗng. * làm cho COUNT đếm tất cả các hàng được chọn, bao gồm các hàng trùng nhau và các hàng có giá trị rỗng.

Giá trị lớn nhất của expr.

MAX ([DISTINCT ⏐ ALL] expr)

Giá trị nhỏ nhất của expr.

MIN ([DISTINCT ⏐ ALL] expr)

Tổng giá trị của n, bỏ qua các giá trị rỗng.

SUM ([DISTINCT ⏐ ALL] n)

STDDEV ([DISTINCT ⏐ ALL] n)

Độ lệch chuẩn (STanDard DEViation) của n, bỏ qua các giá trị rỗng.

Phương sai của n, bỏ qua các giá trị rỗng.

VARIANCE ([DISTINCT ⏐ ALL] n)

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

17

Các phép toán tập hợp

(cid:153) Hai lệnh SELECT có thể được kết nối với nhau bằng các phép toán tập hợp bao gồm phép hợp (union), phép giao (intersection) và phép hiệu (minus).

SELECT statement_1 UNION [ALL]⏐INTERSECT⏐MINUS SELECT statement_2;

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

18

Xử lý giá trị rỗng

(cid:153) Hàm NVL (Null VaLue) dùng để đổi giá trị

rỗng thành một giá trị khác rỗng.

(cid:153) Hàm NVL có hai tham số: một biểu thức và

một giá trị khác rỗng.

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

19

Truy vấn con

(cid:153) Truy vấn con (cid:102) subquery (cid:102) Là một truy vấn (lệnh SELECT) nằm trong

một truy vấn khác.

(cid:102) Truy vấn ngoài (outer query) (cid:102) Truy vấn trong (inner query) (cid:102) Truy vấn chính (main query)

(cid:153) Xuất hiện

(cid:102) Trong điều kiện của mệnh đề WHERE. (cid:102) Như là một bảng trong mệnh đề FROM. (cid:102) Trong điều kiện của mệnh đề HAVING.

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

20

Truy vấn con

(cid:153) Các loại truy vấn con

(cid:102) Truy vấn con lồng nhau (nested subquery) (cid:102) Truy vấn con

tương quan

(correlated

subquery)

2006 Chương 2. Tổng quan về cơ sở dữ liệu Nguyễn Trung Trực - Khoa CNTT

21

Có thể bạn quan tâm