TRUY VẤN DỰA TRÊN NHIỀU BẢNG DỮ LIỆU

Một phần của tài liệu 2089_1478921466_giao_trinh_acess22 (Trang 35 - 37)

Để tạo truy vấn dựa trên nhiều bảng dữ liệu thì các bảng đó phải được thiết lập mối quan hệ, nếu các bảng không thiết lập mối quan hệ thì khi truy vấn dữ liệu access sẽ cho ra những bộ dữ liệu là tích Đề-Các giữa các bộ dữ liệu trong các bảng.

5.1. Liên kết các bảng trong truy vấn

Khi các bảng dữ liệu được thiết lập mối quan hệ thì trường nối với nhau gọi là trường liên kết, trong access phân biệt 3 loại liên kết sau

5.1.1. Liên kết nội (Inner join)

Đây là loại liên kết rất phổ biến nhất giữa 2 bảng dữ liệu. Trong đó dữ liệu khi thể hiện trên Dynaset sẽ gồm những bản ghi mà dữ liệu chứa trong trường liên kết ở hai bảng phải giống nhau hoàn toàn.

5.1.2. Liên kết ngoại (Outer join)

Đây là loại liên kết cho phép dữ liệu thể hiện trên Dynaset của một trong hai bảng tham gia có nội dung trường liên kết không giống nội dung trong trường tương ứng của bảng còn lại. Liên kết ngoại được chia làm hai loại

Left Outer Join: Trong kiểu liên kết này, dữ liệu ở bảng bên "1" thể hiện toàn bộ trên Dynaset và chỉ những bản ghi bên bảng "nhiều" có nội dung trong trường liên kết giống trường tương ứng bên bảng "1".

Right Outer Join: Trong kiểu liên kết này, dữ liệu ở bảng bên "nhiều" thể hiện toàn bộ trên Dynaset và chỉ những bản ghi bên bảng "1" có nội dung trong trường liên kết giống trường tương ứng bên bảng "nhiều".

5.1.3. Tự liên kết (Seft join)

Là kiểu liên kết của một bảng dữ liệu với chính nó. Trong đó một bản ghi trong bảng dữ liệu sẽ liên kết với những bản ghi khác trong bảng dữ liệu đó. Tự liên kết có thể hiểu như là liên kết nội hay liên kết ngoại từ một bảng vào một bảng sao chính nó. Để thực hiện việc tạo tự liên kết chúng ta phải đưa một bảng vào tham gia truy vấn 2 lần.

5.2.Tạo liên kết ngoại

Tools/Relationships

Double click vào đường liên kết giữa 2 bảng dữ liệu, chọn Join Type

Trong hộp thoại Join Properties chọn mục 2 hoặc mục 3.

5.3.Tạo một tự liên kết

Để tạo một tự liên kết chúng ta thực hiện

Tạo truy vấn mới và đưa bảng dữ liệu vào truy vấn 2 lần Tạo các liên kết

Ví dụ:

Cho bảng Dsdiem(Masv, Hoten, Diem_lan1, Diem_lan2)

Tạo truy vấn để hiển thị danh sách những sinh viên có điểm thi Lần 1 bằng điểm thi lần 2...

Tạo truy vấn mới và đưa bảng Dsdiem vào tham gia truy vấn 2 lần Tạo liên kết nội (Inner join) giữa 2 trường Masv

Tạo liên kết nội từ trường Diem_lan1 vào Diem_lan2 Đưa các trường vào vùng lưới QBE và xem kết quả

5.3. Tự động tìm kiếm dữ liệu (Auto lookup)

Khi nhập dữ liệu vào Dynaset, chức năng tự động tìm kiếm dữ liệu cho phép chúng ta chỉ nhập dữ liệu ở các trường của bảng bên "nhiều" (Ở quan hệ 1-) còn Acces sẽ tự động tìm kiếm dữ liệu tương ứng trên bảng "1" để hiển thị.

Chức năng Auto Lookup hoạt động trong các truy vấn mà hai bảng tham gia có mối quan hệ 1-.

Tạo một truy vấn có sử dụng chức năng Auto Lookup chúng ta thực hiện: Tạo truy vấn và đưa 2 bảng vào tham gia truy vấn

Đưa trường liên kết cuả bảng bên nhiều vào vùng lưới QBE Đưa các trường cần hiển thị dữ liệu của bảng bên "1".

Chú ý:Khi nhập dữ liệu chỉ nhập dữ liệu ở các trường của bảng "nhiều"

Một phần của tài liệu 2089_1478921466_giao_trinh_acess22 (Trang 35 - 37)

Tải bản đầy đủ (DOC)

(111 trang)
w