Bài giảng Cơ sở dữ liệu - Chương 5: SQL

Chương 5  
SQL  
Nội dung chi tiết  
Giới thiệu  
Định nghĩa dữ liệu  
Truy vấn dữ liệu  
Cập nhật dữ liệu  
Khung nhì n (view)  
Chỉ mục (index)  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
2
Giới thiệu  
Ngô n ngữ ĐSQH  
- Cá ch thức truy vấn dữ liệu  
- Khó khăn cho người sử dụng  
SQL (Structured Query Language)  
- Ngô n ngữ cấp cao  
- Người sử dụng chỉ cần đưa ra nội dung cần truy vấn  
- Được phá t triển bởi IBM (1970s)  
- Được gọi là SEQUEL  
- Được ANSI cô ng nhận và phá t triển thành chuẩn  
SQL-86  
SQL-92  
SQL-99  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
3
Giới thiệu (tt)  
SQL gồm  
- Định nghĩa dữ liệu (DDL)  
- Thao tá c dữ liệu (DML)  
- Định nghĩa khung nhì n  
- Ràng buộc toàn vẹn  
- Phâ n quyền và bảo mật  
- Điều khiển giao tá c  
Lý thuyết : Chuẩn SQL-92  
Ví dụ : SQL Server  
SQL sử dụng thuật ngữ  
- Bảng ~ quan hệ  
- Cột ~ thuộc tí nh  
- Dò ng ~ bộ  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
4
Nội dung chi tiết  
Giới thiệu  
Định nghĩa dữ liệu  
- Kiểu dữ liệu  
- Cá c lệnh định nghĩa dữ liệu  
Truy vấn dữ liệu  
Cập nhật dữ liệu  
Khung nhì n (view)  
Chỉ mục (index)  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
5
Định nghĩa dữ liệu  
Là ngô n ngữ mô tả  
- Lược đồ cho mỗi quan hệ  
- Miền giá trị tương ứng của từng thuộc tí nh  
- Ràng buộc toàn vẹn  
- Chỉ mục trên mỗi quan hệ  
Gồm  
- CREATE TABLE (tạo bảng)  
- DROP TABLE (xó a bảng)  
- ALTER TABLE (sửa bảng)  
- CREATE DOMAIN (tạo miền giá trị)  
- CREATE DATABASE  
- …  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
6
Kiểu dữ liệu  
Số (numeric)  
- INTEGER  
- SMALLINT  
- NUMERIC, NUMERIC(p), NUMERIC(p,s)  
- DECIMAL, DECIMAL(p), DECIMAL(p,s)  
- REAL  
- DOUBLE PRECISION  
- FLOAT, FLOAT(p)  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
7
Kiểu dữ liệu (tt)  
Chuỗi ký tự (character string)  
- CHARACTER, CHARACTER(n)  
- CHARACTER VARYING(x)  
Chuỗi bit (bit string)  
- BIT, BIT(x)  
- BIT VARYING(x)  
Ngày giờ (datetime)  
- DATE gồm ngày, thá ng và năm  
- TIME gồm giờ, phút và giâ y  
- TIMESTAMP gồm ngày và giờ  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
8
Lệnh tạo bảng  
Để định nghĩa một bảng  
- Tên bảng  
- Cá c thuộc tí nh  
Tên thuộc tí nh  
Kiểu dữ liệu  
Cá c RBTV trên thuộc tí nh  
Cú phá p  
CREATE TABLE <Tên_bảng> (  
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>],  
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>],  
…
[<RBTV>]  
)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
9
Ví dụ - Tạo bảng  
CREATE TABLE NHANVIEN (  
MANV CHAR(9),  
HONV VARCHAR(10),  
TENLOT VARCHAR(20),  
TENNV VARCHAR(10),  
NGSINH DATETIME,  
DCHI VARCHAR(50),  
PHAI CHAR(3),  
LUONG INT,  
MA_NQL CHAR(9),  
PHG INT  
)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
10  
Lệnh tạo bảng (tt)  
<RBTV>  
- NOT NULL  
- NULL  
- UNIQUE  
- DEFAULT  
- PRIMARY KEY  
- FOREIGN KEY / REFERENCES  
- CHECK  
Đặt tên cho RBTV  
CONSTRAINT <Ten_RBTV> <RBTV>  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
11  
Ví dụ - RBTV  
CREATE TABLE NHANVIEN (  
HONV VARCHAR(10) NOT NULL,  
TENLOT VARCHAR(20) NOT NULL,  
TENNV VARCHAR(10) NOT NULL,  
MANV CHAR(9) PRIMARY KEY,  
NGSINH DATETIME,  
DCHI VARCHAR(50),  
PHAI CHAR(3) CHECK (PHAI IN (‘Nam’, ‘Nu’)),  
LUONG INT DEFAULT (10000),  
MA_NQL CHAR(9),  
PHG INT  
)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
12  
Ví dụ - RBTV  
CREATE TABLE PHONGBAN (  
TENPB VARCHAR(20) UNIQUE,  
MAPHG INT NOT NULL,  
TRPHG CHAR(9),  
NG_NHANCHUC DATETIME DEFAULT (GETDATE())  
)
CREATE TABLE PHANCONG (  
MA_NVIEN CHAR(9) FOREIGN KEY (MA_NVIEN)  
REFERENCES NHANVIEN(MANV),  
SODA INT REFERENCES DEAN(MADA),  
THOIGIAN DECIMAL(3,1)  
)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
13  
Ví dụ - Đặt tên cho RBTV  
CREATE TABLE NHANVIEN (  
HONV VARCHAR(10) CONSTRAINT NV_HONV_NN NOT NULL,  
TENLOT VARCHAR(20) NOT NULL,  
TENNV VARCHAR(10) NOT NULL,  
MANV CHAR(9) CONSTRAINT NV_MANV_PK PRIMARY KEY,  
NGSINH DATETIME,  
DCHI VARCHAR(50),  
PHAI CHAR(3) CONSTRAINT NV_PHAI_CHK  
CHECK (PHAI IN (‘Nam’, ‘Nu’)),  
LUONG INT CONSTRAINT NV_LUONG_DF DEFAULT (10000),  
MA_NQL CHAR(9),  
PHG INT  
)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
14  
Ví dụ - Đặt tên cho RBTV  
CREATE TABLE PHANCONG (  
MA_NVIEN CHAR(9),  
SODA INT,  
THOIGIAN DECIMAL(3,1),  
CONSTRAINT PC_MANVIEN_SODA_PK PRIMARY KEY (MA_NVIEN, SODA),  
CONSTRAINT PC_MANVIEN_FK FOREIGN KEY (MA_NVIEN)  
REFERENCES NHANVIEN(MANV),  
CONSTRAINT PC_SODA_FK FOREIGN KEY (SODA)  
REFERENCES DEAN(MADA)  
)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
15  
Lệnh sửa bảng  
Được dùng để  
- Thay đổi cấu trúc bảng  
- Thay đổi RBTV  
ALTER TABLE <Tên_bảng> ADD COLUMN  
Thêm cột  
Xó a cột  
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>]  
ALTER TABLE <Tên_bảng> DROP COLUMN <Tên_cột>  
ALTER TABLE <Tên_bảng> ALTER COLUMN  
Mở rộng cột  
<Tên_cột> <Kiểu_dữ_liệu_mới>  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
16  
Lệnh sửa bảng (tt)  
Thêm RBTV  
ALTER TABLE <Tên_bảng> ADD  
CONSTRAINT <Ten_RBTV> <RBTV>,  
CONSTRAINT <Ten_RBTV> <RBTV>,  
…
Xó a RBTV  
ALTER TABLE <Tên_bảng> DROP <Tên_RBTV>  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
17  
Ví dụ - Thay đổi cấu trúc bảng  
ALTER TABLE NHANVIEN ADD  
NGHENGHIEP CHAR(20)  
ALTER TABLE NHANVIEN DROP COLUMN NGHENGHIEP  
ALTER TABLE NHANVIEN ALTER COLUMN  
NGHENGHIEP CHAR(50)  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
18  
Ví dụ - Thay đổi RBTV  
CREATE TABLE PHONGBAN (  
TENPB VARCHAR(20),  
MAPHG INT NOT NULL,  
TRPHG CHAR(9),  
NG_NHANCHUC DATETIME  
)
ALTER TABLE PHONGBAN ADD  
CONSTRAINT PB_MAPHG_PK PRIMARY KEY (MAPHG),  
CONSTRAINT PB_TRPHG FOREIGN KEY (TRPHG)  
REFERENCES NHANVIEN(MANV),  
CONSTRAINT PB_NGNHANCHUC_DF DEFAULT (GETDATE())  
FOR (NG_NHANCHUC),  
CONSTRAINT PB_TENPB_UNI UNIQUE (TENPB)  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
19  
Lệnh xóa bảng  
Được dùng để xó a cấu trúc bảng  
- Tất cả dữ liệu của bảng cũng bị xó a  
Cú phá p  
DROP TABLE <Tên_bảng>  
Ví dụ  
DROP TABLE NHANVIEN  
DROP TABLE PHONGBAN  
DROP TABLE PHANCONG  
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM  
20  
Tải về để xem bản đầy đủ
ppt 139 trang baolam 19540 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 5: SQL", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_giang_co_so_du_lieu_chuong_5_sql.ppt