Mysql
 sql >> база данни >  >> RDS >> Mysql

Съхраняване на структурирани данни в колона от база данни?

Говорейки много лично, проучванията са един от случаите, в които смятам, че не се нормализира нищо и JSON се съхранява почти както е е по-добрият вариант.

Без него ще се окажете с всякакви странни случаи на употреба, които в крайна сметка ще искате да управлявате по пътя. В допълнение към подредените въпроси с множество отговори от всякакъв вид, вие също ще трябва да управлявате този отговор „Друго“ в тях, условни въпроси, условни групи от въпроси, списъкът продължава и продължава. Нещо повече, проучванията - подобно на други форми на данни - подлежат на промяна и нещата стават от страхотни до ядрени, когато това се случи.

Достойнството на JSON е, че тъй като анкетите са концептуално независими едно от друго, нямате почти никаква нужда от референтна цялост от едно към следващо, така че можете също така да съхранявате цялото дърво от въпроси и опции като един JSON петно, и се притеснявайте да го форматирате в приложението си.

Същото за всеки изпратен отговор, по този въпрос:вземете оригиналния петно, маркирайте съответния отговор като избран и така нататък в него и съхранете получения JSON както е , вместо да съхранява препратки към оригиналните въпроси заедно с отговорите. Това ще ви позволи лесно да следите какви потребители всъщност отговорено, за разлика от това, което се казва в текущата версия на проучването, и направете независимо от това доколко проучването се е отклонило от първоначалния отговор.

Ако трябва да изкопаете отговорите по-късно, имайте предвид, че Postgres позволява индексиране на JSON с помощта на GIST индекси за цялото поле и BTREE индекси за изрази.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преждевременен край на грешка в данните с PHP

  2. mysql броене на редове с цикъл

  3. Как да коригирам грешката „Стойност извън диапазона, коригирана за колона“?

  4. как да изброя колона в mysql на nodejs с модул mysql

  5. как да генерирате отчет между двете дати с помощта на datepicker,ajax,php,mysql.?