Bài 7: Liên Kết Giữa Các Bảng | Tin Học 12 | Chương II: Hệ Quản Trị Cơ Sở Dữ Liệu Microsoft Access - Lớp 12 - Giáo Dục Việt Nam

Tin học 12 - Bài 7


1. 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ả Khóa chính
So_don Số hiệu đơn đã đặt hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-0
Ma_khach_hang Mã khách hàng  
Ho_ten Tên khách hàng  
Ma_mat_hang Mã mặt hàng  
So_luong Số lượng  
Ten_mat_hang Tên mặt hàng  
Dia_chi Địa chỉ khách hàng  
Ngay_giao_hang Ngày giao hàng  
Don_gia Đơn giá (VNĐ)  

Cách thứ hai: Lập CSDL KINH_DOANH gồm ba bảng có cấu trúc tương ứng như sau:

KHACH_HANG

Tên trường Mô tả Khóa chính
Ma_khach_hang Mã khách hàng hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-1
Ho_ten Tên khách hàng  
Dia_chi Địa chỉ  

MAT_HANG

Tên trường Mô tả Khóa chính
Ma_mat_hang Mã mặt hàng hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-2
Ten_mat_hang Tên mặt hàng  
Don_gia Đơn giá (VNĐ)  

HOA_DON

Tên trường Mô tả Khóa chính
So_don Số hiệu đơn đặt hàng hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-3
Ma_khach_hang Mã khách hàng  
Ma_mat_hang Mã mặt hàng  
So_luong 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.

2. 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 hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-4.

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 I. Các bảng và trường trong từng bảng tương ứng như sau:

  • KHACH_HANG: Ma_khach_hang, Ho_ten, Dia_chi.
  • MAT_HANG: Ma_mat_hang, Ten_mat_hang, Don_gia.
  • HOA_DON: So_don, Ma_khach_hang, Ma_mat_hang, So_luong, 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:

1. Mở CSDL KINH_DOANH.MDB. Nháy nút hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-5

trên thanh công cụ hoặc chọn Tools Relationships...

2. Nháy nút hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-6 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.

hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-7

a)

hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-8

b)

Hình 47. Tạo mối liên kết giữa các bảng

3. Trong hộp thoại Show Table chọn các bảng (HOA_DON, 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 .

4. 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ổ.

5. Để thiết lập mối liên kết giữa bảng KHACH_HANG với bảng HOA_DON: kéo thả trường Ma_khach_hang của bảng KHACH_HANG qua trường Ma_khach_hang của bảng HOA_DON. Hộp thoại Edit Relationships xuất hiện (h. 48).

hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-9

Hình 48. Mô tả tính chất của liên kết

6. 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.

7. 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.

hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-10

Hình 49. Sơ đồ liên kết

Nháy nút hinh-anh-bai-7-lien-ket-giua-cac-bang-3096-11 để đóng cửa sổ Relationships. Nháy Yes để lưu lại liên kết.

 

Tin tức mới


Đánh giá

Bài 7: Liên Kết Giữa Các Bảng | Tin Học 12 | Chương II: Hệ Quản Trị Cơ Sở Dữ Liệu Microsoft Access - Lớp 12 - Giáo Dục Việt Nam

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin Học 12

  1. Chương I: Khái Niệm Về Hệ Cơ Sở Dữ Liệu
  2. Chương II: Hệ Quản Trị Cơ Sở Dữ Liệu Microsoft Access
  3. Chương III: Hệ Cơ Sở Dữ Liệu Quan Hệ
  4. Chương IV: Kiến Trúc Và Bảo Mật Các Hệ Cơ Sở Dữ Liệu
  5. Phụ Lục

Tin tức mới

Bộ Sách Lớp 12

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Bài Giải

Bài giải cho các sách giáo khoa, sách bài tập

Sách Giáo Dục Việt Nam

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.