프론트 사이드 프로그래밍과 달리, 데이터베이스 구조를 리팩터링하는 것은 사용하기 쉽지만 고통 스럽지만 비실용적입니다.
백엔드 오른쪽의 구조를 앞쪽으로 가져 오는 것이 좋습니다. 좋은 소식은 세 번째 정규 형태가 일반적으로 습득하기가 어렵지 않다는 것입니다. 사실, 조금만 실천하면, 그 용어로 데이터를 생각하는 것은 거의 제 2의 천성이됩니다.
제 3 정규형은 본질적으로 테이블의 단일 레코드의 각 구성 요소가 해당 레코드의 키에 고유하다는 것을 나타냅니다. 고려 :
tblPerson : PersonID PK 성 FIRSTNAME 가운데 이름 DOB SSN IncomeSource IncomeAmount
위에서 정의 된 표는 소득 소스가 고유하지 않기 때문에, thrid 일반적인 형태가 아니다 테이블에있는 사람의 각 발병률은 사실 그 사람의 삶에 변화를 겪을 수 있습니다.
tblPerson PersonID을 PK 성 FIRSTNAME 가운데 이름 DOB SSN
tblPersonIncome PersonIncomeID PK PersonID FK tblPerson 다음으로 대신 한 (지나치게 단순한 환산) 상기 구조화 것 IncomeSourceID FK tblIncomeSource 소득 금액 AsOfDate
일부는 위의 자동 증가 ID 필드 내 사용에 대해 주장 할 것이다
tblIncomeSource IncomeSourceID IncomeSource
주 - 이러한 제 3 정규형을 위반하지 않지만, 그들은 또한 자연 키를 사용하지 않습니다.
백엔드가 점프에서 정상적으로 정상화되면 엔티티를 추가하거나 확장하는 것이 풋내기에서 수행하기가 훨씬 쉽습니다. 추가하기 전에 작성하는 프런트 엔드에 미치는 영향은 훨씬 적습니다.
어쨌든 백 엔드에서 앞면을 올바르게 디자인하거나 롤링을 받고 나중에 구조적 변경을 구현해야하는 불행이 심할 것입니다. 그렇지 않으면 새로운 집의 기초를 쏟아 부은 다음 나중에 건물을 설계하는 동안 필요에 따라 평면도를 변경하려는 계획과 조금 다를 수 있습니다.
다음 링크부터 시작하는 것이 좋습니다. http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx – Leslie