Sự phụ thuộc chức năng trong DBMS: Là gì, các loại và ví dụ
Phụ thuộc chức năng là gì?
Phụ thuộc chức năng (FD) là một ràng buộc xác định mối quan hệ của một thuộc tính với thuộc tính khác trong Hệ thống quản lý cơ sở dữ liệu (DBMS). Sự 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 một vai trò quan trọng để tìm ra sự khác biệt giữa thiết kế cơ sở dữ liệu tốt và xấu.
Sự phụ thuộc hàm được biểu thị bằng mũi tên “→”. Sự phụ thuộc chức năng của X trên Y được biểu thị bằng X → Y. Hãy tìm hiểu ví dụ về Sự phụ thuộc chức năng trong DBMS.
Ví dụ:
Số nhân viên | Tên nhân viên | Lương | City |
---|---|---|---|
1 | Dana | 50000 | San Francisco |
2 | Francis | 38000 | London |
3 | Andrew | 25000 | Tokyo |
Trong ví dụ này, nếu chúng ta biết giá trị của Mã số nhân viên, chúng ta có thể lấy Tên nhân viên, thành phố, mức lương, v.v. Bằng cách này, chúng ta có thể nói rằng thành phố, Tên nhân viên và mức lương phụ thuộc chức năng 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ữ chính về Sự phụ thuộc chức năng trong Cơ sở dữ liệu:
Điều khoản quan trọng | Mô tả |
---|---|
định lý | 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 phụ thuộc chức năng trên cơ sở dữ liệu quan hệ. |
Phân hủy | Đó là một quy tắc gợi ý 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 thì bạn nên xem xét việc chia chúng thành hai bảng khác nhau. |
Phụ thuộc | Nó được hiển thị trên bên phải của sơ đồ phụ thuộc hàm. |
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 | Nó gợi ý rằng nếu hai bảng riêng biệt và PK giống nhau thì bạn nên cân nhắc việc đặt chúng. cùng nhau |
Quy tắc phụ thuộc chức năng
Dưới đây là ba quy tắc quan trọng nhất đối với Sự phụ thuộc chức năng trong Cơ sở dữ liệu:
- Quy tắc phản xạ –. Nếu X là tập hợp các thuộc tính và Y là tập hợp con_của X thì X giữ giá trị của Y.
- Quy tắc mở rộng: Khi x -> y giữ và c là tập thuộc tính thì ac -> bc cũng giữ. Đó là thêm các thuộc tính không thay đổi các phụ thuộc cơ bản.
- Quy tắc bắc cầu: Quy tắc này rất giống với 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. X -> y được gọi là hàm xác định y.
Các loại phụ thuộc chức năng trong DBMS
Có chủ yếu bốn loại Phụ thuộc chức năng trong DBMS. Sau đây là các loại Phụ thuộc chức năng trong DBMS:
- 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
Phụ thuộc đa giá trị xảy ra trong trường hợp có nhiều thuộc tính đa giá trị độc lập trong một bảng duy nhất. Phụ thuộc đa giá trị là ràng buộc hoàn chỉnh giữa hai tập thuộc tính trong một quan hệ. Nó yêu cầu một số bộ nhất định phải có trong một quan hệ. Hãy xem Ví dụ về Phụ thuộc đa giá trị sau để hiểu.
Ví dụ:
Mẫu xe | năm_năm | Màu |
---|---|---|
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à màu sắc độc lập với nhau nhưng phụ thuộc vào car_model. Trong ví dụ này, hai cột này được cho là có nhiều giá trị phụ thuộc vào car_model.
Sự phụ thuộc này có thể được biểu diễn như thế này:
car_model -> maf_year
car_model-> màu sắc
Sự phụ thuộc chức năng tầm thường trong DBMS
Sự 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à tập con của X. Hãy hiểu bằng một Ví dụ về phụ thuộc hàm tầm thường.
Ví dụ:
Emp_id | Emp_name |
---|---|
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Hãy xem xét bảng này có hai cột Emp_id và Emp_name.
{Emp_id, Emp_name} -> Emp_id là một phần phụ thuộc hàm tầm thường vì Emp_id là tập con của {Emp_id,Emp_name}.
Sự phụ thuộc chức năng không tầm thường trong DBMS
Sự phụ thuộc hàm, còn được gọi là sự phụ thuộc không tầm thường, xảy ra khi A->B đúng trong đó B không phải là tập con của A. Trong một mối quan hệ, nếu thuộc tính B không phải là tập con của thuộc tính A thì nó được coi là không tầm thường sự phụ thuộc.
Company | CEO | Độ tuổi |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Apple | Tim Cook | 57 |
Ví dụ:
(Company} -> {CEO} (nếu biết Công ty thì biết tên CEO)
Nhưng CEO không phải là một tập hợp con của Công ty và do đó nó có sự phụ thuộc chức năng không hề nhỏ.
Sự phụ thuộc bắc cầu trong DBMS
Phụ thuộc chuyển tiếp là một loại phụ thuộc chức năng xảy ra khi "t" được hình thành gián tiếp bởi hai phụ thuộc chức năng. Hãy cùng tìm hiểu với Ví dụ về Phụ thuộc chuyển tiếp sau đây.
Ví dụ:
Company | CEO | Độ tuổi |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Company} -> {CEO} (nếu biết công ty, chúng tôi biết tên CEO của công ty đó)
{CEO } -> {Age} Nếu biết CEO, chúng ta biết Tuổi
Do đó theo quy tắc phụ thuộc bắc cầu:
{Company} -> {Age} nên giữ nguyên, điều này hợp lý vì nếu biết tên công ty, chúng ta có thể biết tuổi của anh ấy.
Lưu ý: Bạn cần nhớ rằng sự phụ thuộc bắc cầu chỉ có thể xảy ra trong mối quan hệ có 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 bạn tránh tình trạng dư thừa, chèn, cập nhật và xóa dữ liệu bất thường. Đó là một quá trình phân tích các lược đồ quan hệ dựa trên các phụ thuộc chức năng và khóa chính khác nhau của chúng.
Chuẩn hóa là vốn có của lý thuyết cơ sở dữ liệu quan hệ. Nó có thể có tác dụng sao chép cùng một dữ liệu trong cơ sở dữ liệu và có thể tạo ra các bảng bổ sung.
Ưu điểm của sự phụ thuộc chức năng
- Sự phụ thuộc chức năng tránh sự dư thừa dữ liệu. Do đó, cùng một dữ liệu không lặp lại ở nhiều vị trí trong đó 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à ràng buộc của cơ sở dữ liệu
- Nó giúp bạn xác định các thiết kế xấu
- Nó giúp bạn tìm thấy sự thật liên quan đến thiết kế cơ sở dữ liệu
Tổng kết
- Sự phụ thuộc chức năng là khi một thuộc tính xác định một thuộc tính khác trong một hệ thống cơ sở dữ liệu.
- Tiên đề, Phân rã, Phụ thuộc, Xác định, Liên minh là các thuật ngữ chính cho sự phụ thuộc chức năng
- Bốn loại phụ thuộc chức năng là 1) Đa giá trị 2) Tầm thường 3) Không tầm thường 4) Bắc cầu
- Sự phụ thuộc đa giá trị xảy ra trong trường hợp có nhiều thuộc tính đa giá trị độc lập trong một bảng
- Sự phụ thuộc tầm thường xảy ra khi 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 đó
- Sự phụ thuộc không cần thiết xảy ra khi A->B đúng trong đó B không phải là tập con của A
- bắc cầu là một loại phụ thuộc hàm xảy ra khi nó được hình thành gián tiếp bởi hai phụ thuộc hàm
- Chuẩn hóa là phương pháp tổ chức dữ liệu trong cơ sở dữ liệu giúp bạn tránh tình trạng dư thừa dữ liệu