Các bảng chuyển đổi là việc sử dụng nhiều mảng truy xuất để tham chiếu cùng lúc đến một bảng các phần tử qua một vài khóa khác nhaụ Với phƣơng pháp này các thành phần dữ liệu đƣợc xem nhƣ là khóa đều đƣợc xử lý cùng một cách. Các phần tử có thể lƣu trữ theo một thứ tự tùy ý (thứ tự mà các phần tử đƣợc nhập từ hệ thống). Các phần tử thuộc danh sách liên kết (các phần tử của các mảng truy xuất chứa các địa chỉ đến từng phần tử riêng).
Ví dụ 1.6
Giả sử, xét nhiệm vụ của một công ty điện thoại trong việc truy xuất đến các phần tử về các khách hàng.
Để in danh mục điện thoại, các phần tử cần sắp xếp thứ tự tên khách hàng theo bảng chữ cái alphabel. Để xử lý các cuộc gọi đƣờng dài, các phần tử lại cần có thứ tự theo số điện thoạị Ngoài ra để bảo trì định kỳ, danh sách các khách hàng lại sắp xếp theo địa chỉ. Để tránh việc lƣu nhiều lần cùng một tập các phần tử bằng cách sử dụng các mảng truy xuất và có thể tìm các phần tử theo bất kỳ một khóa nàọ Cần tạo mảng truy xuất thứ nhất cho tên khách hàng, phần tử đầu tiên chứa vị trí của khách hàng đứng đầu danh sách theo bảng chữ cái alphabel. Phần tử thứ hai chứa vị trí khách hàng thứ hai và cứ thế... Trong mảng truy xuất thứ hai, phần tử đầu tiên chứa vị trí của khách hàng có số điện thoại nhỏ nhất. Tƣơng tự, mảng truy xuất thứ ba có các phần tử chứa vị trí của các khách hàng theo thứ tự địa chỉ của họ. Ví dụ nhƣ Hình 1.9
18
Index Name Ađress Phone
1 Lê Anh Hà Vinh, Nghệ An 2829478
2 Nguyễn Bảo Anh Cửa Lò, Nghệ An 2884285 3 Hồ Thị An Nghi Xuân, Hà Tĩnh 4372296 4 Nguyễn Thị Thủy Diễn Châu, Nghệ An 2863386 5 Nguyễn Thị Xuân Bỉm Sơn, Thanh Hóa 2495723
6 Lê Thị An Can Lộc, Hà Tĩnh 4394231
Access Table
Name Ađress Phone
3 5 5 6 6 1 2 2 4