Ôn CSDL

Chương 3&4:

1. Trình bày vai trò của mô hình dữ liệu bậc cao trong quá trình thiết kế CSDL

Bước đầu tiên trong quá trình thiết kế CSDL là tập hợp và phân tích yêu cầu. Kết quả của bước này là một tập các yêu cầu về dữ liệu và chức năng của ứng dụng (các phép toán của người sử dụng, sử dụng kỹ thuật đồ hình dòng dữ liệu để xác định).

Bước 2 là xây dựng lược đồ khái niệm cho CSDL bằng cách sử dụng mô hình dữ liệu khái niệm mức cao. Lược đồ này mô tả chính xác yêu cầu của người sử dụng, bao gồm mô tả chi tiết các kiểu dữ liệu, các mối quan hệ, các ràng buộc. Lược đồ này còn sử dụng như tài liệu tham chiếu để bảo đảm đã bao gồm tất cả yêu cầu của người sử dụng, và không có mâu thuẫn.

Bởi vì các khái niệm của mô hình dữ liệu không bao gồm các chi tiết cài đặt, nên dễ hiểu và thường được sử dụng để trao đổi với cán bộ không chuyên về kỹ thuật.

Sau khi đã thiết kế lược đồ khái niệm, sử dụng các phép toán của mô hình dữ liệu để đặc tả các giao dịch bậc cao của người sử dụng tương ứng với các phép toán của người sử dụng đã xác định ở bước đầu tiên. Điều này vừa để khẳng định lại các yêu cầu chức năng, vừa để sửa đổi lại mô hình khái niệm nếu cần thiết.

2. Liệt kê các trường hợp khác nhau mà việc sử dụng giá trị NULL là thích hợp

- Không có giá trị cho một thuộc tính của một thực thể nào đó. Ví dụ thuộc tính “Trình độ học vấn” chi có giá trị cho những người có bằng cấp, những người không có bằng cấp nào sẽ phải gán giá trị NULL cho thuộc tính đó.

- Giá trị của một thuộc tính của một thực thể là chưa biết. Trường hợp này lại được chia làm 2:

          + Giá trị đó là tồn tại nhưng chưa có. Ví dụ thuộc tính “Chiều cao” của người.

          + Giá trị đó không biết là tồn tại hay không. Ví dụ thuộc tính “Số telephone” của người

3. Định nghĩa các thuật ngữ sau: thực thể, kiểu thực thể, thuộc tính, giá trị thuộc tính, thuộc tính ghép, thuộc tính đa trị, thuộc tính dẫn xuất, thuộc tính khóa, tập giá trị (domain)

Thực thể: là cái gì đó tồn tại độc lập trong thế giới thực. Ví dụ 1 người, 1 otô, 1 công ty cụ thể.

Kiểu thực thể: định nghĩa tập các thực thể tương tự, có cùng tính chất

Mỗi tập thực thể có các tính chất, được gọi là các thuộc tính, mà có gắn cho mỗi thực thể của tập thực thể một giá trị từ một tập giá trị domain.

Các loại thuộc tính:

          + Thuộc tính đơn giản và thuộc tính ghép: thuộc tính đơn giản không phân chia nhỏ hơn được nữa, thuộc tính ghép là những thuộc tính có thể phân thành những thành phần nhỏ. Ví dụ thuộc tính ghép “Địa chỉ” của thực thể nhân viên có thể phân thành thuộc tính đơn giản “Địa chỉ phố”, “Quận”, “Thành phố”. Bản thân các phần nhỏ trong thuộc tính ghép cũng có thể phân nhỏ hơn nữa.

                   + Thuộc tính đơn trị và thuộc tính đa trị: thuộc tính đơn trị có 1 giá trị cho một thực thể, thuộc tính đa trị có một số giá trị khác nhau cho các thực thể khác nhau

                   + Thuộc tính dẫn xuất và thuộc tính lưu trữ: giá trị của thuộc tính dẫn xuất có thể tính được từ giá trị của các thuộc tính lưu trữ. Thuụoc tính lưu trũ có thể là thuộc tính của cùng thực thể , cũng có thể từ trực thể khác với thuộc tính dẫn xuất

Các thuộc tính khoá: mỗi kiểu thực thể có một hoặc một vài thuộc tính có giá trị phân biệt đối với mỗi thực thể. Chúng được gọi là các thuộc tính khoá và giá trị của chúng được sử dụng để xác định mỗi thực thể một cách duy nhất.

4. Giải thích sự khác nhau giữa kiểu thực thể và 1 thể hiện của kiểu thực thể

Kiểu thực thể là khái niệm ở mức lược đồ. Trong khi ở mức thể hiện, thể hiện của tập thực thể là 1 tập cụ thể các thực thể.

5. Giải thích sự khác nhau giữa thuộc tính và tập giá trị domain

Thuộc tính gắn với kiểu thực thể. Giá trị thuộc tính gắn với thực thể.

6. Kiểu mối quan hệ (gội tắt là mối quan hệ) là gì? Giải thích sự khác nhau giữa một thể hiện của  mối quan hệ và mối quan hệ

Mối quan hệ R trên n kiểu thực thể E1, E2,   , En là một danh sách thứ tự (E1, E2,…, En) các kiểu thực thể này.

Mối quan hệ là khái niệm ở mức lược đồ. Trong khi ở mức thể hiện, thể hiện của R là một tập các n-bộ (e1, e2,…, en) trong đó e1 thuộc E1,… en thuộc En.

7. Vai trò tham gia là gì? Khi nào cần phải dùng các tên vai trò khi mô tả các mối quan hệ?

Mối kiểu thực thể tham gia trong một mối quan hệ đóng 1 vai trò nhất định trong mối quan hệ đó. Tên vai trò thể hiện vai trò của tập thực thể tham gia trong mối quan hệ. Tên vai trò không cần thiết khi tất cả các tập thực thể tham gia là khác nhau, vì tên của kiểu thực có thể dùng là tên vai trò. Trong trường hợp đệ quy, ở đó 1 kiểu thực thể xuất hiện hơn 1 lần trong mối quan hệ và đóng vai trò khác nhau, trong trường hợp đó, tên vai trò là cần thiết để phân biệt ý nghĩa của sự tham gia của các kiểu thực thể.

8. Mô tả 2 cách đặc tả các ràng buộc cấu trúc trên các mối quan hệ. Cách nào có ưu điểm hơn?

