Избыточность данных и аномалии обновления
Основная цель проектирования реляционной базы данных заключается в группировании атрибутов в отношения таким образом, чтобы минимизировать избыточность данных и тем самым сократить объем памяти, необходимый для физического хранения отношений, представленных в виде таблиц. Проблемы, связанные с избыточностью данных, можно проиллюстрировать, сравнив отношения 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), который представляет собой место работы каждого сотрудника. При работе с отношениями, содержащими избыточные данные, могут возникать проблемы, которые называются аномалиями обновления и подразделяются на аномалии вставки, удаления и модификации.
|
|