MSDN 에서 명명 지침 을 찾았 지만 Microsoft의 MSSQL 데이터베이스에 대한 지침입니까?
MSDN 에서 명명 지침 을 찾았 지만 Microsoft의 MSSQL 데이터베이스에 대한 지침입니까?
답변:
SQL Server의 AdventureWorks 데이터베이스 에서 사용되는 명명 규칙 은 스타일 측면에서 많은 모범 사례를 보여줍니다.
요약:
여기에서 자세한 내용을 확인할 수 있습니다.
한 가지주의 사항 : 데이터베이스 명명 규칙은 매우 논란이 될 수 있으며 제가 만난 대부분의 데이터베이스 개발자는 자신의 스타일에 개인적인 이해 관계를 가지고 있습니다. 테이블 이름을 "OrderHeader"또는 "OrderHeaders"로 지정해야하는지에 대한 열띤 논쟁을 들었습니다.
usp
및으로 미리 지정 하면 어떤 이점이 ufn
있습니까? 저장 프로시 저는 일반적으로 동사로 시작하며 함수는 일반적으로 함수별로 지정된 이름을 갖습니다.
아니요, 제공 한 링크의 관행을 염두에 두는 것이 좋습니다.
저장 프로 시저 이름 지정과 관련하여 "sp_"접두사를 붙이지 마십시오 .이 링크에서 이유에 대해 자세히 알아볼 수 있습니다 .
"이 접두사는 시스템 저장 프로 시저 식별 용으로 예약되어 있으므로 저장 프로 시저 앞에 sp_를 붙이지 마십시오."
@ 8kb (작성 당시)의 답변에서 "스타일 측면에서 모범 사례"가 무엇을 의미하는지 모르겠습니다. 분명히 나열된 항목 중 일부 ( "테이블 이름은 복수형이 아닙니다", "밑줄 없음"등)은 명백하게 주관적인 스타일 선택 일뿐입니다. 문서화 팀 리더의 개인적 선호도가 여기서 가장 큰 요인이라고 생각했을 것입니다.
일반적으로 SQL의 휴리스틱과 관련하여 (T-SQL과 같은 독점 SQL과는 대조적으로) 주제에 대한 책은 한 권 밖에 없습니다 : Joe Celko의 SQL 프로그래밍 스타일. SQL Server의 AdventureWorks 데이터베이스에 대한 많은 선택 사항이 Celko의 지침과 충돌합니다.
Celko의 명명 규칙은 국제 표준 ISO 11179를 기반으로합니다. 예를 들어 구분 문자 (예 : 밑줄)를 사용하여 이름의 요소를 구분해야합니다. 다른 스타일 선택도 마찬가지로 연구를 통해 백업됩니다. 예를 들어 열 이름에 소문자 만 사용하므로 육안으로 스캔하는 데 도움이됩니다. 의심 할 여지없이 주관적인 개인적 선호도는 현장에서 수년간의 경험을 바탕으로합니다.
장점은 최근 몇 년 동안 SQL Server 문서에서 개선 된 점입니다. 예를 들어 SQL 키워드를 대문자로, 세미콜론을 문으로 구분하는 등의 작업이 있습니다. Adventure works는 Northwind와 pub에서 크게 향상되었습니다. 이제 Management Studio의 스크립팅 기능이 눈에 좀 더 쉬운 코드를 뱉어 낼 수없는 이유는 무엇입니까?!
SQL Server 명명 규칙 가이드 를 작성하려면 GitHub에 있는 Konstantin의 문서 부터 시작하는 것이 좋습니다 .