Tập các mối quan hệ thường có các ràng buộc giới hạn các tổ hợp có thể của các thực thể tham gia trong các thể hiện của mối quan hệ. Có 2 ràng buộc chính (được gọi chung là ràng buộc cấu trúc):

- Ràng buộc tỷ số lực lượng (cardinality ratio): quy định số thể hiện của mối quan hệ mà một thực thể có thể tham gia. Ví dụ mối quan hệ LÀM_CHO giữa 2 tập thực thể NHÂN-VIÊN và PHÒNG có ràng buộc N:1, nghĩa là mỗi phòng liên quan tới nhiều nhân viên, nhưng 1 nhân viên chỉ liên quan tới 1 phòng. Các ràng buộc khác thuộc loại này là 1:1, 1:N, M:N.

- Ràng buộc tham gia: nếu người ta quy định, tất cả các nhân viên phải làm cho 1 phòng nào đấy, thì sự tham gia của NHÂN-VIÊN trong LÀM-CHO là total. Ngược lại, nếu người ta không quy định mọi nhân viên phải làm cho 1 phòng nào đấy, thì thì sự tham gia của NHÂN-VIÊN trong LÀM-CHO là partial.

Việc lựa chọn loại ràng buộc nào là phụ thuộc thực tế.

9. Với những điều kiện nào một thuộc tính của mối quan hệ nhị phân có thể trở thành một thuộc tính của một trong các kiểu thực thể tham gia?

Các thuộc tính của tập mối quan hệ nhị phân có ràng buộc 1:1 có thể chuyển cho một trong các kiẻu thực thể tham gia.

 Đối với trường hợp 1:N, thuộc tính của mối quan hệ chỉ có thể chuyển cho tập thực thể phía N. Ví dụ thuộc tính NGÀY-BẮT-ĐẦU của mối quan hệ LÀM-CHO trong câu 8 với ý nghĩa ngày đầu tiên nhân viên đi làm cho phòng, có thể chuyển cho kiẻu thực thể NHÂN-VIÊN, nhưng không thể chuyển cho PHÒNG.

Đối với trường hợp M:N, một số thuộc tính của mối quan hệ được quyết định bởi tổ hợp cả 2 thực thể tham gia trong 1 thể hiện của mối quan hệ. Thuộc tính đó phải là thuộc tính của mối quan hệ. Ví dụ thuộc tính SỐ-GIỜ-LÀM của mối quan hệ LÀM-CHO trong câu 8 với ý nghĩa số giờ trong 1 tháng nhân viên đi làm cho phòng, chỉ có thể là thuộc tính của mối quan hệ.

10. Khi nào chúng ta xem các mối quan hệ như là thuộc tính, các tập giá trị của các thuộc tính này là cái gì?

Đôi khi chúng ta có thể xem quan hệ như là thuộc tính.

Xét ví dụ của câu 8, mối quan hệ LÀM-CHO có thể xem là thuộc tính PHÒNG của kiểu thực thể NHÂN-VIÊN, giá trị của thuộc tính PHÒNG của một thực thể nhân viên chính là phòng mà nhân viên đó làm cho. Domain của thuộc tính PHÒNG là tập tất cả các thực thể PHÒNG

Một cách ngược lại, mối quan hệ LÀM-CHO có thể xem là thuộc tính đa trị NHÂN-VIÊN của kiểu thực thể PHÒNG, giá trị của thuộc tính NHÂN-VIÊN của một thực thể phòng chính là các nhân viên làm cho phòng đó. Domain của thuộc tính NHÂN-VIÊN là tập tất cả các thực thể NHÂN-VIÊN

11. Mối quan hệ đệ quy có nghĩa là gì? Hãy cho vài ví dụ về mối quan hệ đệ quy.

Mối quan hệ R trên n kiểu thực thể E1, E2,   , En là một danh sách thứ tự (E1, E2,…, En) các kiểu thực thể này. Mối quan hệ này được gọi là đệ quy nếu có 1 kiểu thực thể xuất hiện hơn 1 lần trong mối quan hệ đó.

Ví dụ mối quan hệ QUẢN-LÝ trên (NHÂN-VIÊN, NHÂN-VIÊN) với ý nghĩa mỗi thể hiện (nhân-viên-1, nhân-viên-2) của QUẢN-LÝ, nhân-viên-1 là sếp của nhân-viên-2.

12. Khi nào khái niệm kiểu thực thể yếu có ích trong quá trình mô hình hóa dữ liệu? Định nghĩa các thuật ngữ kiểu thực thể sở hữu (owner), kiểu thực thể yếu, mối quan hệ xác định (identifying relationship set), và khóa bộ phận

Có các kiểu thực thể không thể có thuộc tính khóa của riêng, gọi là kiểu thực thể yếu.

Các thực thể của kiểu thực thể yếu được xác định bằng cách liên kết với các thực thể nhất định của kiểu thực thể khác và một số giá trị thuộc tính của riêng chúng. Kiểu thực thể khác này được gọi là kiểu thực thể sở hữu xác định, kiểu mối quan hệ liên kết kiểu thực thể yếu với kiểu thực thể sở hữu xác định được gọi là quan hệ xác định.

Khóa bộ phận của một kiểu thực thể yếu là một tập các thuộc tính xác định được duy nhất các thực thể liên quan đến cùng 1 thực thể sở hữu.

Kiểu thực thể yếu cũng có thể xem là thuộc tính đa trị và ghép của kiểu thực thể sở hữu xác định. Tuy nhiên không nên làm như vậy khi kiểu thực thể yếu có nhiều thuộc tính và nó có tính độc lập với kiểu thực thể sở hữu.

13. Một mối quan hệ xác định của một kiểu thực thể yếu có thể có bậc lớn hơn 2 không? Cho ví vụ.

Được. Hoàn toàn có thể có kiểu thực thể yếu với tập mối quan hệ xác định bậc 3 hoặc cao hơn. Trong trường hợp này, kiểu thực thể yếu có thể có vài kiểu thực thể sở hữu xác định. Vi dụ kiểu quan hệ xác định bậc 3 PNC giữa kiểu thực thể yếu PHỎNG-VẤN và 2 kiểu thực thể sở hữu NGƯÒI-XIN-VIỆC và CÔNG-TY. (page 63)

          Chương 5:

1. Định nghĩa superclass, subclass, mối quan hệ superclass/subclass, mối quan hệ IS-A, đặc biệt hóa, tổng quát hóa.

