Trong CSDL quan hệ bằng cách nào để tạo liên kết giữa các bảng
Xem toàn bộ tài liệu Lớp 12: tại đâyGiải Bài Tập Tin Học 12 – Bài 7: Liên kết giữa các bảng giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông: Xem thêm các sách tham khảo liên quan:
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 cho phép tổng hợp dữ liệu từ nhiều bảng • Có hai cách lập CSDL: + Cách 1: 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 + Cách 2: Lập CSDL thành các bảng với các cấu trúc tương ứng. • Lưu ý: cách thứ nhất có những nhược điểm sau: + Dư thừa dữ liệu + Không đảm bảo sự nhất quán 2. Kỹ thuật tạo liên kết giữa các bảng • Ta có thể chỉ ra mối liên kết giữa các bảng với nhau nhằm để 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, các thao tác: xem, tạo, sửa, xoá được thực hiện ở đây. Database Tools → Relationships • Ví dụ: cho CSDL như trong 3 bảng dưới đây: KHACH_HANG • 1. Mở Database Tools → Relationships • 2. Chọn các bảng: HOA_DON, MAT_HANG, KHACH_HANG rồi nhấn Add. • 3. Thiết lập mối liên kết giữa các bảng Kéo thả trường Ma_khach_hang trong bang KHACH_HANG qua trường Ma_khach_hang của bảng HOA_DON • 4. Trong hộp thoại Edit Relationships, nháy Create.
• 5. Tương tự ta thiết lập các bảng còn lại, kết quả: + 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.
• 6. Nháy nút để đóng cửa sổ Relationships. Nháy Yes để lưu lại liên kết.IF=(AVERAGE(30,40,50)=35),40,50)= (Tin học - Lớp 11) 1 trả lời Với n là số nguyên nhập vào từ bàn phím (Tin học - Lớp 7) 2 trả lời Mã hoá hai số là 11 và 15 (Tin học - Lớp 6) 3 trả lời Mã hóa các số sau: 11 ; 15 (Tin học - Lớp 6) 3 trả lời Bạn sử dụng tạo đoạn video trên Youtube? (Tin học - Lớp 3) 1 trả lời Mối quan hệ trong Access giúp bạn kết hợp dữ liệu từ hai bảng khác nhau. Mỗi mối quan hệ bao gồm các trường trong hai bảng và dữ liệu tương ứng. Ví dụ: bạn có thể có trường ID_sản_phẩm trong bảng Sản_phẩm và trong bảng Chi_tiết_đơn_hàng. Mỗi bản ghi trong bảng Chi_tiết_đơn_hàng đều có một ID_sản_phẩm tương ứng với một bản ghi trong bảng Sản_phẩm có cùng ID_sản_phẩm. Khi bạn sử dụng các bảng liên quan trong truy vấn, mối quan hệ này sẽ cho phép Access xác định xem cần kết hợp bản ghi nào của mỗi bảng trong tập kết quả. Mối quan hệ cũng có thể giúp ngăn việc thiếu dữ liệu bằng cách luôn đồng bộ dữ liệu đã xóa, đây được gọi là tính toàn vẹn tham chiếu. Trước khi làm việc với mối quan hệ, hãy đảm bảo rằng bạn hiểu rõ các khái niệm cơ bản. Để biết thêm thông tin, xem mục Hướng dẫn về mối quan hệ bảng và Bắt đầu với mối quan hệ bảng. Trong cơ sở dữ liệu Access, bạn tạo mối quan hệ bảng bằng cách sử dụng một trong các phương pháp sau:
Khi bạn tạo mối quan hệ giữa các bảng, trường chung không bắt buộc phải có tên giống nhau mặc dù bình thường vẫn yêu cầu như vậy. Các trường chung phải có cùng loại dữ liệu. Tuy nhiên, nếu trường khóa chính là trường Số_tự_động thì trường khóa ngoại cũng có thể là trường Số nếu thuộc tính FieldSize của cả hai trường giống nhau. Ví dụ: Bạn có thể khớp trường Tự động Đánh số và một trường Số nếu thuộc tính Kích thước Trường của cả hai trường là Số nguyên Dài. Khi cả hai trường chung đều là trường Số, chúng phải có cùng một thiết đặt thuộc tính Kích thước Trường. Đầu trang
Đầu trang Bạn có thể thêm trường vào bảng hiện có đang mở trong Dạng xem biểu dữ liệu bằng cách kéo trường từ ngăn Danh sách trường. Ngăn Danh sách trường hiển thị các trường khả dụng trong những bảng liên quan và cả các trường khả dụng trong những bảng khác thuộc cơ sở dữ liệu. Khi bạn kéo một trường từ một bảng (không liên quan) "khác" rồi hoàn thành Trình hướng dẫn Tra cứu, một mối quan hệ một-nhiều mới sẽ tự động được tạo ra giữa bảng trong ngăn Danh sách Trường và bảng mà từ đó bạn đã kéo trường. Theo mặc định, mối quan hệ do Access tạo ra này sẽ không thực thi tính toàn vẹn tham chiếu. Để thực thi tính toàn vẹn tham chiếu, bạn phải chỉnh sửa mối quan hệ. Xem mục Chỉnh sửa mối quan hệ để biết thêm thông tin.
Ngăn Danh sách trường hiển thị tất cả bảng còn lại trong cơ sở dữ liệu của bạn, được nhóm thành các danh mục. Khi bạn làm việc với bảng ở Dạng xem biểu dữ liệu, Access sẽ hiển thị các trường ở một trong hai danh mục thuộc ngăn Danh sách trường: Trường khả dụng trong các bảng liên quan và Trường khả dụng trong các bảng khác. Danh mục đầu tiên liệt kê toàn bộ bảng có mối quan hệ với bảng mà hiện tại bạn đang dùng. Thể loại thứ hai liệt kê tất cả các bảng mà bảng của bạn không có quan hệ. Trong ngăn Danh sách Trường, khi ban bấm vào dấu cộng (+) bên cạnh tên bảng, bạn sẽ nhìn thấy danh sách của tất cả các trường sẵn dùng trong bảng đó. Để thêm trường vào bảng của bạn, hãy kéo trường mà bạn muốn từ ngăn Danh sách Trường sang bảng trong dạng xem Biểu dữ liệu.
Khi bạn kéo một trường từ một bảng (không liên quan) "khác" rồi hoàn thành Trình hướng dẫn Tra cứu, một mối quan hệ một-nhiều mới sẽ tự động được tạo ra giữa các bảng trong Danh sách Trường và bảng mà từ đó bạn đã kéo trường. Theo mặc định, mối quan hệ do Access tạo ra này sẽ không thực thi tính toàn vẹn tham chiếu. Để thực thi tính toàn vẹn tham chiếu, bạn phải chỉnh sửa mối quan hệ. Xem mục Chỉnh sửa mối quan hệ để biết thêm thông tin. Đầu trang Bạn thay đổi mối quan hệ bằng cách chọn mối quan hệ đó trong cửa sổ Mối quan hệ, rồi chỉnh sửa.
Hộp thoại Chỉnh sửa mối quan hệ xuất hiện.
Khi bạn xác định một mối quan hệ bảng, thông tin về mối quan hệ thông báo thiết kế truy vấn của bạn. Ví dụ: nếu bạn xác định mối quan hệ giữa hai bảng rồi tạo truy vấn sử dụng các bảng đó thì Access sẽ tự động chọn các trường khớp mặc định dựa trên các trường đã được chỉ định trong mối quan hệ. Bạn có thể ghi đè những giá trị mặc định ban đầu này trong truy vấn của bạn nhưng những giá trị do mối quan hệ cung cấp thường chứng tỏ chúng là giá trị đúng. Vì việc khớp và gắn kết các dữ liệu lại với nhau từ nhiều bảng là việc bạn sẽ làm thường xuyên nhất trong tất cả các cơ sở dữ liệu ngoại trừ cơ sở dữ liệu đơn giản nhất, nên việc đặt mặc định bằng cách tạo các mối quan hệ có thể có lợi và tiết kiệm được thời gian. Truy vấn nhiều bảng kết hợp thông tin từ nhiều bảng bằng cách khớp các giá trị trong những trường chung. Thao tác khớp và kết hợp được gọi là một kết nối. Ví dụ: giả sử bạn muốn hiển thị đơn hàng của khách hàng. Bạn tạo ra một truy vấn nối bảng Khách hàng và bảng Đơn hàng trên trường ID của Khách hàng. Kết quả truy vấn chứa thông tin của khách hàng và thông tin về đơn hàng chỉ đối với những hàng tìm thấy sự trùng khớp tương ứng. Một trong những giá trị bạn có thể xác định cho mỗi mối quan hệ là kiểu nối. Loại liên kết sẽ cho Access biết cần đưa bản ghi nào vào kết quả truy vấn. Ví dụ: hãy xem xét lại một truy vấn liên kết bảng Khách_hàng và bảng Đơn_hàng trên các trường chung thể hiện ID Khách hàng. Dùng kiểu nối mặc định (được gọi là nối bên trong), truy vấn chỉ trả về các hàng Khách hàng và hàng Đơn hàng có trường chung (cũng được gọi là trường đã nối) bằng nhau. Tuy nhiên, giả sử bạn muốn bao gồm tất cả Khách hàng — ngay cả những người chưa đặt bất kỳ đơn hàng nào. Để thực hiện việc này, bạn phải thay đổi loại liên kết từ nối trong thành nối ngoài bên trái. Nối ngoài bên trái sẽ trả về mọi hàng trong bảng ở bên trái của mối quan hệ và chỉ những hàng khớp trong bảng ở bên phải. Nối ngoài bên phải trả về tất cả các hàng bên phải và chỉ những hàng trùng khớp bên trái.
Lưu ý: Trong trường hợp này, "trái" và "phải" tham chiếu đến vị trí của bảng trong hộp thoại Sửa Quan hệ chứ không phải cửa sổ Quan hệ. Bạn nên suy nghĩ về kết quả bạn thường muốn có nhất từ một truy vấn nối các bảng trong mối quan hệ này rồi đặt kiểu nối cho phù hợp.
Bảng sau đây (sử dùng bảng Khách_hàng và Đơn_hàng) cho thấy ba lựa chọn được hiển thị trong hộp thoại Thuộc tính liên kết, loại liên kết được sử dụng và liệu mọi hàng hay hàng khớp có được trả về từng cho bảng không.
Khi bạn chọn tùy chọn 2 hoặc tùy chọn 3, mũi tên sẽ xuất hiện trên đường quan hệ. Mũi tên này chỉ về phía mối quan hệ chỉ hiện hàng khớp nhau.
Đầu Trang Mục đích của tính toàn vẹn tham chiếu là để ngăn bản ghi mồ côi – bản ghi tham chiếu đến các bản ghi khác không còn tồn tại. Bạn thực thi tính toàn vẹn tham chiếu bằng cách kích hoạt tính toàn vẹn trong mối quan hệ bảng. Khi được thực thi, Access sẽ từ chối mọi thao tác vi phạm tính toàn vẹn tham chiếu của mối quan hệ bảng đó. Điều này có nghĩa là Access sẽ từ chối cả các nội dung cập nhật làm thay đổi mục tiêu tham chiếu, lẫn những nội dung xóa làm loại bỏ mục tiêu tham chiếu. Để Access phát tán các nội dung cập nhật và nội dung xóa tham chiếu sao cho mọi hàng liên quan thay đổi tương ứng, hãy xem mục Đặt tùy chọn xếp tầng.
Nếu bạn thực thi tính toàn vẹn tham chiếu, các quy tắc sau đây sẽ được áp dụng:
Bạn có thể gặp tình huống với nhu cầu chính đáng cần thay đổi giá trị ở bên "một" của mối quan hệ. Trong trường hợp đó, bạn cần Access tự động cập nhật tất cả hàng bị ảnh hưởng trong một thao tác đơn. Như vậy thì việc cập nhật sẽ được hoàn thành đầy đủ để cơ sở dữ liệu của bạn không rơi vào tình trạng thiếu nhất quán — với một số hàng được cập nhật còn một số hàng thì không. Access giúp bạn tránh được vấn đề này bằng cách hỗ trợ tùy chọn Cập nhật xếp tầng các trường liên quan. Khi bạn thực thi tính toàn vẹn tham chiếu, chọn tùy chọn Cập nhật xếp tầng các trường liên quan, rồi cập nhật một khóa chính, Access sẽ tự động cập nhật mọi trường tham chiếu đến khóa chính đó. Bạn cũng có thể cần xóa một hàng và tất cả bản ghi liên quan — ví dụ: bản ghi Công ty vận tải và tất cả đơn hàng liên quan đến công ty vận tải đó. Vì lý do này, Access hỗ trợ tùy chọn Xóa xếp tầng các bản ghi liên quan. Khi bạn thực thi tính toàn vẹn tham chiếu và chọn hộp kiểm Xóa xếp tầng các bản ghi liên quan, Access sẽ tự động xóa mọi bản ghi tham chiếu đến khóa chính khi bạn xóa bản ghi có chứa khóa chính đó.
Lưu ý: Nếu khóa chính là một trường Tự động Đánh số, thì việc chọn hộp kiểm Cập nhật Xếp tầng Trường Liên quan sẽ không có hiệu quả gì vì bạn không thể thay đổi giá trị trong trường Tự động Đánh số. Đầu Trang
Quan trọng: Khi loại bỏ một mối quan hệ, bạn cũng loại bỏ sự hỗ trợ tính toàn vẹn tham chiếu của mối quan hệ đó, nếu đã kích hoạt. Kết quả là Access sẽ không còn tự động ngăn việc tạo bản ghi mồ côi ở bên "nhiều" của mối quan hệ. Để loại bỏ mối quan hệ bảng, bạn phải xóa đường mối quan hệ trong cửa sổ Mối quan hệ. Đặt con trỏ để trỏ đến đường mối quan hệ, rồi bấm vào đường đó. Đường mối quan hệ sẽ trông dày hơn khi được chọn. Với đường quan hệ đã chọn, hãy bấm phím XÓA BỎ.
Lưu ý: Nếu một trong hai bảng được triển khai trong mối quan hệ bảng đang được sử dụng — có thể do một người hay quy trình khác hoặc ở trong đối tượng cơ sở dữ liệu đang mở, chẳng hạn như biểu mẫu — bạn sẽ không thể xóa mối quan hệ này. Bạn phải đóng mọi đối tượng đang mở và có sử dụng những bảng này trước khi tìm cách loại bỏ mối quan hệ. Đầu trang
Có những sự khác biệt quan trọng khi làm việc với mối quan hệ trong ứng dụng Access trên web.
Cửa sổ Mối quan hệ không sẵn dùng trong ứng dụng Access trên web. Thay vì tạo một mối quan hệ trong ứng dụng web Access, bạn tạo trường tra cứu, trường này lấy giá trị từ một trường liên quan trong bảng khác. Ví dụ: giả sử bạn có một bảng Nhân viên và bạn muốn thêm tra cứu vào bảng Vùng để có thể hiển thị khu vực làm việc của từng nhân viên.
Lưu ý: Trường tra cứu của bạn sẽ dùng làm nguồn giá trị phải tồn tại trước khi bạn có thể tạo trường tra cứu. Sau đây là cách bạn tạo trường tra cứu trong ứng dụng Access trên web:
Cửa sổ Mối quan hệ không có sẵn trong các ứng dụng Access trên web. Bạn sử dụng trường trong một bảng làm nguồn (trường tra cứu) cho các giá trị trong trường có liên quan trong một bảng khác.
Cửa sổ Mối quan hệ không sẵn dùng trong ứng dụng Access trên web. Bạn sử dụng trường trong một bảng làm nguồn (trường tra cứu) cho các giá trị trong trường có liên quan ở một bảng khác. Để xóa mối quan hệ giữa hai bảng trong ứng dụng Access trên web, bạn cần xóa trường tra cứu và dữ liệu liên kết của trường đó.
Đầu trang
Để tạo mối quan hệ trong cơ sở dữ liệu web của Access 2010, bạn cần sử dụng Trình hướng dẫn Tra cứu. Cửa sổ Mối quan hệ không khả dụng trong cơ sở dữ liệu web. Bạn sử dụng trường trong một bảng làm nguồn cho các giá trị trong trường liên quan ở một bảng khác.
Lưu ý: Bạn phải có sẵn trường dùng làm nguồn giá trị thì mới sử dụng được Trình hướng dẫn Tra cứu.
Đầu trang Thêm trường tra cứu vào bảng Apakah tetingkap Perhubungan? So sánh hai bảng trong Access và chỉ tìm dữ liệu khớp |