Phụ thuộc hàm trong hệ quản trị cơ sở dữ liệu: Các kiểu dữ liệu kèm ví dụ.

⚡ Tóm tắt thông minh

Phụ thuộc chức năng là một ràng buộc xác định mối quan hệ giữa các thuộc tính trong hệ quản trị cơ sở dữ liệu (DBMS). Nó là nền tảng của quá trình chuẩn hóa bằng cách xác định các biến quyết định và biến phụ thuộc, và được phân loại thành các phụ thuộc đa giá trị, phụ thuộc tầm thường, phụ thuộc không tầm thường và phụ thuộc bắc cầu.

  • ➡️ Ý tưởng cốt lõi: Trong phép biến đổi X → Y, định thức X xác định giá trị của biến phụ thuộc Y, được biểu diễn bằng mũi tên.
  • 🏷️ Điều khoản quan trọng: Các khái niệm định thức, phụ thuộc, tiên đề, phân rã và hợp mô tả cách thức đặt tên và thao tác với các mối quan hệ phụ thuộc.
  • 📐 Các tiên đề của Armstrong: Tính phản xạ, tính mở rộng và tính bắc cầu suy ra mọi sự phụ thuộc mà một tập hợp hàm ý về mặt logic.
  • 🔀 Bốn loại: Các mối quan hệ thuộc tính riêng biệt như đa giá trị, tầm thường, không tầm thường và bắc cầu đều mô tả một loại quan hệ khác nhau.
  • 🧹 Liên kết chuẩn hóa: Các mối quan hệ phụ thuộc thúc đẩy quá trình chuẩn hóa, giúp loại bỏ sự dư thừa và các bất thường trong quá trình cập nhật.
  • 🔑 Đóng cửa: Việc xác định thuộc tính cho thấy các khóa ứng cử viên và liệu có sự phụ thuộc nào tồn tại hay không.
  • Lợi ích: Các mối quan hệ phụ thuộc tốt thể hiện thiết kế tốt và phân biệt các lược đồ chất lượng với các lược đồ kém chất lượng.

Sự phụ thuộc chức năng trong DBMS

Phụ thuộc chức năng là gì?

Phụ thuộc chức năng (FD) Mối quan hệ phụ thuộc chức năng là một ràng buộc xác định mối quan hệ giữa thuộc tính này với thuộc tính khác trong Hệ quản trị cơ sở dữ liệu (DBMS). Mối quan hệ phụ thuộc chức năng giúp duy trì chất lượng dữ liệu trong cơ sở dữ liệu. Nó đóng vai trò quan trọng trong việc phân biệt giữa thiết kế cơ sở dữ liệu tốt và thiết kế cơ sở dữ liệu kém.

Mối quan hệ phụ thuộc hàm được ký hiệu bằng mũi tên “→”. Mối quan hệ phụ thuộc hàm của Y trên X được biểu diễn bởi X → Y. Chúng ta hãy cùng hiểu rõ hơn về mối quan hệ phụ thuộc hàm thông qua một ví dụ.

Ví dụ:

Số nhân viên Tên nhân viên Lương Thành Phố
1 Dana 50000 San Francisco
2 Francis 38000 London
3 Andrew 25000 Tokyo

Trong ví dụ này, nếu biết giá trị của Mã số nhân viên, ta có thể lấy được Tên nhân viên, Thành phố, Lương, v.v. Từ đó, ta có thể nói rằng Thành phố, Tên nhân viên và Lương phụ thuộc vào Mã số nhân viên.

Điều khoản quan trọng

Dưới đây là một số thuật ngữ quan trọng về sự phụ thuộc chức năng trong cơ sở dữ liệu:

Điều khoản quan trọng Mô tả Chi tiết
định lý Các tiên đề là một tập hợp các quy tắc suy luận được sử dụng để suy ra tất cả các mối quan hệ phụ thuộc chức năng trên cơ sở dữ liệu quan hệ.
Phân hủy Một quy tắc cho rằng nếu bạn có một bảng dường như chứa hai thực thể được xác định bởi cùng một khóa chính, bạn nên xem xét tách nó thành hai bảng khác nhau.
Phụ thuộc Nó được hiển thị ở phía bên phải của sơ đồ phụ thuộc chức năng.
xác định Nó được hiển thị ở phía bên trái của sơ đồ phụ thuộc chức năng.
liên hiệp Điều này cho thấy rằng nếu hai bảng riêng biệt và khóa chính giống nhau, bạn nên xem xét việc hợp nhất chúng lại với nhau.