Trong thực tế, một kiểu thực thể nhiều khi phải phân thành các kiểu con, ví dụ kiểu thực thể NHÂN-VIÊN phải phân hoạch thành các kiểu THƯ-KÝ, KỸ-SƯ, QUẢN-LÝ… Các kiểu con trên gọi là các subclass của kiểu NHÂN-VIÊN, kiểu NHÂN-VIÊN gọi là superclass của các subclass này

Chúng ta gọi mối quan hệ giữa một superclass với mỗi subclass của nó là mối quan hệ superclass/subclass, hay còn gọi đó là mối quan hệ IS-A (là một)

Đặc biệt hóa là quá trình định nghĩa một tập các subclass của một kiểu thực thể cho trước, kiểu thực thể này gọi là superclass của đặc biệt hóa. Tập các subclass của đặc biệt hóa được xác định trên cơ sở các đặc trưng phân biệt của các thực thể trong superclass

Tổng quát hóa là quá trình ngược với đặc biệt hóa. Từ một tập các kiểu thực thể cho trước, chúng ta loại bỏ các đặc điểm khác biệt và chỉ giữ lại các đặc điểm chung để tổng quát thành một superclass của các kiểu thực thể ban đầu (các subclass)

2. Trình bày cơ chế kế thừa thuộc tính, ích lợi

Một thực thể của một subclass có các giá trị cho các thuộc tính của riêng nó và cũng có các giá trị cho các thuộc tính của nó như là một thành viên của superclass. Chúng ta nói một thực thể thành viên của một subclass kế thừa tất cả các thuộc tính của nó như là thành viên của superclass. Thực thể đó cũng kế thừa tất cả các mối quan hệ mà nó tham gia với tư cách là thành viên của superclass.

Có 2 lợi ích chính khi đưa ra khái mối quan hệ superclass/subclass. Thứ nhất, một vài thuộc tính chỉ có thể áp dụng cho một số thực thể mà không áp dụng được cho tất cả superclass, và trong khi vẫn có tất cả các thuộc tính của superclass. Thứ hai, chỉ một vài thực thể của superclass tham gia vào một mối quan hệ nhất định.

3. Trình bày lớp con được xác định bởi người sử dụng và bởi mệnh đề, chỉ ra sự khác biệt giữa chúng

Trong một vài đặc biệt hóa, chúng ta có thể chỉ định chính xác các thực thể sẽ thuộc mỗi subclass bằng cách đặt 1 điều kiện lên giá trị của thuộc tính nào đó của superclass. Các subclass như vậy được gọi là các subclass được xác định bởi mệnh đề

Khi chúng ta không có một điều kiện như vậy để chỉ định tính thành viên, subclass đó được gọi là subclass xác định bởi người sử dụng. Một thực thể được đặt vào subclass nào là bởi người sử dụng khi họ thêm nó vào subclass

Trong trường hợp subclass được xác định bởi người sử dụng, việc 1 thực thể được xếp vào nó được xác định cho từng thực thể bởi người sử dụng; trong khi với subclass được xác định bởi mệnh đề, việc đó được thực hiện tự động trên cơ sở đánh giá mệnh đề.

4. Trình bày 2 loại ràng buộc chính của tổng quát hóa và đặc biệt hóa

Loại ràng buộc thứ nhất là disjointness/overlap. Một đặc biệt hóa có ràng buộc là disjointness nếu tất các các subclass của nó là rời nhau, có nghĩa là một thực thể có thể là thành viên của nhiều nhất một subclass. Ngược lại với disjointness là ràng buộc overlap, nghĩa là một thực thể có thể là thành viên của nhiều hơn 1 subclass của đặc biệt hóa.

Ràng buộc thứ hai là ràng buộc về tính đầy đủ. Đặc biệt hóa có ràng buộc total nếu mọi thực thể của superclass phải là thành viên của một subclass nào đó trong đặc biệt hóa. Ngược lại là ràng buộc partial, nghĩa là không bắt buộc mọi thực thể của superclass phải là thành viên của một subclass nào đó.

5. Phân cấp lớp con và dàn các lớp con là gì?

Một subclass bản thân nó lại có các subclass khác sẽ hình thành phân cấp hoặc dàn các đặc biệt hóa. Phân cấp các đặc biệt hóa đòi hỏi mọi subclass tham gia 1 mối quan hệ superclass/subclass. Đối với dàn các đặc biệt hóa, một subclass có thể tham gia nhiều hơn 1 mối quan hệ superclass/subclass.

  6. Đặc biệt hóa và tổng quát hóa khác nhau như thế nào? Tại sao không thể hiện sự khác nhau đó trên đồ hình lược đồ

Đặc biệt hóa là quá trình bắt đầu từ một tập thực thể, sau đó xác định các subclass của nó. Quá trình đặc biệt hóa diễn ra liên tiếp hình thành phân cấp hoặc dàn các đặc biệt hóa, quá trình này gọi là quá trình mịn dần khái niệm top-down trong quá trình thiết kế lược đồ khái niệm

Quá trình tổng quát hóa diễn ra theo chiều ngược lại và được gọi là tổng hợp khái niệm bottom-up.

Mặc dầu quá trình thiết kế lược đồ diễn ra top-down hay bottom-up, nhưng đồ hình cuối cùng vẫn có thể như nhau.

7. Mô hình EER giải quyết vấn đề tích hợp như thế nào

Xét ví dụ lược đồ ER lưu thông tin về các cuộc phỏng vấn xin việc của các công ty, trong đó 1 số cuộc phỏng vấn thành công, 1 số thất bại. Trong EER, người ta sử dụng 2 kiểu thực thể COMPANY, JOB_APPLICANT và thêm kiểu thực thể yếu INTERVIEW. Ba kiểu thực thể này liên quan trong mối quan hệ xác định CJI; kiểu thực thể yếu INTERVIEW và kiểu thực thể JOB_OFFER quanhệ trong RESULS_IN (hình 21.e page 637)

Về mặt khái niệm, đồ hình khái niệm này là đúng theo quy định EER, nhưng không tự nhiên. Một số mô hình khái niệm cho phép:

a. Tham gia trong mối quan hệ không phải chỉ có các kiểu thực thể mà còn cả mối quan hệ. INTERVIEW là mối quan hệ giữa kiểu thực thể COMPANY và JOB_APPLICANT, RESULTS_IN là mối quan hệ giữa INTERVIEW và JOB_OFFER

