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

pdf28 trang | Chia sẻ: lylyngoc | Lượt xem: 1650 | Lượt tải: 1download
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