sql >> Databáze >  >> RDS >> Mysql

Jak efektivně navrhnout databázi MySQL pro můj konkrétní případ

Máte takové relační schéma:

Existují dva způsoby, jak to vyřešit. První, "čistý", je vytvořit vaši "like" tabulku a provést "count(*)'s" v příslušném sloupci.

Druhou možností by bylo uložit do každého komentáře počítadlo udávající, kolik nahoru a dolů tam bylo. Pokud chcete zkontrolovat, zda konkrétní uživatel hlasoval pro komentář, musíte zaškrtnout pouze jeden záznam, který můžete snadno zpracovat jako vlastní dotaz a sloučit je dva mimo vaši databázi (k tomu použijte dotaz, jehož výsledkem je comment_id a druh hlasování, které uživatel provedl v konkrétním vláknu.)

Váš přístup se seznamem odděleným čárkami není zcela výkonný, protože jej nemůžete analyzovat bez vyšší inteligence nebo velkého množství syntaktických řetězců. Pokud máte databázi - použijte ji!

(„Jedna informace – jedna datová sada“!)



  1. Správný databázový model pro systém zpětné vazby od uživatelů (zajímavý případ)

  2. Objednat podle data (varchar)?

  3. Vytvořte tabulku Excelu z databáze Oracle

  4. Je možné specifikovat schéma při připojení k postgres s JDBC?