b. Tích hợp: 2 kiểu thực thể COMPANY, JOB_APPLICANT và mối quan hệ INTERVIEW giữa chúng cùng nhau tíc hợp thành 1 kiểu thực thể. Kiểu thực thể đó và kiểu thực thể JOB_OFFER có mối quan hệ RESULTS_IN.

Chương 6:

1. Định nghĩa các khái niệm sau: miền giá trị (domain), thuộc tính, n-bộ (n-tuple), lược đồ quan hệ, thể hiện quan hệ, bậc của quan hệ, lược đồ CSDL, thể hiện CSDL quan hệ

2. Tại sao các bộ trong quan hệ không được sắp xếp

3. Tại sao không cho phép các bộ trùng nhau trong một quan hệ

4. Khoá và siêu khoá khác nhau như thế nào

5. Trình bày các nguyên nhân dẫn đến sự xuất hiện cấc giá trị null trong quan hệ

6. Trình bày các ràng buộc toàn vẹn thực thể, ràng buộc toàn vẹn tham chiếu, khoá ngoài. Tại sao chúng quan trọng

7. Trình bày sự tương ứng giữấ các cấu trúc của mô hình ER và các cấu trúc của mô hình quan hệ. Mỗi cấu trúc của mô hình ER được ánh xạ bhư thế nào vào mô hình quan hệ

Bài làm

I. Ôn tập

1. Định nghĩa các khái niệm sau: miền giá trị (domain), thuộc tính, n-bộ (n-tuple), lược đồ quan hệ, thể hiện quan hệ, bậc của quan hệ, lược đồ CSDL, thể hiện CSDL quan hệ

Miền giá trị là tập các giá trị atomic, giá trị atomic là giá trị không thể phân chia được.

Một lược đồ quan hệ R, ký hiệu R(A1, A2,…, An), gồm tên quan hệ R và danh sách các thuộc tính A1, A2,…, An. Mỗi thuộc tính Ai là tên của vai trò của miền giá trị D nào đó tham gia trong R. D được gọi là miền giá trị của Ai và ký hiệu dom(Ai). Lược đồ quan hệ được sử dụng để mô tả một quan hệ. Có thể có một vài thuộc tính có cùng miền giá trị.

Bậc của một quan hệ là số thuộc tính n của lược đồ quan hệ của nó. 

Một thể hiện quan hệ (hay đơn giản gọi là quan hệ) của lược đồ quan hệ R(A1, A2,…, An), ký hiệu r(R), là tập các n-bộ {t1, t2,…, tm}. Mỗi n-bộ t là danh sách thứ tự n giá trị t=<v1, v2,…, vn>, ở đây vi hoặc là phần tử của dom(Ai), hoặc là giá trị null đặc biệt.

Một lược đồ CSDL S là một tập các lược đồ quan hệ S={R1, R2,…, Rm} và một tập các ràng buộc toàn vẹn IC.

Một thể hiện CSDL DB của S là tập các thể hiện quan hệ DB={r1, r2,…, rm} sao cho ri là thể hiện quan hệ của Ri và các quan hệ ri thoả mãn các ràng buộc trong IC.

Một CSDL quan hệ bao gồm cả lược đồ CSDL và thể hiện của nó

2. Tại sao các bộ trong quan hệ không được sắp xếp

Quan hệ được định nghĩa là tập các bộ. Về mặt toán học, các phần tử trong tập hợp không có thứ tự, do đó các bộ trong quan hệ cũng không có thứ tự

3. Tại sao không cho phép các bộ trùng nhau trong một quan hệ

Giải thích tương tự câu 2, về mặt toán học, không có các phần tử trùng nhau trong tập hợp

4. Khoá và siêu khoá khác nhau như thế nào

Siêu khoá SP của lược đồ quan hệ R là tập con các thuộc tính của nó có tính chất với 2 bộ t1, t2 khác nhau bất kỳ trong bất kỳ thể hiện quan hệ của R thì t1[SP] khác t2[SP]. Do mọi quan hệ đều không có bộ trùng, nên mọi lược đồ quan hệ đều có ít nhất một siêu khoá.

Khoá K của lược đồ quan hệ R là một siêu khoá có tính chất bỏ đi bất kỳ thuộc tính nào của nó thì nó không còn là siêu khoá nữa

Một lược đồ quan hệ R có thể có nhiều khoá, được gọi là các khoá ứng cử. Người ta chọn 1 trong các khoá ứng cử là khoá chính (thường là khoá có ít nhất số thuộc tính)

5. Trình bày các nguyên nhân dẫn đến sự xuất hiện cấc giá trị null trong quan hệ

Việc xuất hiện giá trị null cho 1 thuộc tính nào đó của bộ nào đó do 2 trường hợp:

- Thuộc tính không áp dụng được cho bộ này. Ví dụ các bộ sinh viên  của lược đồ quan hệ sinh viên, thuộc tính Office phone có giá trị null vì họ không có văn phòng

- Thuộc tính có giá trị chưa biết. Ví dụ các bộ sinh viên của lược đồ quan hệ sinh viên, thuộc tính Home phone có giá trị null vì họ có thể không có, hoặc có thể có nhưng chúng ta chưa biết.

6. Trình bày các ràng buộc toàn vẹn thực thể, ràng buộc toàn vẹn tham chiếu, khoá ngoài. Tại sao chúng quan trọng

Ràng buộc toàn vẹn thực thể đòi hỏi giá trị của khoá chính không thể là null. Giá trị của khoá chính dùng để chỉ định các bộ cụ thể, nếu các giá trị null cho khoá chính thì chúng ta không thể chỉ định được các bộ đó

Ràng buộc toàn vẹn tham chiếu giữa 2 lược đồ quan hệ R1 và R2 đòi hỏi một bộ trong một quan hệ r(R1) tham chiếu tới quan hệ r(R2) phải tham chiếu tới một bộ đang tồn tại trong quan hệ r(R2). Ràng buộc này được sử dụng để duy trì tính tương thích giữa các bộ trong 2 quan hệ.

Khoá ngoài được sử dụng để định nghĩa toàn vẹn tham chiếu giữa 2 lược đồ quan hệ R1 và R2. Một tập các thuộc tính FK của R1 là khoá ngoài nếu thoả 2 quy tắc:

- Các thuộc tính trong FK có cùng miền giá trị như các thuộc tính trong khoá chính PK của R2. FK được gọi là tham chiếu tới R2

