Кіріспе
Бұрын нормалданылған деректер базасында қолданылатын стратегия. Денормализация – бұл өнімділікті арттыру мақсатымен бұрын нормалданылған деректер базасында қолданылатын стратегия. Компьютерлік жүйелерде денормализация – деректердің артық көшірмелерін қосу немесе деректерді топтастыру арқылы деректер базасының оқу жылдамдығын жақсартуға бағытталған процесс, бірақ бұл жазу жылдамдығының төмендеуіне әкелуі мүмкін. Мұндай қадамға көбінесе реляциялық деректер базасы бағдарламалық жасақтамасында өте көп оқу операцияларын орындау қажеттілігі туғанда немесе жүйе масштабын кеңейту қажет болғанда жүгініледі. Денормализация нормаланбаған деректерден өзгеше, себебі денормализацияның артықшылықтары тек қана нормалданылған деректер моделінде толыққанды пайдаланылады.
Denormalization is a strategy used on a previously normalized database to increase performance. In computing, denormalization is the process of trying to improve the read performance of a database, at the expense of losing some write performance, by adding redundant copies of data or by grouping data. It is often motivated by performance or scalability in relational database software needing to carry out very large numbers of read operations. Denormalization differs from the unnormalized form in that denormalization benefits can only be fully realized on a data model that is otherwise normalized.
Іске асыру
Нормалдықталған жоба көбінесе әр түрлі, бірақ байланысты ақпаратты жеке логикалық кестелерде (қатынастар деп аталады) "сақтайды". Егер осы қатынастар физикалық түрде жеке дискілік файлдар ретінде сақталса, бірнеше қатынастардан ақпаратты алуды қамтамасыз ететін деректер қоры сұранысын (қосылу операциясы) аяқтау баяу болуы мүмкін. Көптеген қатынастар қосылса, бұл тым ұзаққа соғып, мүмкін емес болуы мүмкін. Осы мәселені шешудің екі жолы бар.
ДББЖ-ны қолдау
Бір әдіс – логикалық жобаны нормалдауды сақтап, деректерді басқару жүйесіне (ДББС) сұраныс жауабын жылдамдату үшін дискіде қосымша қайталама ақпаратты сақтауға рұқсат беру. Мұндай жағдайда, кез келген қайталама көшірмелердің дұрыстығын сақтау ДББС бағдарламалық қамтамасының жауапкершілігінде болады. Бұл әдіс көбінесе SQL-де индекстелген көріністер (Microsoft SQL Server) немесе материалдық көріністер (Oracle, PostgreSQL) түрінде жүзеге асырылады. Көрініс, басқа факторлармен қатар, сұраныс жасауға ыңғайлы форматта ақпаратты ұсынуы мүмкін, ал индекс көрініске жасалған сұраныстардың физикалық тұрғыдан оңтайландырылуын қамтамасыз етеді.
DBA-ны іске асыру
Тағы бір тәсіл – логикалық деректер дизайнын денормалдау. Сақтықпен жасалса, бұл сұранысқа жауап беру жылдамдығын жақсартуға мүмкіндік береді, бірақ бұл өз құнымен келеді – енді дерекқорының дизайнері денормалдастырылған дерекқорының дәйірленбеуіне жауапты болады. Бұл дерекқорда шектеулер деп аталатын ережелерді құру арқылы іске асырылады, олар ақпараттың қайталама көшірмелерін қалай синхрондау керектігін көрсетеді, бұл денормалдау процедурасын тиімсіз ете алады. Осы тәсілді қауіпті ететін дерекқоры дизайнының логикалық күрделігінің артуы және қосымша шектеулердің күрделілігі. Сонымен қатар, шектеулер компромисс жасайды, деректерді оқуды (SQL-дегі SELECT) жылдамдатып, деректерді жазуды (INSERT, UPDATE және DELETE) баяулатады. Яғни, көп жазу жүктемесі бар денормалдастырылған дерекқоры, функционалдық тұрғыдан тең баламасы нормалдастырылған дерекқордан нашар жұмыс істеуі мүмкін.