Nội dung chương 5 Ngôn ngữ truy vấn có cấu trúc nằm trong bài giảng cơ sở dữ liệu nhằm trình bày về các nội dung chính: 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, ngôn ngữ định nghĩa lược đồ cơ sở dữ liệu.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Cơ sở dữ liệu: Chương 5 - ThS. Nguyễn Thị Khiêm Hòa (ĐH Ngân hàng TP.HCM)
- 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
Định nghĩa lược đồ CSDL trong SQL
• Tập hợp các bảng dữ liệu phục vụ cho một ứng
dụng
Thành phần của lược đồ CSDL
• Bảng dữ liệu
• Ràng buộc toàn vẹn
• Khung nhìn
• …
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
Bảng dữ liệu trong SQL
• 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
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
Thành phần củ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
• …
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
Các kiểu dữ liệu trong SQL
• 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
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
Các kiểu dữ liệu trong SQL
• 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
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
Các kiểu dữ liệu trong SQL
• 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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 13
- HOẠT ĐỘNG 1:
Bài tập nhóm
• 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”
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
Ràng buộc NOT NULL
• 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
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ị mặc định
• 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 ()
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
Ràng buộc miền giá trị
• 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 TOÀN VẸN DỮ LIỆU
Ràng buộc về khóa
• 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 TOÀN VẸN DỮ LIỆU
Ràng buộc tham chiếu (khóa ngoại)
• 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