데이터베이스에서 조회 테이블을 언제 어디서 사용할 지에 대한 경계를 정확하게 설정하는 방법을 정확히 파악하는 데 어려움이 있습니다. 내가 본 대부분의 소스는 내가 너무 많이 가질 수 없다고 말하지만 어떤 시점에서는 데이터베이스가 너무 많은 조각으로 나누어 져 효율적일 수는 있지만 더 이상 관리 할 수없는 것처럼 보입니다. 다음은 내가 작업하고있는 것의 예입니다.
Employees라는 테이블이 있다고 가정 해 보겠습니다.
ID LName FName Gender Position
1 Doe John Male Manager
2 Doe Jane Female Sales
3 Smith John Male Sales
데이터가 더 복잡하고 수백 개의 행을 포함하는 것으로 가정하십시오. 룩업 테이블로 옮길 수있는 가장 확실한 것은 Position입니다. Positions라는 테이블을 만들고 Positions 테이블의 Foreign 키를 Position 열의 Employees 테이블에 붙일 수 있습니다.
ID Position
1 Manager
2 Sales
그러나 정보를 관리 할 수 없게되기 전에 정보를 더 작은 조회 테이블로 얼마나 세분화 할 수 있습니까? 성별 테이블을 만들 수 있으며 별도 조회 테이블에서 1은 남성에 해당하고 2는 여성에 해당합니다. LName과 FName을 테이블에 넣을 수도 있습니다. 모든 "John"항목은 ID 1이 John에 해당함을 나타내는 FName 테이블을 가리키는 외래 키 1로 대체됩니다. 그러나이 토끼 구멍을 너무 아래로 내려 가면 직원 테이블이 외래 키의 혼란으로 줄어 듭니다.
ID LName FName Gender Position
1 1 1 1 1
2 1 2 2 2
3 2 1 1 2
서버가 처리하는 것이 더 효율적일 수도 있고 그렇지 않을 수도 있지만, 서버를 유지하려고하는 응용 프로그램 개발자가 액세스하기가 더 어려워 질 수있는 정상적인 사람에게는 확실히 읽을 수 없습니다. 내 진짜 질문은 얼마나 멀어요? 이런 종류의 일에 대한 "모범 사례"나 적절한 지침이 있습니까? 나는 내가 가지고있는이 특정 문제에 대해 훌륭하고 유용한 지침을 실제로 제시하는 정보를 온라인에서 찾을 수 없습니다. 데이터베이스 디자인은 나에게는 모자이지만 GOOD 데이터베이스 디자인은 매우 새롭기 때문에 지나치게 기술적 인 답변이 내 머리 위에있을 수 있습니다. 도움을 주시면 감사하겠습니다!