테이블명은 단수형으로 작성해야 할까요, 복수형으로 작성해야 할까요?
테이블명 네이밍 컨벤션에 관한 논의는 항상 재미있는데요. 특히 테이블명을 단수형으로 할지 복수형으로 할지에 대해선 항상 의견이 갈리곤 합니다.
그럼 테이블명은 단수형으로 쓰는 게 좋을까요, 복수형으로 쓰는 게 좋을까요? 제 생각은 정답은 없지만 일관되게 사용하는 것이 중요하다입니다.
이번 포스트에서는 단수형과 복수형에 대한 의견을 살펴보고, 개인적인 생각도 살짝 담아보았습니다.
정답은 없지만, 저는 단수형을 더 선호합니다.
각 엔티티는 데이터베이스의 테이블을 나타내기 때문에, 복수형을 사용하면 의미가 중복된다는 느낌을 받을 수 있습니다.
예를 들어, User 엔티티는 User 테이블로 해석되어 이미 User에 여러 개의 데이터를 포함할 것임을 알고 있습니다. 그렇다면 굳이 테이블 이름에 복수형을 붙여서 다시 여러 개임을 나타낼 필요가 있을까요?
저에겐 다소 아래 처럼 느껴집니다.
양말을 넣은 서랍에 네임택을 붙인다고 생각했을때 보통 '양말'이라고 적지 '양말들'이라고 적지 않습니다. 저희는 이미 서랍에 '양말들'이 있을걸 알고 있기 때문인데요. 테이블 네이밍도 이와 비슷하다고 생각합니다.
User와 Users 테이블이 있다고 가정해봅시다.
User table: 유저의 집합Users table: 유저들의 집합복수형을 사용했을때를 보면 해당 테이블이 각 유저 데이터에 대한 테이블인지, 여러 유저를 묶어 놓은 유저 덩어리 데이터의 테이블인지 명확하게 전달되지 않습니다.
복수형을 사용했을 때, 의미가 명확하게 전달되지 않는다고 느껴지는 부분이 제가 복수형을 선호하지 않는 가장 큰 이유인 것 같습니다.