Warto przyjrzeć się Modelowi wartości atrybutu jednostki (EAV) zaprojektuj swoje dane.
Zasadniczo możesz mieć tabelę z nazwami tabel i kilkoma innymi metadanymi dotyczącymi tabel.
Następnie możesz utworzyć tabelę dla każdego z tych wierszy, aby zawierała dane kolumny, takie jak typ danych i nazwa.
Następnie masz tabelę, w której umieszczasz wartości dla każdej kolumny w długiej tabeli.
Pozwala to na dynamiczne tworzenie tabel lub dynamiczne dodawanie/usuwanie wierszy.
Aby porównać relację i EAV, możesz spojrzeć na to pytanie:
Baza wartości atrybutów jednostki a . ścisły model relacyjny e-commerce
Jeśli jednak chcesz mieć relacyjny widok tych danych, musisz utworzyć wyzwalacze, aby zapewnić aktualność widoków, a może to być bardzo pracochłonne, aby to działało dobrze. Jeśli nie potrzebujesz widoku relacyjnego, powinieneś być w porządku.
Innym sposobem na to jest baza danych NoSQL (http://en.wikipedia.org/wiki/ NoSQL ), ponieważ schemat nie musi być ustawiany, więc możesz po prostu przechowywać kolumny potrzebne dla tego wiersza.
W tym momencie wybrałbym drogę NoSQL, ponieważ istnieje wiele baz danych, które mogą działać, a wymyślanie na nowo, które musisz zrobić, jest minimalne.