- Với mỗi bộ t1 của r(R1), hoặc FK có giá trị thì phải có t2 của r(R2) sao cho t1[FK]=t2[PK] (t1 tham chiếu tới t2), hoặc FK có giá trị null.

7. Trình bày sự tương ứng giữấ các cấu trúc của mô hình ER và các cấu trúc của mô hình quan hệ. Mỗi cấu trúc của mô hình ER được ánh xạ như thế nào vào mô hình quan hệ

Các bước ánh xạ ER-Quan hệ:

Bước 1: đối với mỗi kiểu thực thể thông thường E trong lược đồ ER, tạo ra 1 lược đồ quan hệ R bao gồm tất cả các thuộc tính đơn giản của E, chỉ gồm các thuộc tính đơn giản của thuộc tính ghép. Chọn 1 thuộc tính khoá của E làm khoá chính của R, nếu khoá của E là thuộc tính ghép thì các thuộc tính đơn giản của nó là khoá chính của R.

Bước 2. đối với kiểu thực thể yếu W trong ER, tạo ra quan hệ R gồm tất cả các thuộc tính đơn giản của W. Thêm khoá ngoài cho R tham chiếu tới khoá chính của quan hệ tương ứng với kiểu thực thể chủ. Khoá chính của R là khoá ngoài và khoá bộ phận của W (nếu có)

Bước 3. đối với kiểu quan hệ 1:1 R, nếu S và T là 2 quan hệ tương ứng với 2 kiểu thực thể tham gia R, và thêm vào 1 trong 2, chẳng hạn S, khoá ngoài tham chiếu tới khoá chính của T. Tốt nhất hãy chọn làm S  nếu kiểu thực thể tuơng ứng của S tham gia total trong R. Thêm vào S tất cả các thuộc tính đơn giản của R.

Bước 4. đối với kiểu quan hệ nhị phân không yếu 1:N R. Chọn S là quan hệ tương ứng vởi kiểu thực thể tham gia phía N, thêm vào S khoá ngoài tham chiếu tới khoá chính quan hệ T tương ứng với kiểu thực thể phía 1. Thêm vào S tất cả các thuộc tính đơn giản của R.

  Bước 5. đối với kiểu quan hệ nhị phân M:N R, tạo ra quan hệ S với các khoá ngoài tham chiếu tới các khoá chính của các quan hệ tương ứng với các kiểu thực thể tham gia R, tổ hợp 2 khoá ngoài là khoá chính của S. Thêm vào S tất cả các thuộc tính đơn giản của R.

Bước 6. đối với thuộc tính đa trị A, tạo ra quan hệ R có 1 thuộc tính tương ứng A cộng với 1 khoá ngoài K tham chiếu tới khoá chính của quan hệ tương ứng với kiểu thực thể hoặc kiểu quan hệ có A làm thuộc tính. K cũng là khoá chính của R. Nếu A vừa là đa trị vừa là ghép, S chỉ bao gồm các thuộc tính đơn giản.

Chương 9:

1. Trình bày ngữ nghĩa thuộc tính như là một cách thức phi hình thức đánh giá chắt lượng của một lược đồ quan hệ

2. Trình bày những bất thường bổ sung, loại bỏ, sửa đổi. Tại sao chúng được xem là không tốt

3. Tại sao nhiều giá trị NULL trong quan hệ được xem là không tốt

4. Trình bày vấn đề về các bộ lạ và ngăn chặn nó như thế nào

5. Phụ thuộc hàm là gì? Ai là người đặc tả các phụ thuộc hàm trên các thuộc tính của một lược đồ quan hệ

6. Cho F là tập các phụ thuộc hàm trên lược đồ quan hệ R, X và Y là các tập con của R. Định nghĩa F suy dẫn ra phụ thuộc hàm X → Y (ký hiệu F╞  X → Y) và định nghĩa bao đóng của F (F+). Phát biểu tiên đề Amstrong, giải thích tính đúng và đầy đủ của tiên đề

7. Định nghĩa bao đóng của tập thuộc tính và trình bày thuất toán tính bao đóng.

8. Định nghĩa 2 tập phụ thuộc hàm tương đương, kiểm tra sự tương đương như thế nào

9. Tập tối thiểu các phụ thuộc hàm là gì. Phủ tối thiểu là gì. Mọi tập các phụ thuộc hàm có phủ tối thiểu hay không

Bài làm

1. Trình bày ngữ nghĩa thuộc tính như là một cách thức phi hình thức đánh giá chất lượng của một lược đồ quan hệ

Trong mô hình quan hệ, mỗi quan hệ là một tập các sự kiện thỏa mãn mệnh đề lược đồ quan hệ tương ứng. Nói cách khác, giá trị của các thuộc tính trong các bộ của quan hệ kết hợp với nhau quyết định ngữ nghĩa của lược đồ quan hệ. Như vậy, hãy thiết kế lược đồ quan hệ sao cho dễ dàng giải thích ý nghĩa của nó. Không được tổ hợp các thuộc tính từ nhiều kiểu thực thể và mối quan hệ vào một quan hệ.

 2. Trình bày những bất thường bổ sung, loại bỏ, sửa đổi. Tại sao chúng được xem là không tốt

Sự dư thừa dữ liệu gây ra các bất thường. Vi dụ lược đồ NhânViên_Phòng (NVTên, NVCMND, NVNgàysinh, Psốphòng, PTên, CMNDTrưởngphòng) sẽ tạo ra nhiêu dư thừa vì 1 phòng có nhiều nhân viên.

-         Bất thường bổ sung có 2 loại:

o   Bổ sung nhân viên mới chưa làm cho phòng nào. Điều này bắt buộc phải ghi NULL cho các thuộc tính liên quan phòng

o   Không thể bổ sung 1 phòng mới chưa có nhân viên.

-         Bất thường loại bỏ: nếu chúng ta loại bỏ nhân viên là người cuối cùng của phòng, thông tin về phòng đó mất luôn

-         Bất thường sửa đổi: nếu chúng ta sửa đổi giá trị của thuộc tính liên quan đến phòng thì phải sửa đổi trên tất cả các bộ liên quan đến phòng đó

3. Tại sao nhiều giá trị NULL trong quan hệ được xem là không tốt

- Nhiều giá trị null gây tốn phí bộ nhớ

- Các phép toán JOIN, COUNT và SUM không áp dụng được đối với giá trị null

