sql >> Databáze >  >> NoSQL >> MongoDB

Proč je pole s více hodnotami špatný nápad v relačních databázích

Hlavní nevýhodou je zkreslení dotazů. Fenomén, že takové databáze mají tendenci být navrženy s ohledem na jeden konkrétní druh dotazu a ukázalo se, že je obtížné je zvládnout, když je třeba napsat jiné dotazy.

Předpokládejme, že máte studenty a kurzy a vše modelujete tak, že můžete na jediném řádku v jediné tabulce říci:„John Doe si vezme {francouzštinu, algebru, relační teorii}“ a „Jane Doe vezme {němčinu, funkcionál Computing, Relational Theory}".

Díky tomu je snadné se ptát „jaké jsou všechny kurzy, které následuje...“, ale zkuste si představit, co by bylo zapotřebí k vytvoření odpovědi na „jaké jsou všichni studenti, kteří sledují relační teorii“.

Zkuste si představit, co všechno by měl systém sám dělat, aby takový dotaz (pokud by ho bylo možné napsat) měl nějakou šanci na rozumný výkon...



  1. Jak používat pollingThrottle a pollingInterval?

  2. Použijte výsledek z předchozího dotazu v jiném dotazu v mongodb

  3. Skip/Mock Redis In Junit

  4. BsonSerializationException nastane, pokud název prvku končí tečkou