테이블명은 단수형? 복수형?

som·2024년 7월 23일
0

테이블명은 단수형으로 작성해야 할까요, 복수형으로 작성해야 할까요?
테이블명 네이밍 컨벤션에 관한 논의는 항상 재미있는데요. 특히 테이블명을 단수형으로 할지 복수형으로 할지에 대해선 항상 의견이 갈리곤 합니다.

그럼 테이블명은 단수형으로 쓰는 게 좋을까요, 복수형으로 쓰는 게 좋을까요? 제 생각은 정답은 없지만 일관되게 사용하는 것이 중요하다입니다.

이번 포스트에서는 단수형과 복수형에 대한 의견을 살펴보고, 개인적인 생각도 살짝 담아보았습니다.

단수형 파

1. 각 행(레코드)를 나타낸다

  • 테이블의 각 행이 하나의 엔티티를 나타내기 때문에 단수형이 더 직관적이다.
  • 예를 들어, User 테이블은 개별 유저를 나타냄

2. 편리하고 에러 발생 가능성이 줄어든다

  • 영어가 모국어가 아닌 프로그래머에게는 단수형이 더 쉽다.
  • 복수형은 형태가 불규칙적일 수 있어 오타가 발생할 가능성이 있으며, 몇몇 복수형은 존재하지 않는다.
  • 작성 시간이 줄고, 디스크 공간을 절약할 수 있다.
  • (유머) 키보드를 많이 치지 않아 키보드를 오래 사용할 수 있습니다.

복수형 파

1. 집합값을 나타낸다

  • 테이블이 여러 행을 포함하는 집합임을 나타내기 때문에 복수형이 더 자연스럽다.
  • 예를 들어, Users 테이블은 모든 유저를 포함

2. 직관적이며 변수명과 일관성을 유지할 수 있다

  • 리스트나 배열을 나타낼 때 복수형을 사용하듯, 여러 레코드를 포함하는 테이블명도 복수형으로 작성하는 것이 변수명과 일관성을 유지하는 방법입니다.

개인적인 선호: 단수형

정답은 없지만, 저는 단수형을 더 선호합니다.

1. 의미의 중복

각 엔티티는 데이터베이스의 테이블을 나타내기 때문에, 복수형을 사용하면 의미가 중복된다는 느낌을 받을 수 있습니다.

예를 들어, User 엔티티는 User 테이블로 해석되어 이미 User에 여러 개의 데이터를 포함할 것임을 알고 있습니다. 그렇다면 굳이 테이블 이름에 복수형을 붙여서 다시 여러 개임을 나타낼 필요가 있을까요?

저에겐 다소 아래 처럼 느껴집니다.

  • 유저 + 여러개 + 여러개

양말을 넣은 서랍에 네임택을 붙인다고 생각했을때 보통 '양말'이라고 적지 '양말들'이라고 적지 않습니다. 저희는 이미 서랍에 '양말들'이 있을걸 알고 있기 때문인데요. 테이블 네이밍도 이와 비슷하다고 생각합니다.

2. 명확한 의미 전달

UserUsers 테이블이 있다고 가정해봅시다.

  • User table: 유저의 집합
  • Users table: 유저들의 집합

복수형을 사용했을때를 보면 해당 테이블이 각 유저 데이터에 대한 테이블인지, 여러 유저를 묶어 놓은 유저 덩어리 데이터의 테이블인지 명확하게 전달되지 않습니다.

복수형을 사용했을 때, 의미가 명확하게 전달되지 않는다고 느껴지는 부분이 제가 복수형을 선호하지 않는 가장 큰 이유인 것 같습니다.

다시 한번 결론

  • 뭐가 옳다고 할 수는 없으나, 컨벤션을 정해 일관되게 사용하는 것이 중요하다.
  • 단수형 / 복수형 섞어서 사용하지 말 것!

참고 자료

table-naming-dilemma-singular-vs-plural-names

profile
개인 기록용 블로그

0개의 댓글