In our application, the user can create different lists (for example, sharepoint), for example, the user can create a list of cars (name, model, brand) and a list of students (name, ext, address, nationality), etc.
Our application should be able to query different columns of the list, so we cannot just serialize each row and save it on one row.
Should I create a new table at runtime for each newly created list? If this was the best solution, maybe Microsoft SharePoint would do it, I suppose?
Should I use the following scheme
Lists (Id, Name)
ListColumns (Id, ListId, Name)
ListRows (Id, ListId)
ListData(RowId, ColumnId, Value)
Although a single row will create as many rows in the list data table as there are columns in the list, it just doesn't seem right.
? ?