Video: Bài 04: Tạo mối quan hệ giữa các bảng dữ liệu 2025
Bạn không cần phải là một nhà mô hình cơ sở dữ liệu chuyên gia để sử dụng Power Pivot. Nhưng điều quan trọng là phải hiểu các mối quan hệ. Bạn hiểu cách dữ liệu được lưu trữ và quản lý trong cơ sở dữ liệu tốt hơn, bạn sẽ sử dụng Power Pivot để báo cáo hiệu quả hơn.
Quan hệ là cơ chế mà các bảng riêng biệt có liên quan với nhau. Bạn có thể nghĩ về mối quan hệ như một Vlookup, trong đó bạn liên quan dữ liệu trong một dải dữ liệu với dữ liệu trong một dải dữ liệu khác bằng cách sử dụng một chỉ mục hoặc một số nhận diện duy nhất. Trong cơ sở dữ liệu, các mối quan hệ làm cùng một điều, nhưng không có sự phức tạp của việc viết các công thức.
Các mối quan hệ quan trọng vì hầu hết dữ liệu bạn làm việc đều phù hợp với một hệ thống các phân cấp đa chiều. Ví dụ: bạn có thể có bảng hiển thị khách hàng mua sản phẩm. Những khách hàng này yêu cầu hoá đơn có số hoá đơn. Những hóa đơn này có nhiều dòng giao dịch liệt kê những gì họ mua. Một hệ thống cấp bậc tồn tại ở đó.
Bây giờ, trong thế giới bảng tính một chiều, dữ liệu này thường sẽ được lưu trữ trong một bảng phẳng, giống như bảng hiển thị ở đây.
Bởi vì khách hàng có nhiều hơn một hoá đơn, thông tin khách hàng (trong ví dụ này là CustomerID và CustomerName) phải được lặp lại. Điều này gây ra vấn đề khi dữ liệu đó cần phải được cập nhật.
Chẳng hạn, hãy tưởng tượng rằng tên của công ty Aaron Fitz Electrical thay đổi cho Fitz và Sons Electrical. Nhìn vào bảng, bạn sẽ thấy rằng nhiều hàng có chứa tên cũ. Bạn phải đảm bảo rằng mọi hàng chứa tên công ty cũ đều được cập nhật để phản ánh sự thay đổi. Bất kỳ hàng bạn bỏ lỡ sẽ không chính xác bản đồ lại cho đúng khách hàng.
Sẽ không hợp lý và hiệu quả khi ghi lại tên và thông tin của khách hàng chỉ một lần? Sau đó, thay vì phải viết lại thông tin khách hàng giống nhau, bạn chỉ cần có một số mẫu của số tham chiếu của khách hàng.
Đây là ý tưởng đằng sau mối quan hệ. Bạn có thể tách biệt khách hàng khỏi các hoá đơn, đặt chúng vào từng bảng riêng. Sau đó, bạn có thể sử dụng một số nhận dạng duy nhất (như CustomerID) để liên kết chúng với nhau.
Hình dưới minh hoạ cách dữ liệu này sẽ tìm kiếm trong một cơ sở dữ liệu quan hệ. Dữ liệu sẽ được chia thành ba bảng riêng biệt: Khách hàng, InvoiceHeader, và InvoiceDetails. Mỗi bảng sau đó sẽ liên quan bằng cách sử dụng các số nhận dạng duy nhất (CustomerID và InvoiceNumber, trong trường hợp này).
Cơ sở dữ liệu sử dụng các mối quan hệ để lưu trữ dữ liệu trong các bảng duy nhất và đơn giản liên hệ các bảng này với nhau.Bảng Khách hàng sẽ chứa một bản ghi duy nhất cho mỗi khách hàng. Bằng cách đó, nếu bạn cần thay đổi tên của khách hàng, bạn sẽ cần phải thực hiện thay đổi chỉ trong hồ sơ đó. Tất nhiên, trong cuộc sống thực, bảng Khách hàng sẽ bao gồm các thuộc tính khác, chẳng hạn như địa chỉ khách hàng, số điện thoại của khách hàng và ngày bắt đầu của khách hàng. Bất kỳ thuộc tính nào khác có thể dễ dàng lưu trữ và quản lý trong bảng Khách hàng.
Loại mối quan hệ phổ biến nhất là mối liên hệ từ một đến nhiều. Nghĩa là, đối với mỗi bản ghi trong một bảng, một bản ghi có thể được kết hợp với nhiều bản ghi trong một bảng riêng biệt. Ví dụ: bảng tiêu đề hoá đơn có liên quan đến bảng chi tiết hoá đơn. Bảng tiêu đề hóa đơn có một số nhận dạng duy nhất: Invoice Number. Chi tiết hoá đơn sẽ sử dụng Số hoá đơn cho mỗi bản ghi đại diện cho một chi tiết của hóa đơn cụ thể đó.
Một loại mối quan hệ khác là quan hệ một-một: Đối với mỗi bản ghi trong một bảng, một và chỉ một bản ghi phù hợp nằm trong một bảng khác. Dữ liệu từ các bảng khác nhau trong mối quan hệ một-một-một có thể được kết hợp kỹ thuật vào một bảng duy nhất.
Cuối cùng, trong mối quan hệ từ nhiều đến nhiều, các bản ghi trong cả hai bảng có thể có bất kỳ số lượng các bản ghi phù hợp trong bảng khác. Ví dụ, một cơ sở dữ liệu tại một ngân hàng có thể có một bảng các loại khoản vay (cho vay mua nhà, cho vay xe hơi, vv) và bảng khách hàng. Một khách hàng có thể có nhiều loại cho vay. Trong khi đó, mỗi loại cho vay có thể được cấp cho nhiều khách hàng.