SGK Tin Học 12 - §7. Liên kết giữa các bảng

  • §7. Liên kết giữa các bảng trang 1
  • §7. Liên kết giữa các bảng trang 2
  • §7. Liên kết giữa các bảng trang 3
  • §7. Liên kết giữa các bảng trang 4
LIÊN KẾT GIỮA CÁC BẢNG
Khái niệm
Trong CSDL, các bảng thường có liên quan với nhau. Khi xây dựng CSDL, liên kết được tạo giữa các bảng cho phép tổng hợp dữ liệu từ nhiều bảng.
Để hiểu khái niệm liên kết, xét ví dụ sau đày.
Một công ti chuyên bán dụng cụ văn phòng thường xuyên nhận đơn đặt hàng từ khách hàng. Để thống kê và phân tích các đơn đặt hàng, xét hai cách lập CSDL:
Cách thứ nhất'. Lập CSDL gồm một bảng duy nhất chứa tất cả các thông tin cần thiết chia thành các trường như sau:
Tên trường
Mô tả
Khoá chính
So_don
Số hiệu đơn đặt hàng
Ma khach hang
Mã khách hàng
Ho Jen
Tên khách hàng
Ma mat hang
Mã mặt hàng
Sojuong
Só lượng
Ten mat hang
Tên mặt hàng
Dia chi
Địa chỉ khách hàng
Ngay giaoJiang
Ngày giao hàng
Don gia
Đon giá (VNĐ)
Cách thứ hai'. Lập CSDL KINHJDOANH gồm ba bảng có cấu trúc tương ứng như sau: KHACHHANG
Tên trường
Mô tả
Khoá chính
Ma_khach_hang
Mã khách hàng
Hojen
Tên khách hàng
Dia chi
Địa chỉ
MAT_HANG
Tên trường
Mô tả
Khoá chính
Ma_mat_hang
Mã mặt hàng
$
Ten mat hang
Tên mặt hàng
Don gia
Đon giá (VNĐ)
HOA_DON
Tên trường
Mô tả
Khoá chính
So_don.
Số hiệu đon đặt hàng
ĩ
Ma khach hang
Mã khách hàng
Ma mat hang
Mã mặt hàng
Sojuong
Số lượng
Ngay giao hang
Ngày giao hàng
Khi phân tích việc lập CSDL theo hai cách trên, ta thấy so với cách thứ hai thì cách thứ nhất có những nhược điểm cần lưu ý sau:
Dư thừa dữ liệu (ví dụ mã khách hàng, tên khách hàng, địa chỉ khách hàng, mã mặt hàng, tên mặt hàng, đơn giá lặp lại trong các đơn hàng có số hiệu đơn khác nhau,...);
Không bảo đảm sự nhất quán của dữ liệu (ví dụ mã khách hàng, tên khách hàng và địa chỉ khách hàng của cùng một khách hàng ở những đơn hàng khác nhau có thể nhập khác nhau,...).
Cách thứ hai khắc phục được những nhược điểm này. Tuy nhiên, để có được thông tin tổng hợp (chẳng hạn liệt kê tên các loại mặt hàng đã được đặt hàng cùng số lần được đặt hàng) thì cần thông tin từ cả ba bảng, nói cách khác cần có liên kết giữa các bảng.
Kĩ thuật tạo liên kết giữa các báng
Sau khi đã xây dựng xong hai hay nhiều bảng, ta có thể chỉ ra mối liên kết giữa các bảng với nhau. Mục đích của việc này là để Access biết phải kết nối các bảng như thế nào khi kết xuất thông tin.
Các mối liên kết được thể hiện trong cửa sổ Relationships, mọi thao tác như xem, tạo, sửa, xoá liên kết đều được thực hiện trong cửa sổ này. Để mở cửa sổ này chọn Tools->Relationships... hoặc nháy nút .
Ta sẽ tìm hiểu cách tạo liên kết qua ví dụ CSDL KINH_DOANH nêu trong mục 1.
Các bảng và trường trong từng bảng tương ứng như sau:
KHACH_HANG: Ma_khach_hang, Hojen, Dia_chi.
MAT_HANG: Ma_mat_hang, Ten_mat_hang, Don_gia.
HOA_DON: So_don, Ma_khach_hang, Ma_mat_hang, Sojuong, Ngay_giao_hang.
Bảng KHACH_HANG và bảng HOA_DON đều có trường Ma_khach_hang. Ta dùng trường này để xác lập liên kết hai bảng theo các bước sau đây:
Mở CSDL KINH_DOANH.MDB. Nháy nút ““ trên thanh công cụ hoặc chọn
Tools-»Relationships...
Nháy nút ÊD hoặc nháy nút phải chuột vào vùng trống trong cửa sổ Relationships và chọn Show Table... trong bảng chọn tắt để mở hộp thoại Show Table (h. 47a) nếu nó chưa xuất hiện.
a)
b)
Hình 47. Tạo mối liên kết giữa các bảng
Trong hộp thoại Show Table chọn các bảng (HOAJDON, KHACH_HANG, MAT_HANG) bằng cách chọn tên bảng rồi nháy Add. Cuối cùng nháy Close để đóng cửa sổ Show Table.
Ta thấy các bảng vừa chọn xuất hiện trên cửa sổ Relationships (h. 47b) với các trường khoá chính của mỗi bảng được in đậm. Di chuyển các bảng sao cho hiển thị toàn bộ chúng trên cửa sổ.
Để thiết lập mối liên kết giữa bảng KHACH_HANG với bảng HOAJDON: kéo thả trường Ma_khachJiang của bảng'KHACH_HANG qua trường Ma_khach_hang của bảng HOAJDON. Hộp thoại Edit Relationships xuất hiện (h. 48).
Hình 48. Mô tả tính chất của liên kết
Trong hộp thoại Edit Relationships, nháy Create. Access tạo một đường nối giữa hai bảng để thể hiện mối liên kết.
Tương tự như vậy, ta có thể thiết lập liên kết giữa bảng MAT_HANG và bảng HOA_DON. Cuối cùng ta có sơ đồ liên kết như trên hình 49.
Hình 49. Sơ đồ liên kết
Nháy nút ES để đóng cửa sổ Relationships. Nháy Yes để lưu lại liên kết.