Однако при использовании универсального отношения возникают следующие проблемы:
1. Избыточность данных. Значения столбцов таблицы многократно повторяются. Повторяются также и некоторые наборы значений столбцов, например, данные о дисциплине.
2. Потенциальная противоречивость. Если при вводе данных, например, количества часов для дисциплины АНГЛИЙСКИЙ ЯЗЫК, была допущена ошибка, то для ее исправления необходимо найти все строки, содержащие сведения об этой дисциплине, и во всех этих строках произвести изменения. Также при заполнении такой таблицы могут быть использованы различные формы записи одного и того же значения, например: АНГЛ. ЯЗЫК и АНГЛИЙСКИЙ ЯЗЫК, МАТ. АНАЛИЗ и МАТЕМАТИЧЕСКИЙ АНАЛИЗ.
3. Аномалии модификации:
a. аномалии вставки. В БД не может быть записан новый преподаватель, если он не ведет ни одну дисциплину по данному учебному плану. По аналогичным причинам нельзя ввести и новую дисциплину, если она не изучается в рамках данного учебного плана.
b. аномалии удаления. Обратная проблема возникает при необходимости удаления записей, содержащих информацию об успеваемости всех студентов по конкретной дисциплине. При таком удалении будут утрачены и сведения о преподавателе, ведущем данную дисциплину.
c. аномалии обновления. При попытке изменения одного из атрибутов для некоторого преподавателя, например, номера телефона, необходимо обновить соответствующие значения в строках для всех студентов, которых обучает этот преподаватель. Если такой модификации будут подвергнуты не все требуемые строки, то в этом случае БД будет содержать противоречивые сведения.
Решение этих проблем состоит в разделении данных и связей (или декомпозиции), т. е. в выделении в отдельные таблицы сведений о студентах, преподавателях, дисциплинах и результатах сдачи экзаменов:
Студенты | Преподаватели | Дисциплины | |||||
№ | ФИО студента | № | ФИО преподавателя | № | Дисциплина | ||
1. | 1. | 1. | Алгоритмы и структуры данных | ||||
2. | 2. | 2. | Английский язык | ||||
3. | 3. | 3. | Линейная алгебра | ||||
4. | 4. | Математический анализ | |||||
5. | 5. | Операционные системы, среды и оболочки | |||||
6. | 6. | Программирование | |||||
7. | 7. | Теория вероятности и математическая статистика | |||||
8. |
Учебный план | ||||||
№ | Дисциплина | Семестр | Количество часов | Форма отчетности | Преподаватель | Должность |
1 | 2 | 1 | 60 | зачет | Доцент | |
1 | 3 | 1 | 24 | зачет | Преп. | |
1 | 3 | 1 | 28 | экзамен | Преп. | |
1 | 4 | 1 | 28 | зачет | Ст. преп. | |
1 | 4 | 1 | 32 | экзамен | Проф. | |
1 | 6 | 1 | 36 | зачет | Преп. | |
1 | 6 | 1 | 32 | экзамен | Доцент | |
1 | 2 | 3 | 60 | зачет | Доцент | |
1 | 4 | 3 | 20 | зачет | Преп. | |
1 | 4 | 3 | 28 | экзамен | Проф. | |
1 | 1 | 3 | 32 | экзамен | Доцент | |
1 | 7 | 3 | 32 | экзамен | Доцент | |
1 | 5 | 3 | 36 | зачет | Преп. | |
1 | 5 | 3 | 32 | экзамен | Преп. |
Результаты сессии | ||
Студент | Учебный план | Оценка |
1 | 1 | 1 |
1 | 2 | 5 |
1 | 3 | 1 |
1 | 4 | 4 |
1 | 5 | 1 |
1 | 6 | 5 |
1 | 7 | 1 |
2 | 1 | 1 |
2 | 2 | 5 |
2 | 3 | 1 |
2 | 4 | 4 |
2 | 5 | 1 |
2 | 6 | 5 |
2 | 7 | 1 |
1 | 1 | 1 |
В таблицах РЕЗУЛЬТАТЫ СЕССИИ и УЧЕБНЫЙ План конкретные значения заменены на их номера в других таблицах. Это значительно упрощает процедуру модификации текстовых значений.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |



