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

MySQL:множество таблици или една таблица с много колони?

Всеки път, когато информацията е едно към едно (всеки потребител има едно име и парола), тогава вероятно е по-добре да има една таблица, тъй като това намалява броя на присъединяванията, които базата данни трябва да направи, за да извлече резултати. Мисля, че някои бази данни имат ограничение за броя колони на таблица, но не бих се притеснявал за това в нормални случаи и винаги можете да го разделите по-късно, ако трябва.

Ако данните са едно към много (всеки потребител има хиляди редове информация за употреба), тогава те трябва да бъдат разделени на отделни таблици, за да се намалят дублираните данни (дублираните данни губят място за съхранение, кеш пространство и правят базата данни по-трудна за поддръжка ).

Може да намерите статията в Уикипедия за нормализирането на базата данни интересно, тъй като в дълбочина се обсъждат причините за това:

Нормализирането на базата данни е процесът на организиране на полетата и таблиците на релационна база данни за минимизиране на излишъка и зависимостта. Нормализирането обикновено включва разделяне на големи таблици на по-малки (и по-малко излишни) таблици и дефиниране на връзки между тях. Целта е да се изолират данните, така че добавяния, изтривания и модификации на поле да могат да се правят само в една таблица и след това да се разпространяват през останалата част от базата данни чрез дефинираните връзки.

Денормализация също е нещо, което трябва да знаете, защото има случаи, когато повтарянето на данни е по-добро (тъй като намалява количеството работа, която базата данни трябва да свърши при четене на данни). Силно препоръчвам да направите данните си възможно най-нормализирани, за да започнете, и да денормализирате само ако сте наясно с проблеми с производителността в конкретни заявки.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Йерархични заявки в MySQL

  2. TRIGGERS, които причиняват неуспех на INSERT? Възможен?

  3. Списък на спецификаторите на формата на датата в MySQL

  4. Външен ключ с няколко колони в MySQL?

  5. Как да избегнем MySQL 'Намерено заключване при опит за заключване; опитайте да рестартирате транзакцията"