- Giá trị null đa nghĩa nên gây khó hiểu. Cụ thể, giá trị null xuất hiện cho 1 thuộc tính của 1 bộ trong các trường hợp sau:

          + Thuộc tính không áp dụng được cho bộ này

          + Giá trị cho thuộc tính của bộ này chưa biết

          + Giá trị cho thuộc tính của bộ này đã biết nhưng chưa ghi

4. Trình bày vấn đề về các bộ lạ và ngăn chặn nó như thế nào

Giả sử chúng ta có quan hệ SP nói rằng nahf cung cấp S# cung cấp sản phẩm P# với số lượng qty

s#

p#

Qty

S1

P1

10

S2

P2

50

S3

P3

10

Nếu chúng ta phân rã SP thành S1 (nhà cung cấp S# cung cấp số lượng qty) và S2 (sản phẩm p# được cung cấp với số lượng qty) thì S1 và S2 thu được bởi phép chiếu trên SP

S1

s#

qty

S1

10

S2

50

S3

10

S2

p#

qty

P1

10

P2

50

P3

10

Để thu được thông tin SP ban đầu, chúng ta phải nối tự nhiên S1 và S2 (S1><S2). Tuy nhiên khi kết nối lại sinh thêm 2 bộ lạ. Việc phân rã của chúng ta đã làm mất mát thông tin.

s#

P#

Qty

S1

P1

10

S1

P3

10

S2

P2

10

S3

P1

10

S3

P3

10

Để ngăn ngừa các bộ lạ, việc phân rã 1 quan hệ phải tuân thủ nguyên tắc nối không mất mát thông tin.

5. Phụ thuộc hàm là gì? Ai là người đặc tả các phụ thuộc hàm trên các thuộc tính của một lược đồ quan hệ

Cho lược đồ quan hệ R={A1, A2,…,An}, X và Y là các tập con của R. Phụ thuộc hàm X → Y là một ràng buộc trên các bộ của mọi quan hệ r của lược đồ R. Cụ thể: với mọi bộ t1, t2 của r sao cho t1[X]=t2[X] thì t1[Y]=t2[Y].

Phụ thuộc hàm là đặc tính ngữ nghĩa của các thuộc tính và lược đồ quan hệ. Nò không thể suy luân tự động từ các r(R), nó được xác định bởi những người biết được ngữ nghĩa các thuộc tính của R.

6. Cho F là tập các phụ thuộc hàm trên lược đồ quan hệ R, X và Y là các tập con của R. Định nghĩa F suy dẫn ra phụ thuộc hàm X → Y (ký hiệu F╞  X → Y) và định nghĩa bao đóng của F (F+). Phát biểu tiên đề Amstrong, giải thích tính đúng và đầy đủ của tiên đề

Định nghĩa F suy dẫn X → Y: với mọi r(R) thoả F thì r(R) cũng thoả X → Y. Bao đóng của F (F+) là tập tất cả các phụ thuộc hàm có thể được suy dẫn từ F

Tính đúng của hệ tiên đề Amstrong là: với mọi phụ thuộc hàm X → Y mà suy dẫn được từ F bằng cách sử dụng các tiên đề Amstrong, thì F cũng suy dẫn được X → Y theo định nghĩa (F╞  X → Y)

Tính đủ của hệ tiên đề Amstrong là:Mọi phụ thuộc hàm X → Y suy dẫn được từ F theo định nghĩa (F╞  X→ Y), thì cũng suy dẫn được bằng cách sử dụng tiên đề Amstrong

7. Định nghĩa bao đóng của tập thuộc tính và trình bày thuất toán tính bao đóng.

Cho F là tập các phụ thuộc hàm trên lược đồ quan hệ R, XÍR, định nghĩa bao đóng X+ đối với F: X+={AÎR| F╞  X→ A}

Thuật toán Closure {trả về  X+ đối với F}

Đầu vào:  tập các thuộc tính X, và một tập các phụ thuộc hàm F

Đầu ra: X+ đối với  F

Closure (X, F)

{

      X+¬ X;

      repeat

            oldX+¬ X+;

            for mỗi phụ thuộc hàm W® Z trong F do

                  if W Í X+ then X+¬ X+È Z;

      until (oldX+ = X+);

}

8. Định nghĩa 2 tập phụ thuộc hàm tương đương, kiểm tra sự tương đương như thế nào

Cho F và G là 2 tập các phụ thuộc hàm trên lược đồ quan hệ R, định nghĩa F và G tương đương (FºG) nếu F+=G+.

Để kiểm tra FºG có tương đương hay không, phải kiểm tra F+ÍG+ hay không và ngược lại. Để kiểm tra F+ÍG+ chỉ cần kiểm tra FÍG+. Thật vậy, giả sử FÍG+ và X→YÎF+. Vì X→YÎF+ nên có 1 dãy suy dẫn Amstrong 1 bước X1→Y1ÎF+,,…,Xk→YkÎF+ , X→YÎF+ sao cho X1→Y1ÎF. Vì FÍG+ nên dãy trên dãy trên cũng là suy dẫn trong G+, vậy X→YÎG+. Để kiểm tra FÍG+ hay không, với mỗi X→YÎF, ta tính X+ đối với G, nếu YÍX+ thì X→YÎG+

9. Tập tối thiểu các phụ thuộc hàm là gì. Phủ tối thiểu là gì. Mọi tập các phụ thuộc hàm có phủ tối thiểu hay không

Một tập các phụ thuộc hàm F là tối thiểu nếu:

- Vế phải của mọi phụ thuộc hàm trong F chỉ có 1 thuộc tính

- Mọi tập con thực sự của F không tương đương với F

- Với mọi X→AÎF, nếu Y là tập con thực sự của X thì F không tương đương với F-{X→A}È{Y→A}

Phủ tối thiểu của F là tập các phụ thuộc hàm Fmin sao cho Fmin là tập tối thiểu các phụ thuộc hàm và FminºF.

Mọi tập F các phụ thuộc hàm đều có phủ tối thiểu và có thể có nhiều phủ tối thiểu

Chương 10,11,12:

Câu Hỏi

1. Định nghĩa dạng chuẩn 1, 2, 3 khi chỉ xem xét khoá gốc. Định nghĩa dạng chuẩn 2 và 3 tổng quát (khi xem xét tất cả các khoá). Mối quan hệ giữa các dạng chuẩn

2. Định nghĩa dạng chuẩn Boyce-Codd. Dạng chuẩn Boyce-Codd khác dạng chuẩn 3 như thế nào

3. Bắt đầu từ một lược đồ quan hệ vũ trụ R={A1,A2,…,An} và tập các phụ thuộc hàm F trên R. Các thuật toán phân rã của R phải đảm bảo những điều gì

4. Tính chất bảo toàn phụ thuộc hàm của phân rã là gì. Tại sao lại quan trọng

5. Trình bày thuật toán kiểm tra phân rã bảo toàn phụ thuộc hàm

6. Nối không mất mát thông tin là gì. Tại sao lại quan trọng

7. Trình bày thuật toán kiểm tra phân rã có tính chất nối không mất mát thông tin

8. Trình bày thuật toán phân rã của lược đồ thành các lược đồ dạng chuẩn 3 và thoả mãn cả 2 tính chất: bảo toàn phụ thuộc hàm và nối không mất mát thông tin

9. Trình bày thuật toán phân rã của lược đồ thành các lược đồ dạng chuẩn Boyce-Codd và thoả mãn tính chất nối không mất mát thông tin. Vấn đề phân rã về dạng chuẩn Boyce-Codd và bảo toàn các phụ thuộc hàm thì như thế nào

Bài làm

1. Định nghĩa dạng chuẩn 1, 2, 3 khi chỉ xem xét khoá gốc. Định nghĩa dạng chuẩn 2 và 3 tổng quát (khi xem xét tất cả các khoá). Mối quan hệ giữa các dạng chuẩn

Một số khái niệm: cho F là tập các phụ thuộc hàm trên lược đồ quan hệ R

- SÍR là một siêu khoá nếu không có 2 bộ t1, t2 nào của bất kỳ quan hệ r(R) thoả mãn F mà t1[S]=t2[S]

-  KÍR là một khoá nếu nó là 1 siêu khoá và mọi tập con thực sự của nó không phải là siêu khoá. Chọn 1 trong các khoá của R làm khoá gốc, các khoá còn lại được gọi là khoá ứng cử.

- AÎR là thuộc tính gốc nếu nó là thành viên trong 1 khoá nào đấy, ngược lại A là thuộc tính không gốc.

- X→YÎF được gọi là phụ thuộc hàm đầy đủ nếu với mọi AÎX,               X-{A}®YÏF.

- X→YÎF được gọi là phụ thuộc hàm bắc cầu nếu có một tập các thuộc tính Z không phải là tập con của bất kỳ khoá nào của R sao cho X→ZÎF và Z→YÎF.

a) Định nghĩa dạng chuẩn 1, 2, 3 khi chỉ xem xét khoá gốc

