Специфика вставных аномалий - PullRequest
0 голосов
/ 04 декабря 2018

Я сейчас пытаюсь понять нюансы аномалий вставки / удаления / модификации в SQL.

В настоящее время пример, который я пытаюсь понять, выглядит следующим образом:

ENROLLMENT
StudentID(PK)   StudentName   ClassID   ClassName
111             Joe           E1        English1
222             Bob           E1        English1
333             Mary          H1        History1

Проблема, на которую пример хочет, чтобы я ответил:

Какой изследующее вызывает аномалию вставки?

с ответами

Вставка ученика без класса

и

Вставка класса без ученика

Я не очень понимаю, почему один из этих ответов является более правильным, чем другой, почему или как.Мне кажется, что любой из них может быть приемлемым.Заранее спасибо.

1 Ответ

0 голосов
/ 04 декабря 2018

Вам необходимо подумать о том, как данные естественным образом добавляются в систему (т. Е. Какая серия событий происходит в реальном мире).

В этом случае вы должны создать набор классов дозарегистрируйтесь, а затем создайте и назначьте им учеников, когда они появятся для регистрации.

Вы вряд ли создадите набор учеников, а затем создадите и назначите классы для каждого из них.

AКласс может быть в состоянии провести только 30 студентов.Как вы справляетесь с дополнительными студентами, которые хотят зарегистрироваться в этом классе?

Если вы зарегистрируете 100 студентов и затем решите создать классы, какие предметы вы создаете?

Почему студенты решают прийти на регистрацию?[Предположительно из-за предлагаемых классов.]

Вы можете создать столько классов, сколько сможете разместить в своем расписании.Количество учеников, которые фактически регистрируются, может означать, что класс отменяется, но он должен существовать в первом случае.

В целом, «Вставка ученика без класса» с большей вероятностью может вызвать аномалию вставки..

...