1. Понятие о базе данных. Субд. Примеры


Download 338.67 Kb.
bet46/81
Sana17.06.2023
Hajmi338.67 Kb.
#1547959
1   ...   42   43   44   45   46   47   48   49   ...   81
Bog'liq
Baza dannix Yakuniy savollar va javoblar (1)

Аномалия модификации
Аномалии модификации проявляются при изменении данных в отношении с избыточностью данных.
Например, предположим, что отдел 128 решили переименовать в отдел передовых технологий. Необходимо изменить соответствующие данные о каждом сотруднике отдела. Если мы пропустим хотя бы одну запись, возникнет аномалия модификации.
Что произойдет, если изменилось наименование поставщика? Т.к. наименование поставщика повторяется во многих кортежах отношения, то это наименование нужно одновременно изменить во всех кортежах, где оно встречается, иначе данные станут противоречивыми. То же самое с наименованиями деталей. Значит, данные хранятся в нашем отношении с большой избыточностью. 


61. Какие виды аномалий могут встречаться в базах данных?
Аномалия (anomaly) – противоречие между моделью предметной области и моделью данных, поддерживаемой средствами конкретной СУБД.
Аномалии обновления 
Различают три вида аномалий в базе данных:
аномалии включения; аномалии удаления; аномалии модификации.
Аномалии включения
Аномалии включения проявляются при вводе новых данных в отношение с избыточностью данных.
Рассмотрим аномалию включения на примере отношения «Сотрудник». Аномалия включения возникает при попытке создать «отдел внедрения разработок» и ввести ее в отношение при том условии, что в нее еще не переведен ни один сотрудник. Ввод такой информации в подобной ситуации требует присвоения значения NULL всем атрибутам описания сотрудника, в том числе и атрибуту Номер сотрудника, который является первичным ключом данного отношения. Но реализация такой попытки приведет к нарушению целостности, а значит, система ее обязана отклонить. 
Аномалии удаления
Принцип аномалии удаления состоит в том, что при удалении некоторых данных из отношения может произойти потеря других данных.
Например, вернемся к анализу отношения «Сотрудник». Предположим, что все сотрудники отдела 128 уволились в один и тот же день. После удаления кортежей этих сотрудников в БД больше не будет ни одной записи, содержащей информацию об отделе 128. Такая ситуация представляет собой аномалию удаления. 
Рассмотрим пример с поставщиками и поставками деталей. Предположим, что нам требуется хранить информацию о наименовании поставщиков, наименовании и количестве поставляемых ими деталей, причем каждый поставщик может поставлять несколько деталей и каждая деталь может поставляться несколькими поставщиками. Можно предложить хранить данные в следующем отношении:
Предположим, например Петров, временно прекратил поставки деталей? Если мы удалим все кортежи, в которых хранится информация о поставках этого поставщика, то мы потеряем данные о самом Петрове как потенциальном поставщике. Выйти из этого положения, оставив в отношении кортеж типа (2, Петров, NULL, NULL, NULL) мы не можем, т.к. атрибут "Номер детали" входит в состав потенциального ключа и не может содержать null-значений. То же самое произойдет, если некоторая деталь временно не поставляется никаким поставщиком. Получается, что мы не можем хранить информацию о том, что есть некий поставщик, если он не поставляет хотя бы одну деталь, и не можем хранить информацию о том, что есть некоторая деталь, если она никем не поставляется. 

Download 338.67 Kb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   81




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling