Bỏ qua để đến nội dung

Relationships (quan hệ)

Relationships (quan hệ) liên kết các bảng với nhau — cho phép điều hướng giữa bản ghi liên quan và tránh lặp dữ liệu. Đây là điều làm model-driven app “tự động thông minh”.

LoạiVí dụCơ chế
One-to-Many (1:N)Một Khách hàng → nhiều Đơn hàngBảng “nhiều” có cột Lookup trỏ về “một”
Many-to-One (N:1)Nhiều Đơn hàng → một Khách hàngCùng quan hệ, nhìn từ phía “nhiều”
Many-to-Many (N:N)Một Học viên ↔ nhiều Khóa họcBảng trung gian (relationship table) tự sinh

→ 1:N và N:1 là cùng một quan hệ, chỉ khác góc nhìn.

  • Quan hệ 1:N tạo ra một cột Lookup trên bảng “nhiều”.
  • Người dùng chọn bản ghi liên quan (vd chọn Khách hàng cho Đơn hàng).
  • Trên form, lookup hiển thị nút tìm/chọn; trên bảng “một”, hiện subgrid các bản ghi con.

Khi thao tác bản ghi “cha”, điều gì xảy ra với bản ghi “con”? Cấu hình cascade:

Hành độngTùy chọn
Assign (đổi owner)Cascade / không
DeleteCascade (xóa con theo), Restrict (cấm xóa nếu còn con), Remove link
Share/ReparentTheo nhu cầu
  • Điều hướng tự động: từ Khách hàng nhấp vào subgrid → mở Đơn hàng, không cần code (sitemap).
  • Quick view form: hiển thị thông tin bản ghi liên quan ngay trên form (form components).
  • Rollup column: tổng hợp dữ liệu con lên cha (rollup).
  • Nền cho star schema khi đưa sang Power BI.
  • Tránh N:N khi không thật cần — đôi khi một bảng trung gian “có thuộc tính riêng” (vd “Đăng ký”, có ngày đăng ký, điểm) tốt hơn N:N thuần.
  • Đặt tên quan hệ rõ để dễ quản lý.
Chia sẻ: