저장 프로 시저 이름 지정에 대한 다양한 규칙을 보았습니다.
어떤 사람들은 sproc 이름 앞에 usp_를 붙이고, 다른 사람들은 앱 이름의 약어를 붙이고, 또 다른 사람들은 소유자 이름을 붙입니다. 정말로 뜻하지 않는 한 SQL Server에서 sp_를 사용해서는 안됩니다.
일부는 동사 (Get, Add, Save, Remove)로 proc 이름을 시작합니다. 다른 사람들은 엔티티 이름을 강조합니다.
수백 개의 sproc이있는 데이터베이스에서는 이미 존재한다고 생각할 때 스크롤하여 적합한 sproc을 찾는 것이 매우 어려울 수 있습니다. 명명 규칙을 사용하면 sproc을 더 쉽게 찾을 수 있습니다.
명명 규칙을 사용합니까? 그것을 설명하고 다른 선택보다 선호하는 이유를 설명하십시오.
답변 요약 :
- 모든 사람이 특정 명명 규칙을 사용하는 것보다 동일한 명명 규칙을 사용하는 것이 더 중요 할 수 있으므로 명명의 일관성을 옹호하는 것 같습니다.
- 접두사 : 많은 사람들이 usp_ 또는 유사한 것을 사용하지만 (드물게는 sp_) 다른 많은 사람들이 데이터베이스 또는 앱 이름을 사용합니다. 한 영리한 DBA는 gen, rpt 및 tsk를 사용하여 일반적인 CRUD sproc을보고 또는 작업에 사용되는 것과 구별합니다.
- 동사 + 명사는 명사 + 동사보다 약간 더 인기가있는 것 같습니다. 어떤 사람들은 동사에 SQL 키워드 (Select, Insert, Update, Delete)를 사용하는 반면 다른 사람들은 Get 및 Add와 같은 비 SQL 동사 (또는 약어)를 사용합니다. 일부는 단일 명사와 복수 명사를 구별하여 하나 또는 여러 레코드가 검색되는지 여부를 나타냅니다.
- 적절한 경우 끝에 추가 문구가 제안됩니다. GetCustomerById, GetCustomerBySaleDate.
- 어떤 사람들은 이름 세그먼트 사이에 밑줄을 사용하고 어떤 사람들은 밑줄을 피합니다. app_ Get_Customer 대 appGetCustomer-가독성의 문제라고 생각합니다.
- 대규모 sproc 컬렉션은 Oracle 패키지 또는 Management Studio (SQL Server) 솔루션 및 프로젝트 또는 SQL Server 스키마로 분리 될 수 있습니다.
- 알 수없는 약어는 피해야합니다.
내가 한 답을 선택한 이유 : 좋은 응답이 너무 많습니다. 다들 감사 해요! 보시다시피 하나만 선택하는 것은 매우 어려울 것입니다. 내가 선택한 사람이 저에게 반향을 일으켰습니다. 나는 그가 설명하는 것과 동일한 경로를 따랐습니다. Verb + Noun을 사용하려고 시도했지만 고객에게 적용되는 모든 sproc을 찾을 수 없었습니다.
기존의 sproc을 찾거나 존재하는지 확인하는 것은 매우 중요합니다. 누군가 실수로 다른 이름으로 중복 된 sproc을 만들면 심각한 문제가 발생할 수 있습니다.
일반적으로 수백 개의 sproc이있는 매우 큰 앱에서 작업하기 때문에 찾기 쉬운 이름 지정 방법을 선호합니다. 작은 앱의 경우 메서드 이름에 대한 일반적인 코딩 규칙을 따르므로 Verb + Noun을 옹호 할 수 있습니다.
그는 또한 유용하지 않은 usp_ 대신 앱 이름 접두사를 옹호합니다. 여러 사람이 지적했듯이 데이터베이스에는 여러 앱에 대한 sproc이 포함되는 경우가 있습니다. 따라서 앱 이름을 접두사로 지정하면 sproc을 분리하는 데 도움이되고 DBA와 다른 사용자가 sproc이 사용되는 앱을 결정하는 데 도움이됩니다.