Разработка структуры бд
Сбор и содержательный анализ информации о предметной области и прикладных задачах будущих пользователей.
Построение модели БД. На этом этапе выявляются элементы БД, их свойства, связи между ними. Составляется таблица. Если присутствует избыточность информации, выполняют декомпозицию таблицы.
Определяют ключи таблиц (в качестве такового выбирают атрибуты, данные которых не изменяются во времени). Определяют связи между таблицами (они осуществляются с помощью внешних ключей).
Пример.
Имеется таблица, содержащая избыточность информации:
№ зачетки |
ФИО студента |
Группа |
ФИО куратора |
Должность куратора |
Телефон |
65012 |
Иванов И.И. |
ИСБ-02 |
Матвеева С.С. |
Ассистент каф. ИСБ |
3-47-45 |
65013 |
Петров П.П. |
ИСБ-02 |
Матвеева С.С. |
Ассистент каф. ИСБ |
3-47-45 |
65014 |
Сидоров А.А. |
ИСБ-01 |
Калинина Т.Ю. |
Инженер |
55-56-4 |
56012 |
Мамонтов И.Г. |
АИС-01 |
Морозова Ю.Г. |
Ст. преподаватель каф. АИС |
12-4-89 |
56013 |
Григорьев А.А. |
АИС-01 |
Морозова Ю.Г. |
Ст. преподаватель каф. АИС |
12-4-89 |
Наличие избыточной многократно повторяющейся информации снижает надежность хранения информации. Рассмотрим основные операции над данными и возникающие вследствие избыточности проблемы.
Операция удаления. Предположим, что один из кураторов увольняется или отказывается от работы куратора. Просто удалить информацию, содержащую сведения о кураторе мы не можем, так как теряются сведения и о студентах. Можно просто удалить информацию в соответствующих полях таблицы, но это требует написания дополнительной процедуры и предельного внимания ответственного за БД.
Операция редактирования. Студент переводится из одной группы в другую. В этом случае помимо изменения значения группы необходимо проследить, чтобы были внесены все изменения значений полей ФИО куратора, Должность куратора, Телефон куратора. В противном случае получим противоречивую информацию, кто действительно курирует ту или иную группу.
Операция ввода информации. При вводе одной и той же информации кроме того, что может «лопнуть терпение» пользователя, возрастает вероятность совершения ошибки.
Все вышеперечисленные проблемы могут быть разрешены с помощью декомпозиции таблицы на два таблицы.
№ зачетки |
ФИО студента |
Группа |
|
Группа |
ФИО куратора |
Должность куратора |
Телефон |
65012 |
Иванов И.И. |
ИСБ-02 |
|
ИСБ-02 |
Матвеева С.С. |
Ассистент каф. ИСБ |
3-47-45 |
65013 |
Петров П.П. |
ИСБ-02 |
|
ИСБ-01 |
Калинина Т.Ю. |
Инженер |
55-56-4 |
65014 |
Сидоров А.А. |
ИСБ-01 |
|
АИС-01 |
Морозова Ю.Г. |
Ст. препод. каф. АИС |
12-4-89 |
56012 |
Мамонтов И.Г. |
АИС-01 |
|
|
|
|
|
56013 |
Григорьев А.А. |
АИС-01 |
|
|
|
|
|
