공식 데이터 사전의 관점에서 살펴보면 데이터 요소의 이름을 invoice_ID
. 일반적으로 데이터 요소 이름은 데이터 딕셔너리에서 고유하며 이상적으로는 전체적으로 동일한 이름을 갖지만 컨텍스트에 따라 추가 한정 용어가 필요할 수 있습니다 (예 : 명명 된 데이터 요소 employee_ID
가 조직도에서 두 번 사용될 수 있으므로 다음과 같이 한정됨) supervisor_employee_ID
그리고 subordinate_employee_ID
각각.
분명히 명명 규칙은 주관적이며 스타일의 문제입니다. ISO / IEC 11179 지침이 유용한 출발점이라고 생각합니다.
DBMS의 경우 테이블을 항목 모음 (예 : cofig 테이블, 상수 테이블 등 하나의 행만 포함하는 항목 제외), 예를 들어 my employee_ID
가 키인 테이블 이름이으로 지정 Personnel
됩니다. 그래서 당장 TableNameID
대회가 저에게 효과가 없습니다.
나는 TableName.ID=PK TableNameID=FK
큰 데이터 모델에 사용 된 스타일을 보았고 약간 혼란 스럽다고 말해야한다. 나는 식별자의 이름이 전체적으로 동일한 것을 선호한다. 즉 어떤 테이블에 나타나는지에 따라 이름을 변경하지 않는다. 앞서 언급 한 스타일은 모든 테이블에 IDENTITY
(자동 증가) 열을 추가 하면서 외래 키에서 자연 키와 복합 키를 분리 하는 상점에서 사용되는 것으로 보입니다 . 이러한 상점에는 공식적인 데이터 사전이 없거나 데이터 모델에서 빌드하지 않는 경향이 있습니다. 다시 말하지만, 이것은 단지 스타일의 문제이며 개인적으로 구독하지 않는 문제입니다. 그래서 궁극적으로 그것은 나를위한 것이 아닙니다.
즉, 테이블 이름이 컨텍스트를 제공 할 때 열 이름에서 한정자를 가끔 삭제하는 경우를 볼 수 있습니다. 예를 들어 이름 employee_last_name
이 지정된 요소 가 단순히 테이블 last_name
에 포함될 수 있습니다 Personnel
. 여기에 이론적 근거는 도메인이 '사람의 성과 이름'이고 가능성이 될 것입니다 UNION
와 에드 last_name
열 에서 오히려 외래 키로 사용이 아닌 다른 테이블 에서 , 난 그냥 내 마음을 바꿀 수 ... 다음 다시 다른 테이블 있지만, 때로는 결코 말할 수 없습니다. 데이터 모델링은 예술이고 과학입니다.