나는 (적어도 나를 위해) 힘든 결정을 겪고 있습니다. ...DB 또는 응용 프로그램 수준에서 국가/지역 이름을 채워야합니까?
내 웹 사이트에는 선택한 국가에 따라 도시 목록과 드롭 다운 목록에있는 국가 목록이 있습니다. 때문에 등록 양식에, 그러나
CREATE TABLE Country
(
countryID - PK
countryName - FK
);
CREATE TABLE City
(
cityID - PK
countryID - FK
cityName
);
CREATE TABLE Register
(
registerID - PK
cityID - FK
)
, 이것은 국가/도시에서 기록을 검색뿐만 아니라 등록에 기록을 삽입 할 때 코딩 PHP 백 엔드에 약간의 복잡성을 추가 할 수 있습니다 : I는 다음과 같이 데시벨 수준에서 목록을 채우는 결정 사용자는 도시 목록 이름에 도시 이름을 표시하지 않으므로 사용자는 cityID를 볼 수 없으므로 선택된 cityName 등을 기반으로 cityID를 가져와야합니다. 따라서 고정 된 드롭 다운 목록에 국가 및 도시 목록을 응용 프로그램 수준에 넣어야합니다. 등록 표 모양을 다음과 같이 작성하십시오.
CREATE TABLE Register
(
registerID - PK
cityName
)
cityName은 우리가 조인하거나 여러 표를 호출하지 않고 직접 삽입됩니다. 도시에 대한 특정 ID를 얻을 수 있도록 cityName 등을 가져올 수 있습니다.
회원 테이블과 게시/게시 테이블 간의 관계 설정과 같은 중요한 테이블에서만 정상화됩니다. 멤버는 일대 다 관계의 여러 스레드를 가질 수 있습니다. 그렇지 않은 경우 국가 목록과 같이 다중 가치와 관련된 사항은 간결함과 랩을 위해 DB 수준에서 고려되지 않습니다.
당신은 어떻게 생각하십니까? 조언 ...