Кіріспе

Бұрын нормалданылған деректер базасында қолданылатын стратегия. Денормализация – бұл өнімділікті арттыру мақсатымен бұрын нормалданылған деректер базасында қолданылатын стратегия. Компьютерлік жүйелерде денормализация – деректердің артық көшірмелерін қосу немесе деректерді топтастыру арқылы деректер базасының оқу жылдамдығын жақсартуға бағытталған процесс, бірақ бұл жазу жылдамдығының төмендеуіне әкелуі мүмкін. Мұндай қадамға көбінесе реляциялық деректер базасы бағдарламалық жасақтамасында өте көп оқу операцияларын орындау қажеттілігі туғанда немесе жүйе масштабын кеңейту қажет болғанда жүгініледі. Денормализация нормаланбаған деректерден өзгеше, себебі денормализацияның артықшылықтары тек қана нормалданылған деректер моделінде толыққанды пайдаланылады.

Іске асыру

Нормалдықталған жоба көбінесе әр түрлі, бірақ байланысты ақпаратты жеке логикалық кестелерде (қатынастар деп аталады) "сақтайды". Егер осы қатынастар физикалық түрде жеке дискілік файлдар ретінде сақталса, бірнеше қатынастардан ақпаратты алуды қамтамасыз ететін деректер қоры сұранысын (қосылу операциясы) аяқтау баяу болуы мүмкін. Көптеген қатынастар қосылса, бұл тым ұзаққа соғып, мүмкін емес болуы мүмкін. Осы мәселені шешудің екі жолы бар.

ДББЖ-ны қолдау

Бір әдіс – логикалық жобаны нормалдауды сақтап, деректерді басқару жүйесіне (ДББС) сұраныс жауабын жылдамдату үшін дискіде қосымша қайталама ақпаратты сақтауға рұқсат беру. Мұндай жағдайда, кез келген қайталама көшірмелердің дұрыстығын сақтау ДББС бағдарламалық қамтамасының жауапкершілігінде болады. Бұл әдіс көбінесе SQL-де индекстелген көріністер (Microsoft SQL Server) немесе материалдық көріністер (Oracle, PostgreSQL) түрінде жүзеге асырылады. Көрініс, басқа факторлармен қатар, сұраныс жасауға ыңғайлы форматта ақпаратты ұсынуы мүмкін, ал индекс көрініске жасалған сұраныстардың физикалық тұрғыдан оңтайландырылуын қамтамасыз етеді.

DBA-ны іске асыру

Тағы бір тәсіл – логикалық деректер дизайнын денормалдау. Сақтықпен жасалса, бұл сұранысқа жауап беру жылдамдығын жақсартуға мүмкіндік береді, бірақ бұл өз құнымен келеді – енді дерекқорының дизайнері денормалдастырылған дерекқорының дәйірленбеуіне жауапты болады. Бұл дерекқорда шектеулер деп аталатын ережелерді құру арқылы іске асырылады, олар ақпараттың қайталама көшірмелерін қалай синхрондау керектігін көрсетеді, бұл денормалдау процедурасын тиімсіз ете алады. Осы тәсілді қауіпті ететін дерекқоры дизайнының логикалық күрделігінің артуы және қосымша шектеулердің күрделілігі. Сонымен қатар, шектеулер компромисс жасайды, деректерді оқуды (SQL-дегі SELECT) жылдамдатып, деректерді жазуды (INSERT, UPDATE және DELETE) баяулатады. Яғни, көп жазу жүктемесі бар денормалдастырылған дерекқоры, функционалдық тұрғыдан тең баламасы нормалдастырылған дерекқордан нашар жұмыс істеуі мүмкін.