[DB] DB 명명 규칙(Naming Convention)

곽수경·2024년 1월 2일
0

DB

목록 보기
2/2

엘리스 부트캠프에서 프로젝트를 진행할 때 협업을 위해서 변수명과 커밋 메시지의 규칙을 정했었다. 변수명, 커밋 메시지의 규칙을 정해놓아서 서로의 코드와 커밋 내용을 빠르고 쉽게 이해할 수 있었다.

하지만 그 때는 프로젝트 기간이 2주 정도로 짧았기 때문에 명명 규칙들을 왜 이렇게 정하는지, 주의할 점들이 무엇이 있는지는 잘 공부하지 못했다. 그래서 이번에 개인 프로젝트를 진행할 때 변수명, 커밋 메시지 뿐만 아니라 DB 명명 규칙도 자세히 알아보려고 한다.


DB 명명 규칙에 대한 블로그 글들을 찾아보았는데 공식적인 문서나 책을 참고한 문서는 거의 없었다. 대부분 다른 블로그의 글들을 참고하여 작성된 글들이었다. 그래서

레퍼런스로 사용된 블로그 글들이 주로 참고한 SQL Style Guide,
위키독스에서 제공하는 AI가 알려주는 SQL - 아직 AI가 알아서 못하는 DB 관리,
자신의 회사에서 적용하는 규칙들을 글로 써주신 르매님의 [MySQL] 명명 규칙 (Naming Convention)

을 주로 참고하여 DB 명명 규칙을 정리했다.


공통

  • SQL 예약어가 아니며 고유한 이름으로 지을 것
  • Snake Case와 소문자를 사용할 것
    • 대문자나 공백을 피하고, 단어 사이를 _(underscore)로 구분하는 것이 가독성을 높일 수 있음
  • 문자로 시작하고 _(underscore)로 끝나지 않도록 할 것
  • _(underscore) 연속으로 두 번 이상 사용하지 말 것
  • 약어는 되도록 사용하지 말고 일반적으로 이해할 수 있도록 작성
    • 데이터베이스나 테이블의 이름은 해당 데이터의 내용이나 용도를 명확하게 나타내야 함
    • 짧고 간결하면서도 명확한 의미를 전달할 수 있도록 작성
      -> 긴 이름은 코딩이나 쿼리 작성 시 번거로움을 초래함

Table

  • 복수형, 단체스러운 이름(collective name)을 사용
    • ex) staff (best) / employees (not best, but can be used)
  • tbl_ 등의 접두사를 사용하지 말 것
    • _TB 등의 접미사를 사용하는 방식은 예전 방식이므로 사용하지 말 것
  • 테이블의 열 이름들 중 동일한 이름을 사용하지 말 것
  • 가능한 두 테이블의 이름을 연결하여 관계 테이블의 이름을 만드는 것을 피할 것
    • ex) carsmechanics를 연결하는 관계테이블을 작명할 때 cars_mechanics 보단 service가 더 좋음

Column

  • 항상 단수형 이름을 사용
  • 가능한id 보다는 테이블 이름의 단수형 + id을 PK로 사용
    • ex) movies 테이블의 PK 컬럼 이름 : movie_id
  • 테이블과 동일한 이름을 사용하지 말 것

+ Reference


앞으로 DB를 설계하며 계속 추가해나갈 예정입니다.

  • 2024.01.01 : 공통 Table, Column
profile
공부 기록

0개의 댓글