Dạng chuẩn 1 là một phần của định nghĩa quan hệ. trong một quan hệ miền giá trị của các thuộc tính chỉ bao gồm các giá trị atomic (không phân chia được) và giá trị của mỗi thuộc tính trong một bộ phải là 1 giá trị từ miền giá trị của thuộc tính đó

Một lược đồ quan hệ R ở dạng chuẩn 2 nếu mọi thuộc tính không gốc của R phụ thuộc đầy đủ vào khoá gốc của R

Một lược đồ quan hệ R ở dạng chuẩn 3 nếu nó ở dạng chuẩn 2 và mọi không có thuộc tính không gốc của R phụ thuộc bắc cầu vào khoá gốc của R

b) Định nghĩa dạng chuẩn 2 và 3 tổng quát (khi xem xét tất cả các khoá).

Một lược đồ quan hệ R ở dạng chuẩn 2 nếu mọi thuộc tính không gốc của R phụ thuộc đầy đủ vào mọi khoá của R

Một lược đồ quan hệ R ở dạng chuẩn 3 nếu với mọi X→AÎF thì hoặc (1) X là siêu khoá của R, hoặc (2) A là thuộc tính gốc của R.

c) Mối quan hệ giữa các dạng chuẩn

- Định nghĩa dạng chuẩn 2 tổng quát là “mạnh” hơn so với dạng chuẩn 2 chỉ dựa trên khoá chính 

- Dạng chuẩn 3 tổng quát cũng là dạng chuẩn 2 tổng quát

Thật vậy, cho R ở dạng chuẩn 3 tổng quát. Chứng minh phản chứng, R không phải ở dạng chuẩn 2 tổng quát, khi đó có 1 thuộc tính không gốc A, 1 khoá K để K→AÎF là một phụ thuộc hàm bộ phận. Điều này mâu thuẫn giả thiết R ở dạng chuẩn 3, A không gốc nên K phải là siêu khoá.

- Định nghĩa dạng chuẩn 3 tổng quát “mạnh” hơn so với dạng chuẩn 3 chỉ dựa trên khoá chính

Giả sử ngược lại, có R ở dạng chuẩn 3 tổng quát nhưng không phải là dạng chuẩn 3 dựa trên khoá chính. Khi đó có 1 thuộc tính không gốc A phụ thuộc bắc cầu vào khoá chính K của R, hay tồn tại tập các thuộc tính Z không phải là tập con của bất kỳ khoá nào của R sao cho K→ZÎF và Z→AÎF. Điều này mâu thuân với giả thiết R ở dạng chuẩn 3 tổng quát, A không gốc nên Z phải là siêu khoá.

2. Định nghĩa dạng chuẩn Boyce-Codd. Dạng chuẩn Boyce-Codd khâc dạng chuẩn 3 như thế nào

Cho F là tập các phụ thuộc hàm trên lược đồ quan hệ R. Một lược đồ quan hệ R ở dạng chuẩn Boyce-Codd nếu X→AÎF thì hoặc X là siêu khoá của R

Dạng chuẩn Boyce-Codd tổng quát hơn dạng chuẩn 3, nghĩa là lược đồ quan hệ R ở dạng chuân r 3 thì cũng ở dạng chuẩn Boyce-Codd.

 3. Bắt đầu từ một lược đồ quan hệ vũ trụ R={A1,A2,…,An} và tập các phụ thuộc hàm F trên R. Các thuật toán phân rã của R phải đảm bảo những điều gì

Thuật toán phân rã của R thành các lược đồ Ri, D={R1,R2,…,Rm} phải thoả mãn:

- Bảo toàn thuộc tính:  

- Các lược đồ quan hệ Ri ở dạng chuẩn 3 hoặc Boyce-Codd

- Bảo toàn các phụ thuộc hàm F

- Nối không mất mát thông tin (hay nối không thêm bộ lạ)