Các quy tắc về sự phụ thuộc chức năng (Các tiên đề Armstrong)

Dưới đây là ba quy tắc quan trọng nhất về sự phụ thuộc chức năng trong cơ sở dữ liệu. Chúng được gọi là các tiên đề Armstrong, và mọi quy tắc suy luận khác đều có thể được suy ra từ chúng.

  • Quy tắc phản xạ: Nếu X là một tập hợp các thuộc tính và Y là một tập con của X, thì X → Y đúng.
  • Quy tắc tăng cường: Khi X → Y đúng và C là một tập thuộc tính, thì XC → YC cũng đúng. Việc thêm thuộc tính không làm thay đổi mối quan hệ phụ thuộc cơ bản.
  • Quy tắc bắc cầu: Tương tự như quy tắc bắc cầu trong đại số: nếu X → Y đúng và Y → Z đúng, thì X → Z cũng đúng.

Từ đó, có thêm ba quy tắc nữa được suy ra và được sử dụng thường xuyên trong thực tế:

  • Quy tắc công đoàn: Nếu X → Y và X → Z, thì X → YZ.
  • Quy tắc phân rã: Nếu X → YZ, thì X → Y và X → Z.
  • Quy tắc giả bắc cầu: Nếu X → Y và WY → Z, thì WX → Z.

Việc áp dụng lặp đi lặp lại các quy tắc này cho một tập hợp các mối quan hệ phụ thuộc sẽ tạo ra kết quả của nó. đóng cửa, tập hợp đầy đủ các mối quan hệ phụ thuộc theo logic. Việc đóng một tập hợp thuộc tính cũng là cách tìm ra các khóa ứng cử viên, điều này liên quan trực tiếp đến việc nghiên cứu về Khóa DBMS.

Các loại phụ thuộc chức năng trong DBMS

Trong hệ quản trị cơ sở dữ liệu (DBMS), chủ yếu có bốn loại phụ thuộc chức năng:

  • Sự phụ thuộc đa giá trị
  • Sự phụ thuộc chức năng tầm thường
  • Sự phụ thuộc chức năng không tầm thường
  • Sự phụ thuộc bắc cầu

Sự phụ thuộc đa giá trị trong DBMS

Sự phụ thuộc đa giá trị xảy ra khi có nhiều thuộc tính đa giá trị độc lập trong cùng một bảng. Sự phụ thuộc đa giá trị là một ràng buộc hoàn chỉnh giữa hai tập hợp thuộc tính trong một quan hệ, yêu cầu phải có mặt một số bộ dữ liệu nhất định. Hãy xem xét ví dụ sau.

Ví dụ:

Mẫu xe năm_năm Màu sắc
H001 2017 kim loại
H001 2017 màu xanh lá
H005 2018 kim loại
H005 2018 Màu xanh da trời
H010 2015 kim loại
H033 2012 màu xám

Trong ví dụ này, Maf_year và Color độc lập với nhau nhưng phụ thuộc vào Car_model. Hai cột này được gọi là phụ thuộc đa giá trị vào Car_model. Điều này được biểu diễn như sau:

mẫu xe → năm maf

mẫu xe → màu sắc

Sự phụ thuộc chức năng tầm thường trong DBMS

Một phụ thuộc tầm thường là một tập hợp các thuộc tính được gọi là tầm thường nếu tập hợp các thuộc tính đó được bao gồm trong thuộc tính đó. Vì vậy, X → Y là một phụ thuộc hàm tầm thường nếu Y là một tập con của X. Hãy xem ví dụ dưới đây.

Emp_id Emp_name
AS555 Harry
AS811 George
AS999 Kevin

Hãy xem xét bảng này với hai cột, Emp_id và Emp_name. {Emp_id, Emp_name} → Emp_id là một phụ thuộc hàm đơn giản, vì Emp_id là một tập con của {Emp_id, Emp_name}.

Sự phụ thuộc chức năng không tầm thường trong hệ quản trị cơ sở dữ liệu

Một sự phụ thuộc không tầm thường xảy ra khi A → B đúng và B không phải là tập con của A. Nếu thuộc tính B không phải là tập con của thuộc tính A, sự phụ thuộc đó được coi là không tầm thường.

