Networks Business Online Việt Nam & International VH2

Tìm hiểu các liên kết (relationship) giữa các bảng cách tạo các liên kết trong MS Access

Đăng ngày 01 January, 2023 bởi admin
Khái niệm về những liên kiết trong MS Access, thực hành thực tế tạo update những link, những kiểu liên kết join type trong Access

Khái niệm về quan hệ (liên hệ – relationship) trong Access

Nhằm bảo vệ CSDL không phát sinh ra những dữ liệu rác, những dữ liệu trùng lặp ( tính toàn vẹn dữ liệu ), thì Database thường tạo ra nhiều bảng dữ liệu – chia thông tin ra nhiều bảng – mỗi bảng này hướng quản trị một loại thông tin nào đó. Sau đó những bảng này phối hợp lại với nhau để có thông tin khá đầy đủ về đối tượng người dùng nào đó. Để làm điều này, bạn sẽ thiết lập những trường dữ liệu chung của những bảng từ đó hình thành mối liên hệ giữa những bảng. Phần này khám phá về những mỗi liên hệ ( relationship ) giữa những bảng và cách sử dụng chúng trong CSDL
Khi tạo được mối liên hệ giữa những bảng thì bạn có thể tạo ra những truy vấn, những biểu mẫu và báo cáo giải trình hiện thị thông tin những nhiều bảng một lúc .

File CSDL ví dụ:
Download

Các kiểu liên hệ giữa các bảng Access

Quan hệ một nhiều 1 - n

1 - nhiều – một dòng (record) của bảng một
liên kết với nhiều dòng của bảng nhiều. Nói ngược lại thì
nhiều dòng của bảng nhiều liên kết với một dòng ở bảng một
Quan hệ – một dòng ( record ) củaliên kết với nhiều dòng của. Nói ngược lại thì nhiều dòng củaliên kết với một dòng ở

Ví dụ bảng DanhMuc, mỗi dòng là một danh mục sản phẩm
(đồ nội thất, đồ điện tử …) liên kết với nhiều
dòng (nhiều sản phẩm) ở bảng Sanpham

Quan hệ 1 - n được hình thành bằng cách tạo liên
hệ giữa khóa chính (Primary key) và khóa ngoại (Foreign key)


Quan hệ nhiều – nhiều n - n

Hãy xem quan hệ giữa hai bảng Sanpham
và bảng DonHang. Một sản phẩm có thể nằm trong nhiều
đơn hàng, ngược lại một đơn hàng có thể có nhiều sản phẩm.
Từ đó hai bảng này hình thành mối quan hệ nhiều nhiều.
Mối liên hệ này được hình thành qua hai khóa ngoại của
DonHangChiTiet là có DonHangID
SanphamID

Quan hệ n - n được hình thành do mỗi quan hệ
giữa hai khóa ngoại (Foreign key)


Một loại mẫu sản phẩm có nhiều đơn hàng

Một đơn hàng có nhiều loại sản phẩm

Quan hệ một – một 1 - 1

1 - 1 là 1 dòng (record) của bảng này
liên kết với 1 dòng (record) duy nhất của bảng khác.
Quan hệlà 1 dòng ( record ) của bảng này link với 1 dòng ( record ) duy nhất của bảng khác .

Hãy xem mối quan hệ giữa bảng Sanpham và bảng
HuongDan. Mỗi sản phẩm (record) có thể có một hướng dẫn
sử dụng sản phẩm đó.

Quan hệ 1 - 1 hình thành do mối liên hệ giữa hai
khóa chính của hai bảng


Tạo ra các liên hệ trong Access

Khi tạo mối quan hệ, thứ nhất hãy đóng những bảng nếu nó đang mở. Từ menu Ribbon, chọn mục Database Tools, tiếp theo chọn Relationships để mở cửa sổ soạn thảo những liên hệ :

Nếu là lần đầu vào thiết lập quan hệ, nó xuất hiện hộp thoại
Show Table, tại đây chọn các bảng rồi bấm vào Add
để đưa chúng vào cửa sổ soạn thảo liện hệ.

Bất cứ lúc nào đều có thể bật lại cửa sổ này bằng
cách bấm phải chuột chọn Show Table

Các bảng Open, hãy kéo – thả để sắp xếp sao cho dễ quan sát trong hành lang cửa số. Cố gắng sắp xếp theo mối quan hệ bảng cha / bảng con theo vị trí trái / phải. Ví dụ, như hình dưới :

Để bắt đầu tạo ra mối liên hệ, ví dụ tạo liên hệ bảng DanhMuc (bảng trái) và bảng Sanpham (bảng phải),
bấm vào tên khóa chính của DanhMuc
(DanhMucID), kéo thả vào tên khóa ngoại DanhMucID của bảng Sanpham, lập tức
xuất hiện hộp thoại Edit Relationships (soạn
thảo liên hệ). Xem lại các thông tin như bảng trái, bảng phải, các
khóa liên hệ chính xác chưa rồi bấm vào Create
để tạo mối liên hệ.

Trong bảng này cũng quan tâm những tùy chọn :

  • Enforce Reference Integrity: Đảm bảo tính
    toàn vẹn dữ liệu. Trường trong bảng trái bắt buộc phải có thì
    bảng phải có. Ví dụ nếu một sản phẩm có DanhMucID là 10, thì trong
    bảng DanhMuc phải có record với DanhMucID là 10.
  • Cascade Update Related Fields: khi bảng
    trái (cha) thay đổi giá trị khóa chính – bảng phải cập nhật theo.
  • Cascade Delete Related Records
    record bảng trái bị xóa, các record bảng phải có liên hệ bị xóa theo

Nếu muốn mở lại cửa sổ Edit Relationships
nháy đúp chuột vào đừng biểu diễn liên kết. Hoặc nhấn phải chuột
vào đường biểu diễn liên kết rồi chọn
Edit Relationships

Nếu muốn xóa một liên hệ, nhấn phải chuột vào liên hệ, rồi
chọn Delete

Kiểu kết nối

Trong liên hệ giữa hai bảng, có ba kiểu khớp nối dữ liệu. Để điều chỉnh
nó vào cửa sổ Edit Relationships bấm vào Join Type. Tại đây có thể chọn một trong ba kiểu

  • Only include rows where the joined field from both tables are equal

    Đây gọi là link nội, mặc định và thông dụng. Kết quả truy vấn theo liên hệ trả về dữ liệu mà trường link sống sót trong cả hai bảng .

    Ví dụ, Query lấy SanphamHuongDan:
    thì là liên kết nội, nên chỉ những sản phẩm nào cố HuongDan
    mới được trả về từ truy vấn

  • Include all records from “bảng bên trái” and only those records from “bảng bên phải” where the joined fields are equal

    Toàn bộ bảng trái, kể cả trường link ở bảng phải không có

  • Include all records from “bảng bên phải” and only those records from “bảng bên trái” where the joined fields are equal

    Toàn bộ bảng phải, kể cả bảng trái không có

ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB

Đăng ký nhận bài viết mới

Source: https://vh2.com.vn
Category : Bảo Mật