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






