Дизайн реляционной базы данных принципиально отличается от правил кодирования для C# или Java или Ruby или любого языка, на котором вы пишете свой "нормальный" код.
Некоторые базовые c принципы тоже будет применяться - но многие вещи, к которым вы привыкли в «нормальном» кодировании, не применимы к проектированию реляционных баз данных.
Прежде всего - вы должны придерживаться по крайней мере первых трех нормальных форм реляционных проект базы данных:
Существуют случаи (например, отчетность и хранилище данных), когда не все эти требования являются столь же строгими - но для «обычной» реляционной базы данных эти принципы принимаются.
Кроме того, ознакомьтесь с замечательной статьей Луи Дэвидсона Десять распространенных ошибок проектирования баз данных и убедитесь, что вы понимаете, в чем заключаются эти ошибки проектирования, и по возможности избегайте их.
Основное внимание при проектировании реляционных баз данных должно быть уделено (в указанном порядке):
- Целостность данных
- Избегать дублирования данных
- Оптимизация производительности