intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cơ sở dữ liệu: Ngôn ngữ SQL - Trần Ngọc Bảo

Chia sẻ: Năm Tháng Tĩnh Lặng | Ngày: | Loại File: PDF | Số trang:28

235
lượt xem
23
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Cơ sở dữ liệu: Ngôn ngữ SQL" giới thiệu về ngôn ngữ SQL (Structured Query Language). Bài giảng này trình bày 2 nội dung chính, đó là: Giới thiệu về SQL, truy vấn dữ liệu với câu lệnh SELECT. Hy vọng bài giảng này sẽ là tài liệu tham khảo hữu ích cho các bạn trong quá trình học tập.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cơ sở dữ liệu: Ngôn ngữ SQL - Trần Ngọc Bảo

  1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CƠ SỞ DỮ LIỆU Ngôn ngữ SQL (Structured Query Language) Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com
  2. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học CƠ SỞ DỮ LIỆU Ngôn ngữ SQL (Structured Query Language) • Giới thiệu về SQL • Truy vấn dữ liệu với câu lệnh SELECT
  3. Giới thiệu về SQL (tt) • Ngôn ngữ ĐSQH BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU – Cách thức truy vấn dữ liệu – Khó khăn cho người sử dụng • Ngôn ngữ giao tiếp CSDL: SQL 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) – Ban đầu có tên là SEQUEL (Structured English Query Language) – Được ANSI (American National Standard Institute) công nhận và phát triển thành chuẩn: • SQL-86 (được ISO – International Standards Organization công nhận) • SQL-92 • SQL-99 TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 3 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (3) TP.HCM ” (3)
  4. BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU Giới thiệu về SQL (tt) • SEQUEL Æ SQL (Structured Query Language -cuối 70s) gồm: – Định nghĩa dữ liệu (DDL) – Thao tác dữ liệu (DML) NGÔN NGỮ SQL – Định nghĩa khung nhìn Lý thuyết : Chuẩn SQL-92 – Ràng buộc toàn vẹn Ví dụ : SQL Server – Phân quyền và bảo mật – Điều khiển giao tác • SQL sử dụng thuật ngữ – Bảng ~ quan hệ – Cột ~ thuộc tính – Dòng ~ bộ TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 4 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (4) TP.HCM ” (4)
  5. Truy vấn dữ liệu BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU • Là ngôn ngữ rút trích dữ liệu thỏa một số điều kiện nào đó NGÔN NGỮ SQL • Dựa trên Phép toán ĐSQH + Một số bổ sung • Lệnh cơ bản để rút trích thông tin từ CSDL: SELECT • Lệnh SELECT không hoàn toàn giống phép chọn trong ĐSQH: – Cho phép có nhiều dòng trùng nhau trong kết quả truy vấn TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 5 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (5) TP.HCM ” (5)
  6. BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU CÚ PHÁP CÂU LỆNH SELECT SELECT FROM < Danh sách các bảng> WHERE NGÔN NGỮ SQL GROUP BY HAVING < Điều kiện nhóm> ORDER BY < Danh sách cột cần sắp xếp> TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 6 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (6) TP.HCM ” (6)
  7. Truy vấn cơ bản BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU • Gồm 3 mệnh đề SELECT Tương ứng phép chiếu FROM Tương ứng phép tích, kết NGÔN NGỮ SQL WHERE Tương ứng phép chọn – • Tên các cột cần được hiển thị trong kết quả truy vấn – • Tên các bảng liên quan đến câu truy vấn – • Biểu thức boolean xác định dòng nào sẽ được rút trích • Nối các biểu thức: AND, OR, và NOT • Phép toán: < , > , ≤ , ≥ , ≠ , =, LIKE và BETWEEN TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 7 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (7) TP.HCM ” (7)
  8. BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU Truy vấn cơ bản (tt) • SQL và ĐSQH π NGÔN NGỮ SQL SELECT × FROM σ WHERE SELECT L FROM R πL (σC (R)) WHERE C TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 8 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (8) TP.HCM ” (8)
  9. BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU Phép chọn Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa mãn điều kiện MANGANH = ‘SP101’ NGÔN NGỮ SQL 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) MASV HOTEN PHAI NGAYSINH MANGANH K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO ÁN --TIN TOÁN 9 TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (9) TP.HCM ” (9)
  10. BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU Phép chọn Yêu cầu truy vấn: Liệt kê danh sách sinh viên thuộc ngành “SP101” Thực hiện CHỌN các dòng trong quan hệ SinhVien thỏa mãn điều kiện MANGANH = ‘SP101’ NGÔN NGỮ SQL ‰ Ngôn ngữ ĐSQL σ MANGANH = ‘SP101’ (SINHVIEN) ‰ Ngôn ngữ SQL Lấy tất cả các cột của quan SELECT * hệ kết quả FROM SINHVIEN WHERE MANGANH = ‘SP101’ TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN10 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (10) TP.HCM ” (10)
  11. Phép chiếu Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU NGAYSINH) Thực hiện CHỌN các CỘT (MASV, HOTEN, NGAYSINH) trong quan hệ SinhVien NGÔN NGỮ SQL 1. SINHVIEN (MASV, HOTEN, PHAI, NGAYSINH, MANGANH) MASV HOTEN PHAI NGAYSINH MANGANH K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN11 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (11) TP.HCM ” (11)
  12. Phép chiếu Yêu cầu truy vấn: Liệt kê danh sách sinh viên (MASV, HOTEN, BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU NGAYSINH) Thực hiện PHÉP CHIẾU các CỘT (MASV, HOTEN, NGAYSINH) trong quan hệ SinhVien NGÔN NGỮ SQL ‰ Ngôn ngữ ĐSQL π MASV, HOTEN, NGAYSINH (SINHVIEN) ‰ Ngôn ngữ SQL SELECT MASV, HOTEN, NGAYSINH FROM SINHVIEN TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN12 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (12) TP.HCM ” (12)
  13. Phép kết Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU TENNGANH) sinh viên 2. Cách 2: SinhVien Nganh 7 x 1 = 7 dòng NGÔN NGỮ SQL MASV HOTEN PHAI NGAYSINH MANGANH MANGANH TENNGANH SOCD TSSV SP103 Sư Phạm Tin học 8 800 K29.101.001 Nguyen Cong Phu Nam 10/10/1979 SP101 K29.101.002 Phan Anh Khanh Nu 1/10/1979 SP101 SP101 Sư Phạm Toán 5 1000 SP201 Sư Phạm Hóa 3 1500 K29.103.001 Han Quoc Viet Nam 3/2/1979 SP103 K29.103.002 Pham Khanh Nhu Nu 10/12/1979 SP103 SP102 Sư Phạm Lý 4 1200 K29.201.001 Ly Thanh Nam 3/8/1979 SP201 CNTT Khoa học máy tính 8 160 K29.201.002 Tran Ngoc Dung Nu 4/5/1979 SP201 SP104 Sư Phạm Lý 6 1000 K29.104.001 Ho Anh Thu Nu 1/4/1979 SP104 SP105 Sư phạm Anh 2 1100 Thực hiện PHÉP KẾT thuộc tính MANGANH của quan hệ SINHVIEN với MANGANH của quan hệ NGANH TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN13 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (13) TP.HCM ” (13)
  14. Phép kết Yêu cầu truy vấn: Liệt kê danh sách (MaSV, HoTen, NgaySinh, BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU TENNGANH) sinh viên Thực hiện PHÉP KẾT thuộc tính MANGANH của quan hệ NGÔN NGỮ SQL SINHVIEN với MANGANH của quan hệ NGANH ‰ Ngôn ngữ ĐSQL ∏MASV, HOTEN, NGAYSINH, TENNGANH (SINHVIEN NGANH) SINHVIEN.MANGANH = NGANH.MANGANH ‰ Ngôn ngữ SQL SELECT MASV, HOTEN, NGAYSINH, TENNGANH FROM SINHVIEN JOIN NGANH ON SINHVIEN.MANGANH = NGANH.MANGANH TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN14 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (14) TP.HCM ” (14)
  15. Sử dụng bí danh (Alias – AS) TRƯỜNG HỢP CÁC THUỘC TÍNH Ở CÁC QUAN HỆ KHÁC NHAU BỊ BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU TRÙNG TÊN SELECT MASV, HOTEN, NGAYSINH, TENNGANH NGÔN NGỮ SQL FROM SINHVIEN JOIN NGANH ON SINHVIEN.MANGANH = NGANH.MANGANH SỬ DỤNG TÊN BÍ DANH SELECT MASV, HOTEN, NGAYSINH, TENNGANH FROM SINHVIEN AS SV JOIN NGANH AS N ON SV.MANGANH = N.MANGANH TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN15 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (15) TP.HCM ” (15)
  16. Kết hợp các phép toán Liệt kê danh sách chuyên đề (MACD, TENCD, SOSVTD) cần phải BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU học của sinh viên ngành công nghệ phần mềm (TENNGANH = “CÔNG NGHỆ PHẦN MỀM”) NGÔN NGỮ SQL SELECT CD.MACD, TENCD, SOSVTD FROM (NGANH AS N JOIN CD_NGANH AS CDN ON N.MANGANH = CDN.MANGANH ) JOIN CHUYENDE AS CD ON CD.MACD = CDN.MACD WHERE TENNGANH = ‘CÔNG NGHỆ PHẦN MỀM’ TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN16 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (16) TP.HCM ” (16)
  17. BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU Hàm gộp • COUNT – COUNT(*) đếm số dòng – COUNT() đếm số giá trị khác NULL của thuộc tính NGÔN NGỮ SQL – COUNT(DISTINCT ) đếm số giá trị khác nhau và khác NULL của thuộc tính • MIN • MAX • SUM • AVG • Các hàm kết hợp được đặt ở mệnh đề SELECT TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN17 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (17) TP.HCM ” (17)
  18. Gom nhóm • Cú pháp BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU SELECT NGÔN NGỮ SQL FROM WHERE GROUP BY • Sau khi gom nhóm thì kết quả là – Nhóm các bộ có cùng giá trị tại các thuộc tính gom nhóm TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN18 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (18) TP.HCM ” (18)
  19. Phép gom nhóm (tt) •Ví dụ BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU R A B C ISUM(C)(R) α 2 7 NGÔN NGỮ SQL α 4 7 Kết quả β 2 3 ISUM(C)(R) = 27 γ 2 10 SELECT SUM(C) FROM R TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN19 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (19) TP.HCM ” (19)
  20. Phép gom nhóm (tt) •Ví dụ BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU R A B C AISUM(C)(R) Kết quả α 2 7 A SUM(C) NGÔN NGỮ SQL α 4 7 β 2 3 α 14 γ 2 10 β 3 γ 10 SELECT A, SUM(C) FROM R GROUP BY A TRẦN NG TRẦN ỌC B NGỌC ẢO ” BẢO ” KHOA KHOA TO TOÁN TIN20 ÁN --TIN H ỌC ” HỌC ”Đ ẠI H ĐẠI ỌC SƯ HỌC SƯ PHẠM TP.HCM PHẠM ” (20) TP.HCM ” (20)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2