2011-10-29 3 views
0

データベースの最適化について気にしないと仮定して、ユーザーが入力したデータを格納するデータベースのすべてのフィールドにVARCHARを使用するだけでよいはずです。ユーザ入力データを保持するデータベースフィールドにVARCHARを使用しない理由はありますか?

データベース内のデータ型を定義すると、検証関数の作業が重複しているようです。

言い換えれば、入力されたデータを検証するための真理の源は何ですか?データベースのフィールド定義、または受信データを最初に解析する検証関数?

答えて

1

検証に関係なく、値をデータベースの自然なデータ型として保存します。すべてをvarcharとして保存すると、集計関数(SUMAVGなど)、およびSql Serverの日付時刻関数(DATEADDDATEDIFFなど)などの特定のデータ型で機能する関数の使用が難しくなります。

+1

+1正確に言えば、「INT」のように話すならば、「INT」のように歩き、「INT」のように聞こえる - それは** INTである。 –

関連する問題