Chức năng phụ thuộc trong cơ sở dữ liệu

Chức năng phụ thuộc giúp tránh sao chép dữ liệu

Một phụ thuộc chức năng trong cơ sở dữ liệu thực thi một tập hợp các ràng buộc giữa các thuộc tính. Điều này xảy ra khi một thuộc tính trong một quan hệ xác định duy nhất một thuộc tính khác. Điều này có thể được viết A -> B có nghĩa là "B phụ thuộc vào chức năng của A." Điều này cũng được gọi là phụ thuộc cơ sở dữ liệu .

Trong mối quan hệ này, A xác định giá trị của B, trong khi B phụ thuộc vào A.

Tại sao chức năng phụ thuộc là quan trọng trong thiết kế cơ sở dữ liệu

Chức năng phụ thuộc giúp đảm bảo tính hợp lệ của dữ liệu. Duyệt một bảng Nhân viên liệt kê các đặc điểm bao gồm Số an sinh xã hội (SSN), tên, ngày tháng năm sinh, địa chỉ, v.v.

SSN thuộc tính sẽ xác định giá trị của tên, ngày sinh, địa chỉ và có lẽ các giá trị khác, bởi vì số an sinh xã hội là duy nhất, trong khi tên, ngày sinh hoặc địa chỉ có thể không. Chúng ta có thể viết nó như sau:

SSN -> tên, ngày sinh, địa chỉ

Do đó, tên, ngày tháng năm sinh và địa chỉ phụ thuộc vào chức năng của SSN. Tuy nhiên, câu lệnh ngược (tên -> SSN) không đúng bởi vì nhiều hơn một nhân viên có thể có cùng tên nhưng sẽ không bao giờ có cùng một SSN. Đặt cách khác, cụ thể hơn, nếu chúng ta biết giá trị của thuộc tính SSN, chúng ta có thể tìm thấy giá trị của tên, ngày tháng năm sinh và địa chỉ. Nhưng nếu chúng ta chỉ biết giá trị của thuộc tính name, chúng ta không thể xác định SSN.

Phía bên trái của một phụ thuộc chức năng có thể bao gồm nhiều hơn một thuộc tính. Giả sử chúng ta có một doanh nghiệp với nhiều địa điểm. Chúng ta có thể có một bảng Employee với các thuộc tính employee, title, department, location và manager.

Nhân viên xác định vị trí anh ta làm việc, vì vậy có sự phụ thuộc:

nhân viên -> vị trí

Nhưng vị trí có thể có nhiều người quản lý, do đó nhân viên và bộ phận cùng xác định người quản lý:

nhân viên, phòng ban -> người quản lý

Chức năng phụ thuộc và bình thường hóa

Chức năng phụ thuộc góp phần vào cái gọi là chuẩn hóa cơ sở dữ liệu, đảm bảo tính toàn vẹn dữ liệu và giảm dư thừa dữ liệu. Không chuẩn hóa, không có sự đảm bảo rằng dữ liệu trong cơ sở dữ liệu là chính xác và đáng tin cậy.