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.
Nội dung trích xuất từ tài liệu:
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 ...