1
CƠ SỞ DỮ LIỆU
GV: Phạm Thị Bạch Huệ
Email:
ptbhue@fit.hcmus.edu.vn
Chương 5 Ngôn ngữ SQL
Nội dung môn học
Chương 1 Tổng quan về CSDL
Chương 2 Mô hình ER
Chương 3 Mô hình quan hệ
Chương 4 Phép toán quan hệ
Chương 5 Ngôn ngữ SQL
Chương 6 Phép tính quan hệ
Chương 7 Ràng buộc toàn vẹn
Chương 8 Tối ưu hóa câu truy vấn
Chương 9 Phụ thuộc hàm dạng chuẩn
2
Mục tiêu chương
Biết cách định nghĩa CSDL.
Biết thao tác (tìm kiếm, thêm, xóa, sửa) trên
sở dữ liệu.
Lược đồ CSDL
1. NHANVIEN(MANV,HONV,TENLOT,TENNV,PHAI,LUONG,
DIACHI, NGAYSINH, MA_NQL, PHG)
2. PHONGBAN (MAPB,TENPB,TRPHG,NGAYBĐ)
3. DIADIEM_PHG(MAPB, DIADIEM)
4. DEAN(MADA, TENDA, NGAYBD, PHONG, DIADIEM_DA)
5. PHANCONG (MANV, MADA, THOIGIAN)
6. THANNHAN(MANV,TENTN,PHAI,NGAYSINH,QUANHE)
3
Giới thiệu SQL
SQL: Structured Query Language.
SQL là ngôn ngchunca nhiu HQT CSDL, gm
các câu lnh định nghĩadliu, truy vnvàcp
nhtdliu.
SQL sơkhai đượcgi SEQUEL (Structured
English Query Language), do IBM phát trin trong
hthng System R, 1974-1976.
Gm các phiên bn:
Chun SQL-86 (SQL1) do ANSI (American National
Standards Institute) và ISO (International Standards
Organization).
Chun SQL-92 (SQL2).
Chun SQL-99 (SQL3).
Phân loại
SQL gồm 2 nhóm câu lệnh:
DDL: Data Definition Language: tocu trúc
CSDL.
DML Data Manipulation Language: thao tác trên
dliu.
CREATE
SELECT
INSERT
•UPDATE
•DELETE
4
DDL
SQL dùng:
Bng Quan h.
Dòng B.
CtThuc tính.
DDL dùng lệnh CREATE để:
Tolượcđồ (scheme).
Tobng (table).
To khung nhìn (view).
To ràng buc toàn vn (assertion, trigger).
DDL - Kiểu dữ liệu
Kius:
Snguyên: int, smallint.
Sthc: float, real, decimal, numeric.
Chuikýt:
Char(n), varchar(n), text.
Chuibit:
Binary, varbinary, image.
Boolean:
Bit.
Ngày gi:
Datetime.
5
CREATE TABLE
CREATE TABLE <Tên_bng> (
<Tên_ct> <Kiu_d_liu> [<RBTV>],
<Tên_ct> <Kiu_d_liu> [<RBTV>],
[<RBTV>]
)
d:
CREATE TABLE PHONGBAN(
MAPB CHAR(5),
TENPB VARCHAR(30),
TRPHG CHAR(5),
NGAYBĐDATETIME)
Các ràng buộc bản
Một số ràng buộc:
NOT NULL: ch định 1 ct không thbng NULL.
NULL.
Khóa chính.
Khóa ngoi.
UNIQUE: ch định 1 ct không nhn giá trtrùng.
DEFAULT: gán giá trmc định.
CHECK: kim tra mt điu kin nào đó.
Đặt tên ràng buộc:
CONSTRAINT <Tên_RBTV> <RBTV>