문제

응, 그래? Business.Name 또는 Business.BusinessName SubCategory.ID 또는 SubCategory.SubCategoryID

데이터베이스에서는 어떻습니까?

왜?

나는 둘 다 찢어졌습니다."정답"이 있었으면 좋겠어요

도움이 되었습니까?

해결책

ID, 이름 등을 사용할 때의 주요 단점은 두 테이블이 겹치는 SQL 조인을 작성하는 경우 테이블 이름으로 이를 한정해야 한다는 것입니다.

그럼에도 불구하고 ID와 이름만 사용하는 것이 훨씬 더 간결하고 읽기 쉽다는 것을 알았습니다. 코드와 테이블은 훨씬 더 쉽게 눈에 '흐르게' 됩니다.입력이 더 쉽고 중복이 적습니다.그리고 SELECT Business.Name FROM ...을 입력합니다.SQL 쿼리에서 SELECT BusinessName FROM ...을 입력하는 것보다 실제로 더 문제가 되는 것은 아닙니다.

일반적으로 의미론적 정보가 반복되는 것을 발견하면 이를 제거할 방법을 찾거나 적어도 그것이 반복되는 이유를 인식하도록 경고합니다.이는 소규모(속성 이름)일 수도 있고 대규모(동작 패턴 또는 공통 클래스 구조)일 수도 있습니다.

다른 팁

유일한 "올바른" 대답은 일관성을 유지하는 것입니다.프로젝트에서 어떤 것을 사용할지 미리 결정하고 이를 고수하세요.

"이름" 및 "ID"와 같은 매우 일반적인 속성의 경우 내가 사용한 규칙은 필드에 엔터티 이름을 입력하지 않는 것입니다.좀 더 특이한 속성에 대해서는 엔터티 이름을 넣습니다.

이는 명명 규칙에 따른 결정이지만 이것이 규칙인 프로젝트를 후회한 적은 없습니다. 각 ID에 엔터티 이름을 넣으면 너무 장황해 보일 수 있습니다.

우리는 기본 키인 모든 것에 대해 ID를 수행합니다.SubCategory.SubCategoryID가 중복되는 것 같습니다.

제 생각이 틀릴 수도 있겠지만, 이드가 더 맛있는 요리인 것 같아요.

thing.id
객체를 다루고 기본 키가 필요한 반사적인 내용을 작성하려는 경우 공식을 사용하여 결정하는 것이 어디에서나 쉽게 알 수 있기 때문입니다.

다른 하나에 관해서는 이것이 전적으로 선호되는 것이며 다른 문자와 해당 .net을 입력하는 데 시간을 낭비하는 것 외에는 실제 의미가 없으므로 어쨌든 실제로 네임스페이스를 입력하는 사람은 아무도 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top