sql >> Database teknologi >  >> RDS >> Mysql

Database i en database (tabeldesign)

Du vil måske se på en Entity Attribut Value-model (EAV) design til dine data derefter.

Grundlæggende kan du have en tabel med tabelnavne og nogle andre metadata på tabeller.

Derefter kan du oprette en tabel for hver af disse rækker for at have kolonnedata, såsom datatype og navn.

Så har du en tabel, hvor du sætter værdierne for hver kolonne i en lang tabel.

Dette giver dig mulighed for dynamisk at oprette tabeller eller tilføje/fjerne rækker dynamisk.

For en sammenligning af relationel og EAV kan du se på dette spørgsmål:

Entity Attribut Value Database vs. streng relationel model e-handel

Hvis du dog ønsker at have et relationelt overblik over disse data, skal du oprette triggere for at hjælpe med at holde visninger opdaterede, og det kan være et stort arbejde for at få det til at fungere godt. Hvis du ikke har brug for et relationelt syn, burde du have det fint.

En anden måde at gøre dette på er med en NoSQL-database (http://en.wikipedia.org/wiki/ NoSQL ), da skemaet ikke skal indstilles, og du kan derfor bare gemme de kolonner, du skal bruge til den pågældende række.

På dette tidspunkt ville jeg gå NoSQL-vejen, da der er mange databaser, der kan fungere, og den genopfindelse, du skal gøre, er minimal.



  1. SQLite JSON_VALID()

  2. Hvordan returnerer jeg et element fra string_to_array() i PostgreSQL 8.4?

  3. Gå tilbage fra SQL-forespørgsel til applikationskode?

  4. Begræns SQL ved summen af ​​rækkens værdi