VB.Net 및 MySQL 데이터베이스를 사용하여 간단한 등록 프로그램을 만들려고합니다. 여기 내 간단한 테이블이 나는 테이블의 정상화 내 기본 지식을 향상시키기 위해 시도하고,표 정규화
그러나 기본적인 내용이고 내가 하루에 가정 해 봅시다, 피할 수있는 날짜 필드를 분리 그 이유는, 반복 같은 날짜의 삽입. 즉, 하루에 50 명의 개인이 등록되면 테이블에 50 번 추가하는 대신 단일 날짜 (레코드)를 tblRegDate 테이블에 추가하기 만하면됩니다. 이 일을 할 수있는 방법이 있습니까? 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' 필드를 유지해야한다고 생각합니다. – AndrewR
'tblInfo' 테이블에있는 하나의 DATE 컬럼에 필요한 스토리지는 외래 키 값에 대한 스토리지와 크기가 거의 같아서 공간을 절약 할 수 있습니다. 'tblRegDate' 테이블에 합류하는 비용은 절약 효과를 능가합니다. 이 기술은 반드시 자동으로 나쁜 것은 아닙니다. 이것은 기술 사용의 강력한 예가 아닙니다. –