Аномалии

Избыточность данных и аномалии обновления

Основная цель проектирования реляционной базы данных заключается в группировании атрибутов в отношения таким образом, чтобы минимизировать избыточность данных и тем самым сократить объем памяти, необходимый для физического хранения отношений, представленных в виде таблиц. Проблемы, связанные с избыточностью данных, можно проиллюстрировать, сравнив отношения Staff и Branch таблицах 1 и 2 с отношением StaffBranch таблице 3. Отношение StaffBranch является альтернативной формой представления отношений Staff и Branch. Упомянутые отношения описываются следующим образом:

  • Staff (staffNo, sName, position, salary, branchNo)
  • Branch (branchNo, bAddress)
  • StaffBranch (staffNo, sName, position, salary, branchNo, bAddress)

Обратите внимание, что здесь первичный ключ каждого отношения выделен жирным начертанием.

Таблица 1
staffNo sName position salary branchNo
SL21 John White Manager   B005
SG37 Ann Beech Assistant   B003
SG14 David Ford Supervisor   B003
SA9 Mary Howe Assistant   B007
SG5 Susan Brand Manager   B003
SL41 Julie Lee Assistant   B005
Таблица 2
branchNo bAddress
B005 22 Deer Rd, London
B007 16 Argyll St, Aberdeen
B003 163 Main St, Glasgow
Таблица 3
staffNo sName position salary branchNo bAddress
SL21 John White Manager   B005 22 Deer Rd, London
SG37 Ann Beech Assistant   B003 163 Main St, Glasgow
SG14 David Ford Supervisor   B003 163 Main St, Glasgow
SA9 Mary Howe Assistant   B007 16 Argyll St, Aberdeen
SG5 Susan Brand Manager   B003 163 Main St, Glasgow
SL41 Julie Lee Assistant   B005 22 Deer Rd, London

В отношении Staff Branch содержатся избыточные данные, поскольку сведения об отделении компании повторяются в записях, относящихся к каждому сотруднику данного отделения. В противоположность этому в отношении Branch сведения об отделении содержатся только в одной строке, а в отношении Staff повторяется только номер отделения компании (branchNo), который представляет собой место работы каждого сотрудника. При работе с отношениями, содержащими избыточные данные, могут возникать проблемы, которые называются аномалиями обновления и подразделяются на аномалии вставки, удаления и модификации.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: