Access gồm một công cụ rất mạnh mà bạn có thể sử dụng để phân tích dữ liệu trong một hoặc nhiều bảng.
Mục đính của việc phân tích là xác định nếu có ít dư thừa trong việc
lưu trữ dữ liệu trong bảng. “Ít dư thừa” ở đây có nghĩa là Access cố
gắng loại bỏ bất kỳ dữ liệu nào mà được lưu trữ trong bảng nhiều hơn
một lần. Ví dụ, trường “company name” nên được đưa ra ngoài bảng gốc và
được thay thế bằng một bảng mới. Mặc dù kết quả sẽ là 2 bảng (bảng gốc
và bảng mới), nhưng cơ sở dữ liệu sẽ hiệu quả hơn vì thông tin không bị
nhân đôi trong bảng gốc.
Một ví dụ có lẽ là cách tốt để chứng minh quá trình
phân tích. Ví dụ trong phần này dựa trên cơ sở dữ liệu Accounts.mdb. Cơ
sở dữ liệu này chứa một bảng tên là Invoices, có trên 1000 hóa đơn
trong đó. Một số trường tối thiểu được duy trì trong bảng nhưng có khá
nhiều sự dư thừa trong dữ liệu.
Bắt đầu phân tích
Với cơ sở dữ liệu Accounts, kích chuột vào nút Tables trong cửa sổ Database. Kích chọn bảng Invoices. Sau đó, chọn Analyze từ thực đơn Tools. Access hiển thị một trình đơn phụ từ việc chọn bảng như hình sau:
|
Hình 1: Hộp thoại Table Analyzer Wizard. |
Việc đầu tiên trên màn hình Wizard là việc giải thích mục đích của
Table Analyzer Wizard. Bạn có thể đọc hết các thông tin nếu muốn, sau
đó kích chuột vào nút Next khi đã sẵn sàng Hộp thoại hiển thị như hình
sau:
|
Hình 2: Chọn bảng để phân tích |
Hầu hết các cơ sở dữ liệu có thể có nhiều hơn một bảng. Thật may là
cơ sở dữ liệu này chỉ chứa một bảng có tên Invoices. Vì đây là bảng đã
mặc định được chọn, kích chuột vào nút Next. Access hiển thị hộp thoại
tiếp theo:
|
Hình 3: Bắt đầu quá trình phân tích |
Ở bước này bạn cần quyết định là mình muốn cho phép Wizard lựa chọn
các trường trong bảng chọn hay bạn muốn thực hiện theo cách thủ công.
Vì công việc của một Wizard thực hiện khá dễ dàng, ta chọn Yes, let the wizard decide. Thậm chí nếu Wizard thực hiện lựa chọn không tốt, bạn có thể hủy bỏ quyết định ở bước tiếp theo.
Xác nhận việc tách bảng
Khi bạn đã sẵn sàng, kích chuột vào nút Next. Access hiển thị như hình sau:
|
Hình 4: Xác minh việc tách bảng |
Chú ý:
Table Analyzer Wizard thiết lập các mối quan hệ giữa các bảng. Bạn sẽ
tìm hiểu rõ hơn mối liên hệ được thực hiện như thế nào ở chương 13 “Tìm
hiểu mối quan hệ dữ liệu” |
Ở phần này, Wizard cho bạn thấy những gì nó đề ra để làm. Đối với bảng Invoices
gốc, Wizard dự định chia thành 3 bảng. Hãy xem các trường mà Wizard gợi
ý chuyển thành mỗi bảng, rất dễ để thấy mỗi bảng chứa thông tin các hóa
đơn giao dịch, các khách hàng, và các sản phẩm. Sử dụng hộp thoại này,
bạn có thể đặt tên cho các bảng.
Để thấy cách thực hiện như thế nào, phải chắc chắn Table1 được chọn (hình 4). Sau đó kích chuột vào nút Rename
(ở gần phía góc trên bên phải hộp thoại). Access hiển thị một hộp thoại
nhỏ cho phép bạn xác định tên bảng mới. Đối với Table1, tên nên được
đặt là Invoice Transactions. Sau đó, kích chuột vào nút OK. Access cập
nhật tên như trong thanh tiêu đề đối với bảng có tên mới.
Bạn nên lặp lại công việc này để đặt tên cho Table2 và Table3 là
Customers và Products. Kích chuột lên thanh tiêu đề mỗi bảng và sau đó
đổi tên. Khi hoàn thành, các bảng sẽ xuất hiện như hình sau:
|
Hình 5: Các bảng đã được đổi tên. |
Những việc khác bạn có thể làm trong hộp thoại này (ngoài việc đặt
tên cho các bảng) là ghi đè cách Wizard chia bảng. Khi thực hiện phân
tích, bạn sẽ muốn chắc chắn rằng mỗi bảng được đưa ra phải chứa các
trường liên quan từ bảng gốc. Trong ví dụ này, Wizard đã thực hiện rât
tốt, nó chỉ ra rằng chúng ta đã có tên bảng Customers cần có một
CustomerID duy nhất cũng như CustomerName và Discount.
Nếu bạn cần ghi đè việc phân chia của Wizard, tất cả cần làm là kích
chuột vào một tên trường và kéo nó từ một bảng tới bảng khác. Tuy
nhiên, trong ví dụ này không thật sự cần thiết phải làm như vậy.
Xác nhận khóa chính
Khi kích chuột vào nút Next, Access hiển thị bước tiếp theo như hình sau:
|
Hình 6: Thiết lập khóa chính |
Hộp thoại này tương tự như hộp thoại đã sử dụng trong phần trước.
Tuy nhiên, khác nhau ở các nút điều khiển phía trên cùng hộp thoại.
Wizard sẽ hỏi để xác nhận mỗi bảng phải có một khóa chính. Những khóa
chính cho các bảng Customers và Products được tạo bởi Wizard. Tuy
nhiên, Wizard quên rằng trường ID sẽ là một khóa chính trong bảng
Invoice Transactions.
Để xác định trường ID là một khóa, đầu tiên kích chọn tên trường.
Sau đó kích chọn công cụ mà biểu thị chiếc khóa. Access đáp lại bằng
cách đặt một khóa nhỏ ở phía bên trái trường ID trong bảng Invoice
Transaction.
Lỗi Correcting Typographical
Khi kích chuột vào nút Next, Wizard sẽ phân tích dữ liệu trong bảng
được gợi ý và hiển thị những gì có thể được cho là lỗi. Access thực
hiện điều này với mỗi bảng mới được tạo bởi Wizard. Vì hai bảng mới
(Customerds và Products) được tạo bởi Wizard trong ví dụ này, điều này
có nghĩa Access hiển thị hai hộp thoại typographical correction. Hộp
thoại đầu tiên cho bảng Customer như hình sau:
|
Hình 7: Lỗi Correcting typographical đối với bảng Customers |
Đây là hộp thoại đã hiển thị 5 tên khách hàng mà cho rằng có thể bị
lỗi. Nó đưa ra kết quả này bằng cách sử dụng một thuật giải bên trong.
Nếu chính tả của dữ liệu đúng với dữ liệu trong bảng thì nó được cho là
lỗi tiềm ẩn. Tất cả bạn cần làm là sử dụng danh sách kéo xuống trong
cột Correction để chọn chính tả đúng hoặc thiết lập (Leave As Is).
Chú ý:
Nếu bạn đang phân tích một bảng lớn mà đã làm việc với nhiều người
trong một thời gian dài, rất có thể bạn sẽ gặp nhiều lỗi trong tài
liệu. Phải chắc chắn bạn dành thời gian để sửa những lỗi cần thiết
trong bước này; nó sẽ dễ hơn là kiểm tra lỗi sau đó.
|
Trong ví dụ bảng Customers này, không có lỗi chính tả. Bạn nên thay
đổi cột Corrections bằng tất cả các bản ghi (Leave As Is) mà thiết lập
được chọn. Khi hoàn thành, kích chuột vào nút Next. Wizard sau đó hiển
thị bảng Products như hình 8.
|
Hình 8: Lỗi Correcting typographical đối với bảng Customers. |
Nó chỉ xảy ra như vậy khi một bản ghi được xác định là có thể bị
lỗi.Tất nhiên, trong bảng riêng của bạn thì có thể có lỗi. Bạn nên
xuyên suốt quá trình sửa lỗi thật chính xác như làm với bảng Customers.
Trong trường hợp này, bạn chọn tùy chọn Leave As Is cho cột Correction.
Kết thúc việc phân tích.
Khi kích chuột vào nút Next, Wizard hiển thị bước cuối cùng như hình sau
|
Hình 9: Bước phân tích cuối cùng. |
Bước cuối cùng trong Table Analysis Wizard là nơi bạn xác định nếu
muốn tạo một truy vấn trông như bảng gốc. Nếu không muốn tạo truy vẫn
bạn có thể tích chọn No, don’t create the query và kích nút Finish để
kết thúc quá trình phân tích bảng. Trong trường hợp bạn muốn tạo truy
vấn, nó có nghĩa rằng Wizard tạo một truy vấn là sự pha trộn của 3
bảng, được kết hợp như bảng gốc.
Kích chọn Yes, create the query và kích nút Finish để hoàn thành quá
trình phân tích bảng. Access hiển thị truy vấn mới lên màn hình như
hình 10.
|
Hình 10: Truy vấn mới được tạo bởi Table Analysis Wiard. |
|