Какие есть другие способы уменьшить избыточность данных в реляционных базах данных помимо нормализации? - PullRequest
0 голосов
/ 04 декабря 2018

У меня было интервью, и меня попросили 3 способа уменьшить избыточность, но я только что вспомнил один: нормализация.

Я искал еще 2, но все, что я могу найти, это статьи, говорящие о нормализации.

1 Ответ

0 голосов
/ 05 декабря 2018

«Избыточность» неформальна и, по мнению наблюдателя, сама по себе ни хороша, ни плоха.

Предположим, у вас есть несколько строк, содержащих одну и ту же строку.Вы можете «уменьшить избыточность», заменив строки идентификаторами и добавив идентификаторы отображения таблиц в строки.Предположим, вы уже делаете это.Вы можете «уменьшить избыточность», заменив идентификаторы их строками и опустив таблицу поиска - оригинальный дизайн.Индекс избыточен.Кеш избыточен.Нормализация ниже BCNF увеличивает сумму строк x столбцов по всем таблицам, следовательно, увеличивает определенный тип «избыточности» базы данных;но это уменьшает аномалии обновления, следовательно, уменьшает определенный вид «избыточности» таблицы.(4NF и 5NF уменьшают сумму строк x столбцов во всех таблицах.)

PS У Криса Дейта есть несколько сочинений по Избыточность данных и проектирование базы данных .Одно из определений «избыточности», которое он определяет:

База данных включает некоторую избыточность тогда и только тогда, когда она включает в себя два различных представления (прямое [в базовой таблице] или косвенное [в результате запроса]).) того же [истинного] предложения.

Моя версия такого рода «избыточности»: база данных включает некоторую избыточность, когда два выражения запроса не являются логически эквивалентными - которые не возвращаютодна и та же таблица для всех значений базы данных - вернуть одну и ту же таблицу для всех допустимых / ограниченных значений базы данных.

...