Сравнение однотабличной и многотабличной баз данных.

Могут возникать проблемы вставки, обновления, удаления.

Проблема вставки

В любой БД не должно быть полей с неопределенными или пустыми значениями.

Например: для однотабличной БД жителей Зеленограда, появляется новорожденный, у которого отсутствует источники дохода. Мы не можем внести его в таблицу, учитывая ограничение, приведенное выше. Для многотабличной БД: занесем в общую базу, указав, что источник дохода = 0.

Проблема обновления

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

Например: Петрова поменяла место жительства. Придется изменять адрес во всех строках, относящихся к фамилии Петрова. В спроектированной БД изменится значение адреса в одной строке таблицы PERSON и информация в таблице FLAT.

Неявная избыточность в однотабличной БД проявляется в том, что все жители одной квартиры имеют один и тот же номер телефона. Если Иванов 1928г.р. сообщает об изменении телефона, то изменяется информация в графе Иванов 1928г.р., а информация об остальных жителях квартиры остается неизмененной.

В многотабличной БД ищем в таблице PERSON номер квартиры. Затем по номеру квартиры находим номер телефона и обновляем его.

Проблема удаления

Если житель лишится единственного источника дохода, то информация о нем будет удалена полностью. В многотабличной БД в таблице HAVED общий доход станет = 0, остальная информация сохранится.