Bài giảng Các ngôn ngữ dữ liệu với mô hình quan hệ - Vũ Tuyết Trinh
lượt xem 6
download
Bài giảng "Các ngôn ngữ dữ liệu với mô hình quan hệ" trình bày các nội dung: Các cách tiếp cận đối với thiết kế ngôn ngữ của CSDL quan hệ, giới thiệu một số ngôn ngữ và phân loại, so sánh và đánh giá, một số ngôn ngữ dữ liệu mức cao, QBE (Query By Example), SQL. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Các ngôn ngữ dữ liệu với mô hình quan hệ - Vũ Tuyết Trinh
- Nhập môn cơ sở dữ liệu Các ngôn ngữ dữ liệu đối với đố ớ mô ô hình qua quan hệ ệ Vũ Tuyết Trinh trinhvt@it-hut.edu.vn Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội Hệ Ứng dụng CSDLDL - Định nghĩa - Thao tác DL Hệ QTCSDL CSDL CSDL 2 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 1
- Nhập môn cơ sở dữ liệu Nội dung { Các cách tiếp cận đối với thiết kế ngôn ngữ của CSDL quan hệ z Giới thiệu một số ngôn ngữ và phân loại ¾ So sánh và đánh giá { Một số ngôn ngữ dữ liệu mức cao z QBE (Query By Example) z SQL Q (Structured ( Queryy Language) Q g g ) { Kết luận 3 Đặt vấn đề { Mục đích của ngôn ngữ dữ liệu { Tại sao có nhiều ngôn ngôn ngữ dữ liệu? { Ngôn ngữ cấp thấp vs. Ngôn ngữ cấp cao? 4 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 2
- Nhập môn cơ sở dữ liệu Ví dụ { Tìm tên của các sinh Student viên nào sống ố ở Id Name Suburb Bundoora 1108 Robert Kew z Tìm các bộ của bảng 3936 Glen Bundoora Student có Suburb = 8507 Norman Bundoora Bundoora 8452 Mary Balwyn z Đưa ra các giá trị của thuộc tính Name của các bộ này 5 Ví dụ (2) Student Id Name Suburb { Tìm các sinh viên 1108 Robert Kew 3936 Gl Glen Bundoora d đăng ký khoá học có 8507 Norman Bundoora mã số 113 8452 Mary Balwyn z Tìm các giá trị SID Enrol trong bảng Enrol có SID Course Course tương ứng là 113 3936 101 1108 113 z Đưa các bộ của bảng 8507 101 Student có SID trong các giá trị tìm thấy ở Course trên No Name Dept 113 BCS CSCE 101 MCS CSCE 6 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 3
- Nhập môn cơ sở dữ liệu Phân loại các ngôn ngữ truy vấn { Ngôn ngữ đại số z 1 câu hỏi = 1 tập các phép toán trên các quan hệ z Được biểu diễn bởi một biểu thức đại số (quan hệ) { Ngôn ngữ tính toán vị từ z 1 câu hỏi = 1 mô tả của các bộ mong muốn z Được đặc tả bởi một vị từ mà các bộ phải thoả mãn z Phân â bbiệt ệt 2 lớp: ớp { ngôn ngữ tính toán vị từ biến bộ { ngôn ngữ tính toán vị từ biến miền 7 Ngôn gô ngữ gữ đạ đại số qua quan hệ ệ Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 4
- Nhập môn cơ sở dữ liệu Tổng quan { Gồm các phép toán tương ứng với các thao tác trên các quan hệ { Mỗi phép toán z Đầu vào: một hay nhiều quan hệ z Đầu ra: một quan hệ { Biểu thức đại số quan hệ = chuỗi các phép toán { Kết quả thực hiện một biểu thức đại số là một quan hệ { Được cài đặt trong phần lớn các hệ CSDL hiện nay 9 Phân loại các phép toán { Phép toán quan hệ z Phép chiếu Phé hiế (projection) ( j ti ) z Phép chọn (selection) z Phép kết nối (join) z Phép chia (division) { Phép toán tập hợp z Phép hợp (union) z Phép giao (intersection) z Phé ttrừ Phép ừ (difference) (diff ) z Phép tích đề-các (cartesian product) 10 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 5
- Nhập môn cơ sở dữ liệu Phép chiếu { Đ/n: Lựa chọn một số thuộc tính từ một quan hệ. { Cú pháp: ∏ A1, A2,... ( R) C1 C2 C3 C4 C5 C2 C5 Ví dụ: đưa ra danh sách tên của tất cả các sinh viên ∏ name (St d t ) (Student Student Kết quả Id Name Suburb Name 1108 Robert Kew Robert 3936 Glen Bundoora Glen 8507 Norman Bundoora Norman 8452 Mary Balwyn Mary 11 Phép chọn { Đ/n: Lựa chọn các bộ trong một quan hệ thoả mãn điều ề kiện cho trước. { Cú pháp: σ (R) R1 R2 R2 R3 R3 R4 Ví dụ: đưa ra danh sách những sinh viên sống ở B d Bundoora σ suburb="Bundoora ( Student ) Student Id Name Suburb Kết quả Id Name Suburb 1108 Robert Kew 3936 Glen Bundoora 3936 Glen Bundoora 8507 Norman Bundoora 8507 Norman Bundoora 8452 Mary Balwyn 12 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 6
- Nhập môn cơ sở dữ liệu Vi dụ - chọn và chiếu { đưa ra tên của các sinh viên sống ở Bundoora ∏ name (σ suburb ="Bundoora Student ) Student Id Name Suburb Kết quả 1108 Robert Kew Name 3936 Glen Bundoora Glen 8507 Norman Bundoora Norman 8452 Mary Balwyn 13 Phép kết nối { Đ/n: ghép các bộ từ 2 quan hệ thoả mãn điều kiện kết ế nối ố R1 >< < join _ condition > R 2 { Cú pháp: a r r x a r xr x b r s y b r xr x c v t z Ví dụ: đưa ra danh sách các sinh viên và khoá h học St d t >< Id = SID Enrol Student E l Student Kết quả Id Name Suburb Enrol SID Id Name Suburb Course 1108 Robert Kew SID Course 1108 1108 Robert Kew 113 3936 Glen Bundoora 3936 101 Id=SID 1108 113 3936 3936 Glen Bundoora 101 8507 Norman Bundoora 8452 Mary Balwyn 8507 101 8507 8507 Norman Bundoora 101 14 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 7
- Nhập môn cơ sở dữ liệu Ví dụ - chọn, chiếu và kết nối { đưa ra tên của các sinh viên sống ở Bundoora và mã khoá học mà sinh viên đó đăng ký ∏ name ,Course (σ suburb ="Bundoo ( Student >< Id = SID Enrol )) Student Id Name Suburb 1108 Robert Kew Kết quả 3936 Glen Bundoora Name Course 8507 Norman Bundoora Glen 101 8452 Mary Balwyn Norman 101 Enrol SID Course 3936 101 1108 113 8507 101 15 Phép kết nối tự nhiên { Đ/n: là phép kết nối với điều kiện bằng trên các thuộc tính trùng tên Ví dụ: Takes Enrol SID SNO SID Course 1108 21 3936 101 1108 8507 8507 23 23 29 * 1108 8507 113 101 SID SNO Course 1108 21 113 1108 23 113 8507 23 101 8507 29 101 16 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 8
- Nhập môn cơ sở dữ liệu Phép kết nối ngoài { Phép kết nối ngoài trái a r r x a r x b r s y b r x c v t z c v null { Phép kết nối ngoài phải a r r x a r x b r s y b r x c v t z null s y null t z 17 Ví dụ về phép kết nối ngoài { Đưa ra danh sách mã số các sinh viên và mã khoá học mà sinh viên đó đăng ký nếu ế có Student ID Name Suburb Enrol SID Course 1108 Robert Kew 3936 101 3936 Glen Bundoora 1108 113 8507 Norman Bundoora 8507 101 8452 Mary Balwyn Kết quả ID Name Suburb Course 1108 Robert Kew 113 3936 Glen Bundoora 101 8507 Norman Bundoora 101 8452 Mary Balwyn null 18 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 9
- Nhập môn cơ sở dữ liệu Phép chia { Đ/n: cho R1 và R2 lần lượt là các quan hệ n và m ngôi. Kết ế quả của phép chia R1 cho R2 là một quan hệ (n-m) ngôi { Cú pháp: R1:R2 a x a y a b z x : x z a c y Ví dụ: d Subject Course Name Course Kết quả Course Systems BCS Name BCS Database BCS : MCS Database Database MCS Algebra MCS 19 Phép hợp { Đ/n: gồm các bộ thuộc ít nhất một trong hai quan hệ đầu ầ vào z 2 quan hệ khả hợp được xác định trên cùng miền giá trị { Cú pháp: R1∪ R2 R1 R1 ∪ R2 R2 Kết quả Name Course Ví dụ: d Systems BCS Subject Database BCS Name Course Subject2 Database MCS Systems BCS Name Course Algebra MCS Database Database BCS MCS ∪ DataMining MCS DataMinin g MCS Writing BCS Algebra MCS Writing 20 BCS Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 10
- Nhập môn cơ sở dữ liệu Phép giao { Đ/n: gồm các bộ thuộc cả hai quan hệ đầu vào { Cú pháp: R1∩ R2 R1 ∩ R2 R1 R2 Ví dụ: Subject Subject2 Name Course Name Course Kết quả Systems BCS DataMining MCS Name Course Database BCS ∩ Database MCS Systems BCS Database MCS Systems BCS Database MCS Algebra MCS Writing BCS 21 Phép trừ { Đ/n: gồm các bộ thuộc quan hệ thứ nhất nhưng không thuộc quan hệ thứ hai z 2 quan hệ phải là khả hợp { Cú pháp: R1 \ R2 R1 \ R2 R1 R2 Ví dụ: d Subject Subject2 Name Course Name Course Kết quả Systems BCS DataMining MCS Name Course Database Database BCS MCS \ Database Systems MCS BCS Database Algebra BCS MCS Algebra MCS Writing BCS 22 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 11
- Nhập môn cơ sở dữ liệu Phép tích đề-các { Đ/n: là kết nối giữa từng bộ của quan hệ thứ nhất ấ và mỗi bộ của quan hệ thứ hai { Cú pháp: R1 x R2 a x a y a x b x b X y b y c c x d c y d x d y 23 Ví dụ phép tích đề-các Student Id Name Suburb Sport 1108 Robert Kew SportID Sport 3936 Glen Bundoora 05 Swimming X 09 Dancing 8507 Norman Bundoora 8452 Mary Balwyn Student_Sport Id Name Suburb SportID Sport 1108 Robert Kew 05 Swimming 3936 Glen Bundoora 05 Swimming 8507 Norman Bundoora 05 Swimming 8452 Mary Balwyn 05 Swimming 1108 Robert Kew 09 Dancing 3936 Glen Bundoora 09 Dancing 8507 Norman Bundoora 09 Dancing 24 8452 Mary Balwyn 09 Dancing Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 12
- Nhập môn cơ sở dữ liệu Bài tập { Biểu diễn câu hỏi truy vấn bằng ngôn ngữ đại số ố quan hệ { Tính kết quả của biểu thức 25 Ngôn gô ngữ gữ tính toán oá vịị từ ừ Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 13
- Nhập môn cơ sở dữ liệu Tổng quan { Ứng dụng logic toán vào CSDL { Nhắ llạii về Nhắc ề llogic i ttoán á z Biểu thức logic: nhận 1 trong 2 giá trị ĐÚNG hoặc SAI z Biến: 1 đại lượng biến thiên trong 1 miền giá trị z Hằng: 1 đại lượng không đổi z Hàm: 1 ánh xạ từ 1 miền giá trị vào tập hợp gồm 2 giá trị hoặc đúng, hoặc sai z Vị từ: là 1 biểu thức được xây dựng dựa trên b/t logic z Phép toán logic: phủ định (¬) kéo theo (⇒), và (∧) hoặc(∨) z Lượng từ: với mọi (∀), tồn tại(∃) { Phân loại: z Phép tính vị từ biến bộ z Phép tính vị từ biến miền 27 Phép tính vị từ biến bộ { Đ/n: là ngôn ngữ vị từ có biến là các bộ { Định nghĩa hình thức { t | P(t) } z t : tập các bộ kết quả sao cho vị từ P là đúng đối với t z P: là một biểu thức có duy nhất 1 biến tự do t { Một số quy ước: z t[A]: giá ủ bộ t tại iá ttrịị của t i th thuộc ộ tí hA tính z t[X]: giá trị của bộ t trên tập các thuộc tính X z t∈ R: bộ t là một bộ trong quan hệ R 28 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 14
- Nhập môn cơ sở dữ liệu Biểu thức nguyên tố { t∈R ztlà một biến ế bộ zR là một quan hệ (không sử dụng phép toán ∉) { t[x] θ u[y] ztvà u là các biến bộ zx và y lần lượt là 1 thuộc tính mà trên đó t và u được xác định zθ là một phép toán so sánh (< , = , > , ≤ , ≠ , ≥) Ví dụ: s ∈ Student e ∈ Enrol s[Id] = e[SID] 29 Biểu thức nguyên tố (2) { t[x] θ c ztlà một biến ế bộ zx là một thuộc tính mà trên đó u xác định zθ là một phép so sánh zc là một hằng trong miền của thuộc tính x. Ví dụ s[Suburb] = ‘‘Bundoora’’ 30 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 15
- Nhập môn cơ sở dữ liệu Biểu thức tổng quát { Một biểu thức nguyên tố là một biểu thức. {P1 là biểu thức ⇒ ¬P1, (P1) là các biểu thức {P1 và P2 là biểu thức ⇒ P1 ∧ P2 , P1 ∨ P2 , P1 ⇒ P2 là các biểu thức {P1 là biểu thức chứa 1 biến bộ tự do u, và R là 1 quan hệ ⇒ ∃ u ∈ r (P1(u)), ∀ u ∈ r (P1(u)) cũng là các biểu thức 31 Các phép biến đổi tương đương { P1 ∧ P2 ⇔ ¬(¬P1 ∨ ¬P2) { t ∈ r (P1(t)) ⇔ ¬∃ t∈r (¬P1(t)) { P1 ⇒ P2 ⇔ ¬P1 ∨ P2 32 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 16
- Nhập môn cơ sở dữ liệu Bài tập { Biểu diễn câu hỏi bằng ngôn ngữ tính toán vị từ biến ế bộ 33 Tính an toàn của các biểu thức { Đặt vấn đề: {t| ¬(t∈r )} { K/n miền giá trị của biểu thức: DOM(P) z Các hằng xuất hiện trong P z Các giá trị của các thuộc tính của các bộ của các quan hệ xuất hiện trong P Ví dụ: P(t) = t∈Sport ^ t[Sport] != ‘‘Football’’ Sport DOM(P)={‘‘05’’, ‘‘09’’, SportID Sport ‘‘Swimming’’, ‘‘Dancing’’, 05 Swimming 09 Dancing ‘‘Football’’} 34 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 17
- Nhập môn cơ sở dữ liệu Biểu thức an toàn { Đ/n : {t | P(t)} là an toàn nếu tất cả các giá trị xuất ấ hiện trong kết ế quả là các giá trị từ DOM(P) Ví dụ 9 P(t) = t∈Sport ^ t[Sport] != ‘‘Football’’ (an toàn) 8 P(t) = ¬(t∈Sport) (không an toàn) 35 Phép tính vị từ biến miền { Đ/n: là ngôn ngữ vị từ có biến là các miền giá trị { Định nghĩa hình thức { | P(x1, …, xn)} z x1, …, xn là các biến miền hay các hằng miền z P: là một biểu thức chỉ có các biến tự do xi 36 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 18
- Nhập môn cơ sở dữ liệu Các biểu thức nguyên tố { ∈ r z r là 1 quan hệ trên n thuộc tính z x1, …, xn là các biến miền hay các hằng miền. { xθy z x và y là các biến miền z θ là một phép so sánh đơn giản (< , = , > , ≤ , ≠ , ≥). Ví dụ ∈ Student ∈ Enrol x=u 37 Các biểu thức nguyên tố (2) { xθc z x là một biến miền z θ là một phép so sánh z c là một hằng trong miền của thuộc tính củax Ví dụ Z = ‘‘Bundoora’’ 38 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 19
- Nhập môn cơ sở dữ liệu Biểu thức tổng quát { Một biểu thức nguyên tố là một biểu thức. {P1 là 1 ⇒ ¬P1, (P1) là biểu thức {P1 và P2 là biểu thức ⇒ P1 ∧ P2 , P1 ∨ P2 , P1 ⇒ P2 là biểu thức {P1(x) là một biểu thức ⇒ ∃ x (P1(x)), ∀ x (P1(x)) là biểu thức 39 Tính an toàn của các biểu thức { Đ/n: một biểu thức { | P(x1, …, xn)} là an toàn nếu ế tấtấ cả các giá trị xuất ấ hiện trong kết quả là các giá trị từ DOM(P) 40 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng môn Cơ sở dữ liệu: Chương 5 - ĐH KHTN
0 p | 225 | 50
-
Bài giảng môn Cơ sở dữ liệu: Chương 1 - ĐH KHTN
0 p | 237 | 42
-
Bài giảng Datalog: Ngôn ngữ luật cho các cơ sở dữ liệu
25 p | 124 | 21
-
Bài giảng Hệ cơ sở dữ liệu: Chương 2 - ThS. Trịnh Thị Ngọc Linh
48 p | 156 | 19
-
Bài giảng Hệ cơ sở dữ liệu: Chương 3 - ThS. Trịnh Thị Ngọc Linh
61 p | 116 | 13
-
Bài giảng Hệ cơ sở dữ liệu - Chương 4: Mô hình quan hệ - Relational model
78 p | 94 | 13
-
Bài giảng môn Cơ sở dữ liệu - Bài 5: Ngôn ngữ SQL (ĐH Công nghệ Thông tin)
41 p | 127 | 11
-
Bài giảng Hệ cơ sở dữ liệu - Chương 7: Ngôn ngữ SQL
189 p | 90 | 8
-
Bài giảng Hệ cơ sở dữ liệu: Chương 5 - Trần Thị Kim Chi
112 p | 66 | 8
-
Bài giảng Hệ cơ sở dữ liệu: Chương 1 - TS. Lê Thị Tú Kiên
86 p | 26 | 6
-
Bài giảng Hệ cơ sở dữ liệu: Chương 0 - TS. Lê Thị Tú Kiên
9 p | 19 | 6
-
Bài giảng Hệ cơ sở dữ liệu: Chương 4 - TS. Lê Thị Tú Kiên
103 p | 18 | 6
-
Bài giảng Nhập môn cơ sở dữ liệu: Chương 3 - Vũ Tuyết Trinh
45 p | 41 | 5
-
Bài giảng môn Cơ sở dữ liệu: Chương 4 - ThS. Thái Bảo Trân
35 p | 48 | 4
-
Bài giảng về Ngôn ngữ SQL
61 p | 79 | 4
-
Bài giảng môn Cơ sở dữ liệu: Chương 3 - ThS. Thái Bảo Trân
13 p | 56 | 3
-
Bài giảng Hệ cơ sở dữ liệu - Nguyễn Việt Cường
47 p | 26 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn