DB正規化理論の概念は次のとおりです。
非キー フィールドが別の非キー フィールドに関する事実である場合、第 3 正規形に違反します。
関数/関数パラメーターに同様の概念を適用するのは理にかなっていますか?
次の関数を検討してください。
function validate(field, rule_name, rule_value);
// Usage
validate("password", "min_length", 6);
validate("password", "matches_regex", "/^\S+$/");
この例の関数では、3 番目のパラメーターは 2 番目のパラメーターを記述しており、最初のパラメーターに対する「態度」がないように見えます。ある意味、非正規化関数のように感じます。
私がこれを正しく定式化しているかどうかはわかりませんが、DB 内のテーブル名とテーブル フィールド、および関数名と関数パラメーターの間に類推があることに気付くことができます。
この類推が理にかなっているとすれば、関数設計者が DB 正規化理論から概念を借用することも理にかなっているのではないでしょうか?