단수 또는 복수 데이터베이스 테이블 이름?
정확한 중복
단수 또는 복수 데이터베이스 테이블 이름을 사용하는 것이 더 낫습니까? 승인 된 표준이 있습니까?
나는 그것에 대한 논쟁을 들었습니다. 여러분은 어떻게 생각하십니까?
IMHO, 테이블 이름은 Customers와 같이 복수형이어야합니다.
클래스 이름은 Customers 테이블의 행에 매핑되는 경우 Customer처럼 단수 여야합니다.
단수이므로 다음을 가질 수 있습니다.
- 고객
- CustomerAddress
- CustomerAddressAuditTrail
기타
나는 단수 이름을 좋아하지만 소수 인 것 같습니다.
내 개인적인 철학은 테이블에 하나의 행만 포함하도록 계획하지 않는 한 복수 데이터베이스 테이블 이름을 사용하는 것이 중복된다는 것입니다.
AgentID와 같은 PK 이름을 가진 Agent와 같은 단수 이름을 사용하고 싶습니다.
하지만 그건 나야 : o)
나는 단순히 하나의 테이블에 여러 엔티티가 포함되어 있기 때문에 복수형을 사용하는 것을 좋아하므로 더 자연스럽게 보입니다.
Linq to SQL은 데이터 항목을 만들 때 복수 형식 테이블 이름을 단수 형식으로 변환합니다. 나는 Microsoft가 테이블 이름에 대해 복수형을 나쁜 관행으로 간주한다면이 기능을 구현하지 않았을 것이라고 가정합니다.
현재 회사에서는 테이블 이름에 Plural을 사용합니다. 이유는 다음과 같습니다. Customers 테이블이있는 경우 각 행을 Customer로 간주하므로 테이블 자체가 고객 모음입니다.
글쎄, 확실히 데이터베이스 테이블 이름은 절대적했다 가지고 내가 지금까지 임의적으로 정의하는 "표준"방식으로 지명 될 수 있습니다.
첫째, 모든 테이블 이름은 "t_"로 시작해야합니다. 다음으로 StudlyCaps의 단일 엔티티 이름 (예 : "Customer"). 그 직후에는 기록 목적을 위해 스키마의 첫 번째 버전에서 생성 된 열의 수와 밑줄 및 정확한 데이터 형식이 포함됩니다. BCNF의 경우 "1", "2", "3"또는 "B"입니다. 더 높은 정규 형태는 "P"로 표시됩니다.
허용되는 이름의 몇 가지 예는 다음과 같습니다.
t_Customer_6_3
t_Order_5_B
t_OrderLine_4_2
내 요점은 이름이 합리적으로 설명적이고 이름이 일관된 한 정말 중요하지 않다는 것 입니다.
가장 중요한 것은 사용에있어 일관성을 유지하는 것입니다. 어떤 테이블이 복수형인지 아닌지를 기억해야하는 것은 성가신 일입니다. 필드 이름과 마찬가지로 하나의 표준을 선택하고 사용하십시오. 가난한 개발자가이 테이블이 person_id 또는 personid 또는 peopleid 또는 person $ id 등을 사용하는지 결정하도록 만들지 마십시오. 어떤 테이블이 사용하는지 기억하려는 표준이 없을 때 낭비 할 수있는 시간이 놀랍습니다. 뭐.
이 질문에 대한 정답은 없습니다. 그것은 데이터베이스와 소프트웨어의 설계자에게 달려 있습니다.
저에게는 ER 다이어그램을 작성할 때 Customers가 아닌 Customer 엔티티가 있기 때문에 일반적으로 단수 이름을 사용하므로 혼동되지 않도록 동일하게 유지합니다.
물론 일부 프레임 워크는 한 스타일 또는 다른 스타일을 선호하므로 이러한 관행을 눈치 채면 따르는 것이 가장 좋습니다.
각각에 대한 많은 논쟁이 있지만, 모두 당신이 편안하다고 느끼는 것에 달려 있습니다. 둘 다 틀리지 않습니다.
정말 중요한 것은 일관성이 있다는 것입니다. 하나의 표준을 선택하고 그것을 고수하십시오. 당신이 선택하는 것은 덜 중요합니다.
IMHO 그것은 정말로 중요하지 않습니다. 당신과 데이터베이스를 사용하는 사람들에게 편한 일을하십시오.
나는 무의식적으로 s와 "선택 목록"또는 외래 키 테이블과 단수로 주요 데이터 테이블을 나열한다고 생각합니다.
As with lots of these types of questions the best answer is often "consistent". You can argue the table represents a single entity and as such deserves a singular name, or that it contains multiple instances of an entity so it should be plural. My advice is flip a coin and go with it for the entire database (or stick with the convention that already has a majority).
ReferenceURL : https://stackoverflow.com/questions/808992/singular-or-plural-database-table-names
'Programing' 카테고리의 다른 글
신속한 3을 사용하여 UIView에 그림자 추가 (0) | 2021.01.09 |
---|---|
'UserControl'유형은 직접 콘텐츠를 지원하지 않습니다. (0) | 2021.01.09 |
드래그 가능한 복제본을 만들어서 드롭 가능에 놓으면 다시 드래그 할 수 없습니다. (0) | 2021.01.08 |
비밀번호 로그인에 솔트를 어떻게 구현합니까? (0) | 2021.01.08 |
브라우저의 User-Agent 문자열의 표준 형식은 무엇입니까? (0) | 2021.01.08 |