Tên Công Ty CEO Độ tuổi
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Ví dụ:

{Công ty} → {CEO} (nếu biết tên Công ty, ta cũng biết tên CEO). Nhưng CEO không phải là một tập con của Công ty, do đó đây là một phụ thuộc chức năng không tầm thường.

Sự phụ thuộc bắc cầu trong DBMS

Phụ thuộc bắc cầu là một loại phụ thuộc chức năng xảy ra khi một thuộc tính được xác định gián tiếp bởi hai phụ thuộc chức năng. Hãy xem ví dụ dưới đây.

Tên Công Ty CEO Độ tuổi
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Công ty} → {CEO} (nếu biết tên công ty, ta cũng biết tên CEO).

{CEO} → {Tuổi} (nếu biết CEO, ta biết tuổi).

Do đó, theo quy tắc phụ thuộc bắc cầu, {Company} → {Age} phải đúng, điều này hợp lý vì nếu ta biết tên công ty, ta có thể tìm ra tuổi của công ty.

Lưu ý: sự phụ thuộc bắc cầu chỉ có thể xảy ra trong mối quan hệ có từ ba thuộc tính trở lên.

Chuẩn hóa là gì?

Chuẩn hóa là một phương pháp tổ chức dữ liệu trong cơ sở dữ liệu giúp tránh tình trạng dữ liệu dư thừa và các bất thường khi thêm, cập nhật và xóa dữ liệu. Đó là một quá trình phân tích lược đồ quan hệ dựa trên các phụ thuộc chức năng khác nhau và khóa chính của chúng.

Chuẩn hóa là một phần vốn có của lý thuyết cơ sở dữ liệu quan hệ. Nó có thể dẫn đến việc chia dữ liệu thành nhiều bảng bổ sung sao cho mỗi sự kiện chỉ được lưu trữ một lần. Toàn bộ quy trình được trình bày chi tiết trong hướng dẫn về... chuẩn hóa cơ sở dữ liệu, được xây dựng trực tiếp dựa trên các kiểu phụ thuộc đã nêu ở trên.

Ưu điểm của sự phụ thuộc chức năng

  • Sự phụ thuộc chức năng tránh được tình trạng dư thừa dữ liệu, do đó dữ liệu giống nhau sẽ không lặp lại ở nhiều vị trí khác nhau trong tệp. cơ sở dữ liệu.
  • Nó giúp bạn duy trì chất lượng dữ liệu trong cơ sở dữ liệu.
  • Nó giúp bạn xác định ý nghĩa và các ràng buộc của cơ sở dữ liệu.
  • Nó giúp bạn nhận diện những thiết kế tồi.
  • Nó giúp bạn tìm ra các thông tin cần thiết về thiết kế cơ sở dữ liệu.

Câu Hỏi Thường Gặp

Thuộc tính quyết định là thuộc tính nằm bên trái mũi tên, xác định giá trị của nó. Thuộc tính phụ thuộc là thuộc tính nằm bên phải, giá trị của nó được xác định. Trong quan hệ X → Y, X quyết định Y.

Phụ thuộc hàm xác định một giá trị duy nhất cho biến phụ thuộc. Phụ thuộc đa giá trị cho phép một tập hợp các giá trị độc lập, đó là lý do tại sao nó cần thuộc tính riêng và dẫn đến dạng chuẩn thứ tư.

Tính toán bao đóng của một tập thuộc tính bằng cách sử dụng các phụ thuộc. Nếu bao đóng bao gồm mọi thuộc tính của quan hệ, tập hợp đó là một siêu khóa; tập hợp tối thiểu như vậy là một khóa ứng cử viên.

Đúng vậy. Các thuật toán phát hiện mối quan hệ phụ thuộc, một số được hỗ trợ bởi trí tuệ nhân tạo, sẽ quét tập dữ liệu và đề xuất các mối quan hệ phụ thuộc tiềm năng. Người thiết kế phải xác nhận chúng, bởi vì một mô hình đúng trong dữ liệu mẫu có thể không đúng trong quy luật.

Nó lưu trữ một thông tin về thuộc tính không phải là khóa, vì vậy việc cập nhật nó có nguy cơ gây ra các bất thường. Loại bỏ các phụ thuộc bắc cầu chính xác là điều mà dạng chuẩn thứ ba yêu cầu, giúp giữ mỗi thông tin ở cùng một vị trí.

Tóm tắt bài viết này với: