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

Наистина ли е по-добре да се използват нормализирани таблици?

Зависи... присъединяването на таблици е присъщо по-бавно от една голяма таблица, която е „предварително свързана“, т.е. денормализирана. Въпреки това, чрез денормализиране ще създадете дублиране на данни и вашите таблици ще бъдат по-големи. Нормализирането се разглежда като добро нещо, защото създава бази данни, които могат да отговорят на „всеки“ въпрос, ако е направено правилно, можете да изградите избор, за да стигнете до вашите данни. Това не е така в някои други форми на DB и това сега са (най-вече) исторически неуместности, нормализираната/релационната DB спечели тази битка.

Обратно към вашия въпрос, използването на денормализиране, за да се направят нещата по-бързи, е добре приета техника. Обикновено е най-добре да стартирате вашата база данни за известно време, за да знаете какво да денормализирате и какво да оставите, а също така е обичайно да оставите данните в тяхната „правилна“ нормализирана форма и да изтеглите данни в набор от денормализирани отчети маси редовно. Ако този процес се извършва като част от самото изпълнение на отчета, тогава данните също винаги са актуални.

Като пример за свръхнормализиране съм виждал DB в миналото, където дните от седмицата и месеците от годината бяха извадени в отделни таблици - самите дати бяха нормализирани - можете да отидете твърде далеч.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Работа на SQL Agent - Връзката може да не е конфигурирана правилно или да нямате правилните разрешения за тази връзка?

  2. Използвайте v('APP_USER') като стойност по подразбиране за колона в Oracle Apex

  3. Избягване на ORA-00955:името вече се използва от съществуващ обект

  4. Oracle - разделяне на датите на четвъртинки

  5. Oracle :Премахване на множество дялове