Bài giảng môn Cơ sở dữ liệu - Chương 4: Ngôn ngữ truy vấn có cấu trúc

pdf 8 trang ngocly 80
Bạn đang xem tài liệu "Bài giảng môn Cơ sở dữ liệu - Chương 4: Ngôn ngữ truy vấn có cấu trúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_mon_co_so_du_lieu_chuong_4_ngon_ngu_truy_van_co_ca.pdf

Nội dung text: Bài giảng môn Cơ sở dữ liệu - Chương 4: Ngôn ngữ truy vấn có cấu trúc

  1. 9/5/2016 CƠ SỞ DỮ LIỆU NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 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 • Tổng quan hệ thống cơ sở dữ liệu – Câu lệnh tạo lược đồ CSDL CREATE SCHEMA COMPANY AUTHORIZATION SA Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU 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 dữ liệu của DBMS Thành phần của bảng dữ liệu Tổng quan hệ thống cơ sở 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 • Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 1
  2. 9/5/2016 ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU DỮ LIỆU Bảng dữ liệu trong SQL • Cho phép có các bộ trùng nhau Câu lệnh tạo bảng dữ liệu trong SQL Tổng quan hệ thống cơ sở dữ liệu – CREATE TABLE tên_bảng ( ) Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] ĐỊNH NGHĨA DỮ LIỆU & 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 Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU DỮ LIỆU Ví dụ về lệnh tạo bảng dữ liệu Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 2
  3. 9/5/2016 CÁC LOẠI 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 Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LOẠI 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 Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LOẠI 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 đó Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 3
  4. 9/5/2016 CÁC LOẠI RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc khóa trong SQL • Hai bộ dữ liệu trong quan hệ không thể có giá trị bằng nhau tại (các) thuộc tính của khóa • Quan hệ có thể có nhiều khóa, gồm một khóa chính và nhiều khóa phụ (duy nhất) Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LOẠI RÀNG BUỘC TOÀN VẸN DỮ LIỆU Đặt tên cho ràng buộc toàn vẹn trong SQL • Tên tường minh của ràng buộc toàn vẹn rất hữu ích khi có nhu cầu muốn chỉnh sửa hoặc xóa các ràng buộc hiện hữu Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LOẠI RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc toàn vẹn trên bộ trong SQL • Ràng buộc liên quan đến các giá trị thành phần của từng bộ dữ liệu được xét Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 4
  5. 9/5/2016 CÁC LOẠI RÀNG BUỘC TOÀN VẸN DỮ LIỆU Ràng buộc tham chiếu trong SQL • Một giá trị muốn xuất hiện trong khung cảnh này cần phải xuất hiện trong một khung cảnh khác • Thuộc tính tham chiếu đi là khóa ngoại, thuộc tính được tham chiếu tới phải là khóa (chính hoặc phụ) Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LOẠI RÀNG BUỘC TOÀN VẸN DỮ LIỆU Dò tìm vi phạm ràng buộc tham chiếu RBTV Thêm mới Chỉnh sửa Xóa bỏ Khóa chính - + + Khóa ngoại + + - Tổng quan hệ thống cơ sở dữ liệu Xử lý vi phạm ràng buộc tham chiếu – • Cơ chế mặc định • Cơ chế thay thế • Cơ chế Set Null Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC CÂU LỆNH THAY ĐỔI LƯỢC ĐỒ CƠ SỞ DỮ LIỆU Lệnh xóa bảng dữ liệu trong SQL • 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 Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 5
  6. 9/5/2016 CÁC CÂU LỆNH THAY ĐỔI LƯỢC ĐỒ CƠ SỞ DỮ LIỆU Lệnh sửa cấu trúc bảng dữ liệu trong SQL • Thay đổi cấu trúc bảng dữ liệu bằng cách thêm mới, sửa, xóa thuộc tính, ràng buộc toàn vẹn, Ví dụ Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LỆNH CẬP NHẬT TRONG SQL Lệnh INSERT • Thêm mới một (số) bộ dữ liệu vào quan hệ • Bộ dữ liệu với các giá trị được liệt kê cùng trình tự với các thuộc tính tương ứng được xác định trong câu lệnh tạo quan hệ. • Bắt buộc phải cung cấp giá trị đối với các thuộc tính được khai báo là khác NULL và không có giá trị mặc định Tổng quan hệ thống cơ sở dữ liệu – Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LỆNH CẬP NHẬT TRONG SQL Ví dụ 21 • Thêm mới một bộ dữ liệu vào quan hệ EMPLOYEE INSERT INTO EMPLOYEE VALUES (‘30121050004’,N’Mai Duy An’, 30000, ‘F’, ’17/02/1968’, ‘30121050037’, 1, ‘15/06/2010’) Tổng quan hệ thống cơ sở dữ liệu INSERT INTO – EMPLOYEE (ESSN, EName, DNum) VALUES (‘30121050004’, N‘Mai Duy An’,1) Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 6
  7. 9/5/2016 CÁC LỆNH CẬP NHẬT TRONG SQL Lệnh DELETE • Xóa một (số) bộ thỏa mãn điều kiện được xác định trong mệnh đề WHERE ra khỏi quan hệ • Xóa tất cả các bộ ra khỏi quan hệ khi không có mệnh đề WHERE trong câu lệnh Ví dụ 21 • Câu lệnh sau đây xóa các thân nhân của nhân viên có mã số ‘30121050180’ Tổng quan hệ thống cơ sở dữ liệu – DELETE FROM DEPENDENT WHERE ESSN = ‘30121050180’ Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LỆNH CẬP NHẬT TRONG SQL Lệnh DELETE • Xóa một (số) bộ thỏa mãn điều kiện được xác định trong mệnh đề WHERE ra khỏi quan hệ • Xóa tất cả các bộ ra khỏi quan hệ khi không có mệnh đề WHERE trong câu lệnh Ví dụ 22 • Câu lệnh sau đây xóa tất cả thân nhân của các nhân viên trong phòng có mã số 1 Tổng quan hệ thống cơ sở dữ liệu – DELETE FROM DEPENDENT WHERE ESSN IN (SELECT ESSN FROM EMPLOYEE WHERE DNum=1) Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] CÁC LỆNH CẬP NHẬT TRONG SQL Lệnh UPDATE • Thay đổi giá trị một (số) thuộc tính của một (số) bộ thỏa mãn điều kiện được xác định trong mệnh đề WHERE • Thay đổi tất cả các bộ trong quan hệ khi không có mệnh đề WHERE trong câu lệnh Ví dụ 23 • Thay đổi địa điểm và đơn vị quản lý của dự án có mã số là 10 với các giá trị mới lần lượt là ‘Hà Nội’ và 5 Tổng quan hệ thống cơ sở dữ liệu – UPDATE PROJECT SET PLocation = N’Hà Nội’, DNum=5 WHERE PNumber = 10 Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 7
  8. 9/5/2016 CÁC LỆNH CẬP NHẬT TRONG SQL Lệnh UPDATE • Thay đổi giá trị một (số) thuộc tính của một (số) bộ thỏa mãn điều kiện được xác định trong mệnh đề WHERE • Thay đổi tất cả các bộ trong quan hệ khi không có mệnh đề WHERE trong câu lệnh Ví dụ 23 • Tăng lương cho mọi nhân viên của phòng Nghiên cứu lên 10% lương hiện tại Tổng quan hệ thống cơ sở dữ liệu – UPDATE EMPLOYEE SET ESalary = ESalary *1.1 WHERE DNum IN (SELECT DNumber FROM DEPARTMENT WHERE DName = N’Phòng Nghiên cứu’) Cơ sở dữ liệu Ths. Trịnh Hoàng Nam, [email protected] 8