データベース用にVB.NetとMySQLを使用して簡単な登録プログラムを作成しようとしています。ここに私の単純なテーブルは、私はテーブルの正規化では、私の基本的な知識を改善しようとしています、テーブルの正規化
しかし、基本的な情報のためだと私は一日にしましょう、回避するために、日付フィールドを分離理由です、繰り返し同じ日付の挿入。 50人を1日に登録すると、テーブルに50回追加するのではなく、tblRegDateテーブルに1つの日付(レコード)を追加するだけです。これを行う方法はありますか? VB.NetとMySQLで可能ですか?または、むしろ、私はいくつかのフィールドを追加または変更する必要がありますか? VB.Netで条件を作成する必要がありますか?上記の表は私の友人が私に教えたものですが、冗長性を排除するものではありません。親切に私に指示を与えたり、サイトに案内したりするための簡単なチュートリアルがあります。前もって感謝します!ここ
は私のMySQLのコードです:
CREATE TABLE tblInfo(
Number INT AUTO_INCREMENT,
LastName VARCHAR(45),
FirstName VARCHAR(45),
MiddleName VARCHAR(45),
Gender ENUM(M,F),
BirthDate DATE,
PRIMARY KEY(Number));
CREATE TABLE tblRegDate(
IDRegDate INT AUTO_INCREMENT,
Date TIMESTAMP,
Number INT,
PRIMARY KEY(IDRegDate),
FOREIGN KEY(Number) REFERENCES tblInfo(Number));
私は、あなたの 'RegDate'フィールドをinfoテーブルに残すべきだと思います。 – AndrewR
'tblInfo'テーブルの1つのDATEカラムに必要なストレージは、外部キー値のストレージとほぼ同じサイズになるので、省スペースが最小限に抑えられます。 'tblRegDate'テーブルに参加するコストは節約よりも重要です。技術は必ずしも自動的に悪いとは限りません。これは技術を使用する説得力のある例ではありません。 –