что будет эффективней, держать постоянно в памяти 5 больших массивов, чтобы искать по ним нужную информацию, или каждый раз искать по .txt файлу.
Эффективнее использовать язык запросов SQL к СУБД (например, SQLite).
Преимущество в централизованном хранении данных и стандарте доступа к ним.
Один-два запроса к СУБД могут заменять порой довольно приличное количество кода (порой даже нетривиального).
Исходим из предположения, что типичный студент навряд ли будет писать что-то высокотехнологичное и поэтому, скорее всего, СУБД и будет самым оптимальным доступом к данным.
Если нужно что-то специализированное для данных, то нужно уточнять какова структура данных. Тогда могут понадобиться NoSQL.