Bạn có thể giữ cho cơ sở dữ liệu Microsoft Access của bạn được sắp xếp khoa học và dễ quản lý bằng cách lưu trữ định kỳ các bản ghi cũ hoặc không hoạt động. Bạn có thể lưu trữ tất cả các bảng trong cơ sở dữ liệu, các bảng cụ thể hoặc chỉ các bản ghi cụ thể — ví dụ: các bản ghi cũ hơn một ngày cụ thể. Chủ đề này giải thích cách sử dụng ba tùy chọn khác nhau để lưu trữ dữ liệu trong cơ sở dữ liệu Access.
Trong bài viết này
- Khi nào bạn nên cân nhắc việc lưu trữ?
- Thay thế bảng theo định kỳ
- Thay thế định kỳ tất cả các bảng
- Di chuyển bản ghi theo định kỳ vào bảng lưu trữ
Khi nào bạn nên cân nhắc việc lưu trữ?
Khi một cơ sở dữ liệu trên máy tính của bạn chứa dữ liệu mà bạn không định dùng nữa, nhưng bạn muốn giữ dữ liệu đó sẵn sàng phòng trường hợp bạn cần nó vào một thời điểm nào đó hoặc để đáp ứng một chính sách lưu giữ dữ liệu, thì lưu trữ là một cách hay để lưu giữ những dữ liệu đó. Lưu trữ cũng thường được sử dụng để giữ dữ liệu dựa trên một điều kiện ngày, chẳng hạn như vào cuối tháng.
Các cách lưu trữ dữ liệu
Bảng sau liệt kê các phương pháp lưu trữ dữ liệu, mô tả về phương pháp, giải thích khi nào bạn nên sử dụng từng phương pháp và những cân nhắc cụ thể khác cho phương pháp này.
| Phương pháp | Mô tả | Sử dụng khi... | Những cân nhắc khác |
|---|---|---|---|
| Thay thế bảng theo định kỳ | Định kỳ tạo một bản sao lưu trữ của một bảng cụ thể và thay thế bảng đó bằng bản sao bảng mới, trống. | Tất cả các bản ghi trong bảng đều đáp ứng các điều kiện mà bạn sử dụng để xác định có lưu trữ hay không. VÍ DỤ: Bạn có một bảng lưu trữ nhiệt độ cực đoan hàng ngày. Hàng năm, bạn lưu trữ bảng và bắt đầu lại với một bảng trống. |
|
| Thay thế định kỳ tất cả các bảng | Hãy định kỳ tạo bản sao lưu trữ của cơ sở dữ liệu phía sau, rồi thay thế cơ sở dữ liệu phụ trợ bằng một bản sao trống mới. Yêu cầu cơ sở dữ liệu tách (cơ sở dữ liệu bao gồm: tệp cơ sở dữ liệu phần phụ trợ chứa tất cả các bảng và tệp cơ sở dữ liệu phần đầu chứa tất cả các đối tượng cơ sở dữ liệu khác). | Tất cả các bản ghi ở hầu hết các bảng trong cơ sở dữ liệu đều đáp ứng điều kiện bạn sử dụng để xác định có lưu trữ hay không. VÍ DỤ: Cơ sở dữ liệu của bạn bao gồm một số bảng với các loại dữ liệu khí tượng khác nhau. Mỗi năm, bạn lưu trữ tất cả các bảng. |
|
| Di chuyển bản ghi theo định kỳ vào bảng lưu trữ | Chạy định kỳ một truy vấn chọn các bản ghi cần lưu trữ, rồi thêm dữ liệu vào bảng lưu trữ, sau đó bạn chạy truy vấn để chọn các bản ghi tương tự (từ bảng gốc) và xóa chúng. | Một số bản ghi trong bảng đáp ứng điều kiện bạn sử dụng để xác định có lưu trữ hay không. VÍ DỤ: Bạn muốn lưu trữ các giao dịch thư viện (kiểm xuất) nếu Ngày Kiểm nhập ít nhất là một năm. |
Cảnh báo: Nếu bạn cần sử dụng tham số trong truy vấn của mình, bạn nên tạo một biểu mẫu để xử lý tham số. Nếu không, bạn có nguy cơ bị mất dữ liệu. |
Làm việc xung quanh tính toàn vẹn tham chiếu
Nếu các bản ghi bạn muốn lưu trữ có liên quan đến các bản ghi trong bảng khác, bạn có thể phải tránh mối quan hệ đó. Nếu các bản ghi bạn muốn lưu trữ là các bản ghi "con" (chúng thuộc phía "nhiều" trong mối quan hệ một-nhiều), thì bạn có thể lưu trữ chúng một cách an toàn mà không cần lo lắng. Nếu các bản ghi bạn muốn lưu trữ là các bản ghi "mẹ" (chúng thuộc về phía "một" trong mối quan hệ một-nhiều), khi bạn lưu trữ chúng, các bản ghi "con" có liên quan có thể:
- Ngăn không cho bạn xóa bản ghi "mẹ". Điều này có thể gây ra sự cố nếu bạn đã chắp thêm bản ghi "mẹ" vào bảng lưu trữ.
- Hoặc -
- Trở thành "mồ côi" - bản ghi thuộc về "cha mẹ" không tồn tại. Điều này có thể gây ra vấn đề về tính toàn vẹn dữ liệu và chức năng trong cơ sở dữ liệu sử dụng bản ghi "mồ côi".
Để giải thích tính toàn vẹn tham chiếu, hãy thực hiện các bước sau đây:
Xác định những bản ghi "con" nào thuộc về các bản ghi mà bạn muốn lưu trữ. Ví dụ, để lưu trữ bản ghi của tài sản được cho mượn tại thư viện, trước tiên hãy xác định xem liệu có bất kỳ giao dịch nào đang mở trên các tài sản đó hay không, tức là liệu tài sản đã được kiểm xuất nhưng chưa được trả lại hay chưa.
Thực hiện một trong những thao tác sau:
- Nếu bản ghi "con" luôn có thể được xóa một cách an toàn, hãy đảm bảo rằng mối quan hệ đó thực thi tính toàn vẹn tham chiếu, với các xóa xếp tầng. Điều này đảm bảo rằng tất cả các bản ghi "con" liên quan sẽ bị xóa.
- Nếu không thể xóa an toàn các bản ghi "con", hãy cân nhắc việc lưu trữ tất cả các bảng trong cơ sở dữ liệu.
- Tạo truy vấn chọn các bản ghi "mẹ" không có bản ghi "con". Sau đó, sử dụng truy vấn đầu tiên đó để tạo các truy vấn lưu trữ của bạn (xem phần Định kỳ di chuyển bản ghi vào bảng lưu trữ) thay vì sử dụng bảng "mẹ".
Thay thế bảng theo định kỳ
Nếu bạn muốn lưu trữ tất cả dữ liệu trong một bảng, bạn có thể thay thế bảng đó bằng một bản sao trống theo định kỳ.
Quan trọng
Nếu bảng bạn lưu trữ có liên quan đến các bảng khác, bạn có thể cần phải xử lý tính toàn vẹn tham chiếu.
Trong Ngăn Dẫn hướng, chọn các bảng bạn muốn lưu trữ, nhấn CTRL+C, rồi nhấn CTRL+V.
Trong hộp thoại Dán Bảng Dưới dạng , bên dưới Tùy chọn Dán, chọn Chỉ cấu trúc, rồi bấm OK.
Access đặt tên bản sao làm Bản sao của tên bảng gốc.
Trong Ngăn Dẫn hướng, bấm chuột phải vào bảng ban đầu, rồi bấm Đổi tên trên menu lối tắt.
Đặt một tên khác cho bảng để cho biết nội dung trong bảng, chẳng hạn như "DailyTemperatureExtremes_archive_2019".
Trong Ngăn Dẫn hướng, bấm chuột phải vào bản sao trống, rồi bấm Đổi tên trên menu lối tắt. Đổi tên bảng bằng tên bảng ban đầu.
Thay thế định kỳ tất cả các bảng
Nếu bạn sử dụng cơ sở dữ liệu tách, bạn có thể thay thế định kỳ tất cả các bảng bằng cách thay thế cơ sở dữ liệu phụ trợ bằng một bản sao trống.
Để thực hiện điều này, trước tiên hãy chuẩn bị bản sao trống. Trừ khi thiết kế cơ sở dữ liệu của bạn thay đổi, bạn có thể sử dụng lại bản sao trống này mỗi lần lưu trữ. Để lưu trữ, chỉ cần đổi tên cơ sở dữ liệu phụ trợ hiện có để cho biết rằng đây là cơ sở dữ liệu lưu trữ, rồi lưu bản sao trống dưới dạng cơ sở dữ liệu phụ trợ mới.
Chuẩn bị một bản sao trống của cơ sở dữ liệu phụ trợ
Trước tiên, nhập định nghĩa bảng cho tất cả các bảng trong cơ sở dữ liệu phía sau.
- Trên tab Tệp , bấm Mới, chọn Cơ sở dữ liệu trống, rồi bấm Tạo.
- Đóng Bảng1.
- Trên tab Dữ liệu Bên ngoài , trong nhóm Nhập & Nối kết , bấm vào Access.
- Trong hộp thoại Lấy Dữ liệu Bên ngoài – Cơ sở dữ liệu Access , chọn Nhập bảng, truy vấn, biểu mẫu, báo cáo, macro và mô-đun vào cơ sở dữ liệu hiện tại, rồi bấm Duyệt.
- Trong hộp thoại Mở Tệp , hãy chọn cơ sở dữ liệu phụ trợ. Bấm Mở để đóng hộp thoại Mở Tệp , rồi bấm OK.
- Trong hộp thoại Nhập Đối tượng , bấm Tùy chọn.
- Bên dưới Nhập Bảng, chọn Chỉ định nghĩa.
- Trên tab Bảng , bấm Chọn Tất cả, bấm OK, rồi bấm Đóng.
Thêm dữ liệu vào bất cứ bảng tra cứu nào trong bản sao trống
Đối với mỗi bảng tra cứu, hãy thực hiện các bước sau đây:
- Nối kết đến bảng tra cứu trong cơ sở dữ liệu phía sau hiện có.
- Tạo truy vấn chắp thêm để thêm tất cả các bản ghi từ bản gốc vào bản sao.
Thay thế cơ sở dữ liệu phụ trợ bằng một bản sao trống
Bước một, hãy đổi tên cơ sở dữ liệu phụ trợ hiện có để cho biết rằng cơ sở dữ liệu này hiện là một kho lưu trữ. Sau đó, mở bản sao trống, rồi lưu nó bằng cách sử dụng tên cơ sở dữ liệu phụ trợ ban đầu.
- Bấm vào tab Tệp , rồi bấm vào Lưu Cơ sở dữ liệu Như. Bạn có thể được nhắc đóng tất cả các đối tượng đang mở; nếu có, hãy bấm OK. Hộp thoại Lưu Như mở ra.
- Trong hộp Lưu vào (ở đầu hộp thoại Lưu Như ), hãy đảm bảo rằng bạn đang lưu tệp trong cùng một vị trí với cơ sở dữ liệu phụ trợ ban đầu.
- Trong hộp Tên Tệp , hãy nhập tên của cơ sở dữ liệu phụ trợ ban đầu.
- Trong hộp Lưu dưới dạng , hãy chọn Cơ sở dữ liệu Access (*.accdb).
Di chuyển bản ghi theo định kỳ vào bảng lưu trữ
Quy trình này là bốn bước đòi hỏi phải tạo một bản sao trống cho bảng có chứa các bản ghi bạn muốn lưu trữ, tạo truy vấn chắp thêm để sao chép các bản ghi từ bảng gốc vào bảng lưu trữ, tạo truy vấn xóa để loại bỏ các bản ghi đã lưu trữ khỏi bảng gốc và cuối cùng là tạo một macro để chạy cả hai truy vấn có thể chạy khi bạn muốn lưu trữ. Quy trình tưởng chừng phức tạp này có thể dễ dàng nếu bạn làm theo các bước theo thứ tự được trình bày bên dưới:
Bước 2: Tạo truy vấn chắp thêm để sao chép dữ liệu vào bảng lưu trữ
Bước 3: Tạo một truy vấn xóa để loại bỏ dữ liệu khỏi bảng gốc
Bước 4: Tạo macro để chạy cả truy vấn chắp thêm và xóa
Bước 1: Tạo bảng lưu trữ
Để giữ tất cả các bản ghi được lưu trữ của bạn trong một bảng, hãy thực hiện bước này một lần. Bảng lưu trữ mà bạn tạo trong bước này sẽ chứa tất cả các bản ghi được lưu trữ của bạn.
Để xóa bảng lưu trữ cũ của bạn khi bạn tạo một bảng mới, thay vì thực hiện bước này, bạn có thể sử dụng truy vấn tạo bảng để sao chép dữ liệu vào bảng lưu trữ của bạn. Để thực hiện thao tác này, chuyển đến Bước 2.
Để sử dụng bảng lưu trữ mới mỗi lần bạn lưu trữ nhưng cũng để giữ lại các bảng lưu trữ cũ của mình, hãy đổi tên bảng lưu trữ cũ trước khi tạo bảng mới. Nếu bạn đang lưu trữ dựa trên một ngày, hãy cân nhắc việc đặt tên các bảng lưu trữ cũ của bạn theo phạm vi ngày mà chúng đại diện.
- Trong Ngăn Dẫn hướng, chọn bảng có bản ghi cần lưu trữ, nhấn CTRL+C, rồi nhấn CTRL+V.
- Trong hộp Tên Bảng , hãy xóa các từ Sao chép và thêm dấu gạch dưới và từ "lưu trữ" vào tên bảng hiện có, rồi bấm OK. Ví dụ: nếu bảng ban đầu được đặt tên là Transactions , bảng lưu trữ sẽ có tên là Transactions_archive.
- Trong hộp thoại Dán Bảng Dưới dạng , bên dưới Tùy chọn Dán, chọn Chỉ cấu trúc.
Bước 2: Tạo truy vấn chắp thêm để sao chép dữ liệu vào bảng lưu trữ
Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.
Thêm bảng có các bản ghi bạn muốn lưu trữ.
Trong cửa sổ thiết kế truy vấn, bấm đúp vào dấu sao (*) trong bảng bạn vừa thêm. Tên bảng và dấu sao xuất hiện ở cột đầu tiên của lưới thiết kế truy vấn.
Lưu ý
Dấu sao cho biết rằng truy vấn nên bao gồm tất cả các trường từ bảng trong đầu ra của truy vấn. Khi bạn sử dụng dấu sao, nếu trường được thêm hoặc loại bỏ khỏi bảng, đầu ra truy vấn sẽ điều chỉnh theo đó.
Trong cửa sổ thiết kế truy vấn, bấm đúp vào trường mà bạn muốn sử dụng để xác định điều kiện mà bản ghi cần đáp ứng trước khi bạn lưu trữ chúng. Ví dụ: nếu bảng Giao dịch của bạn có một trường được gọi là Ngày Kiểm nhập và bạn muốn lưu trữ tất cả các bản ghi có ngày đó đã hơn một năm, bạn bấm đúp vào trường và nó sẽ xuất hiện trong cột trống tiếp theo của lưới thiết kế truy vấn.
Lặp lại bước này nếu bạn muốn sử dụng tiêu chí với các trường bổ sung.Sử dụng hàng Tiêu chí để chỉ định tiêu chí cho các trường mà bạn vừa thêm. Ví dụ: bạn có thể chỉ định rằng Ngày Kiểm nhập phải sớm hơn ngày 1/01/2019 bằng cách sử dụng biểu thức <#01/01/2019# trong hàng Tiêu chí .
Nếu giá trị tiêu chí của bạn thay đổi mỗi lần bạn lưu trữ, bạn nên khiến truy vấn của mình yêu cầu thông tin đầu vào. Để thực hiện điều này, bạn sử dụng một tham số trong hàng Tiêu chí để truy vấn yêu cầu đầu vào. Để sử dụng tham số, hãy sử dụng biểu thức như thông thường, nhưng thay vì giá trị được chỉ định, hãy sử dụng câu hỏi ngắn được đặt trong dấu ngoặc vuông. Ví dụ: bạn có thể sử dụng biểu thức <[Lưu trữ các giao dịch đã hoàn thành trước:], như sau:
Để biết thêm thông tin về cách sử dụng tham số, hãy xem bài viết Giới thiệu về truy vấn.
Bạn cũng có thể muốn sử dụng hàng or để chỉ định điều kiện thay thế. Để biết thêm thông tin về cách sử dụng tiêu chí, hãy xem bài viết Các ví dụ về tiêu chí truy vấn.Mẹo
Nếu bạn đang sử dụng trường ngày để chỉ định tiêu chí và bạn muốn lưu trữ tất cả các bản ghi cũ hơn ngày hiện tại, hãy nhập <Date() vào hàng Tiêu chí cho trường ngày.
Thực hiện một trong những thao tác sau:
Nếu bạn đã tạo bảng lưu trữ, hãy sử dụng truy vấn chắp thêm để thêm bản ghi được chỉ định vào bảng đó:- Trên tab Thiết kế, trong nhóm Kiểu Truy vấn, hãy bấm Chắp thêm.
- Trong hộp thoại Chắp thêm , ở hộp Tên Bảng , chọn tên của bảng lưu trữ, rồi bấm OK.
Trong lưới thiết kế truy vấn, hàng Chắp thêm Vào xuất hiện. - Bỏ chọn hàng Chắp thêm Vào cho bất kỳ trường nào bạn đã dùng để chỉ định tiêu chí. (Chỉ dấu sao mới có giá trị cho Chắp thêm vào.)
Nếu bạn chưa tạo bảng lưu trữ, hãy sử dụng truy vấn tạo bảng để tạo bảng lưu trữ bằng cách sử dụng các bản ghi đã chỉ định: - Trên tab Thiết kế, trong nhóm Loại Truy vấn, hãy bấm vào Tạo Bảng.
- Trong hộp thoại Tạo Bảng , ở hộp Tên Bảng , nhập tên bảng lưu trữ, rồi bấm OK.
Nhấn CTRL+S để lưu truy vấn.
Bước 3: Tạo một truy vấn xóa để loại bỏ dữ liệu khỏi bảng gốc
Trên tab Tạo, trong nhóm Truy vấn, bấm Thiết kế Truy vấn.
Thêm bảng có các bản ghi bạn muốn lưu trữ.
Trong cửa sổ thiết kế truy vấn, bấm đúp vào dấu sao (*) trong bảng bạn vừa thêm. Tên bảng và dấu sao xuất hiện ở cột đầu tiên của lưới thiết kế truy vấn.
Trong cửa sổ thiết kế truy vấn, bấm đúp vào các trường tương tự mà bạn đã dùng để xác định điều kiện trong truy vấn chắp thêm.
Sử dụng hàng Tiêu chí để chỉ định tiêu chí cho các trường mà bạn vừa thêm. Để biết thêm thông tin về cách sử dụng tiêu chí, hãy xem bài viết Các ví dụ về tiêu chí truy vấn.
Quan trọng
Nếu truy vấn chắp thêm hoặc tạo bảng sử dụng tham số, hãy đảm bảo rằng truy vấn xóa của bạn cũng sử dụng tham số. Ngoài ra, hãy nhớ rằng bạn nhập cùng một giá trị cho cả hai truy vấn. Nếu bạn nhập các giá trị tham số khác nhau, bạn có thể bị mất dữ liệu. Để giúp ngăn việc mất dữ liệu, hãy cân nhắc việc sử dụng biểu mẫu để thu thập các giá trị và khiến các truy vấn yêu cầu biểu mẫu về các giá trị đầu vào. Để biết thêm thông tin, hãy xem bài viết Giới thiệu về truy vấn.
Trên tab Thiết kế , trong nhóm Loại Truy vấn , bấm Xóa.
Hàng Xóa xuất hiện trong lưới thiết kế truy vấn.
Nhấn CTRL+S để lưu truy vấn.
Bước 4: Tạo macro để chạy cả truy vấn chắp thêm và xóa
- Trên tab Tạo, trong nhóm Macro & Mã, bấm vào Macro.
- Bấm vào mũi tên thả xuống bên cạnh Thêm Hành động Mới, rồi bấm vào OpenQuery.
Hành động OpenQuery xuất hiện và hiển thị các đối số của nó. - Trong hộp Tên Truy vấn , hãy chọn truy vấn (chắp thêm hoặc tạo bảng) mà bạn đã tạo ở Bước 2.
- Bấm vào mũi tên thả xuống bên cạnh Thêm Hành động Mới, rồi bấm vào OpenQuery.
Hành động OpenQuery xuất hiện và hiển thị các đối số của nó. - Trong hộp Tên Truy vấn , chọn truy vấn xóa bạn đã tạo ở Bước 3.
- Nhấn CTRL+S để lưu macro.
Khi bạn muốn lưu trữ bản ghi, hãy chạy macro.