4. Tính chất bảo toàn phụ thuộc hàm của phân rã là gì. Tại sao lại quan trọng

Cho R, F, SÍR, chiếu F lên S là pS(F)={X→YÎF+ | XÈYÍ S}

Cho R, F. Phân rã D của R: D={R1,R2,…,Rm} bảo toàn các phụ thuộc hàm F nếu:

(pR1(F)ÈpR2(F)È…ÈpRm(F))+=F+

Chúng ta muốn giữ các phụ thuộc hàm vì chúng là các ràng buộc trên cơ sở dữ liệu R. Nếu phân rã của R không bảo toàn các phụ thuộc hàm, một vài phụ thuộc hàm bị mất trong phân rã. Ràng buộc bị mất sẽ không nằm trong các pRi(F), nên việc kiểm tra chúng trên các r(Ri) là không đủ. Để duy trì các ràng buộc bị mất này, chúng ta phải thực hiện phép toán JOIN các quan hệ r(Ri) và sau đó kiểm tra trên quan hệ kết quả, một việc làm không hiệu quả trong các hệ thống thực hành.

5. Trình bày thuật toán kiểm tra phân rã bảo toàn phụ thuộc hàm

Cho R, F, phân rã D của R: D={R1,R2,…,Rm}. Ký hiệu G=(pR1(F)ÈpR2(F)È…ÈpRm(F)). Để kiểm tra G+=F+ hay không, chỉ cần kiểm tra FÍG+ hay không. Việc tính G+ là không khả thi. Thuật toán sau sẽ kiểm tra X→YÎF có thuộc G+ hay không mà không cần tính G+

Algorithm Preserve

// đầu vào: một phân rã D= (R1, R2, …, Rm),  tập F các phụ thuộc hàm //đầu ra:  true nếu D  được bảo toàn F, false nếu trái lại

Preserve (D , F, X ® Y)

   Z = X;

   while (những thay đổi tới Z xảy ra) do

          for i = 1 to m do  // có m lược đồ trong D

                 Z = Z È ( (Z Ç Ri )+ Ç Ri )

          endfor;

    endwhile;

    if Y Í Z

         then return true;  // X ® Y ÎG+

    else return false;

end.

Nếu tất cả các phụ thuộc hàm của F G+ thì trả lời “yes”, ngượic lại trả lời “no”

6. Nối không mất mát thông tin là gì. Tại sao lại quan trọng

Cho R, F, phân rã D của R: D={R1,R2,…,Rm}. Phân rã D có tính chất nối không mất mát thông tin nếu với mọi quan hệ r của R thoả F thì

(p(R1)(r)*p(R2)(r)*…* p(Rm)(r))=r

Một phân rã không có tính chất nối không mất mát thông tin, khi thực hiện phép nối tự nhiên có thể sinh ra các bộ lạ.

7. Trình bày thuật toán kiểm tra phân rã có tính chất nối không mất mát thông tin

Algorithm Lossless

//đầu vào: lược đồ quan hệ R= (A1, A2, …, An),   tập F các phụ        thuộc hàm, một lược đồ, phân rã D = {R1, R2, ..., Rm)

// đầu ra:  true nếu D có tính kết nối không tổn thất thông, false nếu trái lại

Lossless (R, F, D)

1. Tạo một ma trận có n cột và m hàng với cột y liên quan tới một thuộc tính Ay (1 £ y £ n) và hàng  x liên quan tới lược đồ quan hệ Rx (1£x£ m).  Gọi ma trận này là T.

2. Điền vào ma trận theo cách sau: Txy  = ay nếu Ay nằm trong Rx , ngược lại Txy = bxy .

3. Lặp lại các công việc sau với mỗi phụ thuộc hàm X ® Y trong F cho đến khi không còn thay đổi đối với T.

Mỗi khi một phụ thuộc hàm được xét đến, tìm kiếm các hàng trong T đồng nhất trong tất cả các cột liên quan tới các thuộc tính trong X. Đánh bằng giá trị các cột liên quan Y của các hàng đó theo nguyên tắc sau:

-         Nếu trong cột có giá trị ay , đánh bằng cột đó thành ay 

-         Nếu trong cột không có ay nào, đánh bằng thành 1 trong các bxy  

4. Nếu sau khi thực hiện tất cả những thay đổi có thể đối với T một, trong các hàng trở thành a1a2...an thì   trả về yes, trái lại trả về no.

end.

8. Trình bày thuật toán phân rã của lược đồ thành các lược đồ dạng chuẩn 3 và thoả mãn cả 2 tính chất: bảo toàn phụ thuộc hàm và nối không mất mát thông tin

Algorithm 3NF.3

// đầu vào: lược đồ quan hệ R= (A1, A2, …, An), tập F các phụ thuộc hàm

// đầu ra:  phân rã D về 3NF của R thoả mãn tính chất kết nối không mất mát thông tin và bảo toàn các phụ thuộc hàm.

3NF (R, F)

    1. tìm phủ tối thiểu của F, gọi phủ này là G

    2. for mỗi vế trái X xuất hiện trong G do

tạo một lược đồ quan  { X È A1 È A2 È ... È Am}, ở đây X®A1,X®A2,…X®Amlà tất cả các phụ thuộc hàm trong G có X ở vế trái

    3. Đặt toàn bộ các thuộc tính còn lại, nếu có, vào một lược đồ

    4. nếu không có lược đồ nào chứa một khoá của R thì tạo thêm một 

    được đồ mới chứa khoá ứng cử bất kỳ của R.

end.

9. Trình bày thuật toán phân rã của lược đồ thành các lược đồ dạng chuẩn Boyce-Codd và thoả mãn tính chất nối không mất mát thông tin. Vấn đề phân rã về dạng chuẩn Boyce-Codd và bảo toàn các phụ thuộc hàm thì như thế nào

Algorithm Boyce-Codd

// input: lược đồ quan hệ R= (A1, A2, …, An), tập F các phụ thuộc hàm.

// output:  phân rã D về Boyce-Codd có tính chất nối không mất mát thông tin

Boyce-Codd (R, F)

1. Đặt D={R}

          2. while có lược đồ Q in D không là Boyce-Codd do

Begin

Chọn Q in D không là Boyce-Codd;

tìm X®Y in Q vi phạm BCNF;

thay Q in D bởi 2 lược đồ (Q-Y) and  (X È Y)

          End;

Không luôn luôn tìm thấy phân rã về BCNF mà bảo toàn các phụ thuộc hàm

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: