VII QUAN HỆ GIỮA CÁC BẢNG DỮ LIỆU QUAN HỆ GIỮA CÁC BẢNG DỮ LIỆU
2. ĐẶT QUAN HỆ BẰNG LỆNH SET RELATION ĐẶT QUAN HỆ BẰNG LỆNH SET RELATION
2. ĐẶT QUAN HỆ BẰNG LỆNH SET RELATION
LỆNH SET RELATIONLỆNH SET RELATION
- Nhiều trường hợp xử lý dữ liệu đòi hỏi phải tham khảo dữ liệu
- Nhiều trường hợp xử lý dữ liệu đòi hỏi phải tham khảo dữ liệu
có liên quan với nhau ở các bảng khác nhau, phải thiết lập mối
có liên quan với nhau ở các bảng khác nhau, phải thiết lập mối
quan hệ giữa chúng bằng lệnh SET RELATION. Khi đó, có một
quan hệ giữa chúng bằng lệnh SET RELATION. Khi đó, có một
cơ chế tự động lật các bản ghi của bảng dữ liệu khách tương ứng
cơ chế tự động lật các bản ghi của bảng dữ liệu khách tương ứng
với sự dịch chuyển bản ghi của bảng hiện thời (bảng chủ). Cơ
với sự dịch chuyển bản ghi của bảng hiện thời (bảng chủ). Cơ
chế này được hoạt động theo một mối "quan hệ" đã được xác
chế này được hoạt động theo một mối "quan hệ" đã được xác
định từ trước giữa bảng chủ và bảng khách
định từ trước giữa bảng chủ và bảng khách
- Cú pháp:
- Cú pháp:
SET RELATION
SET RELATION [<trường khóa 1> [<trường khóa 1> INTOINTO <số hiệu vùng 1>| <số hiệu vùng 1>|
<bí danh 1>] [,< trường khóa 2> INTO <bí danh 2> ...] [IN <số
<bí danh 1>] [,< trường khóa 2> INTO <bí danh 2> ...] [IN <số
hiệu vùng>| <bí danh>]
ĐỖ QUANG VINH - HUC
ĐỖ QUANG VINH - HUC 6767
- Ví dụ: Để quản lý bạn đọc trong thư việnVí dụ: Để quản lý bạn đọc trong thư viện
CLOSE ALL
CLOSE ALL
SELECT 2
SELECT 2
USE KHOSACH ALIA KS
USE KHOSACH ALIA KS
INDEX ON SDK TO CMSDK INDEX ON SDK TO CMSDK SELECT 1 SELECT 1 USE BANDOC USE BANDOC
SET RELATION TO SDK INTO KS
SET RELATION TO SDK INTO KS
BROWSE FIELDS SDK, HOTEN, KS.TENSACH,
BROWSE FIELDS SDK, HOTEN, KS.TENSACH,
NGAYMUON, SONGAYQH=DATE()-NGAYMUON-15
NGAYMUON, SONGAYQH=DATE()-NGAYMUON-15
CHÚ Ý KHI DÙNG LỆNH SET RELATIONCHÚ Ý KHI DÙNG LỆNH SET RELATION
- Nếu một trong hai bảng thay đổi cấu trúc, đặc biệt là trường
- Nếu một trong hai bảng thay đổi cấu trúc, đặc biệt là trường
quan hệ thì quan hệ vẫn được duy trì, vì thế có thể gây ra những
quan hệ thì quan hệ vẫn được duy trì, vì thế có thể gây ra những
kết quả sai
ĐỖ QUANG VINH -
ĐỖ QUANG VINH - HUC
ĐỖ QUANG VINH - HUC 6969
- Không dùng lệnh COPY TO, SORT ON, JOIN ... để tạo ra
- Không dùng lệnh COPY TO, SORT ON, JOIN ... để tạo ra
bảng kết quả mà bảng này là bảng khách
bảng kết quả mà bảng này là bảng khách
- Không nên dùng lệnh SUM, AVERAGE theo biểu thức nào đó
- Không nên dùng lệnh SUM, AVERAGE theo biểu thức nào đó
của bảng khách.
của bảng khách.
- Thường thiết lập quan hệ từ bảng có nhiều bản ghi trùng khoá
- Thường thiết lập quan hệ từ bảng có nhiều bản ghi trùng khoá
đến bảng mỗi khoá chỉ có 1 bản ghi duy nhất
đến bảng mỗi khoá chỉ có 1 bản ghi duy nhất
- Lập SET RELATION cho phép thiết lập mối quan hệ bắc cầu,
- Lập SET RELATION cho phép thiết lập mối quan hệ bắc cầu,
trong đó một bảng vừa là khách của quan hệ này, vừa là chủ
trong đó một bảng vừa là khách của quan hệ này, vừa là chủ
quan hệ khác.
quan hệ khác.
- Song, không được đặt quan hệ vòng
- Song, không được đặt quan hệ vòng
Ví dụ: A
ĐỖ QUANG VINH - HUC
ĐỖ QUANG VINH - HUC 7070
HUỶ BỎ MỐI QUAN HỆHUỶ BỎ MỐI QUAN HỆ
- Mở một quan hệ mới từ vùng hiện thời đến vùng khác sẽ cắt đứt
- Mở một quan hệ mới từ vùng hiện thời đến vùng khác sẽ cắt đứt
quan hệ của vùng hiện thời đã có với các vùng khác
quan hệ của vùng hiện thời đã có với các vùng khác
- Đứng ở vùng làm việc của bảng chủ ra lệnh SET RELATION TO
- Đứng ở vùng làm việc của bảng chủ ra lệnh SET RELATION TO
không có tham số
không có tham số
- Đóng các bảng
- Đóng các bảng