Để 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!
Cuối năm là lúc các hội nhóm trở nên dày đặc bài đăng kiểu: “Mình mới nhận quyết định sa thải, giờ nên học gì để ổn định lại?”, “Thất nghiệp 3–6 tháng rồi, học Data Analytics có ổn không?”,...
Mục lục Vì sao người đi làm lựa chọn Software Engineering để chuyển nghề sang IT? Phương pháp học tại FUNiX dành riêng cho người đi làm Yêu cầu đầu vào và ai phù hợp với khóa học? Lộ trình...
Khóa học lập trình cho học sinh tại FUNiX giúp xây nền tảng công nghệ sớm, lộ trình bài bản, học online linh hoạt và mở rộng cơ hội nghề nghiệp. Mục lục Vì sao nên học khóa Software Engineering...
Khóa học Software Engineering cho học sinh tại FUNiX cung cấp một lộ trình toàn diện từ nền tảng lập trình cơ bản đến kỹ năng phần mềm chuyên sâu. Học sinh cấp 3 sẽ tiếp cận với các môn...
Lập trình web là một trong những kỹ năng được săn đón nhất trong kỷ nguyên số. Dù ở doanh nghiệp lớn, startup hay làm việc tự do, khả năng xây dựng website và ứng dụng web sẽ giúp bạn...
Khóa học Tester tại FUNiX cung cấp nền tảng toàn diện cho người mới bắt đầu muốn bước chân vào lĩnh vực kiểm thử phần mềm. Trong 20 tuần, học viên sẽ nắm vững từ kỹ năng viết test case,...
Khóa học Business Analysis FUNiX (Business Analyst) là chương trình dành cho người mong muốn gia nhập ngành CNTT với vai trò cầu nối giữa kinh doanh và công nghệ. Khóa học cung cấp lộ trình 7 tháng, từ cơ...
Khóa học Data Analysis tại FUNiX trang bị cho học viên kỹ năng phân tích dữ liệu toàn diện – từ Excel, SQL, Power BI đến Python, scikit-learn. Người học sẽ làm chủ quy trình xử lý dữ liệu, trực...
Đă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
Địa chỉ:
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.
Văn phòng TP.HCM: Lầu 8, Tòa nhà Giày Việt Plaza 180-182 Lý Chính Thắng, phường Nhiêu Lộc, TP. Hồ Chí Minh.
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
)