Если возникает необходимость добавить в базу данных рецензии на книги, то это можно сделать, по крайней мере, двумя способами.
1) Добавить столбец Рецензия в таблицу Книги. Тогда каждую книгу будет сопровождать поле с рецензией.
ТаблицаКНИГИ
ISBN
| Автор
| Название
| Цена
| Рецензия
|
0-672-31697-8
| Michael Morgan
| Java 2 for Professional Developer
| 34.99
|
|
0-672-31745-1
| Tomas Down
| Installing Debian GNU/Linux
| 24.99
|
|
0-672-31509-2
| Pruitt, et al.
| Teach Yourself GIMP in 24 Hours
| 24.99
|
|
Если в базе данных много книг и рецензент не собирается делать обзор их всех, во многих строках этот атрибут не будет иметь значения (или, как говорят, будет иметь нулевое значение).
Наличие большого количества нулевых значений в базе данных – плохая практика, т.к. влечет за собой нецелесообразное использование места на жестком диске, проблемы с подсчетом итоговых сумм и прочими функциями числовых столбцов. Когда пользователь видит в таблице нуль, он не знает, что это: либо несоответствующий атрибут, либо в базе данных ошибка, либо данные просто не введены.
2) Альтернативный вариант проекта позволяет избежать большинства проблем с нулями. Для этого создадим специальную таблицу для рецензий Рецензии книг, в которой размещаются только книги с рецензиями (рецензии прилагаются).
ТаблицаРЕЦЕНЦИИ КНИГ
Этот проект основан на идее использования единого внутреннего рецензента. Также легко можно обеспечить клиентов рецензиями авторов, добавив в таблицу Рецензии книг столбец КлиентID.