The typical image that springs to mind when you hear the word database is probably a table where each row is a separate record and the column headings are the field names — a spreadsheet, basically. Once the data is too complicated to fit into a single table, we move on to relational databases — multiple tables linked by connected fields.
Setting up a relational database requires a person who understands data structures. And if new information is added, or new relationships become important, the database administrator will need to change the structure of the database and, most likely, update the user interface as well.
So what do you do if you have a data set where you can’t map out the relationships ahead of time? Where instead of being connected by a single data point, people can be connected by things you can’t predict in advance?