Бази данни



страница8/9
Дата10.05.2022
Размер1.32 Mb.
#114206
ТипЛекции
1   2   3   4   5   6   7   8   9
нормализация на данни
Свързани:
BD4, данни

Теоретични основи

  • Д. Гоцева
  • БД-лекции
  • Нека са дадени следните релация и детерминанти:
  • R(a,b,c,d)
  • a,c -> b,d
  • a,d -> b
  • За да бъде релацията в BCNF, всички валидни детерминанти трябва да са кандидат ключове. В релацията R, a,c->b,d е използваната детерминанта, което покрива първата от тях.
  • a,d->b определя a,d като първичен ключ, който определя b. Този ключ обаче не определя c. Следователно това не е кандидат ключ и R не е в BCNF.

Пример 1

  • Д. Гоцева
  • БД-лекции

2 възможни ключа

  • Д. Гоцева
  • БД-лекции
  • DB(Patno,PatName,appNo,time,doctor)
  • Детерминанти:
    • Patno -> PatName
    • Patno,appNo -> Time,doctor
    • Time -> appNo
  • Съществуват 2 варианта за избор на първичен ключ в 1НФ:
    • DB(Patno,PatName,appNo,time,doctor) (пример 1a)
    • DB(Patno,PatName,appNo,time,doctor) (пример 1b)

Пример 1а

  • Д. Гоцева
  • БД-лекции
  • DB(Patno,PatName,appNo,time,doctor)
  • Няма повтарящи се групи – релацията е в 1НФ
  • 2НФ – елиминира се частичната зависимост:
    • DB(Patno,appNo,time,doctor)
    • R1(Patno,PatName)
  • 3НФ – няма транзитивни зависимости
  • Проверяваме за BCNF.

BCNF всеки детерминант е кандидат ключ

  • Д. Гоцева
  • БД-лекции
  • DB(Patno,appNo,time,doctor)
  • R1(Patno,PatName)
  • Детерминантите кандидат ключове ли са?
    • Patno -> PatName Patno съществува в DB, а PatName - не, следователно не е приложим.
    • Patno,appNo -> Time,doctor всички LHS и RHS присъстват, следователно е приложим. Кандидат ключ ли е? Patno,appNo Е ключа, следователно е и кандидат ключ.
    • Time -> appNo Time присъства, appNo - също, следователно е приложим. Кандидат ключ ли е? Ако е, трябва да променим DB:
  • DB(Patno,appNo,time,doctor) Това не работи, следователно релацията не е в BCNF.


Сподели с приятели:
1   2   3   4   5   6   7   8   9




©obuch.info 2024
отнасят до администрацията

    Начална страница