Yep, I amongst others have designed a online database for personal, club and tourny results records and it's more complicated than at first it might appear. Open results are available for all to see (but only by comp not by individual) practice ones and details of pbs etc are not.
As examples:
First there are over 120 different rounds.
Records are often only OK for validated results so there has to be a way for the record officer to validate them (ie check through submitted score sheets).
Some clubs only accept scores shot in open competitions.
Many records are only available to certain age groups yet they are shooting in different age groups for the comps.
You need distances records for FITAs and metrics.
However, it works well enough for tournament reports
eg
example report and and the
Club records (I do have a new version now that works for the juniors better than this but I need to test it). It was designed to make most of the RO job obsolete and to store everybody's results but it's the data entry that becomes prohibitive when you still have to check every non-practice score. You do run into data protection issues too I guess.
I think that's why most record officers only get as far a spreadsheets, you need to have a lot more of information in your database to make use of the data than mots keep: simple 'round', 'score', 'date', 'handicap' isn't good enough.