Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hồ Đắc Quán
Số trang: 24
Loại file: ppt
Dung lượng: 347.00 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Cơ sở dữ liệu - Chương 3 giới thiệu về ngôn ngữ truy vấn SQL. Chương này trình bày các nội dung chính như sau: Giới thiệu SQL, môi trường SQL, dùng DDL để định nghĩa CSDL, dùng DML để thao tác trên CSDL, các phép kết dữ liệu trên nhiều bảng, Subquery – truy vấn con. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hồ Đắc Quán Môn CƠ SỞ DỮ LIỆU Chương 3: Ngôn ngữ truy vấn SQL Nội dung 1. Giới thiệu SQL 2. Môi trường SQL 3. Dùng DDL để định nghĩa CSDL 4. Dùng DML để thao tác trên CSDL INSERT DELETE UPDATE SELECT 1. Các phép kết dữ liệu trên nhiều bảng 2. Subquery – truy vấn con 2 1. SQL là gì? Structured Query Language – Ngôn ngữ truy vấn có cấu trúc Ngôn ngữ chuẩn cho các RDBMS (relational database management systems hệ quản trị CSDL quan hệ) Chuẩn SQL92: Định nghĩa cấu trúc/ngữ nghĩa của việc định nghĩa/thao tác trên dữ liệu Định nghĩa cấu trúc dữ liệu Hai chuẩn: level 1 (minimal) và level 2 (complete) Kh ả năng mở rộng 3 2. Môi trường SQL Data Definition Language (DDL): Các lệnh mô tả CSDL, gồm tạo, sửa, xoá các bảng và ràng buộc Data Manipulation Language (DML): Các lệnh thao tác truy vấn dữ liệu Data Control Language (DCL): Các lệnh điều khiển CSDL, gồm việc quản lý quyền hạn của user 4 3. Dùng DDL để định nghĩa CSDL Data Definition Language (DDL) Lệnh tạo bảng: CREATE TABLE Lệnh sửa bảng: ALTER TABLE Lệnh xóa bảng: DROP TABLE 5 3. Dùng DDL để định nghĩa CSDL (tt) Các bước tạo bảng: Cú pháp lệnh CREATE TABLE 1. Kiểu dữ liệu cho các thuộc tính 2. Cột nào được/không được phép null 3. Các cột giá trị duy nhất (khoá dự tuyển) 4. Khoá chính – khóa ngoại 5. Giá trị mặc định 6. Ràng buộc miền trị 7. Tạo bảng và chỉ m6ục 3. Dùng DDL để định nghĩa CSDL (tt) Lệnh ALTER TABLE dùng để thay đổi các mô tả của bảng ALTER TABLE CUSTOMER_T ADD (TYPE VARCHAR(2)) Lệnh DROP TABLE dùng để xoá bảng khỏi CSDL DROP TABLE CUSTOMER_T 7 4. DML Lệnh INSERT Thêm dữ liệu (bản ghi, hàng) vào bảng Thêm dữ liệu vào tất cả các cột trong bảng: INSERT INTO CUSTOMER_T VALUES (001, ‘CONTEMPORARY Casuals’, 1355 S. Himes Blvd.’, ‘Gainesville’, ‘FL’, 32601); Thêm dữ liệu vào các cột được chỉ định rõ trong bảng, các cột còn lại nhận giá trị mặc định hoặc NULL: INSERT INTO PRODUCT_T (PRODUCT_ID, PRODUCT_DESCRIPTION,PRODUCT_FINISH, STANDARD_PRICE, PRODUCT_ON_HAND) VALUES (1, ‘End Table’, ‘Cherry’, 175, 8); Thêm dữ liệu từ bảng khác: INSERT INTO CA_CUSTOMER_T SELECT * FROM CUSTOMER_T WHERE STATE = ‘CA’; 8 4. DML Lệnh DELETE Lệnh UPDATE Lệnh Delete: Xoá dữ liệu (bản ghi, hàng) trong bảng Xoá các hàng theo điều kiện: DELETE FROM CUSTOMER_T WHERE STATE = ‘HI’; Xoá tất cả các hàng trong bảng: DELETE FROM CUSTOMER_T; Lệnh Update: Sửa dữ liệu (bản ghi, hàng) trong bảng: UPDATE PRODUCT_T SET UNIT_PRICE = 775 WHERE PRODUCT_ID = 7; 9 4. DML Lệnh SELECT Truy vấn (xem) dữ liệu trong các bảng, view Các mệnh đề của lệnh SELECT: SELECT: Danh sách các cột kết quả của lệnh truy vấn FROM: Danh sách các bảng hoặc view để lấy dữ liệu WHERE: Điều kiện lựa chọn các hàng trong bảng GROUP BY: Nhóm các hàng dữ liệu theo loại HAVING: Điều kiện cho các nhóm để lựa chọn ết quả nhóm k 10 Thứ tự xử lý các mệnh đề trong lệnh SELECT 11 4. DML Ví dụ Tìm những sản phẩm có giá 4. DML Lệnh SELECT dùng ALIAS, hàm Alias là tên thay thế cho bảng hoặc cột, khi đó cột kết quả lấy tên alias: SELECT CUST.CUSTOMER AS NAME, CUST.CUSTOMER_ADDRESS FROM CUSTOMER_V CUST WHERE NAME = ‘Nguyen Van A’; Dùng hàm tập hợp COUNT để tìm tổng số các hoá đơn có trong bảng hoá đơn SELECT COUNT(*) FROM ORDER_LINE_V WHERE ORDER_ID = 1004 13 4.(tt)Lệnh SELECT dùng toán tử luận lý Các toán tử AND, OR và NOT dùng trong mệnh đề WHERE SELECT PRODUCT_DESCRIPTION, PRODUCT_FINISH, STANDARD_PRICE FROM PRODUCT_V WHERE (PRODUCT_DESCRIPTION LIKE ‘%Desk’ OR PRODUCT_DESCRIPTION LIKE ‘%Table’) AND UNIT_PRICE > 300; LIKE dùng để so sánh chuỗi. Dấu % trong chuỗi ‘%Desk’ chỉ mọi chuỗi kết thúc bằng “Desk” 14 4. (tt) Lệnh SELECT dùng ORDER BY Sắp xếp kết quả theo thứ tự STATE tăng dần, cùng state thì sắp theo CUSTOMER_NAME tăng dần. Dùng từ khóa ASC, DESC SELECT CUSTOMER_NAME, CITY, STATE FROM CUSTOMER_V WHERE STATE IN (‘FL’, ‘TX’, ‘CA’, ‘HI’) ORDER BY STATE, CUSTOMER_NAME; IN lựa chọn các hàng có giá trị STATE là FL, TX, CA, hoặc HI. Tốt hơn OR 15 4. (tt) Lệnh SELECT dùng GROUP BY Dùng với các hàm tập hợp SELECT STATE, COUNT(STATE) FROM CUSTOMER_V GROUP BY STATE; Muốn dùng cột đơn trị với hàm tập hợp thì phải đưa cột này vào mệnh đề GROUP BY 16 4. (tt) Lệnh SELECT dùng HAVING Chỉ dùng với GROUP BY, làm điều kiện lựa chọn các nhóm hàng SELECT STATE, COUNT(STATE) FROM CUSTOMER_V GROUP BY STATE HAVING COUNT(STATE) > 1; Lựa chọn những nhóm có nhiều hơn 1 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Hồ Đắc Quán Môn CƠ SỞ DỮ LIỆU Chương 3: Ngôn ngữ truy vấn SQL Nội dung 1. Giới thiệu SQL 2. Môi trường SQL 3. Dùng DDL để định nghĩa CSDL 4. Dùng DML để thao tác trên CSDL INSERT DELETE UPDATE SELECT 1. Các phép kết dữ liệu trên nhiều bảng 2. Subquery – truy vấn con 2 1. SQL là gì? Structured Query Language – Ngôn ngữ truy vấn có cấu trúc Ngôn ngữ chuẩn cho các RDBMS (relational database management systems hệ quản trị CSDL quan hệ) Chuẩn SQL92: Định nghĩa cấu trúc/ngữ nghĩa của việc định nghĩa/thao tác trên dữ liệu Định nghĩa cấu trúc dữ liệu Hai chuẩn: level 1 (minimal) và level 2 (complete) Kh ả năng mở rộng 3 2. Môi trường SQL Data Definition Language (DDL): Các lệnh mô tả CSDL, gồm tạo, sửa, xoá các bảng và ràng buộc Data Manipulation Language (DML): Các lệnh thao tác truy vấn dữ liệu Data Control Language (DCL): Các lệnh điều khiển CSDL, gồm việc quản lý quyền hạn của user 4 3. Dùng DDL để định nghĩa CSDL Data Definition Language (DDL) Lệnh tạo bảng: CREATE TABLE Lệnh sửa bảng: ALTER TABLE Lệnh xóa bảng: DROP TABLE 5 3. Dùng DDL để định nghĩa CSDL (tt) Các bước tạo bảng: Cú pháp lệnh CREATE TABLE 1. Kiểu dữ liệu cho các thuộc tính 2. Cột nào được/không được phép null 3. Các cột giá trị duy nhất (khoá dự tuyển) 4. Khoá chính – khóa ngoại 5. Giá trị mặc định 6. Ràng buộc miền trị 7. Tạo bảng và chỉ m6ục 3. Dùng DDL để định nghĩa CSDL (tt) Lệnh ALTER TABLE dùng để thay đổi các mô tả của bảng ALTER TABLE CUSTOMER_T ADD (TYPE VARCHAR(2)) Lệnh DROP TABLE dùng để xoá bảng khỏi CSDL DROP TABLE CUSTOMER_T 7 4. DML Lệnh INSERT Thêm dữ liệu (bản ghi, hàng) vào bảng Thêm dữ liệu vào tất cả các cột trong bảng: INSERT INTO CUSTOMER_T VALUES (001, ‘CONTEMPORARY Casuals’, 1355 S. Himes Blvd.’, ‘Gainesville’, ‘FL’, 32601); Thêm dữ liệu vào các cột được chỉ định rõ trong bảng, các cột còn lại nhận giá trị mặc định hoặc NULL: INSERT INTO PRODUCT_T (PRODUCT_ID, PRODUCT_DESCRIPTION,PRODUCT_FINISH, STANDARD_PRICE, PRODUCT_ON_HAND) VALUES (1, ‘End Table’, ‘Cherry’, 175, 8); Thêm dữ liệu từ bảng khác: INSERT INTO CA_CUSTOMER_T SELECT * FROM CUSTOMER_T WHERE STATE = ‘CA’; 8 4. DML Lệnh DELETE Lệnh UPDATE Lệnh Delete: Xoá dữ liệu (bản ghi, hàng) trong bảng Xoá các hàng theo điều kiện: DELETE FROM CUSTOMER_T WHERE STATE = ‘HI’; Xoá tất cả các hàng trong bảng: DELETE FROM CUSTOMER_T; Lệnh Update: Sửa dữ liệu (bản ghi, hàng) trong bảng: UPDATE PRODUCT_T SET UNIT_PRICE = 775 WHERE PRODUCT_ID = 7; 9 4. DML Lệnh SELECT Truy vấn (xem) dữ liệu trong các bảng, view Các mệnh đề của lệnh SELECT: SELECT: Danh sách các cột kết quả của lệnh truy vấn FROM: Danh sách các bảng hoặc view để lấy dữ liệu WHERE: Điều kiện lựa chọn các hàng trong bảng GROUP BY: Nhóm các hàng dữ liệu theo loại HAVING: Điều kiện cho các nhóm để lựa chọn ết quả nhóm k 10 Thứ tự xử lý các mệnh đề trong lệnh SELECT 11 4. DML Ví dụ Tìm những sản phẩm có giá 4. DML Lệnh SELECT dùng ALIAS, hàm Alias là tên thay thế cho bảng hoặc cột, khi đó cột kết quả lấy tên alias: SELECT CUST.CUSTOMER AS NAME, CUST.CUSTOMER_ADDRESS FROM CUSTOMER_V CUST WHERE NAME = ‘Nguyen Van A’; Dùng hàm tập hợp COUNT để tìm tổng số các hoá đơn có trong bảng hoá đơn SELECT COUNT(*) FROM ORDER_LINE_V WHERE ORDER_ID = 1004 13 4.(tt)Lệnh SELECT dùng toán tử luận lý Các toán tử AND, OR và NOT dùng trong mệnh đề WHERE SELECT PRODUCT_DESCRIPTION, PRODUCT_FINISH, STANDARD_PRICE FROM PRODUCT_V WHERE (PRODUCT_DESCRIPTION LIKE ‘%Desk’ OR PRODUCT_DESCRIPTION LIKE ‘%Table’) AND UNIT_PRICE > 300; LIKE dùng để so sánh chuỗi. Dấu % trong chuỗi ‘%Desk’ chỉ mọi chuỗi kết thúc bằng “Desk” 14 4. (tt) Lệnh SELECT dùng ORDER BY Sắp xếp kết quả theo thứ tự STATE tăng dần, cùng state thì sắp theo CUSTOMER_NAME tăng dần. Dùng từ khóa ASC, DESC SELECT CUSTOMER_NAME, CITY, STATE FROM CUSTOMER_V WHERE STATE IN (‘FL’, ‘TX’, ‘CA’, ‘HI’) ORDER BY STATE, CUSTOMER_NAME; IN lựa chọn các hàng có giá trị STATE là FL, TX, CA, hoặc HI. Tốt hơn OR 15 4. (tt) Lệnh SELECT dùng GROUP BY Dùng với các hàm tập hợp SELECT STATE, COUNT(STATE) FROM CUSTOMER_V GROUP BY STATE; Muốn dùng cột đơn trị với hàm tập hợp thì phải đưa cột này vào mệnh đề GROUP BY 16 4. (tt) Lệnh SELECT dùng HAVING Chỉ dùng với GROUP BY, làm điều kiện lựa chọn các nhóm hàng SELECT STATE, COUNT(STATE) FROM CUSTOMER_V GROUP BY STATE HAVING COUNT(STATE) > 1; Lựa chọn những nhóm có nhiều hơn 1 ...
Tìm kiếm theo từ khóa liên quan:
Cơ sở dữ liệu Lý thuyết cơ sở dữ liệu Bài giảng Lý thuyết Cơ sở dữ liệu Structured Query Language Ngôn ngữ truy vấn SQL Truy vấn conGợi ý tài liệu liên quan:
-
62 trang 389 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 371 6 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 281 0 0 -
13 trang 272 0 0
-
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 266 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 237 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 234 0 0 -
8 trang 184 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 172 0 0 -
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 165 0 0