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.

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 |
| 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 |
| 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.
