Chương 5 Ngôn ngữ truy vấn có cấu trúc
• Ngôn ngữ định nghĩa dữ liệu • Ngôn ngữ truy vấn dữ liệu • Ngôn ngữ cập nhật dữ liệu
Bạn đang xem trước 20 trang tài liệu Chương 5 Ngôn ngữ truy vấn có cấu trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 5 
NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC 
Structured Query Language 
Giảng viên: Ths. Nguyễn Thị Khiêm Hòa 
NỘI DUNG 
• Ngôn ngữ định nghĩa dữ liệu 
• Ngôn ngữ truy vấn dữ liệu 
• Ngôn ngữ cập nhật dữ liệu 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 2 
NGÔN NGỮ SQL 
• Ngôn ngữ đại số quan hệ: 
• Phải chỉ định cách thức truy vấn: khó khăn cho người 
sử dụng 
• Cần xây dựng một ngôn ngữ cấp cao: người sử dụng 
chỉ cần khai báo nội dung truy vấn 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 3 
NGÔN NGỮ SQL 
• 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 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 4 
NGÔN NGỮ ĐỊNH NGHĨA DỮ LIỆU 
• Định nghĩa lược đồ CSDL 
• Các ràng buộc toàn vẹn 
• Cập nhật lược đồ dữ liệu 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 5 
NGÔN NGỮ ĐỊNH NGHĨA LƯỢC ĐỒ CSDL 
• Là ngôn ngữ mô tả 
• Lược đồ cho mỗi quan hệ 
• Miền giá trị tương ứng cho mỗi thuộc tính 
• Ràng buộc toàn vẹn 
• Chỉ mục trên mỗi quan hệ 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 6 
ĐỊNH NGHĨA LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 
• Tập hợp các bảng dữ liệu phục vụ cho một ứng 
dụng 
Định nghĩa lược đồ CSDL trong SQL 
• Bảng dữ liệu 
• Ràng buộc toàn vẹn 
• Khung nhìn 
• … 
Thành phần của lược đồ CSDL 
Câu lệnh tạo lược đồ CSDL 
CREATE SCHEMA AUTHORIZATION 
CREATE DATABASE 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 7 
ĐỊNH NGHĨA BẢNG DỮ LIỆU 
• Quan hệ và các bộ dữ liệu của nó được tạo và 
lưu trữ vật lý trong tập tin dữ liệu của DBMS 
• Cho phép có các bộ trùng nhau 
Bảng dữ liệu trong SQL 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 8 
ĐỊNH NGHĨA BẢNG DỮ LIỆU 
• Các thuộc tính 
• Miền giá trị của từng thuộc tính 
• Các ràng buộc toàn vẹn trên bảng 
• … 
Thành phần của bảng dữ liệu 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 9 
ĐỊNH NGHĨA BẢNG DỮ LIỆU 
Câu lệnh tạo bảng dữ liệu trong SQL 
CREATE TABLE 
( 
 [], 
 [], 
 … 
 [] 
) 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 10 
ĐỊNH NGHĨA CÁC KIỂU DỮ LIỆU 
• Kiểu dữ liệu số 
• Kiểu dữ liệu chuỗi ký tự 
• Kiểu dữ liệu chuỗi bit 
• Kiểu dữ liệu Boolean 
• Kiểu dữ liệu Datetime 
Các kiểu dữ liệu trong SQL 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 11 
ĐỊNH NGHĨA CÁC KIỂU DỮ LIỆU 
• Kiểu dữ liệu số 
• Số nguyên: BIGINT, INT, SMALLINT, TINYINT 
• Số thực: FLOAT, DOUBLE PRECISION, DECIMAL(i,j) 
• Kiểu Bit 
Các kiểu dữ liệu trong SQL 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 12 
ĐỊNH NGHĨA CÁC KIỂU DỮ LIỆU 
• Kiểu dữ liệu chuỗi ký tự 
• Char(n), nchar(n) 
• Varchar(n), nvarchar(n) 
• Text, ntext 
• Kiểu Boolean 
• Kiểu ngày tháng: datetime 
Các kiểu dữ liệu trong SQL 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 13 
HOẠT ĐỘNG 1: 
• Thực hiện tạo CSDL cho bài toán QUẢN 
LÝ DỰ ÁN được cho trong file “Bai tap 
Chapter5_Dinh nghia DL.docx” 
Bài tập nhóm 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 14 
ĐỊNH NGHĨA RÀNG BUỘC TOÀN VẸN 
• Các hình thức ràng buộc toàn vẹn 
• NOT NULL 
• NULL 
• DEFAULT 
• CHECK 
• UNIQUE 
• PRIMARY KEY 
• FOREIGN KEY / REFERENCES 
• Cú pháp định nghĩa ràng buộc toàn vẹn 
CONSTRAINT 
 Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 15 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
