Hệ quản trị Cơ sở dữ liệu - Chương 4: Ngôn ngữ vấn tin SQL (Structured Query Language)

pdf 62 trang vanle 2070
Bạn đang xem 20 trang mẫu của tài liệu "Hệ quản trị Cơ sở dữ liệu - Chương 4: Ngôn ngữ vấn tin SQL (Structured Query Language)", để 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:

  • pdfhe_quan_tri_co_so_du_lieu_chuong_4_ngon_ngu_van_tin_sql_stru.pdf

Nội dung text: Hệ quản trị Cơ sở dữ liệu - Chương 4: Ngôn ngữ vấn tin SQL (Structured Query Language)

  1. Chương 4: Ngôn ngữ vấn tin SQL (Structured Query Language) Ngôn ngữ thao tác dữ liệu (Data Manipulate Language - DML) Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL) Đặng Thị Kim Anh 1 Email: kimanh060282@gmail.com
  2. Ngôn ngữ truy vấn dữ liệu  Ngôn ngữ thủ tục  Đại số quan hệ  SQL  Ngôn ngữ phi thủ tục  Phép tính quan hệ bộ Logical  Phép tính quan hệ miền Schema  QBE  Sử dụng trong Access, giao diện đồ họa  Datalog  Cú pháp như Prolog 2
  3. CSDL Quản lý cho thuê đĩa phim  Mô hình DL quan hệ trình bày dưới dạng đồ hoạ 3
  4. Giới thiệu  SQL do IBM đề xuất và đã phát triển  1974: SEQUEL (Structure English Query Language)  1976: SEQUEL2 – Data definition, Manipulation, Control  1983: SQL (DB2)  1986: Database Language ISO 9075-1987 (DB2.1)  1989: Added Embedded SQL  1992: SQL-92, ISO/IEC 9075-1992 (DDL-DML extend)  1999: SQL-99, Object – Oriented feature  Hiện nay là ngôn ngữ vấn tin quan hệ được sử dụng trong nhiều hệ thống CSDL thương mại 4
  5. Mô hình dữ liệu trong SQL  SQL  dựa trên phép toán tập hợp và quan hệ  Kết quả là một quan hệ.  Mô hình sử dụng  Bảng là tập các dòng dữ liệu  Mỗi một dòng trong bảng có cùng số cột và trên cùng các miền giá trị.  Cho phép các dòng giống nhau  Thứ tự các dòng lưu trữ không xác định  Ngôn ngữ SQL gồm  Ngôn ngữ định nghĩa dữ liệu – DDL  Ngôn ngữ thao tác dữ liệu - DML 5
  6. Ngôn ngữ định nghĩa dữ liệu  Dùng để định nghĩa các lược đồ trong CSDL  Gồm 3 câu lệnh  Tạo lược đồ: CREATE  Xóa lược đồ: DROP  Thay đổi cấu trúc lược đồ: ALTER  Được áp dụng để tạo  Bảng: Table  Khung nhìn: View  Miền: Domain  Tập ký tự: Character set  6
  7. CREATE TABLE (1)  Tạo cấu trúc bảng cơ sở trong CSDL  Tạo bảng gồm  Tên bảng: Table name  Định nghĩa cột  Tên cột: Field name  Kiểu dữ liệu: Data type  Ràng buộc trên cột: Column constraint  Giá trị mặc định: Default value  Ràng buộc trên bảng: Table constraint 7
  8. CREATE TABLE (2)  Cú pháp CREATE TABLE Tên bảng ( Tên_cột Kiểu/độ_rộng DEFAULT Giá_trị [ NULL | NOT NULL] [ PRIMARY KEY | UNIQUE | [FOREIGN KEY] REFERENCES Tên_bảng(Tên_cột) ] [, Tên cột n ], [Ràng buộc bảng] )  Chú ý  Giá trị mặc định của cột là NULL  Ràng buộc trên nhiều cột → Ràng buộc bảng 8
  9. CREATE TABLE (3)  Một số loại ràng buộc  NOT NULL: trường không được phép để trống  PRIMARY KEY: khóa chính ≈ NOT NULL và UNIQUE  FOREIGN KEY: khóa ngoại, liên kết  UNIQUE: có giá trị duy nhất  DEFAULT: giá trị sẽ nhận khi người dùng không nhập vào trường đó  CHECK: biểu thức điều kiện mà giá trị nhập vào trường  đó phải thỏa mãn  9
  10. Ví dụ (1) 10
  11. Ví dụ (2) 11
  12. Ví dụ (3) 12
  13. Ví dụ (4) 13
  14. DROP TABLE 14
  15. ALTER TABLE 15
  16. Ngôn ngữ thao tác dữ liệu 16
  17. Câu lệnh truy vấn dữ liệu 17
  18. Mệnh đề SELECT 18
  19. Mệnh đề SELECT (tiếp) 19
  20. Mệnh đề SELECT (tiếp) 20
  21. Mệnh đề SELECT (tiếp) 21
  22. Mệnh đề FROM 22
  23. Nối tự nhiên 23
  24. INNER JOIN 24
  25. OUTER JOIN (1) 25
  26. OUTER JOIN (2) 26
  27. Mệnh đề WHERE 27
  28. Mệnh đề WHERE (tiếp) 28
  29. Mệnh đề WHERE (tiếp) 29
  30. Mệnh đề WHERE với giá trị Null 30
  31. Sắp xếp các bộ dữ liệu kết quả 31
  32. UNION (1) 32
  33. UNION (2) 33
  34. Ví dụ (1) 34
  35. Ví dụ (2) 35
  36. Hàm gộp nhóm (Aggregate functions) 36
  37. Hàm gộp nhóm (tiếp) 37
  38. Hàm gộp nhóm (tiếp) 38
  39. Mệnh đề GROUP BY 39
  40. Mệnh đề GROUP BY (tiếp) 40
  41. Mệnh đề GROUP BY (tiếp) 41
  42. Mệnh đề HAVING 42
  43. Mệnh đề HAVING (tiếp) 43
  44. WHERE hay HAVING ? 44
  45. Câu lệnh SELECT đầy đủ 45
  46. Định lượng một câu SQL 46
  47. Câu lệnh lồng nhau (lồng trong phần SELECT).1 47
  48. Câu lệnh lồng nhau (lồng trong phần SELECT).2 48
  49. Câu lệnh lồng nhau (lồng trong phần FROM).1 49
  50. Câu lệnh lồng nhau (lồng trong phần FROM).2 50
  51. Câu lệnh lồng nhau (lồng trong phần WHERE).1 51
  52. Câu lệnh lồng nhau (lồng trong phần WHERE).2 52
  53. Câu lệnh lồng nhau (lồng trong phần WHERE).3 53
  54. Câu lệnh lồng nhau (lồng trong phần WHERE).4 54
  55. Câu lệnh lồng nhau (lồng trong phần Having).1 55
  56. Thao tác khác trên dữ liệu 56
  57. INSERT 57
  58. INSERT (tiếp) 58
  59. UPDATE 59
  60. UPDATE(tiếp) 60
  61. DELETE 61
  62. DELETE (tiếp) 62