Mô hình cơ sở dữ liệu quan hệ truyền thống

Tài liệu Mô hình cơ sở dữ liệu quan hệ truyền thống: ... Ebook Mô hình cơ sở dữ liệu quan hệ truyền thống

doc75 trang | Chia sẻ: huyen82 | Lượt xem: 1771 | Lượt tải: 0download
Tóm tắt tài liệu Mô hình cơ sở dữ liệu quan hệ truyền thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lời cảm ơn Đồ án được thực hiện và hoàn thành tại bộ môn Các hệ thống thông tin, Khoa công nghệ thông tin, Trường Đại học Bách Khoa Hà Nội, dưới sự hướng dẫn của TS. Nguyễn Kim Anh. Nhân dịp này em xin bày tỏ lòng biết ơn sâu sắc đến TS. Nguyễn Kim Anh, người đã tận tình hướng dẫn em trong suốt ba năm qua. Có được ngày hôm nay, em xin gửi lời cảm ơn chân thành tới các thầy cô giáo Khoa công nghệ thông tin, các thầy cô giáo Trường Đại học Bách Khoa Hà Nội đã không quản khó khăn, dồn hết tâm huyết để truyền đạt tri thức cho em. Cuối cùng em xin cảm ơn Trung tâm đào tạo Tài năng đã tạo những điều kiện tốt nhất về cơ sở vật chất cho em trong quá trình học tập và nghiên cứu. Do thời gian và trình độ hạn chế, đồ án được thực hiện không tránh khỏi các thiếu sót, em mong các thầy cô giáo chỉ bảo và cho những ý kiến đóng góp quý báu. Sinh viên Vũ Chí Hùng Mục Lục Giới thiệu Trong những năm gần đây, các ứng dụng máy tính cho quản lý ngày càng nhiều. Cách mạng về máy vi tính đã tạo điều kiện để máy tính hỗ trợ tích cực các nhà quản lý, họ có thể truy cập đến hàng ngàn cơ sở dữ liệu ở nhiều vị trí khác nhau để thu thập các thông tin cần thiết. Hầu hết các tổ chức, các công ty đều dùng phân tích có tính toán trong quyết định của mình. Hệ trợ giúp quyết định ngày càng đóng một vai trò quan trọng trong quá trình ra quyết định của các nhà quản lý. Hiện nay mô hình dữ liệu được sử dụng trong các hệ trợ giúp quyết định phổ biến vẫn là mô hình cơ sở dữ liệu quan hệ (CSDLQH) truyền thống. Trong mô hình CSDLQH truyền thống các dữ liệu được lưu trữ đều là dữ liệu rõ. Các phép toán trên CSDL đều được xây dựng dựa trên cơ sở các phép so sánh đơn giản như =, >, ³, £, <, ¹. Trong đó các phép so sánh dùng để so sánh giữa hai biến là hai thuộc tính hoặc giữa một biến là một thuộc tính và một hằng, kết quả cho giá trị “TRUE” hoặc “FALSE” tùy theo mối quan hệ của chúng. Như vậy miền giá trị của biến được so sánh là miền các giá trị rõ và việc so sánh là so sánh chính xác. Tuy nhiên thông tin về thế giới thực cần lưu trữ hay xử lý thường có thể là thông tin không đầy đủ, chúng có thể có nhiều dạng chẳng hạn như: không biết một số thông tin về một đối tượng, thông tin lưu trữ có thể không chính xác, thông tin lưu trữ có thể không chắc chắn hay mờ. Do đó, các nhà quản lý thường phải đối mặt với vấn đề thiếu thông tin trong quá trình ra quyết định, họ phải dùng đến những thông tin không hoàn toàn đầy đủ để rút ra các tri thức tổng hợp, hỗ trợ cho việc ra quyết định. Việc cần thiết phải có một mô hình cơ sở dữ liệu thích hợp để cho phép lưu trữ và xử lý cả những thông tin đầy đủ và không đầy đủ đã được nhiều nhà khoa học quan tâm nghiên cứu. Hiện tại đã có nhiều cách tiếp cận mở rộng đưa dữ liệu mờ vào lý thuyết quan hệ với mong muốn tìm được những mô hình chấp nhận thông tin không đầy đủ, cho phép biểu diễn và khai thác thông tin một cách tốt hơn, tiện lợi hơn trong những lớp bài toán thực tế nào đó. Với mục đích tìm hiểu các mô hình đã được sử dụng để mở rộng CSDLQH, đồ án này sẽ đề cập đến một số cách tiếp cận mờ để mở rộng CSDLQH trong Chương I, trong đó nhấn mạnh vào mô hình CSDLQH dựa trên tính tương tự của hai tác giả P.Buckles và E.Petry. Chương II sẽ trình bày mô hình CSDLQH dựa trên tính tương tự của TS.Hồ Cẩm Hà. Dựa trên các tài liệu tham khảo và các kiến thức đã được học trong môn cơ sở dữ liệu I, trong Chương III tác giả đồ án sẽ mở rộng lý thuyết thiết kế CSDLQH truyền thống để chuẩn hoá lược đồ CSDLQH dựa trên tính tương tự. Cuối cùng, Chương IV sẽ trình bày việc cài đặt một mô đun cho phép thực hiện các thao tác xử lý dữ liệu theo mô hình được đề cập trong Chương II. Chương I. Khái quát về CSDLQH với thông tin không đầy đủ Mô hình quan hệ mặc dù không phải là mô hình quản trị cơ sở dữ liệu (CSDL) xuất hiện đầu tiên và cũng không phải là mô hình quản trị CSDL tiên tiến nhất nhưng lại đóng vai trò quan trọng và được sử dụng phổ biến nhất hiện nay. Chính vì vậy, việc áp dụng lý thuyết mờ vào mô hình CSDLQH là một trong những xu hướng đã được rất nhiều nhà nghiên cứu quan tâm. Chương này gồm hai phần chính, phần thứ nhất sẽ trình bày tóm tắt một số hướng tiếp cận CSDLQH mờ, phần thứ hai sẽ trình bày tương đối chi tiết cách tiếp cận dựa trên cơ sở tính tương tự của hai tác giả P.Buckles và E.Petry. 1. Một số cách tiếp cận CSDLQH mờ Tiếp cận dựa trên cơ sở quan hệ mờ (The fuzzy relation – based approach) Tiếp cận này do Bladwin và Zhou đưa ra đầu tiên vào năm 1984, Zvieli đưa ra năm 1986. Theo đó quan hệ mờ RÍD1´D2´ ...´Dn được đặc trưng bởi hàm thuộc: mR: D1´D2´...´Dn®[0,1]. Như vậy, mỗi bộ của R có dạng t=(u1,u2, ...,un,mR(u1,u2,...,un)), trong đó uiÎDi với i=1,2,...,n, mR(u1,u2,...,un) chỉ mức độ thuộc quan hệ R của t. Với cách tiếp cận này, khái niệm một bộ thuộc về một quan hệ là một khái niệm mờ trong khi các giá trị cụ thể của các thuộc tính lại là giá trị không mờ hoặc cũng có thể là các biến ngôn ngữ nhưng được xử lý như một đơn giá trị. Tiếp cận trên cơ sở tính khả năng (The possibility – based approach) Tiếp cận này do Prade và Testemale đưa ra đầu tiên vào năm 1983, Zemankova đưa ra năm 1984. Theo đó các giá trị thuộc tính bị mờ hoá bằng việc cho phép các phân phối khả năng xuất hiện như một giá trị thuộc tính. Nghĩa là: Một quan hệ R là một tập con của P(D1)´P(D2)´...´P(Dn), với P(Di)={p|p là một phân phối khả năng của Ai trên Di}. Một n bộ tÎR có dạng (p1, p2,…, pn), pAiÎP(Di). Ngoài ra còn có thêm phần tử đặc biệt e để chỉ những giá trị không thể áp dụng. Như vậy pAi được định nghĩa là một hàm xác định từ (DiÈe) lên [0,1]. Theo mô hình này các giá trị thuộc tính được làm mờ hóa bằng việc cho phép các phân phối khả năng xuất hiện như một giá trị thuộc tính. Vào năm 1989 và 1991, Rundensteiner, Hawkes, Bandler và Chen đã mở rộng mô hình này bằng cách thêm vào một quan hệ ci xác định trên mỗi miền Di thể hiện mối quan hệ “gần nhau” giữa các phần tử của miền, ci: Di´Di®[0,1] là một quan hệ mờ hai ngôi trên Di thỏa các tính chất: Phản xạ: ci(x,x)=1. Đối xứng : ci(x,y)=ci(y,x). Tiếp cận dựa trên xấp xỉ ngữ nghĩa (The semantic proximity approach) Cách tiếp cận này do Wei-Yi-Lin đưa ra để đo mức độ xấp xỉ về mặt ngữ nghĩa giữa hai giá trị. Hàm xấp xỉ SP có các tính chất sau: 0 £ SP(f1, f2) £ 1, SP(f1, f2) = SP(f2, f1), SP(f1, f1) ³ SP(f1, f2), Tác giả đưa ra tiêu chuẩn để xây dựng hàm đo xấp xỉ ngữ nghĩa trên số mờ dạng khoảng: Cho f1=[a1,b1], f2=[a2,b2], g1=[c1,d1], g2=[c2,d2], SP(f1,f2)=1 Û a1=b1=a2=b2, SP(f1,f2)=0 Û f1Çf2=Æ, Nếu a1=a2, b1=b2, c1=c2, d1=d2 và |d1-c1|>|b1-a1| thì SP(f1,f2)³SP(g1,g2). Đối với mô hình này, khi so sánh hai bộ thì phải so sánh về mặt ngữ nghĩa. Nói cách khác, hai bộ được gọi là bằng nhau nếu độ xấp xỉ ngữ nghĩa của chúng vượt quá một ngưỡng nào đó. Tiếp cận phối hợp (The combined approach) Với cách tiếp cận này, sẽ áp dụng việc mờ hoá cả trong sự thuộc vào một quan hệ của một bộ cũng như tính mờ trong các giá trị thuộc tính hay mối quan hệ giữa các phần tử của miền. Theo Van Schooten và Kere (1988), giá trị thuộc tính là các phân phối khả năng và mỗi bộ được gán cho một cặp (p, n) để biểu diễn một cách tương ứng các khả năng có thể thuộc quan hệ và khả năng không thể thuộc quan hệ của bộ này. Như vậy một n-bộ có dạng: (pA1, pA2, ... pAn, pt, nt), pAi Î P(Di). Ở đây, giá trị tại các thuộc tính không cần phải là giá trị nguyên tố, một đơn giá trị, nhưng phải được đánh giá “gần nhau” ở cấp độ nào đó. 2. Mô hình CSDLQH dựa trên tính tương tự Mô hình CSDLQH dựa trên tính tương tự do P.Buckles và E.Petry đưa ra lần đầu tiên vào năm 1983. Đây là việc mở rộng và làm mờ hoá CSDLQH truyền thống đã được Codd đưa ra vào cuối những năm 70. Trong mô hình này, các miền giá trị của CSDL hoặc là vô hướng rời rạc, hoặc là tập số rời rạc lấy từ những tập vô hạn hay hữu hạn. Giá trị miền (giá trị tại một thuộc tính) của một bộ cũng có thể là một giá trị vô hướng (đơn) hay một dãy gồm nhiều giá trị vô hướng. Quan hệ bằng nhau ở đây được thay thế bởi một quan hệ tương tự được mô tả tường minh mà quan hệ bằng nhau trong mô hình CSDLQH truyền thống chỉ là một trường hợp riêng của nó. 2.1. Những định nghĩa cơ sở Định nghĩa 1.1. Một quan hệ tương tự SD(x, y), trên một miền D, là một ánh xạ mọi cặp phần tử của miền vào khoảng đóng [0, 1] thoả ba tính chất sau với mọi x, y, zÎD: 1.Phản xạ SD(x, x)=1 2.Đối xứng SD(x, y) =SD(y, x) 3.Bắc cầu SD(x, z)Maxy(Min[SD(x, y), SD(y, z)]) Một giá trị thuộc tính dij, trong đó i là chỉ số của bộ thứ i, được định nghĩa là một tập con không rỗng của miền tương ứng Dj. Dùng kí hiệu 2Dj để chỉ tập tất cả các tập con không rỗng của Dj. Định nghĩa 1.2. Một quan hệ mờ r, là một tập con của tích Đề-các 2D1´…´2Dm. Định nghĩa 1.3. Một bộ t của một quan hệ mờ là một phần tử của tập 2D1´…´2Dm. Một cách tổng quát, một bộ tiÎr có dạng: ti=(di1, di2,…, dim), dijÍDj. Định nghĩa 1.4. Một thể hiện Á={a1, a2,…, am} của một bộ ti=(di1, di2…, dim) là bất cứ một phép gán nào sao cho ajÎdij "j=1, 2,…, m. Không gian thể hiện là D1 ´ D2 ´ ... ´ Dm và bị giới hạn bởi tập các bộ hợp lệ trong quan hệ mờ. Các bộ hợp lệ được xác định dưới ngữ nghĩa của quan hệ này. Trong CSDLQH truyền thống thì bộ t trùng với thể hiện của chính nó. Định nghĩa 1.5. Ngưỡng tương tự của một miền Dj của một quan hệ (mờ) được kí hiệu là Thres(Dj) và được xác định như sau: Thres(Dj)£min{min[sj(x,y)]} i x,yÎdij trong đó i=1, 2,... là chỉ số của bộ. Có thể thấy được rằng, CSDLQH truyền thống chính là trường hợp đặc biệt của CSDL mờ khi ngưỡng Thres(Dj)=1 với mọi j. Trên cơ sở các ngưỡng tương tự đã cho trên mỗi miền trị thuộc tính, tính dư thừa dữ liệu của một quan hệ trong mô hình này được xác định và đại số quan hệ được xây dựng. Định nghĩa 1.6. Trong quan hệ mờ r, hai bộ ti=(di1, di2,…, dim) và tk=(dk1, dk2,…, dkm), i¹k được coi là thừa đối với nhau nếu "j=1, 2,…,m: Thres(Dj)£min[sj(x,y)] x,yÎdijÈdkj trong đó: Thres(Dj)£min{min[sj(x,y)]}, i=1, 2,… là chỉ số của bộ. i x,yÎdij Như vậy, mỗi bộ có thể tương ứng với một số lớn các thể hiện. Tuy nhiên, với quan niệm về dư thừa dữ liệu như trên, mô hình CSDLQH này vẫn tương thích với CSDLQH truyền thống. Ở đây, không cho phép tồn tại hai bộ có chung một thể hiện. 2.2. Đại số quan hệ Các phép toán quan hệ mờ cũng gồm bốn thành phần (toán tử quan hệ, thuộc tính, tên quan hệ, điều kiện) như trong mô hình quan hệ truyền thống thêm vào đó là một câu xác định ngưỡng tương tự áp dụng cho phép toán này. Kết quả cuối cùng của phép toán quan hệ là một quan hệ đạt được bằng việc trộn các bộ thừa (tức là hợp các giá trị thuộc tính tương ứng) cho đến khi không còn bộ thừa. Một bộ được coi là nằm trong quan hệ kết quả của phép giao hai quan hệ sẽ là một bộ thuộc một trong hai quan hệ này và có thể được trộn với một bộ nào đó thuộc quan hệ kia mà không vi phạm các ngưỡng tương tự đã cho trước. Phép hợp hai quan hệ cho kết quả là một quan hệ đạt được sau khi đã loại bỏ các bộ thừa của tập gồm tất cả các bộ thuộc quan hệ này và tất cả các bộ thuộc quan hệ kia. Các phép chiếu, hợp và giao cho kết quả duy nhất. Phép chiếu và phép hợp chỉ khác CSDLQH truyền thống ở cách thức loại bỏ các bộ thừa. 2.3. Phụ thuộc hàm Để mở rộng khái niệm phụ thuộc hàm cho CSDLQH dựa trên tính tương tự, trước hết khái niệm về độ tương tự giữa hai bộ cần phải được xác định. Định nghĩa 1.7. Cho một miền Dk của một quan hệ r, độ tương tự của hai bộ ti và tj trên Dk được định nghĩa là: Ts[Dk(ti,tj)]=Min(sk(p,q)) p,qdikÈdjk Ở đây dik và djk là giá trị của bộ ti và bộ tj trên thuộc tính thứ k của quan hệ r, có nghĩa là dik và djk đều là tập con của Dk. Trong CSDLQH truyền thống cả dik và djk đều chỉ gồm một phần tử, khi đó độ tương tự của hai bộ bất kỳ chỉ có thể là một nếu hai bộ này có giá trị trùng nhau ở mọi thuộc tính, nếu không độ tương tự của chúng phải bằng 0. Như vậy: Thres(Dk)=Min{Ts [Dk (ti,tj)]} "i,j Một phụ thuộc hàm trong mô hình này là một mở rộng trực tiếp phụ thuộc hàm trong CSDLQH truyền thống. Định nghĩa 1.8. Nếu A và B là hai thuộc tính của một quan hệ r thì ta nói r thoả phụ thuộc hàm A®B nếu với mọi bộ ti, tj: Ts[A(ti,tj)]£Ts[B(ti,tj)]. Định nghĩa 1.9. Nếu X và Y là hai thuộc tính của một quan hệ r thì ta nói r thoả phụ thuộc hàm X®Y nếu với mọi bộ ti, tj: Min{Ts[A(ti,tj)]}£Min{Ts[B(ti,tj)]} "A,AÎX "B,BÎY 3. Nhận xét Việc sử dụng lý thuyết mờ, một mở rộng của lý thuyết tập hợp thông thường, để mở rộng khả năng biểu diễn thông tin mơ hồ, không chính xác trong CSDL là một điều tự nhiên và hợp lý. Có thể thấy có hai khuynh hướng chủ yếu đã được sử dụng để mờ hóa thông tin: Khuynh hướng thứ nhất là sử dụng nguyên lý thay thế quan hệ đồng nhất thông thường của các giá trị trong cùng một miền (giá trị thuộc tính) bởi các độ đo về sự “giống nhau” giữa chúng. Tính không chính xác của những giá trị dữ liệu ẩn trong việc sử dụng các quan hệ mờ được cho bởi những bảng tách riêng. Khuynh hướng này cho phép coi một tập các giá trị nào đó như một thể hiện có thể (hay một xấp xỉ về mặt ngữ nghĩa) của một đơn giá trị. Mô hình CSDLQH được mở rộng theo khuynh hướng này có thêm khả năng làm việc (lưu trữ và xử lý) với những thông tin không chính xác. Khuynh hướng thứ hai là dùng phân phối khả năng như một rằng buộc mờ về các giá trị có thể lấy cho một bộ trên một thuộc tính. Tính không chắc chắn của dữ liệu được thể hiện tường minh nhờ các phân phối khả năng. Các mô hình CSDLQH được mở rộng theo khuynh hướng này cho phép biểu diễn không chỉ các thông tin chính xác, chắc chắn mà cả những thông tin không chắc chắn, những giá trị null. Tuy nhiên việc lưu trữ và thao tác trên những thông tin trong các mô hình CSDLQH được mở rộng theo hai khuynh hướng này thực sự phức tạp với quá nhiều phép tính toán. Để có được những mô hình mở rộng của CSDLQH có khả năng mạnh mẽ trong việc lưu trữ và xử lý cả những giá trị có thể không chính xác khi biểu diễn thông tin lẫn những giá trị thể hiện thông tin không chắc chắn, giải pháp đưa ra là phối hợp cả hai khuynh hướng trên. Tuy có được một mô hình cho phép nắm bắt thông tin không đầy đủ ở tình huống tổng quát song điều này càng làm cho mô hình trở nên phức tạp cả ở lưu trữ lẫn xử lý. Có thể nhận thấy rằng, mô hình của hai tác giả P.Buckles và E.Petry khác với CSDLQH truyền thống ở hai điểm quan trọng: giá trị tại mỗi thuộc tính của một đối tượng có thể là một tập và trên mỗi một miền của thuộc tính có một quan hệ mờ thể hiện cấp độ tương tự giữa các phần tử của miền. Trong mô hình này, tuy giá trị của mỗi bộ tại mỗi thuộc tính có thể chứa một hay nhiều phần tử của miền tương ứng, nhưng có một ràng buộc là các phần tử trong cùng một giá trị thuộc tính (của cùng một đối tượng) phải đủ tương tự với nhau nghĩa là cấp độ tương tự của một cặp bất kỳ các phần tử trong cùng giá trị thuộc tính không nhỏ hơn ngưỡng tương tự đã xác định. Cách mở rộng mô hình CSDL của hai tác giả này thuộc khuynh hướng thứ nhất trong hai khuynh hướng cơ bản đã nêu ở trên, nhằm mục đích có được khả năng biểu diễn thông tin không chính xác. Mặc dù giá trị của mỗi bộ tại mỗi thuộc tính là một tập nhưng các phần tử trong tập này đều được coi là những thể hiện (có thể không chính xác) của một giá trị đơn. Chương II. Mở rộng mô hình CSDLQH dựa trên tính tương tự Chương này sẽ dành để trình bày mô hình CSDLQH dựa trên tính tương tự do TS. Hồ Cẩm Hà đề xuất. Nội dung của chương được chia thành năm phần. Phần thứ nhất sẽ nêu lên các khái niệm cơ sở của mô hình, dựa trên các khái niệm đó trong phần hai sẽ trình bày các phép toán đại số quan hệ. Phần ba sẽ nêu lên các quy tắc cập nhật dữ liệu, phần tiếp theo sẽ đề xuất một ngôn ngữ hỏi cho mô hình này và phần cuối cùng sẽ trình bày về các phụ thuộc dữ liệu. 1. Mở rộng mô hình CSDLQH của P.Buckles và E.Petry Như đã nêu trong phần nhận xét của Chương I, trong mô hình CSDLQH dựa trên tính tương tự của P.Buckles và E.Petry mặc dù giá trị của mỗi bộ tại mỗi thuộc tính là một tập nhưng các phần tử trong tập này đều được coi là những thể hiện của một giá trị đơn. Trong công trình nghiên cứu của mình TS. Hồ Cẩm Hà đã đưa ra một mô hình CSDLQH kế thừa ý tưởng của hai tác giả trên, nhưng cho phép các phần tử của mỗi bộ tại mỗi giá trị thuộc tính không bị đòi hỏi đủ tương tự theo ngưỡng. Điều này cho phép mỗi giá trị thuộc tính chứa các phần tử biểu diễn những khả năng rất khác xa nhau có thể xảy ra bởi những giá trị không hề tương tự. Khi mô hình hoá một CSDLQH theo cách này sẽ không chỉ cho phép nắm bắt những thông tin không chính xác mà cả những thông tin không chắc chắn. Sự phân tách thành các khả năng thực chất là nhờ vào độ đo tương tự trên mỗi miền và ngưỡng đặt ra. Bởi vậy những thông tin không chắc chắn thể hiện bằng sự tồn tại của những giá trị mà độ tương tự giữa chúng nhỏ hơn ngưỡng đã cho chứ không biểu diễn bằng các phân phối khả năng. Theo một nghĩa nào đó, nếu coi các phần tử đủ tương tự với nhau (theo ngưỡng cho biết) thuộc về cùng một khả năng có thể xảy ra thì mô hình của P.Buckles và E.Petry chỉ cho phép nắm giữ thông tin của những đối tượng mà với những đối tượng này thông tin biết được về mỗi thuộc tính chỉ thuộc về một khả năng (tương tự của một đơn giá trị). Tuy nhiên trong cuộc sống có thể gặp những thông tin không chắc chắn về một đối tượng mà trên một thuộc tính có thể xảy ra nhiều khả năng. Mô hình mới đã khắc phục những hạn chế trên do có các đặc tính sau: mỗi miền trị thuộc tính được gắn với một độ đo “sự tương tự” của cặp hai phần tử bất kỳ của miền trị này; thông tin về một đối tượng được thể hiện bởi một bộ trong quan hệ; giá trị của một bộ tại một thuộc tính có thể là một tập gồm nhiều phần tử và được phân hoạch thành các lớp tương đương bao gồm các phần tử “đủ” tương tự (theo ngưỡng); có thể quan niệm rằng các phần tử trong một lớp tương đương là những thể hiện không chính xác của một giá trị đơn hoặc cũng có thể coi mỗi lớp tương đương thể hiện một khả năng có thể xảy ra. Ngữ nghĩa của mỗi bộ trong mô hình mới sẽ được trình bày trong phần dưới đây, một quan điểm tương ứng về dư thừa dữ liệu cũng được phát biểu. Khai niệm về bộ dư thừa rất quan trọng vì nó là cơ sở để xây dựng các qui tắc cập nhật dữ liệu, các phép toán quan hệ và khái niệm các phụ thuộc hàm. 1.1. Ngữ nghĩa của một bộ, quan niệm về các bộ thừa trong quan hệ Cho một lược đồ quan hệ R(U), U là tập hữu hạn các thuộc tính, U = {A1, A2,…, Am}. Dj là miền trị của Aj. Trên mỗi miền trị Dj có một quan hệ tương tự (với tính chất bắc cầu) sj. Dùng kí hiệu 2Dj để chỉ tập tất cả các tập con khác rỗng của Dj. Một quan hệ mờ r, là một tập con của tập tích Đề-các 2D1´…´2Dm. Một bộ t của một quan hệ mờ là một phần tử của tập 2D1´…´2Dm. Một cách tổng quát, một bộ t Î r có dạng: t = (d1, d2,…, dm), djÍDj. Bộ t cung cấp thông tin về một đối tượng O. Giá trị dj của bộ t trên thuộc tính Aj là một tập hợp khác rỗng, sử dụng kí pháp tập hợp, chẳng hạn {a1,a2,…,ak}, trong đó "i = 1, 2,…, k, ai Î Dj. Khi đó có một số cách hiểu khác nhau về ngữ nghĩa của bộ t (trên thuộc tính Aj) như sau: Chỉ một trong số các phần tử của dj là thông tin đúng về O trên Aj (nhưng chưa biết được chính xác là tập con nào) và không có phần tử nào ngoài tập dj là thông tin đúng về O trên Aj. Một tập khác rỗng các phần tử của dj là thông tin đúng về O trên Aj (nhưng chưa biết được chính xác là tập con nào) và không có tập con nào của (Dj-dj) là thông tin đúng về O trên Aj. Thông tin đúng về O trên Aj chỉ có thể là một phần tử của Dj và có thể một trong số các phần tử của dj là thông tin đúng về O trên Aj. Có thể một tập khác rỗng các phần tử của dj là thông tin đúng về O trên Aj. Với một ngưỡng aj của miền Dj, kí hiệu THRES(Dj)=aj, x, yDj, nếu s(x, y)aj thì chúng ta viết x~ajy. Rõ ràng ~aj là một quan hệ hai ngôi trên Dj và: Bổ đề 2.1. ~aj là một quan hệ tương đương trên Dj. Khi đã có một ngưỡng aj xác định trên miền Dj và không sợ nhầm lẫn có thể viết x~y thay vì viết đầy đủ x~ajy. Chứng minh: "xÎDj, s(x,x)=1aj nên x~x. Từ x~y ta có y~x do tính đối xứng của quan hệ s. Cuối cùng, nếu có x~y và có y~z sẽ có x~z do s có tính bắc cầu T1. Như vậy quan hệ ~ phân hoạch Dj thành các lớp tương đương, mỗi lớp tương đương gồm các phần tử đủ tương tự với nhau hay còn nói rằng những phần tử này xấp xỉ nhau (theo ngưỡng). Gọi mỗi lớp tương đương là một khả năng. Các lớp tương đương phân biệt cho các khả năng khác nhau. Khi ngưỡng thay đổi số khả năng xuất hiện ở dj có thể thay đổi, dễ thấy khi lấy ngưỡng giảm đi số khả năng sẽ không tăng và có thể giảm, khi lấy ngưỡng tăng lên số khả năng sẽ không giảm và có thể tăng. Với quan niệm về khả năng nhờ vào khái niệm xấp xỉ theo một ngưỡng tương tự giữa các phần tử như vậy, có một số cách hiểu khác nhau về ngữ nghĩa của bộ t (trên thuộc tính Aj) như sau: Chỉ một trong số các khả năng xuất hiện ở dj là thông tin đúng về O trên Aj (nhưng chưa biết được chính xác là khả năng nào). Không có khả năng nào không xuất hiện trong dj lại là thông tin đúng về O trên Aj. Một tập con khác rỗng của tập tất cả các khả năng xuất hiện ở dj là thông tin đúng về O trên Aj (nhưng chưa biết chính xác là tập con nào) và không có tập con khả năng nào là thông tin đúng về O trên Aj nếu như nó chứa khả năng không xuất hiện ở dj. Thông tin đúng về O trên Aj chỉ có thể là một khả năng trong Dj và có thể một trong số các khả năng xuất hiện ở dj là thông tin đúng về O trên Aj. Có thể một tập khác rỗng các khả năng xuất hiện ở dj là thông tin đúng về O trên Aj. Dễ dàng nhận thấy rằng, nếu lấy ngưỡng aj=1.0 thì sẽ có các cách hiểu 1. và 5. trùng nhau, 2. và 6. trùng nhau. Ở đây chỉ xem xét mô hình mở rộng, giới hạn trong cách hiểu 6. đối với kí pháp tập hợp và phần tử trong tập hợp {a1, a2,…, ak}, kí pháp đã được dùng để biểu thị giá trị dj của bộ t trên thuộc tính Aj. Qui ước: . Dùng để chỉ tập tất cả các lớp tương đương của dj được phân hoạch bởi ngưỡng đã xác định cho Aj. Nghĩa là ={/ad}. . Dùng 2 để chỉ tập tất cả các tập con khác rỗng của tập thương (Dj/~aj). Định nghĩa 2.1. Với ngưỡng a=(a1, a2,…, am). Một thể hiện khả năng theo a, Ta=(v1, v2,…, vm) của một bộ t=(d1, d2,…, dm) là bất cứ phép gán nào sao cho "i=1, 2,…, m: ƹviÍ. Định nghĩa 2.2. Ngữ nghĩa theo ngưỡng a của một bộ t, kí hiệu là Sp(t)a, là tập tất cả các thể hiện khả năng theo a của bộ t. Ví dụ 2.1: Cho quan hệ t như dưới đây: A B {a1, a2, a3} {b1, b2} Giả sử với ngưỡng a đang xét thì 1=3¹2, 1¹2. Khi đó sẽ có A={1,2}={3,2}, B={1,2}. Các thể hiện khả năng theo a có thể có của bộ t là: ({1,2},{1,2}) ({1},{1,2}) ({2},{1,2}) ({1,2},{1}) ({1,2},{2 }) ({1},{1}) ({1},{2}) ({2},{1}) ({2},{2}) Như vậy ngữ nghĩa Sp(t)a là tập gồm 9 thể hiện khả năng kể trên. Trong mô hình của P.Buckles và E.Petry, tuy một bộ có thể có nhiều thể hiện nhưng vẫn chỉ có một thể hiện khả năng. Trong một CSDL rõ, một bộ được coi là thừa nếu và chỉ nếu nó trùng hoàn toàn với một bộ khác. Theo quan điểm của P.Buckles và E.Petry, một bộ là thừa nếu có thể trộn nó với một số bộ khác mà vẫn không vi phạm ngưỡng tương tự đã cho, hay nói cách khác, nếu nó có chung một thể hiện với một bộ khác. Trong mô hình đang xem xét ở đây, hai bộ được coi là thừa với nhau nếu chúng có cùng một tập các khả năng trên mỗi thuộc tính. Có thể hình thức hoá điều này như sau: Định nghĩa 2.3. Trong quan hệ mờ r, hai bộ ti=(di1, di2,…, dim) và tk=(dk1, dk2,…, dkm), i¹k được gọi là thừa đối với nhau nếu "j=1, 2,…, m, "xÎdij $x’Îdkj: x~ajx’ và ngược lại, nghĩa là "j=1, 2,…, m, "xÎdkj $x’Îdij: x~ajx’. Dùng kí hiệu ti~atk để nói rằng ti là thừa đối với tk theo ngưỡng a, trong đó a=(a1, a2,…,am). Không có gì là mâu thuẫn khi dùng kí hiệu dij~adkj để nói rằng giá trị tương ứng của hai bộ ti, tk trên thuộc tính Aj là dij và dkj tương đương (hay thừa) với nhau. Nếu không sợ nhầm lẫn có thể viết dij»dkj thay cho viết dij»ajdkj. Bổ đề 2.2. »a là quan hệ tương đương trên một quan hệ mờ r. Việc chứng minh tính đúng đắn của bổ đề này rất đơn giản. Như vậy quan hệ »a cho một phân hoạch trên r. Có thể gọi hai bộ thừa đối với nhau (theo a) là hai bộ tương đương nhau (theo a). Bổ đề 2.3. Cần và đủ để hai bộ là thừa đối với nhau (theo a) là ngữ nghĩa (theo a) của chúng bằng nhau. Ta cũng có thể dễ dàng chứng minh được bổ đề này. Ví dụ 2.2: Các hình: Hình 2.1, Hình 2.2, Hình 2.3 dưới đây cho một quan hệ mờ với các quan hệ tương tự trên các miền thuộc tính. Giả sử ngưỡng a=(0.0, 0.6, 0.8) khi đó ngưỡng của Dom(TÊN) là 0.0, ngưỡng của Dom(Màu xe) là 0.6, ngưỡng của Dom(Nghề nghiệp) là 0.8. Dom(Màu xe) được phân hoạch thành 3 lớp tương đương (ngưỡng 0.6): {xanh đậm, xanh nhạt, xanh đen}, {hồng, tím, đỏ}, {trắng, kem}. r1 TÊN MÀU XE NGHỀ NGHIỆP t1 t2 t3 t4 t5 An Bình Phúc Lộc Thọ xanh đậm, xanh nhạt, hồng xanh đen, tím đỏ trắng, hồng hồng, kem xanh đen, đỏ nhà văn, giáo sư đạo diễn, giáo viên nhà thơ nhà thơ phi công Hình 2.1. Một quan hệ mờ. xanh đậm xanh nhạt xanh đen hồng đỏ tím đỏ trắng kem xanh đậm 1.0 0.6 0.8 0.0 0.0 0.0 0.1 0.1 xanh nhạt 0.6 1.0 0.6 0.0 0.0 0.0 0.1 0.1 xanh đen 0.8 0.6 1.0 0.0 0.0 0.0 0.1 0.1 hồng 0.0 0.0 0.0 1.0 0.6 0.6 0.0 0.0 đỏ 0.0 0.0 0.0 0.6 1.0 0.9 0.0 0.0 tím đỏ 0.0 0.0 0.0 0.6 0.9 1.0 0.0 0.0 trắng 0.1 0.1 0.1 0.0 0.0 0.0 1.0 0.7 kem 0.1 0.1 0.1 0.0 0.0 0.0 0.7 1.0 Hình 2.2. Quan hệ tương tự trên Dom(Màu xe). nhà văn nhà thơ đạo diễn giáo viên giáo sư phi công nhà văn 1.0 1.0 0.9 0.5 0.5 0.2 nhà thơ 1.0 1.0 0.9 0.5 0.5 0.2 đạo diễn 0.9 0.9 1.0 0.5 0.5 0.2 giáo viên 0.5 0.5 0.5 1.0 0.8 0.2 giáo sư 0.5 0.5 0.5 0.8 1.0 0.2 phi công 0.2 0.2 0.2 0.2 0.2 1.0 Hình 2.3. Quan hệ tương tự trên Dom(Nghề nghiệp). Dom(Nghề nghiệp) cũng được phân hoạch thành 3 lớp tương đương (ngưỡng 0.8): {nhà văn, nhà thơ, đạo diễn}, {giáo viên, giáo sư}, {phi công}. Như vậy với ngưỡng a cho ở trên thì trong r1, t1 thừa đối với t2 và t3 thừa đối với t4. Việc loại trừ những bộ thừa theo một ngưỡng a trong một quan hệ r được tiến hành bằng cách trộn những bộ thừa lại với nhau cho đến khi không còn tồn tại hai bộ thừa đối với nhau nữa. Định nghĩa 2.4. Cho một quan hệ mờ r, hai bộ ti, tkÎr, ti=(di1,di2,…,dim) và tk=(dk1,dk2,…,dkm). Kết quả của việc trộn hai bộ ti, tk là mộ bộ t sao cho t=(d1,d2,…,dm) và dj=dijdkj, h=1, 2,…,m. Bổ đề 2.4. Việc loại bỏ các bộ thừa (theo một ngưỡng xác định) bằng phép trộn các bộ thừa với nhau cho một kết quả duy nhất không phụ thuộc vào thứ tự trộn các bộ. Cho một quan hệ r, một ngưỡng tương tự a, có thể đưa ra một r’ duy nhất bằng cách loại bỏ các bộ thừa của r. Kí hiệu r’=Ma(r). Ví dụ 2.2: Với quan hệ r1 cho ở Hình 2.1, a=(0.0, 0.6, 0.8), ta có r2=Ma(r1) cho ở Hình 2.4. TÊN MÀU XE NGHỀ NGHIỆP {An, Bình} {xanh đậm, xanh nhạt, xanh đen, hồng, tím đỏ} {nhà văn, giáo sư, đạo diễn, giáo viên} {Phúc, Lộc} {trắng, hồng, kem} {nhà thơ} {Áọ} {xanh đen, đỏ} {phi công} Hình 2.4. Quan hệ r2. Bổ đề 2.5. Cho một quan hệ mờ trên lược đồ R(U), nếu kết quả của việc trộn hai bộ ti, tk là một bộ t thì t tương đương với ti và tk. Nghĩa là: Ma(t{ti, tk})=t thì ((t»at) và tk»at)). Chứng minh: Điều kiện để ti và tk được trộn với nhau theo a là ti»atk, cụ thể là nếu ti=(di1, di2,…, dim) và tk=(dk1, dk2,…, dkm) thì "jÎ{1, 2,…, m} dij»dkj. Theo định nghĩa của phép trộn Ma thì t=(d1, d2,…, dm) với "jÎ{1, 2,…, m}: dj=dij Èdkj. Dễ thấy dj»dij và dj»dkj, suy ra điều cần chứng minh. Định lý 2.1. Cho một quan hệ mờ trên lược đồ R(U), nếu kết quả của phép trộn Ma trên tập T gồm các bộ tương đương nhau theo a là một bộ t thì t ttương đương theo a với bất kỳ bộ nào trong T. Như vậy, nếu có T={t1, t2, tk}Ír sao cho "i, jÎ{1, 2,…, m}: ti»atj và t=Ma(T) thì có "iÎ{1, 2,…, k}: ti»at. Chứng minh : Từ Bổ đề 2.4, Bổ đề 2.5 và tính bắc cầu của quan hệ tương đương »a dễ dàng chứng minh được định lý. Định nghĩa 2.5. Cho hai quan hệ mờ r, r’ trên cùng một lược đồ R(U). Hai quan hệ gọi là tương đương với nhau theo ngưỡng a nếu "tÎr $t’Îr’: t»at’ và ngược lại, nghĩa là "t’Îr’ $tr: t»at’. Ví dụ 2.3: Cho r3 trong Hình 2.5, r2 trong Hình 2.4. Với a=(0.0,0.6,0.8), thì r3@ar2. TÊN MÀU XE NGHỀ NGHIỆP {An, Bình} {xanh đậm, xanh nhạt, hồng, tím đỏ} {giáo sư, đạo diễn, giáo viên} {Phúc} {trắng, hồng, tím đỏ} {nhà thơ, đạo diễn} {Thọ, Lộc} {xanh đen, đỏ} {phi công} Hình 2.5. Quan hệ r3. 1.2. Các giá trị NULL Trong nghiên cứu về CSDL theo mô hình quan hệ, thông tin không đầy đủ được biểu diễn bằng các giá trị null. Nhiều người sử dụng thuật ngữ này với những ý nghĩa khác nhau. Nói chung có các trường hợp như sau: Những giá trị không tồn tại, thường kí hiệu là ^. Nếu ^ xuất hiện ở bộ t ứng với một thuộc tính A thì điều đó được thể hiểu là bất cứ một phần tử nào ở Dom(A) cũng không thể là giá trị của bộ t trên thuộc tính A. Nói cách khác, bộ t là thông tin về một đối tượng mà đối tượng này không thể xét thuộc tính A. Ví dụ, không thể có tên cơ quan của một người đang thất nghiệp. Những giá trị tồn tại nhưng chưa biết tại thời điểm đang xét, thường kí hiệu là D. Nếu D xuất hiện ở bộ t tương ứng với một thuộc tính A thì điều đó được hiểu là bất cứ một phần tử nào thuộc Dom(A) cũng có thể là giá trị của bộ t trên thuộc tính A. Nói cách khác, biết rằng bộ t có một giá trị trên thuộc tính A nhưng giá trị đó là gì thì chưa xác định được. Ví dụ biết An đi làm bằng xe của anh ta nhưng không hề biết xe anh ta màu gì. Không có thông tin về một thuộc tính A của bộ t, chúng ta không biết một giá trị xác định, lại cũng không rơi vào tình huống nào trong hai loại null kể trên. Chẳng hạn chúng ta không biết nhà An có điện thoại hay không khi xét thuộc tính điện thoại của An. Để tăng cường khả năng biểu diễn thông tin không đầy đủ cho mô hình đã đề xuất, chúng ta sử dụng hai kí hiệu null D và ^ cho trường hợp 1) và 2). Có thể dùng để nói rằng có hai khả năng 1) và 2) cho giá trị trên thuộc tính đang xét, không xác định được thực tế rơi vào tình huống nào, đây chính là trường hợp 3). Ví dụ 2.4: Quan hệ rnull cho trong Hình 2.6 sẽ giải thích rõ hơn ý nghĩa của hai kí hiệu null đã sử dụng ở trên. TÊN MÀU XE NGHỀ NGHIỆP An xanh đậm, xanh nhạt, hồng bác sĩ, nha sĩ, kế toán Bắc xanh đậm, xanh nhạt, ^ D, ^ Yến D ^ Hình 2.6. Quan hệ rnull. Nhìn vào quan hệ rnull, có thể thấy rõ được ý nghĩa của các kí hiệu null đã sử dụng. Cụ thể, những thông tin trong bảng trên cho biết Bắc có thể không có xe mô tô và cũng có thể có, nếu có thì xe của anh ta phải có màu xanh đậm hoặc xanh nhạt. Không biết Bắc có nghề nghiệp hay không (thất nghiệp). Yến có xe nhưng không biết một chút gì về màu xe của cô ấy, Yến không có nghề nghiệp. Ở đây, giới hạn rằng các kí hiệu null không được x._.uất hiện trong các giá trị của thuộc tính là khoá. Và khi cho phép sử dụng kí hiệu null trong các giá trị thuộc tính, cần thiết phải xác định lại qui tắc cú pháp viết giá trị của một bộ trên một thuộc tính cùng với ngữ nghĩa tương ứng. Định nghĩa 2.6 (Biểu thức trị của một bộ trên một thuộc tính Aj) . "aÎDj, {a} là một biểu thức tập hợp của Dj, . Nếu M là một biểu thức tập hợp của Dj thì "aÎDj, MÈ{a} là một biểu thức tập hợp của Dj, .M ọi biểu thức tập hợp của Dj đều là biêu thức trị trên Aj, .Nếu M là một biểu thức tập hợp của Dj thì là biểu thức trị trên Aj, . là biểu thức trị trên Dj, là biểu thức trị trên Aj, . là biểu thức trị trên Aj. Định nghĩa 2.7. (Thể hiện khả năng của một bộ trên một thuộc tính Aj) Một thể hiện khả năng của một bộ t trên một thuộc tính Aj theo ngưỡng aj được xác định một cách tương ứng trong các trường hợp của biểu thức trị dj của bộ t trên thuộc tính Aj như sau: . Nếu dj là một biểu thức tập hợp M của Dj, thì "v, ƹvÍ, v là một thể hiện khả năng của t trên Aj theo aj, với =M/~aj, . Nếu dj=, trong đó M là biểu thức tập hợp của Di thì "v, ƹvÍM, v là một thể hiện khả năng của t trên Aj và {Æ} cũng là một thể hiện khả năng của t trên Aj, . Nếu dj= thì "vÎ2Dj, v là một thể hiện khả năng của t trên Aj, .Nếu dj= thì {Æ} là một thể hiện khả năng của t trên Aj, .Nếu dj= thì v2Dj, v là một thể hiện khả năng của t trên Aj và {Æ} cũng là một thể hiện khả năng của t trên Aj. Định nghĩa 2.8. (Thể hiện khả năng của một bộ) Với ngưỡng a=(a1, a2,…, am). Một thể hiện khả năng theo a, Ta=(v1, v2,…, vm) của một bộ t=(d1, d2,…, dm) là bất cứ phép gán nào sao cho "i=1, 2,…, m: vi là một thể hiện khả năng của bộ t trên Ai (theo ai). Định nghĩa 2.9. Ngữ nghĩa theo ngưỡng a của một bộ t, kí hiệu là Sp (t)a, là tập tất cả các thể hiện khả năng theo a của bộ t. Ví dụ 2.5: Cho quan hệ sau: A B t a1, a2 b1, b2, ^ Giả sử với ngưỡng a đang xét thì a1=a2, b1¹b2. Các thể hiện khả năng theo a có thể có của bộ t là: ({a1}, {b1, b2}) ({a1}, {b1}) ({a1}, {b2}) ({a1}, Æ). Như vậy ngữ nghĩa Sp(t)a là tập gồm 4 thể hiện khả năng kể trên. Nếu cho phép kí hiệu null xuất hiện trong biểu thức trị của một bộ trên một thuộc tính thì khái niệm hai bộ thừa (hay tương đương) với nhau trước đây cần được mở rộng. Định nghĩa 2.10. (Hai bộ tương đương với nhau trên một thuộc tính) Trong quan hệ mờ r, hai bộ t=(d1, d2,…, dm) và t’=(d1’, d2’,…, dm’) được coi là tương đương đối với nhau trên Aj theo aj nếu rơi vào một trong những trường hợp sau: . dj và dj’ đều là các biểu thức tập hợp của Dj thoả mãn điều kiện sau đây: "xÎdj’ $x’Îdj: x ~ajx’ và ngược lại, nghĩa là "xÎdj $x’Îdj’: x ~ajx’. . dj và dj’ đều chỉ chứa kí hiệu null và cùng chứa các kí hiệu null như nhau. Cụ thể là: dj=dj’= hoặc dj=dj’= hoặc dj=dj’=. . dj= và dj’= trong đó M và M’ đều là biểu thức tập hợp trên Dj và M~ajM’ (theo(1)). Dùng kí hiệu dj»ajdj’ để nói rằng dj tương đương (thừa) đối với dj’ trên Aj theo ngưỡng aj. Định nghĩa 2.11. (Hai bộ tương đương với nhau) Trong quan hệ mờ r, hai bộ t=(d1, d2,…, dm) và t’=(d1, d2,…, dm) được coi là thừa đối với nhau theo ngưỡng a=(a1, a2,…, am) nếu "j=1, 2,…, m, dj»ajdj’. Dùng kí hiệu t»at’ để nói rằng t thừa đối với t’. Theo các định nghĩa 2.9 và 2.11 có thể dễ dàng chứng minh được phát biểu của bổ đề 2.3 vẫn đúng trong trường hợp cho phép kí hiệu null xuất hiện. Bổ đề 2.6. Cần và đủ để hai bộ là thừa đối với nhau (theo a) là ngữ nghĩa (theo a) của chúng là bằng nhau. Nội dung của Định lý 2.1 phát biểu cho trường hợp không có kí hiệu null, rằng việc trộn các bộ tương đương với nhau sẽ cho kết quả là một bộ tương đương với một bộ bất kỳ đã tham gia vào phép trộn, vẫn đúng trong trường hợp có kí hiệu null. 2. Mở rộng các phép toán quan hệ 2.1. Mở rộng phép hợp Cho r1 và r2 là hai quan hệ trên cùng một lược đồ R(U). Hợp theo ngưỡng a của r1 và r2 là một quan hệ kí hiệu là r1Èar2 được xác định như sau: r1Èar2=Ma(r1Èr2). Tính chất của phép hợp: Từ định nghĩa của phép hợp (với ngưỡng a) trên đây, kết hợp với bổ đề 2.3 về kết quả trộn các bộ thừa với nhau không phụ thuộc thứ tự trộn, dễ suy ra phép hợp có tính giao hoán và kết hợp. Nghĩa là: rÈas=sÈar (r1Èar2)Èar3=r1Èa(r2Èar3). 2.2. Mở rộng phép giao Cho r1 và r2 là hai quan hệ trên cùng một lược đồ R(U). Giao theo ngưỡng a của r1, r2 là một quan hệ kí hiệu là r1Çar2 được xác định như sau: r1Çar=Ma({t|(tÎr1 và $t’Îr2: t»at’) hoặc (tÎr2 và $t’Îr1: t»at’)}). Tính chất của phép giao: Tương tự như phép hợp, phép giao cũng có tính chất giao hoán và kết hợp: rÇas=sÇar (r1Çar2)Çar3=r1Ça(r2Çar3). 2.3. Mở rộng phép hiệu Cho r1 và r2 là hai quan hệ trên cùng một lược đồ R(U). Hiệu theo ngưỡng a của r1 đối với r2 là một quan hệ kí hiệu là r1-ar2 được xác định như sau: r1-ar2=Ma{tÎr1|"t’Îr2: tt’}. Tính chất của phép hiệu: Cũng như trường hợp CSDL truyền thống, phép giao có thể được biểu thị qua phép hiệu, nghĩa là (r1Çar2)@ar1-a(r1-ar2). Chứng minh: a) Với tÎr1Çar2, theo định nghĩa phép Ça, $t1Îr1, $t2Îr2: t1»at2, t=Ma({t1,t2}). Theo định lý trộn 2.1, t »at1. Chúng ta sẽ chỉ ra t1Î(r1-a(r1-ar2)) bằng cách chứng tỏ rằng "t’Î(r-ar2): t1»at’. Thật vậy, giả sử có t’Î(r1-ar2) sao cho t1»at’, khi đó do tính bắc cầu của »a chúng ta có t2»at’, điều này mâu thuẫn với giả sử phản chứng t’Î(r1-ar2). Như vậy "tÎr1Çar2, $t1Î(r1-a(r1-ar2): t » a t1. b) Với tÎ(r1-a(r1-ar2)) thì: tÎr1 (1) và "t’Î(r1-ar2) : tat’ (2) Để chứng minh rằng tÎr1Çar2 chỉ cần chứng tỏ rằng $t2Îr2: t »at2. Giả sử "t*Îr2: tat*, từ đó thấy được tÎ(r1-ar2), và theo (2) suy ra tat, đây là một điều vô lý. Vậy "tÎ(r1-a(r1-ar2)), thì tÎr1Çar2. Theo định nghĩa hai quan hệ tương đương theo a (@a), kết hợp với chứng minh a) và b) trên đây, có (r1Çar2)@ar1-a(r1-ar2). 2.4. Mở rộng phép chiếu Cho r là quan hệ trên cùng một lược đồ R(U), U={A1, A2,…, Am}, "i=1, 2,…, m, miền trị của Ai là Di, XÍU. Chiếu theo ngưỡng a của r trên X là một quan hệ trên lược đồ R(X) kí hiệu là ra[X] được xác định như sau: ra[X]=Ma(r[X]). Ví dụ 2.6: Cho 2 quan hệ r1 (Hình 2.10) và r2 (Hình 2.11) trên lược đồ R(A, B, C), và các quan hệ tương tự trên các miền ở các hình : Hình 2.7, Hình 2.8, Hình 2.9. a1 a2 a3 a5 a1 1.0 0.3 0.8 0.7 a2 0.3 1.0 0.3 0.3 a3 0.8 0.3 1.0 0.7 a5 0.7 0.3 0.7 1.0 Hình 2.7. Quan hệ tương tự trên Dom(A). b1 b2 b3 b4 b1 1.0 0.1 0.6 0.1 b2 0.1 1.0 0.1 0.9 b3 0.6 0.1 1.0 0.1 b4 0.1 0.9 0.1 1.0 Hình 2.8. Quan hệ tương tự trên Dom(B). c1 c2 c3 c1 1.0 0.0 0.8 c2 0.0 1.0 0.0 c3 0.8 0.0 1.0 Hình 2.9. Quan hệ tương tự trên Dom(C). A B C a1 b1, b3 c1, c2 a2, a3 b2 c3 Hình 2.10. Quan hệ r1. A B C a2, a5 b4 c3 a1, a3 b2 c2 Hình 2.11. Quan hệ r2. Với a=(0.7, 0.6, 0.8) sẽ có: r1Èar2 A B C a1 b1, b2 c1, c2 a2, a3, a5 b2, b4 c3 a1, a3 b2 c2 Hình 2.12. r1Èar2. r1Çar2 A B C a2, a3, a5 b2, b4 c3 Hình 2.13. r1Çar2. r1-r2 A B C a1 b1, b3 c1, c2 Hình 2.14. r1-r2. r2,a[B] B b2, b4 Hình 2.15. r2,a[B]. 2.5. Mở rộng phép tích Đề-các Cho r và s là hai quan hệ tương ứng trên các lược đồ R(A1, A2,…, Am) và S(A’1, A’2,…, A’n ). Tích Đề-các theo ngưỡng của r và s là một quan hệ trên lược đồ (A1, A2,…, Am, A’1, A2,…, An) kí hiệu là r´as, được xác định như sau: r´as=Ma(r´s). 2.6. Mở rộng phép chọn Định nghĩa phép giao khả năng Cho di và di’ là hai biểu thức tập hợp trên Di, giao khả năng của di và di’ theo ngưỡng ai là một biểu thức tập hợp trên Di hoặc là tập Æ, kí hiệu là diÇPaidi’, được xác định như sau: diÇPaidi’={aÎdi/$a’Îdi’: a~aia’}È{a’Îdi: a ~aia’}. Có thể chứng minh được rằng nếu (diÇPaidi’) là biểu thức tập hợp trên Di (nghĩa là ¹Æ) thì ngữ nghĩa của nó chính là ngữ nghĩa (theo ai) của di giao với ngữ nghĩa (theo ai) của di’. Định nghĩa biểu thức của phép chọn 1) Một phát biểu fi có dạng (ai.Ai : d) là một biểu thức với aiÎ[0, 1], Ai là tên một thuộc tính, Di là miền tương ứng của thuộc tính Ai, dÍDi. 2) Một phát biểu fi có dạng NOT(ai.Ai : d) là một biểu thức với ai[0, 1], Ai là tên một thuộc tính, Di là miền tương ứng của thuộc tính Ai, dÍDi. 3) Nếu P, Q là hai biểu thức thì P AND Q là biểu thức, P OR Q là biểu thức. Cho r là một quan hệ trên lược đồ R, phép chọn trên r với biểu thức chọn đã cho được xác định như sau: a) Chọn chặt: Chọn chặt trong r, thoả biểu thức F là một quan hệ trên R kí hiệu là sF(r) được xác định như sau: 1) Nếu F có dạng (ai.Ai: d). Quan hệ sF sẽ gồm các bộ t=( d1, d2,…, dm), djÍDj sao cho di»aid. 2) Nếu F có dạng NOT(ai.Ai: d). Quan hệ sF sẽ gồm các bộ t=( d1, d2,…, dm), djÍDj sao cho diaid. 3) Nếu F có dạng (P AND Q) thì sF (r)= sP(r)ÇsQ(r). 4) Nếu F có dạng (P OR Q) thì sF(r)= sP(r)ÈsQ(r). b) Chọn không chặt: Chọn không chặt trong r, thoả biểu thức F là một quan hệ trên R kí hiệu là sF được xác định như sau: 1) Nếu F có dạng (ai.Ai: d). Quan hệ sF sẽ gồm các bộ t=( d1, d2,…, dm), djDj sao cho diÇPaid¹Æ. 2) Nếu F có dạng NOT(ai.Ai: d). Quan hệ sF sẽ gồm các bộ t=(d1, d2,…, dm), djÍDj sao cho diÇPaid=Æ. 3) Nếu F có dạng (P AND Q) thì sF(r)= sP(r)Ç sQ(r). 4) Nếu F có dạng (P OR Q) thì sF (r)= sP(r)ÈsQ(r). Dễ dàng thấy rằng, nếu quan hệ r không có bộ thừa theo ngưỡng b=(b1, b2,…, bm) thì các quan hệ kết quả sF(r) và sF(r) được xác định như trên cũng không có bộ thừa theo ngưỡng b. Ví dụ 2.7: Cho quan hệ mờ r3 như ở Hình 2.16 cùng các quan hệ tương tự trên các miền tương ứng cho trong Hình 2.2 và Hình 2.3. r3 TÊN MÀU XE NGHỀ NGHIỆP t1 An xanh đậm, xanh nhạt, hồng nhà văn, giáo sư t2 Bình xanh đen, tím đỏ đạo diễn, giáo viên t3 Phúc trắng, hồng nhà thơ t4 Lộc trắng, kem nhà văn t5 Áọ xanh đen, đỏ phi công, đạo diễn t6 Tài xanh đậm, tím đỏ phi công Hình 2.16. Quan hệ r3. F1=(0.8. Màu xe: {xanh đậm, đỏ}) AND (0.8. Nghề nghiệp: {nhà văn, giáo viên}). F2=(0.8. Màu xe: {xanh đậm, đỏ}) OR (0.8. Nghề nghiệp: {nhà văn, giáo viên}). F3=(0.8. Màu xe: {xanh đậm, đỏ}) AND (NOT (0.8. Nghề nghiệp: {nhà văn, giáo viên})). Khi đó sẽ có: sF1(r3)={t2} sF1(r3)={t1, t2, t5} sF2(r3)={t1, t2, t5} sF2(r3)={t1, t2, t3, t4, t5} sF3(r3)={t5, t6} sF3(r3)={t6} Chọn chặt sF1(r3) cho thông tin về những người mà màu xe chỉ có thể là hai màu tương tự với màu “xanh đậm” và “màu đỏ” còn nghề nghiệp chỉ có thể là tương tự với nghề “nhà văn” và nghề “giáo viên”. Trong khi đó chọn không chặt sF1(r3) sẽ chọn những người có khả năng là màu xe tương tự với màu “xanh đậm” hay “màu đỏ” và nghề nghiệp có thể tương tự với nghề “nhà văn” hay nghề “giáo viên”. Chọn chặt sF2(r3) chon thông tin về những người mà màu xe chỉ có thể là hai màu tương tự với màu “xanh đậm” và màu “màu đỏ” và những người nghề nghiệp chỉ có thể là tương tự với nghề “nhà văn” hay “giáo viên”. Trong khi đó chọn không chặt sF2(r3) sẽ chọn những người có khả năng màu xe tương tự với màu “xanh đậm” hay “màu đỏ” và những người có khả năng nghề nghiệp tương tự với nghề “nhà văn” hay nghề “giáo viên”. 2.7. Mở rộng phép kết nối tự nhiên Tương ứng với hai phép chọn, có hai phép kết nối tự nhiên: kết nối tự nhiên chặt (gọi tắt là phép kết nối hay phép kết nối tự nhiên) và kết nối tự nhiên không chặt (gọi tắt là phép kết nối không chặt). Cho r và s là hai quan hệ tương ứng trên hai lược đồ R(U1) và R(U2), U1ÇU2¹Æ. Đặt U=U1ÈU2, X=U1ÇU2, X1=U1-X, X2=U2-X. a) Kết nối tự nhiên chặt: Kết nối tự nhiên chặt theo aX của r với s là một quan hệ trên lược đồ R(U) kí hiệu là rVaXs, được xác định như sau: rVaXs={t=(t1, t’, t2)|t’1Îr, $t’2Îs: (t’1[X1]=t1, t’2[X2]=t2, t’1[X]»aXt’2[X] và t’=MaX{t’1[X], t’2[X]})}. b) Kết nối tự nhiên không chặt: Kết nối tự nhiên không chặt theo aX của r với s là một quan hệ trên lược đồ R(U) kí hiệu là rTaXs, được xác định như sau: rTaXs ={t=(t1, t’, t2)|$t’1Îr, t’2Îs: (t’1[X1]=t1, t’2[X2]=t2, "AÎX, t’1[A]t’2[A]Æ và t’[A]=t’1[A]t’2[A])}. Cả hai phép kết nối chặt và không chặt đều có tính kết hợp. Ví dụ 2.8: Cho quan hệ r4 (Hình 2.17). D E d1, d2 e1, e3 d2, d3 e2 Hình 2.17. Quan hệ r4. Căn cứ vào các quan hệ tương tự cho ở Hình 2.7, 2.8, 2.9. sự phân lớp tương đương trên miền trị các thuộc tính A, B, C theo các ngưỡng tương ứng 0.4, 0.6, 0.8 được biểu diễn ở Hình 2.18. Hình 2.19 cho sự phân lớp tương đương trên miền trị của thuộc tính D, E. A 0.4 a1 a3 a5 a2 B 0.6 b1 b3 b2 b4 C 0.8 c1 c3 c2 Hình 2.18. Các lớp tương đương trên miền trị của A, B, C. D 0.7 d1 d3 d2 E 0.9 e1 e2 e3 Hình 2.19. Các lớp tương đương trên miền trị của D, E. Với các quan hệ r1 ở Hình 2.10, quan hệ r4 ở Hình 2.17, tích đề các của r1 với r4 theo ngưỡng a=(aA, aB, aC, aD, aE)=(0.4, 0.6, 0.8, 0.7, 0.9) là quan hệ r6 ở Hình 2.20. A B C D E a1 b1, b3 c1, c2 d1, d2 e1, e3 a1 b1, b3 c1, c2 d2, d3 e2 a2, a3 b2 c3 d1, d2 e1, e3 a2, a3 b2 c3 d3, d3 e2 Hình 2.20. Quan hệ r6 = r1 ´a r4. C E c2, c3 e3 c1, c3 e2 c2 e1, e3 Hình 2.21. Quan hệ r5. A B C E a1 b1, b3 c1, c2, c3 e3 a2, a3 b2 c1, c3 e2 Hình 2.22. Quan hệ r7. A B C E a1 b1, b3 c2 e3 a1 b1, b3 c1, c3 e2 a1 b1, b3 c2 e1, e3 a2, a3 b2 c3 e3 a2, a3 b2 c1, c3 e2 Hình 2.23. Quan hệ r8. Kết nối tự nhiên chặt và không chặt của r1 với r5 (Hình 2.21) theo ngưỡng aC=0.8 là quan hệ r7, r8 ở Hình 2.22 và 2.23. Tính chất của phép kết nối tự nhiên: Cả hai phép kết nối chặt và không chặt đều có tính kết hợp và giao hoán. 2.8. Phép tính quan hệ trong trường hợp có kí hiệu NULL Khi xem xét các phép tính quan hệ ở trường hợp có sử dụng kí hiệu null trong các giá trị thuộc tính, có một số nhận xét sau: 1) Giá trị của một bộ trên một thuộc tính, chẳng hạn {a1, a2,…, at} có thể đã kể hết các lớp tương đương do ngưỡng aj phân hoạch Dj, nghĩa là về mặt ngữ nghĩa có thể coi {a1, a2,…, at} tương đương với {D}, trong khi đó hệ thống coi {a1, a2,…, at} không tương đương với {D}. Như vậy, trong trường hợp có kí hiệu null D, các định nghĩa về phép hợp, giao, hiệu, chiếu, tích Đề-các, chọn chặt và kết nối chặt nếu giữ nguyên như đã phát biểu (cho trường hợp không có kí hiệu null) có thể có một số nhược điểm sau: Kết quả của phép hợp, phép Đề-các, phép chiếu có thể chứa những bộ thừa đối với nhau (tương đương về ngữ nghĩa) như đã nêu. Kết quả của phép giao có thể sẽ thiếu mặt một số bộ vì hệ thống coi {a1, a2,…, at} không tương đương với {D}. Tương tự, việc thực hiện phép hiệu có thể sẽ còn lưu lại một số bộ đáng lẽ bị loại bỏ. Phép chọn chặt, kết nối chặt có thể sẽ bỏ qua một số bộ do hệ thống coi {a1, a2,…, at} không tương đương với {D}. 2) Nếu giá trị của một bộ trên một thuộc tính là {D}, về mặt ngữ nghĩa có thể coi là giá trị này đã kể hết các lớp tương đương do ngưỡng aj phân hoạch Dj. Nghĩa là các khả năng chung của một giá trị không chứa kí hiệu null như {a1, a2,…, at} và giá trị {D} chính là tất cả các khả năng do {a1, a2,…, at} đưa ra. Trong khi đó hệ thống đã tính {a1, a2,…, at}Çaj{D}=Æ. Như vậy, trong trường hợp có kí hiệu null D, các định nghĩa về phép chọn không chặt và phép kết nối không chặt nếu giữ nguyên như đã phát biểu, thì sẽ bỏ qua một số bộ mà đáng lẽ về mặt ngữ nghĩa những bộ này xứng đáng thuộc quan hệ kết quả. Tương ứng với nhận xét trên, có thể khắc phục như sau: 1) Bổsung cho hệ thống khả năng kiểm tra và quyết định rằng một giá trị {a1, a2,…, at} trên Dj có chứa hết mọi khả năng (với ngưỡng aj) hay không. Nghĩa là kiểm tra và quyết định rằng {a1, a2,…, at} có tương đương với {D} hay không. 2) Cần xác định việc lấy giao ÇPaAi của hai biểu thức trị trên một thuộc tính (nghĩa là bao gồm trường hợp có kí hiệu null). Định nghĩa phép giao khả năng (của hai biểu thức trị): Trên miền trị Di của thuộc tính Ai xét ngưỡng tương tự ai. Cho di, di’ tương ứng là biểu thức trị của t và t’ trên Ai, phép giao khả năng của di và di’ kí hiệu là ÇPaAi cho kết quả là một biểu thức trị trên Ai được xác định theo bảng sau: M M’ M ÇPaAiM’ M ÇPaAiM’ Æ M’ M’ M ÇPaAiM’ M’ Æ Æ M M Æ M Hình 2.24. Kết quả biểu thức trị trên thuộc tính Ai. Qua kiểm tra thấy được rằng biểu thức trị (diÇPaAidi’) trên Ai được xác định theo bảng trên có ngữ nghĩa (theo aAi) chính là giao của hai ngữ nghĩa của hai biểu thức trị di và di’. Tính kết hợp của phép kết nối tự nhiên vẫn còn đúng trong trường hợp có kí hiệu null. 2.9. Nhận xét Các phép toán quan hệ đã được trình bày ở trên thực sự là mở rộng của các phép toán quan hệ trong CSDLQH truyền thống. Khi trở lại điều kiện đơn trị cho mỗi giá trị thuộc tính và lấy ngưỡng tương tự là 1.0, sẽ có lại mô hình cổ điển với đại số quan hệ truyền thống. Đặc biệt phép chọn và phép kết nối được chia thành hai mức chặt và không chặt cho phép khai thác sự mở rộng về mặt ngữ nghĩa của mỗi bộ trong mô hình mới. Trường hợp mọi giá trị thuộc tính được khẳng định chỉ có một khả năng (theo một ngưỡng đã xác định) thì hai mức chặt và không chặt sẽ trùng nhau. 3. Cập nhật dữ liệu 3.1. Các qui tắc cập nhật dữ liệu Đối với mỗi nhóm người dùng CSDL, mức độ và quan niệm mờ hoá khi xử lý thông tin trong quan hệ r của họ được thể hiện qua việc họ xác định (hay chấp nhận) một ngưỡng a trên r. Người sử dụng có thể khai thác thông tin có trong quan hệ r của lược đồ R(U) bằng việc sử dụng quan hệ Ma(r). Quan hệ Ma(r) có được từ quan hệ r có trong lưu trữ gốc, nhờ phép trộn các bộ thừa (theo ngưỡng a). Ma(r) tồn tại trong thời gian triển khai một ứng dụng cụ thể, thậm chí có trường hợp nó phải được lưu trữ vật lý trong một thời gian nhất định nào đó. Một phép cập nhật cho một quan hệ Ma(r) như vậy sẽ xảy ra ở một trong hai trường hợp sau: Một phép cập nhật cho một quan hệ có trong lưu trữ gốc có thể kích hoạt việc cập nhật cho Ma(r). Người dùng quan hệ Ma(r) yêu cầu cập nhật một số thông tin để khai thác phục vụ cho ứng dụng của mình mà những thông tin này không cần hoặc không được ghi vào lưu trữ gốc. Trong CSDLQH truyền thống, các phép cập nhật thường được đề cập đến là: thêm một bộ, xoá đi một bộ vốn có trong quan hệ, thay đổi giá trị của một bộ đã có trong quan hệ, phép thay đổi một bộ có thể biểu diễn qua phép xoá và thêm bộ. Khác với CSDLQH truyền thống, tuy vẫn được nhận diện qua khoá, song mỗi bộ trong quan hệ ở mô hình CSDLQH mở rộng đang xem xét thường chứa thông tin không chính xác và không chắc chắn. Do vậy giá trị của một bộ đang có mặt trong quan hệ có thể bị thay đổi trong hai tình huống sau: Thực hiện phép CHANGE(r, t[K], t*[K]). Ngữ nghĩa của phép cập nhật này là các giá trị của bộ t trên các thuộc tính không khoá t[U-K] được đổi thành t*[U-K]. Bộ t của quan hệ r được nhận diện bởi giá trị trên khoá t[K] (K là khoá của r). Việc thực hiện phép CHANGE(r, t[K], t*[U-K]) tương với việc thực hiện lần lượt hai phép cập nhật: phép xoá bộ t trong r, phép thêm bộ t’=(t[K], t*[U-K]) vào r. Phép CHANGE(r, t[K], t*[U-K]) được sử dụng khi người dùng coi thông tin trong bộ t’ là mới hơn, phản ánh đúng đắn hơn về chính đối tượng mà thông tin trong bộ t vốn đang thể hiện. Thực hiện phép UPDATE(r, t[K], t’[U-K]). Ngữ nghĩa của phép cập nhật này là: các giá trị của t trên các thuộc tính không khoá t[U-K] được đổi thành t*[U-K]. Các giá trị trên thuộc tính không khoá t*[U-K] được hình thành kho đối chiếu t[U-K] với t’[U-K], với mục đích chứa những thông tin nói chung là chính xác hơn, chắc chắn hơn so với những thông tin cung cấp bởi bộ t vốn có cũng như những thông tin cung cấp bởi bộ t’=(t[K], t’[U-K]) mới xuất hiện trong lệnh UPDATE. Phép UPDATE(r, t[K], t’[U-K]) được sử dụng khi người dùng coi thông tin về một đối tượng (được xác định nhờ khoá) trong hai bộ t và t’ là bình đẳng và chính xác về độ chắc chắn. Việc xoá đi một bộ vốn có trong quan hệ hay thêm một bộ mới vào quan hệ được tiến hành bình thường (như CSDLQH truyền thống). Bộ được xoá phải được chỉ định bởi các giá trị trên các thuộc tính khoá. Như vậy chỉ có quy tắc cho phép cập nhật UPDATE là đáng bàn, còn các phép cập nhật còn lại khá đơn giản. Giả sử trên một lược đồ R đã xác định một khoá K (gồm k thuộc tính khoá, không mất tính tổng quát giả sử đó là các thuộc tính A1, A2,…, Ak tương ứng với các miền D1, D2,…, Dk). Đó là tập các thuộc tính mà bất cứ hai bộ nào ”đủ tương tự” trên khoá cũng ”đủ tương tự” trên các thuộc tính còn lại. Qui tắc 2.1. (Cho thao tác thêm một bộ vào quan hệ) Cho INS là một câu lệnh thêm một bộ t=(d1, d2,…, dm) vào quan hệ r của lược đồ R theo ngưỡng tương tự a=(a1, a2,…, am). Hệ thống sẽ kiểm tra và thực hiện tương ứng như sau: 1) Nếu trong quan hệ r không có bộ t’ nào để t[K]»aKt’[K] thì thêm t vào r, 2) Không xảy ra 1) thì không làm gì cả. Qui tắc 2.2. (Cho thao tác xóa một bộ trong quan hệ) Cho DEL là một câu lệnh xoá khỏi quan hệ r bộ t với t[K]»a(d1, d2,…, dm) và ngưỡng tương tự a=(a1, a2,…, am). Hệ thống sẽ kiểm tra và thực hiện tương ứng như sau: 1) Nếu trong quan hệ r có bộ t để t[K]»a(d1, d2,…, dm) thì loại bỏ t khỏi quan hệ r, 2) Không xảy ra 1) thì không làm gì cả. Qui tắc 2.3. (Cho thao tác thay đổi giá trị một bộ trong quan hệ) Cho CHANGE là một câu lệnh thay đổi bộ t trong quan hệ r trên những thuộc tính không khoá, với t được xác định bởi t[K]»a(d1, d2,…, dk) theo ngưỡng tương tự a=(a1, a2,…, ak). Hệ thống sẽ kiểm tra và thực hiện tương ứng như sau: 1) Nếu trong quan hệ r có bộ t để t[K]»a(d1, d2,…, dk) thì lần lượt thực hiện hai phép cập nhật sau: DEL, INS. 2) Nếu không xảy ra trường hợp 1) thì không là gì cả. Như đã nói ở trên, phép UPDATE(r, t[K], t’[U-K]) cho quan hệ r nhờ một bộ t’=(t[K], t’[U-K]) được dùng khi trong quan hệ r đã có bộ t’ cũng cung cấp thông tin về một đối tượng O nào đó, giờ đây lại biết thêm bộ t’ cũng cung cấp thông tin về O và coi như t và t’ bình đẳng về độ chính xác cũng như độ chắc chắn. Vì t và t’ là hai bộ thể hiện thông tin về cùng một đối tượng nên yêu cầu của mô hình này là thông tin trên các thuộc tính khoá của hai bộ này phải tương đương: t[K]»aKt’[K]. Với ngữ nghĩa của một bộ trong mô hình CSDL đang được xem xét thì: trên mỗi thuộc tính A, bộ t khẳng định rằng thông tin về O chỉ có các khả năng đã trình nằm trong các khả năng đã trình ra trong t[A], không thể xảy ra khả năng nào nằm ngoài những khả năng t[A] đã đưa ra. Mỗi khả năng được t[A] thể hiện bởi một hay một số giá trị xấp xỉ với nhau hiểu theo nghĩa “đủ tương tự” và cũng có nghĩa là xấp xỉ về tương tự (ở một ngưỡng nào đó) với giá trị chính xác trên thực tế. Tương tự đối với t’. Với một cặp bộ (t, t’) như vậy có 2 khả năng xảy ra: Thông tin không mâu thuẫn: (t[A]ÇPat’[A]¹Æ), nghĩa là tồn tại khả năng được cả t và t’ cùng đưa ra. Nếu thông tin ở cả hai bộ đều đúng thì những khả năng có mặt ở cả t[A] và t’[A] sẽ chứa những khả năng đúng với thực tế, những khả năng chỉ có mặt ở một trong hai bộ đều không thể xảy ra trong thực tế. Thông tin mâu thuẫn: tập các khả năng do t[A] đưa ra và tập các khả năng do t’[A] đưa ra không chạm nhau, nghĩa là không có khả năng nào vừa có mặt ở t[A] vừa có mặt ở t’[A]. Điều này được thể hiện bởi mệnh đề (t[A]ÇPat’[A]¹Æ). Suy ra thông tin (trên thuộc tính A) được cung cấp bởi t và t’ là mâu thuẫn, so với thực tế thì ít nhất thông tin (trên A) của một trong hai bộ là sai. Không biết bộ nào trong hai bộ đó là sai, cũng không loại trừ khả năng cả hai bộ cùng sai. Khi kết hợp thông tin của hai bộ t và t’ về cùng một đối tượng, thì cũng có nghĩa là đã lưu được thông tin mới phong phú hơn (theo nghĩa chính xác hơn, chắc chắn hơn). Qui tắc 2.4. (Cho thao tác thay đổi giá trị một bộ trong quan hệ nhờ kết hợp với thông tin của một bộ mới) Cho UPDATE là một câu lệnh thay đổi giá trị bộ t trong quan hệ r nhờ bộ t’=( d1, d2,…, dm). Với t được xác định bới t[K]»a(d1, d2,…, dk) theo ngưỡng tương tự a=(a1, a2,…, ak). Hệ thống sẽ lần lượt kiểm tra và thực hiện tương ứng như sau: 1) Nếu trong quan hệ r có bộ t để t[K]»aK( a1, a2,…, ak) thì lần lượt làm những việc sau: "AÎU tính t[A]ÇPaAt’[A] Nếu "AÎU: t[A]ÇPaAt’[A]¹Æ thì lập bộ t*, với t*[A]=M(t[A]ÇPaAt’[A]) và thực hiện lần lượt hai phép cập nhật sau: DEL, INS. Nếu $AÎU: t[A]ÇPaAt’[A]=Æ thì thông báo có mâu thuẫn đối với bộ t và không làm gì nữa. 2) Nếu không xảy ra 1) thì không làm gì cả. Ví dụ2.9: Xét quan hệ r3 ở Hình 2.16 cùng với các quan hệ tương tự đã cho ở Hình 2.2 và 2.3. Cho khoá chỉ gồm một thuộc tính là Tên, ngưỡng tương tự là (1.0, 0.6, 0.8) r3 TÊN MÀU XE NGHỀ NGHIỆP t1 An xanh đậm, xanh nhạt, hồng nhà văn, giáo sư t2 Bình xanh đen, tím đỏ đạo diễn, giáo viên t3 Phúc trắng, hồng, kem nhà thơ t4 Lộc trắng, kem nhà văn t5 Thọ xanh đen, đỏ phi công, đạo diễn t6 Tài xanh đậm, tím đỏ phi công Hình 2.25. Giả sử thực hiện thao tác cập nhật sau: UPDATE Do t=({Phúc}, {hồng, kem}, {nhà thơ}) và t3 đủ tương tự trên khoá (theo ngưỡng 1.0) và hơn thế t»at3 nên kết quả nhận được r3 như bảng cho ở Hình 2.25 trên đây. Giả sử muốn cập nhật cho r3 ở hình 3.19 trên bởi: UPDATE Thông tin về người tên là An được cung cấp bởi bộ t1 (vốn có trong r3) và thông tin mới ({An}, {xanh đậm, xanh đen}, {đạo diễn, phi công}) không mâu thuẫn (trên mọi thuộc tính). Kết quả thu được r3 như bảng cho ở Hình 3.26 dưới đây. Giả sử muốn cập nhật cho quan hệ r3 ở Hình 2.26 bởi: UPDATE Hệ thống sẽ chỉ thông báo rằng: thông tin cần cập nhật mâu thuẫn với bộ t5. r3 TÊN MÀU XE NGHỀ NGHIỆP t1 An xanh đậm, xanh nhạt, xanh đen nhà văn, đạo diễn t2 Bình xanh đen, tím đỏ đạo diễn, giáo viên t3 Phúc trắng, hồng, kem nhà thơ t4 Lộc trắng, kem nhà văn t5 Thọ xanh đen, đỏ phi công, đạo diễn t6 Tài xanh đậm, tím đỏ phi công Hình 2.26. r3 TÊN MÀU XE NGHỀ NGHIỆP t1 An xanh đậm, xanh nhạt, xanh đen nhà văn, đạo diễn t2 Bình xanh đen, tím đỏ đạo diễn, giáo viên t3 Phúc trắng, hồng, kem nhà thơ t4 Lộc trắng, đen phi công, đạo diễn t5 Thọ xanh đen, đỏ phi công, đạo diễn t6 Tài xanh đậm, tím đỏ phi công Hình 2.27. Giả sử muốn cập nhật cho quan hệ r3 ở Hình 2.26 bởi: CHANGE Kết quả bộ t4 bị xoá khỏi r3 và xuất hiện một bộ mới trong r3 như ở Hình 2.27. Ví dụ 2.10: Trong ví dụ này chúng ta xét việc cập nhật trong trường hợp các quan hệ có chứa kí hiệu null. Cho quan hệ mờ r trong Hình 2.28 dưới đây. Giả sử thực hiện 3 thao tác: UPDATE UPDATE UPDATE Với giả thiết các quan hệ tương tự và ngưỡng tương tự a giống như ví dụ trên, thì kết quả thu được như trong Hình 2.29. r TÊN MÀU XE NGHỀ NGHIỆP t1 An xanh đậm D t2 Ái ^ phi công t3 Bình xanh đen, tím đỏ D, ^ t4 Lạc trắng, kem giáo viên Hình 2.28. r TÊN MÀU XE NGHỀ NGHIỆP t1 An xanh đậm, xanh đen phi công, nhà văn t2 Ái ^ phi công t3 Bình đỏ, tím đỏ nhà văn, ^ t4 Lạc trắng, kem giáo viên Hình 2.29. Kết quả thực hiện ba thao tác Update. Bây giờ ta thực hiện phép cập nhật sau: UPDATE Hệ thống sẽ báo: thông tin muốn cập nhật mâu thuẫn với bộ t4 đang có trong r2. 3.2. Nhận xét Trên đây đã trình bày các qui tắc cập nhật dữ liệu trong mô hình CSDLQH đang xem xét. Từ các qui tắc cập nhật nêu trên có thể rút ra những nhận xét sau: Sau mỗi khi cập nhật, những thông tin lưu trữ trong quan hệ là không mâu thuẫn. Sau khi cập nhật, những thông tin lưu trữ trong quan hệ là đủ (không thiếu và không thừa) theo cách hiểu như sau: không thừa thông tin theo nghĩa quan hệ không chứa hai bộ nào thừa đối với nhau (theo ngưỡng tương tự a đang xét đến). Không thiếu thông tin theo nghĩa các thông tin vốn có trước khi cập nhật và các thông tin muốn cập nhật đều có mặt trong quan hệ (kết quả), ngoại trừ những thông tin bị phát hiện là mâu thuẫn. Do cập nhật, có thể một số thông tin chưa đầy đủ chưa chắc chắn trở nên đầy đủ hơn, chắc chắn hơn. Thông tin mâu thuẫn có thể được phát hiện. 4. Ngôn ngữ hỏi SQL S/P Trong phần này sẽ trình bày ý tưởng mở rộng SQL, ngôn ngữ hỏi trong CSDLQH truyền thống, để có một ngôn ngữ hỏi (tạm gọi là SQL s/p) phù hợp với mô hình đang xét. 4.1. Biểu thức điều kiện sau WHERE Một lược đồ CSDL mờ có thể bao gồm những thuộc tính mà trên miền trị của chúng có xác định một quan hệ mờ tương tự, những thuộc tính như vậy được gọi là thuộc tính loại s/p. Những thuộc tính còn lại mà giống như trong lược đồ CSDLQH truyền thống dạng chuẩn 1 được gọi là thuộc tính rõ (cũng có thể coi quan hệ mờ tương tự xác định trên miền trị của chúng có ngưỡng ngầm định là 1.0). a) Biểu thức nguyên tố Có các dạng biểu thức nguyên tố được xác định như sau: 1)(R.Ai: d) 1’)NOT(R.Ai: d) 2)(R.Ai: S.A) 2’)NOT(R.Ai: S.Aj) 3)(R.Ai q a) 4)(R.Ai q S.Aj) Trong đó R và S là tên quan hệ; Ai, Aj là tên thuộc tính; d là một giá trị thuộc miền trị của thuộc tính loại s/p Ai (thuộc tính có ngưỡng tương tự nhỏ hơn 1); a là một giá trị thuộc miền trị rõ Ai; qÎ{, £, , ¹, =}. Cần chú ý rằng Ai và Aj xuất hiện ở dạng 1), 1’) và 2), 2’) đều là những thuộc tính loại s/p, còn Ai, Aj ở 3) và 4) đều là các thuộc tính rõ. b) Biểu thức nguyên tố được mờ hoá Những biểu thức nguyên tố liên quan đến những thuộc tính s/p có thể được mờ hoá bằng cách viết thêm chỉ số s hoặc chỉ số p. Nếu Q là biểu thức nguyên tố dạng 1), 1’), 2), 2’) thì những biểu thức sau gọi là những biểu thức nguyên tố được mờ hoá từ Q: 5)(Q)sai 6)(Q)p 7)(Q)saip c) Biểu thức điều kiện sau WHERE Định nghĩa . Một biểu thức nguyên tố (1-4) là một biểu thức điều kiện. . Một biểu thức nguyên tố được mờ hoá (5-7) là một biểu thức điều kiện. . Nếu P và Q là hai biểu thức điều kiện thì (P AND Q) và (P OR Q) là các biểu thức điều kiện. 4.2. Ngữ nghĩa và đánh giá câu hỏi SQL s/p a) SQL s/p . Dạng câu lệnh truy vấn thông tin SQL s/p: SELECT Ri1.A1,…, Rik.Ak FROM R1, R2,…, Rn WHERE Y; Ở đây R1, R2, Rn là danh sách tên các quan hệ mờ và Ri1.A1,…, Rik.Ak là danh sách các thành phần được lấy ra; R.A chỉ thuộc tính A của quan hệ R. Nếu trong danh sách sau từ khoá FROM chỉ có một quan hệ có thuộc tính A thì có thể viết A thay cho R.A trong danh sách sau SELECT. Y là biểu thức điều kiện như đã được định nghĩa ở trên. Ý nghĩa của câu lệnh này có thể được diễn tả trong đại số quan hệ: trong tích Đề-các các quan hệ trong mệnh đề FROM chọn những bộ thoả biểu thức điều kiện Y rồi chiếu trên các thuộc tính có mặt ở mệnh đề SELECT. Việc chọn những bộ thoả biểu thức điều kiện Y được xác định như sau: Chọn bộ để thoả biểu thức nguyên tố (1-4): Trong biểu thức nguyên._.

Các file đính kèm theo tài liệu này:

  • docDAN058.doc