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