Loading...

Проектирование БД

  • Нормализация

    • Процесс нормализации отношений

      Нормализация — это процесс приведения структуры базы данных к виду, который минимизирует избыточность и дублирование информации . Её главная цель — устранить аномалии обновления (когда изменение одного факта требует правок в нескольких местах), чтобы обеспечить целостность и непротиворечивость данных .

    • Нормальные формы

        • Свойства НФ

          • 1НФ: Все атрибуты атомарны (неделимы), и каждое значение хранится в одной ячейке. В таблице нет повторяющихся групп .

          • · 2НФ: Таблица уже в 1НФ, и каждый неключевой атрибут полностью зависит от всего первичного ключа (устраняется частичная зависимость).

          • · 3НФ: Таблица уже в 2НФ, и ни один неключевой атрибут не зависит от другого неключевого атрибута (устраняется транзитивная зависимость) .

          • · НФБК: Более строгая версия 3НФ, где каждая детерминанта (атрибут, от которого зависят другие) является потенциальным ключом.

          • · 4НФ: Устраняет многозначные зависимости.

          • · 5НФ: Устраняет зависимости, возникающие при соединении (декомпозиция без потерь). На практике используется редко .

        • Первая нормальная форма (1НФ)

        • Вторая нормальная форма (2НФ)

        • Третья нормальная форма (3НФ)

        •  Нормальная форма Бойса-Кодда (НФБК / BCNF)

        •  Четвертая нормальная форма (4НФ)

        • Пятая нормальная форма (5НФ) (также известна как нормальная форма проекции-соединения)

  • Подходы

      1. Классический (традиционный) подход. Связан с автоматизацией документооборота и активно использовался в 80-е годы. Отправной точкой здесь служат существующие документы, на основе которых проектируется структура базы данных. Этот подход часто называют нисходящим, так как проектирование идёт от общих требований к деталям реализации .
      1. Современный подход. Связан с автоматизацией управления бизнес-процессами. В основе лежит выявление стандартных алгоритмов приложений (бизнес-логики). Данные и структура БД определяются под эти алгоритмы. Этот подход усилился с развитием объектно-ориентированного программирования и часто предполагает восходящее проектирование, особенно в распределенных системах, когда локальные БД интегрируются в единую структуру .