Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
914,5 KB
Nội dung
Chương6Chương6PhéptóanquanhệPhéptóanquanhệ Nội dung Nội dung !" # Mở đầu Mở đầu $ %&'()*+'','-. !/012%&',,%3"4 50%6() %7 -8''4()*(9': -%;'< %=>' ?!@<,AB012C(>!"4 7-.!/'.4"4"<,' D4-C: C: :C4C'C'C E So sánh đại số quanhệ và So sánh đại số quanhệ và phép tính quanhệphép tính quanhệ $ -:C4CC:-'=F G'AH!;7C8-B -:C4C'C'C <7'= FG'!"H!;7>IJ K(GLM: NC<I','"''/ '.I''/G) #O P So sánh đại số quanhệ và So sánh đại số quanhệ và phép tính quanhệphép tính quanhệ Q3:4 L-B>>'IR % L S 4<3>I'F#0T2UV!" 0WUVQ-I'0XY #S )'Z[<3+'F<3".A'\ ']C','CI3G)#Y ES )'3-4^:'*<3+'\']C '0XS _ So sánh đại số quanhệ và So sánh đại số quanhệ và phép tính quanhệphép tính quanhệ Q3:4BL B`"''/0X 4'4a!8'.* "0"4='=')`0X!"'=`G)XC" #S :'C'C D4-4 (: '-!:bC:: C:-'4: -: '-!: c Phép tính quanhệPhép tính quanhệ 2"d,'FC4'!9e-:(':C4' $%&'()-402(%;#(L C:-:C4C'C'C f 4-:C4C'C'C f g Phép tính quanhệ bộ - TRC Phép tính quanhệ bộ - TRC ,': -4'=(L hi4(4j -:'k3C:!-C: K(GLB/'+7','7Z'%&' (.-4)#llg hiVmWUQnmQS0:: :-opq#llgrj 0V2VsqtVmWUQn uWVVS0:: :-opq#llgr 012C"3*!@'v,'F w -: Cú pháp của condition Cú pháp của condition =*-4','( L LC"I!"C"3S%&' ()*<*-'='!.<7 m4:-05!;4:-C"4,x 4 ,S!" 0C"3Am!"5C"','' Sm4:-'4 S%J>%-I%%&' 4 ,!;y ,'<-I%&'ZC"<.I 4''4(4 z Điều kiện phức Điều kiện phức (Complex condition) (Complex condition) ,'<k'%&'Md.(>',' .% L C"<'F: 3=C"<.I Q3!"#C"<'F: BmQ#A t#!"Qt'{C"<'F: Q3C"<'F: AC"I!"C" 3B∀∈!"∃∈'{C"< : l [...]... R.D = R2.D) } 30 Phép tính quanhệ miền Domain relational calculus Là cơ sở (DRC) cho ngôn ngữ truy vấn trực quan như MS Access, IBM QBE, Borland Paradox DRC tương tự như TRC, chỉ khác nhau là DRC sử dụng biến miền (Domain variable) thay cho biến bộ (Tuple variable) 31 Domain variable Biến miền sẽ nhận giá trị từ miền giá trị (domain) của 1 thuộc tính nào đó Ví dụ: quanhệ TEACHING có thuộc... tự như TRC ◦ Các biến đích ( target variable) chỉ được phép là tự do trong biểu thức điều kiện ◦ Cho phép các hằng số (constant) xuất hiện trong phần target (đích) 34 Điều kiện cơ bản Atomic condition Cú pháp của atomic Condition (điều kiện cơ bản) của DRC QUERY: ◦ P(X1,…,Xn) với P là tên quanhệ và X1,…, Xn là biến miền ◦ X oper Y với oper là toán tử so sánh, X và Y là biến miền ◦ X oper const: tương... R.Semester))} 23 Truy vấn SQL và truy vấn TRC Một số sách SQL đã dựa vào đại số quanhệ để xác định ngữ nghĩa khi phát ra các truy vấn SQL Biểu thức đại số cũng không trực giác hơn truy vấn TRC và cũng không hỗ trợ nhiều với SQL cao cấp ◦ Việc dịch truy vấn SQL có subquery thành biểu thức đại số không dễ dàng ◦ Đại số quanhệ không phải là phương tiện tốt để dịch truy vấn SQL thành English để kiểm tra... sẽ có giá trị từ miền chứa các ID hợp lệ này 32 DRCquả của DRC query cũng là 1 quanhệ và có query Kết dạng chung sau: {X1,…,Xn| Condition} Biếndụ: TRC và DRC query tương đương nhau: Target Ví miền {Pid, Code | TEACHING (Pid, Code, F2007)} {T | TEACHING(T) AND T.Semester=‘F2007’} DRC query đơn giản hơn, loại trừ được phép so sánh T.Semester=‘F2007’ 33 DRC và TRC DRC và TRC tương tự nhau Nhiều... chính quy bằng định nghĩa toán học nhưng nó giúp cho cả khách hàng và người lập trình dễ hiểu nhau hơn SQL query liệu có thỏa mãn những định nghĩa bằng tiếng Anh? 25 So sánh giữa SQL và TRC Có 1 sự tương đương gần giữa SQL và TRC Với 1 SQL query, xây dựng 1 TRC query tương đương, sau đó dịch TRC query này thành tiếng Anh Chuyển bài toán kiểm chứng SQL query xuống thành bài toán dịch SQL thành TRC... atomic condition ◦ If C1 và C2 là điều kiện của query thì C1 AND C2, C1 OR C2 và NOT C1 cũng là điều kiện của query ◦ Nếu C là điều kiện của query, R là tên của quanhệ và X là biến miền thì ∀X ∈ R.A (C) và ∃X ∈ R.A (C) cũng là điều kiện của query 36 ...Lượng từ Lượng từ tồn tại (existential quantifier): ∃T ∈ R (C) tồn tại 1 bộ t∈r sao cho C trở nên đúng sau khi t được thay thế bởi T Lượng từ phổ quát (universal quantifier): ∀T ∈ R (C) với mọi bộ t ∈ r, C trở nên đúng nếu t được thay thế bởi biến T 11 Biến (variable) Nếu biến bộ đứng sau 1... biểu trên có thể được gán giá trị TRUE/FALSE tại bất kỳ 1 thời điểm nào đó của database 13 So sánh biến buộc và biến tự do trong TRC Biến buộc (Bound variable) được dùng để đánh giá các bộ trong 1 quanhệ (được dùng trong condition) Biến tự do (Free variable) được dùng cho các bộ được trả về bởi truy vấn (được dùng trong target ◦ Khi 1 giá trị được thay thế cho biến S thì điều kiện sẽ trở nên{S |... {P.Name| PROFESSOR(P) AND ∃T ∈ TEACHING (P.Id= T.ProfId AND T.CrsCode = ‘MGT123’)} Câu lệnh SQL tương ứng SELECT P.Name FROM PROFESSOR P, TEACHING T WHERE P.Id= T.ProfId AND T.CrsCode = ‘MGT123’ 16 Ví dụ 3 Tìm mã số tất cả các sinh viên đã học cùng 1 môn 2 lần ở những học kỳ khác nhau {T.StudId | TRANSCRIPT(T) AND ∃T1 ∈ TRANSCRIPT( T.StudId = T1.StudId AND T.CrsCode = T1.CrsCode AND T.Semester... đương, sau đó dịch TRC query này thành tiếng Anh Chuyển bài toán kiểm chứng SQL query xuống thành bài toán dịch SQL thành TRC Với các query phức tạp (có subquery) thì việc dịch này sẽ như thế nào?? 26 Dịch SQL thành TRC Xét 1 mẫu SQL phức như sau: SELECT R1.A, R2.C FROM REL1 R1, REL2 R2 WHERE Condition1(R1, R2) AND R1.B AND (SELECT R3.E FROM REL3 R3, REL4 R4 WHERE Condition2(R2, R3, R4)) Biến R3, . Chương 6 Chương 6 Phép tóan quan hệ Phép tóan quan hệ Nội dung Nội dung . C: :C4C'C'C E So sánh đại số quan hệ và So sánh đại số quan hệ và phép tính quan hệ phép tính quan hệ $ -:C4CC:-'=F G'AH!;7C8-B -:C4C'C'C. NC<I','"''/ '.I''/G) #O P So sánh đại số quan hệ và So sánh đại số quan hệ và phép tính quan hệ phép tính quan hệ Q3:4 L-B>>'IR %