Bài 7: Liên kết giữa các bảng
1. Khái niệm
Trong CSDL, các bảng thường có liên quan đến nhau. Liên kết được tạo giữa các bảng, sẽ giúp Microsoft Access:
- Quản lý dữ liệu được hợp lý hơn;
- Bảo vệ các ràng buộc toàn vẹn của dữ liệu;
- Cho phép tổng hợp dữ liệu từ nhiều bảng.
2. Kỹ thuật tạo liên kết giữa các bảng
Ví dụ: Cho CSDL như trong 3 bảng dưới đây:
Bảng 1. Bảng KHACH_HANG
Bảng 2. Bảng MAT_HANG
Bảng 3. Bảng HOA_DON
Bước 1. Xác định trường để thiết lập liên kết
- KHACH_HANG: Ma_khach_hang, Ho_ten, Dia_chi
- MAT_HANG: So_don, Ma_khach_hang, Ma_hang, So_luong, Ngay_giao
- HOA_DON: Ma_hang, Ten_hang, Don_gia
Bước 2. Mở CSDL. Nháy nút hoặc chọn DatabaseTools -> Relationships để mở cửa sổ Relationships
Hình 1. Mở cửa sổ Relationships
Bước 3. Nháy nút hoặc nháy nút phải chuột vào vùng trống của sổ Relationships chọn ShowTable... trong bảng chọn tắt. Khi đó xuất hiện hộp thoại Show Table (hình 2):
Hình 2. Hộp thoại Show Table
- 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.
Bước 4. Thiết lập mối liên kết giữa các bảng
- Các bảng vừa chọn xuất hiện trên cửa sổ Relationships (hình 3).
Hình 3. Cửa sổ Relationships
- Kéo trường liên kết ở bảng khách hàng và thả vào trường tương ứng ở bảng hoá đơn.
- Tương tự thiết lập liên kết bảng hóa đơn và bảng mặt hàng.
3. Xóa liên kết giữa các bảng
Bước 5. Nháy nút để đóng cửa sổ Relationships. Nháy Yes để lưu lại liên kết.
Thực hiện theo các bước sau:
- Bước 1. Nháy chuột vào đường liên kết;
- Bước 2. Nhấn phím Delete trên bàn phím và chọn Yes;
- Bước 3. Chọn Save để lưu lại.
4. Sửa liên kết
Thực hiện theo các bước sau:
Bước 1. Nháy đúp vào đường nối thể hiện liên kết để mở hộp thoại Edit Relationships;
Bước 2. Thực hiện các thay đổi cần thiết. Chọn OK;
Bước 3. Chọn Save để lưu lại.
5. Câu hỏi
Em hãy cho biết các điều kiện cần thiết để liên kết 2 bảng với nhau?
Gợi ý trả lời:
Điều kiện liên kết giữa 2 bảng:
- Liên kết được thiết lập dựa trên thuộc tính khóa (Khóa chính hoặc khóa ngoại);
- Các trường dùng để liên kết giữa 2 bảng phải có cùng kiểu dữ liệu (Data Type).
1. Khái niệm
Trong CSDL, các bảng thường có liên quan đến nhau. Liên kết được tạo giữa các bảng, sẽ giúp Microsoft Access:
- Quản lý dữ liệu được hợp lý hơn;
- Bảo vệ các ràng buộc toàn vẹn của dữ liệu;
- Cho phép tổng hợp dữ liệu từ nhiều bảng.
2. Kỹ thuật tạo liên kết giữa các bảng
Ví dụ: Cho CSDL như trong 3 bảng dưới đây:
Bảng 1. Bảng KHACH_HANG
Bảng 2. Bảng MAT_HANG
Bảng 3. Bảng HOA_DON
Bước 1. Xác định trường để thiết lập liên kết
- KHACH_HANG: Ma_khach_hang, Ho_ten, Dia_chi
- MAT_HANG: So_don, Ma_khach_hang, Ma_hang, So_luong, Ngay_giao
- HOA_DON: Ma_hang, Ten_hang, Don_gia
Bước 2. Mở CSDL. Nháy nút hoặc chọn DatabaseTools -> Relationships để mở cửa sổ Relationships
Hình 1. Mở cửa sổ Relationships
Bước 3. Nháy nút hoặc nháy nút phải chuột vào vùng trống của sổ Relationships chọn ShowTable... trong bảng chọn tắt. Khi đó xuất hiện hộp thoại Show Table (hình 2):
Hình 2. Hộp thoại Show Table
- 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.
Bước 4. Thiết lập mối liên kết giữa các bảng
- Các bảng vừa chọn xuất hiện trên cửa sổ Relationships (hình 3).
Hình 3. Cửa sổ Relationships
- Kéo trường liên kết ở bảng khách hàng và thả vào trường tương ứng ở bảng hoá đơn.
- Tương tự thiết lập liên kết bảng hóa đơn và bảng mặt hàng.
3. Xóa liên kết giữa các bảng
Bước 5. Nháy nút để đóng cửa sổ Relationships. Nháy Yes để lưu lại liên kết.
Thực hiện theo các bước sau:
- Bước 1. Nháy chuột vào đường liên kết;
- Bước 2. Nhấn phím Delete trên bàn phím và chọn Yes;
- Bước 3. Chọn Save để lưu lại.
4. Sửa liên kết
Thực hiện theo các bước sau:
Bước 1. Nháy đúp vào đường nối thể hiện liên kết để mở hộp thoại Edit Relationships;
Bước 2. Thực hiện các thay đổi cần thiết. Chọn OK;
Bước 3. Chọn Save để lưu lại.
5. Câu hỏi
Em hãy cho biết các điều kiện cần thiết để liên kết 2 bảng với nhau?
Gợi ý trả lời:
Điều kiện liên kết giữa 2 bảng:
- Liên kết được thiết lập dựa trên thuộc tính khóa (Khóa chính hoặc khóa ngoại);
- Các trường dùng để liên kết giữa 2 bảng phải có cùng kiểu dữ liệu (Data Type).