Để hiểu rõ về các phụ thuộc của hàm, FUNiX sẽ giới thiệu chi tiết đến bạn các khái niệm về phụ thuộc hàm qua bài biết dưới đây. Mời các bạn cùng tham khảo!
Phụ thuộc hàm (functional dependency) là một khái niệm quan trọng trong cơ sở dữ liệu, đặc biệt trong lý thuyết cơ sở dữ liệu quan hệ. Nó là mối quan hệ giữa các thuộc tính trong một bảng cơ sở dữ liệu và giúp xác định cách thức các giá trị của một thuộc tính hoặc tập hợp các thuộc tính này phụ thuộc vào giá trị của các thuộc tính khác trong cùng một bảng.
Dưới đây là các khái niệm cơ bản về phụ thuộc hàm mà bạn cần biết:
1. Khái niệm và quy tắc của phụ thuộc hàm là gì?
1.1 Khái niệm
Trong hệ quản trị cơ sở dữ liệu, phụ thuộc hàm (Functional Dependency) – viết tắt là FD được sử dụng để xác định mối quan hệ của một thuộc tính này với một thuộc tính khác. Theo đó, chất lượng dữ liệu trong cơ sở dữ liệu được đảm bảo nhờ sự phụ thuộc hàng. Ngoài ra, nó còn có vai trò giúp nhận biết chất lượng của thiết kế cơ sở dữ liệu.
Một mũi tên → tương ứng là một FD. Cụ thể, nếu Y phụ thuộc vào X sẽ được biểu diễn là X → Y.
Phụ thuộc hàm trong thiết kế cơ sở dữ liệu.
Ví dụ: Bảng danh sách sinh viên ngành công nghệ thông tin của FUNiX
ID Sinh viên
Tên
Năm sinh
Nơi sống
1
Trung
1997
Lâm Đồng
2
Trang
1998
Tp. Hồ Chí Minh
3
Trà
1999
Nha Trang
Trong ví dụ này, nếu ta biết giá trị của số ID của sinh viên, thì có thể lấy được trường tên sinh viên, năm sinh và nơi sống của họ. Do vậy, ta có thể nói rằng các trường nơi sống, tên sinh viên và năm sinh phụ thuộc vào trường ID Sinh viên.
1.2 Quy tắc của FD
FD có các quy tắc sau:
Quy tắc ánh xạ: Nếu X là một tập hợp các thuộc tính và Y là tập con của X, thì X giữ một giá trị của Y.
Quy tắc mở rộng: Khi x → y và c là tập thuộc tính, thì ac → bc. Việc thêm các thuộc tính sẽ không thay đổi các phụ thuộc hàm căn bản.
Hiện có 4 loại phụ thuộc hàm đó là: phụ thuộc đa giá trị, phụ thuộc không đáng kể, phụ thuộc có đáng kể và phụ thuộc bắc cầu.
Hiện có 4 loại phụ thuộc hàm.
2.1 Phụ thuộc đa giá trị
Trường hợp có nhiều thuộc tính đa giá trị độc lập trong một bảng thì sẽ xảy ra phụ thuộc đa giá trị. Phụ thuộc đa giá trị là một ràng buộc hoàn toàn giữa hai tập thuộc tính trong một mối quan hệ. Nó đòi hỏi các bộ dữ liệu nhất định phải có trong một mối quan hệ.
Ví dụ: Bảng mẫu điện thoại
Mẫu điện thoại
Năm sản xuất
Màu
A1
2010
Đen
A2
2011
Xanh
A3
2012
Hồng
Trong ví dụ này, trường năm sản xuất và trường màu là độc lập với nhau nhưng đều phụ thuộc vào trường mẫu điện thoại. Hai cột này được gọi là phụ thuộc đa giá trị vào cột mẫu điện thoại. Sự phụ thuộc này có thể được biểu diễn như sau:
Mẫu điện thoại → năm sản xuất
Mẫu điện thoại → màu
2.2 Phụ thuộc có đáng kể
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à một phụ thuộc có đáng kể.
Ví dụ: Bảng điều tra nguồn gốc sản phẩm
Công ty
Sản phẩm
Địa chỉ
A
1
Tp. Hồ Chí Minh
B
2
Tp. Hồ Chí Minh
C
3
Tp. Hồ Chí Minh
{Công ty} → {Sản phẩm} sẽ là FD có đáng kể, bởi nếu ta biết tên công ty thì sẽ biết tên sản phẩm của công ty đó. Những sản phẩm không phải là một tập con của công ty.
2.3 Phụ thuộc không đáng kể
Phụ thuộc không đáng kể là một hoặc nhiều thuộc tính nằm trong một thuộc tính khác. Cụ thể là: X → Y là một FD không đáng kể nếu Y là một tập con của X.
Ví dụ: Bảng danh sách sinh viên của FUNiX
ID Sinh viên
Tên
1
Trung
2
Trang
3
Trà
{ID sinh viên, Tên sinh viên} → Tên sinh viên là một FD không đáng kể vì Tên sinh viên là tập con của {ID sinh viên, Tên sinh viên}.
Phụ thuộc bắc cầu là một loại phụ thuộc xảy ra khi nó được tạo thành một cách gián tiếp bởi hai FD khác.
Ví dụ: Bảng điều tra nguồn gốc sản phẩm
Công ty
Sản phẩm
Địa chỉ sản xuất
A
1
Tp. Hồ Chí Minh
B
2
Tp. Hồ Chí Minh
C
3
Tp. Hồ Chí Minh
{Công ty} → {Sản phẩm}: Nếu biết tên công ty thì biết tên sản phẩm.
{Sản phẩm} → {Địa chỉ}: Nếu biết tên sản phẩm thì biết địa chỉ.
{Công ty} → {Địa chỉ}: Vậy nếu biết tên công ty thì biết địa chỉ.
Lưu ý: Phụ thuộc bắc cầu này chỉ có thể xảy ra trong mối quan hệ của ba hay nhiều thuộc tính khác.
Phụ thuộc hàm là một khái niệm trung tâm trong lý thuyết cơ sở dữ liệu quan hệ, giúp xác định mối quan hệ giữa các thuộc tính trong một bảng. Hiểu rõ các loại phụ thuộc hàm và cách chúng hoạt động sẽ giúp bạn thiết kế và tối ưu hóa cơ sở dữ liệu một cách hiệu quả hơn, đồng thời duy trì tính toàn vẹn và giảm thiểu sự dư thừa dữ liệu.
Tóm lại, việc sử dụng FD giúp duy trì chất lượng và tránh việc dư thừa dữ liệu. Bên cạnh đó, nó còn giúp xác định ý nghĩa và ràng buộc của cơ sở dữ liệu và các thiết kế cơ sở dữ liệu không tốt. Đồng thời, còn tìm ra các dữ kiện liên quan đến việc thiết kế cơ sở dữ liệu. Mong rằng, chia sẻ của FUNiX về khái niệm các phụ thuộc hàm trên đây sẽ giúp bạn hiểu rõ hơn về thuật ngữ này.
👉 Bạn muốn bước vào ngành CNTT nhưng chưa biết bắt đầu từ đâu?
Tham gia ngay khóa học CNTT tại FUNiX – lộ trình học từ cơ bản đến nâng cao, 100% online, có mentor hướng dẫn 1-1 và cam kết “học là làm được”!
🚀 Dù bạn là sinh viên, người đi làm hay đang muốn chuyển ngành, FUNiX đều có chương trình phù hợp để bạn tự tin theo đuổi nghề IT.
🎓 Nhận chứng chỉ, tích lũy kỹ năng thực chiến, sẵn sàng chinh phục các cơ hội nghề nghiệp hấp dẫn!
🔗 Đăng ký ngay hôm nay để nhận tư vấn lộ trình học cá nhân hóa từ chuyên gia FUNiX!
Trong kỷ nguyên của trí tuệ nhân tạo (AI), thuật ngữ “Vibe Coding” đã nổi lên như một hiện tượng, thay đổi hoàn toàn cách chúng ta tiếp cận việc xây dựng phần mềm. Không còn đơn thuần là việc...
Sự bùng nổ của các mô hình ngôn ngữ lớn khiến nhiều người tin rằng chỉ cần dùng ChatGPT trong lập trình là đã có thể “làm việc với AI”. Thực tế, ChatGPT có thể hỗ trợ viết code, giải...
Trong kỷ nguyên lập trình với AI, việc chọn lựa công cụ hỗ trợ (AI Code Editor/Extension) cũng quan trọng giống như việc chọn ngôn ngữ lập trình. Hai cái tên đang thống trị thị trường hiện nay là Cursor...
Trong giới lập trình năm 2026, có một thuật ngữ đang làm mưa làm gió: Vibe Coding. Nếu bạn từng thấy ai đó dựng xong một ứng dụng web chỉ trong một buổi chiều bằng cách “chat” với máy tính,...
Trong vài năm trở lại đây, trí tuệ nhân tạo (AI) không còn là khái niệm mang tính nghiên cứu mà đã trở thành công cụ thực tế trong quy trình phát triển phần mềm. Câu hỏi đặt ra không...
Mục lục AI debug và AI test là gì? Vì sao AI được dùng cho debug và test? AI debug hoạt động như thế nào? AI test hỗ trợ kiểm thử ra sao? AI debug & AI test trong SDLC...
Mục lục AI đọc hiểu codebase là gì? Vì sao đọc hiểu codebase là bài toán khó? Vì sao AI giúp đọc code nhanh hơn? AI đọc và phân tích codebase như thế nào? AI đọc code cho developer AI...
Khi 60–70% lập trình viên trên thế giới đã sử dụng AI để hỗ trợ viết code và debug, câu hỏi đặt ra không phải là “Có nên dùng AI không?” mà là “Dùng AI thế nào để tối ưu...
Đăng ký nhận bản tin
Nhận bản tin, báo cáo từ các chuyên gia hàng đầu về lĩnh vực Công nghệ thông tin mới nhất!
×
×
Tầng 0, tòa nhà FPT, 17 Duy Tân, phường Cầu Giấy, Hà Nội
info@funix.edu.vn
0782313602 (Zalo, Viber)
Cơ quan chủ quản: Công ty Cổ phần Giáo dục Trực tuyến FUNiX
MST: 0108171240 do Sở kế hoạch và Đầu tư thành phố Hà Nội cấp ngày 27 tháng 02 năm 2018
– Văn phòng Hà Nội:
+ Tầng 4, Tòa nhà 25T2, đường Nguyễn Thị Thập, phường Yên Hòa, Hà Nội.
+ Tầng 0, tòa nhà FPT, đường 17 Duy Tân, phường Cầu Giấy, Hà Nội.
– Văn phòng TP.HCM: Lầu 3A, tòa nhà 51-53 Võ Văn Tần, Phường Xuân Hòa, Thành phố Hồ Chí Minh, Việt Nam
Hotline: 078 231 3602 – Email: info@funix.edu.vn
yêu cầu gọi lại
Yêu cầu FUNiX gọi lại để hỗ trợ thông tin, chương trình học, chỉ tiêu - điều kiện tuyển sinh - học phí,... hoàn toàn FREE
Bình luận (0
)