Increasing the number of files does not make things simpler.

All data in one file - each time you get a new record put it at the end.

You DO need another file for the INDEX to this data - let's say some ID or NAME. You simply keep that data in a sorted list in that INDEX file. By keeping buffers 50% filled you have room for new INSERT's alphabetically without recreating the whole index each time.

You can have as many INDEX files as you need.

When you run a sort for a report you create a KEY pointer file - with all the REC#'s that were "selected" in some "sorted" order.

This is how we did it in the 80's on mainframe/mini computers.

Not difficult at all.