I'm designing a document management system for a school (SQL & .NET). The school has various data it would like to store, such as personnel, pupils, financials etc. The system should be able to attach a document to any of the records in the system irrespective of its type (personnel, pupil...)

A typical ER way of doing this would be to create tye different type tables (personnel...) as well as a Documents table. To associate the type table records to the document records, one would need a "link table" such as PersonnelDocuments, with the columns PersonnelID and DocumentID.

I find this approach to be a bit clunky as there might be 100s of type tables (in future systems) who would each need a linking table. Is there a more generic way of doing it, while still following proper ER DB design.