• Yêu cầu một thuộc tính không được phép có giá 
trị là null 
• Một thuộc tính là thành phần của khóa chính thì 
mặc nhiên là not null 
Ràng buộc NOT NULL 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 16 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
• Giá trị được sử dụng trong trường hợp bộ 
mới thêm vào nhận giá trị null tại thuộc 
tính được khai báo là mặc định 
• Cú pháp: 
• CONSTRAINT 
 DEFAULT () 
Giá trị mặc định 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 17 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
• Giá trị của một thuộc tính phải nằm trong 
miền giá trị của thuộc tính đó 
• Cú pháp: 
• CONSTRAINT 
 CHECK 
( IN ) 
Ràng buộc miền giá trị 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
• Quan hệ có khóa chính và khóa phụ 
• Cú pháp: 
• CONSTRAINT 
 PRIMARY KEY 
• CONSTRAINT PRIMARY KEY(…) 
• UNIQUE 
Ràng buộc về khóa 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
• Thuộc tính làm khóa chính của quan hệ này có thể 
dùng tham chiếu cho quan hệ khác 
• Cú pháp: 
• CONSTRAINT 
 FOREIGN KEY ( ) 
REFERENCES () 
ON UPDATE CASCADE 
ON DELETE SET NULL 
Ràng buộc tham chiếu (khóa ngoại) 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
Ví dụ 
CREATE TABLE NHANVIEN 
( 
 HONV NVARCHAR(10) CONSTRAINT NV_HONV_NN NOT NULL, 
 TENLOT NVARCHAR(20) NOT NULL, 
 TENNV NVARCHAR(10) NOT NULL, 
 MANV CHAR(9) CONSTRAINT NV_MANV_PK PRIMARY KEY, 
 NGAYSINH DATETIME, 
 DIA_CHI NVARCHAR(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 
) 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 21 
RÀNG BUỘC TOÀN VẸN DỮ LIỆU 
Ví dụ 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 22 
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) 
) 
HOẠT ĐỘNG 2: 
• Thực hiện tạo các ràng buộc toàn vẹn cho 
bài toán QUẢN LÝ DỰ ÁN được cho trong 
file “Bai tap Chapter5_Dinh nghia DL.docx” 
Bài tập nhóm 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 23 
CẬP NHẬT LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 
• Xóa toàn bộ dữ liệu trong bảng cùng với lược đồ 
của bảng đó 
• Việc xóa bảng chỉ thành công khi không nó không 
được tham chiếu tới bởi bất kỳ bảng nào khác 
Xóa bảng dữ liệu 
Cú pháp: 
DROP TABLE 
DROP SCHEMA 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 24 
CẬP NHẬT LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 
• Thay đổi: thêm mới, xóa, sửa các thuộc tính của 
bảng và ràng buộc toàn vẹn… 
Thay đổi cấu trúc bảng dữ liệu 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 25 
CẬP NHẬT LƯỢC ĐỒ CƠ SỞ DỮ LIỆU 
• ALTER TABLE ADD 
• ALTER TABLE DROP COLUMN 
• ALTER TABLE ADD CONSTRAINT … 
• ALTER TABLE DROP CONSTRAINT 
• ALTER TABLE ALTER COLUMN 
Thay đổi cấu trúc bảng dữ liệu 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 26 
HOẠT ĐỘNG 3: 
• Chỉnh sửa một số ràng buộc toàn vẹn, 
thuộc tính trong bài toán QUẢN LÝ DỰ ÁN 
được cho trong file “Bai tap Chapter5_Dinh 
nghia DL.docx” 
Bài tập nhóm 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 27 
TÓM TẮT 
• Định nghĩa lược đồ CSDL 
• Ràng buộc toàn vẹn 
• Cập nhật lược đồ CSDL 
• Bài tập 
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 28 
            
         
        
    



 
                    