~DB 설계 기초의 「키」명명 규칙~

되돌릴 수없는 것에 ...



테이블의 명명 규칙의 이해가 모호한 채, DB 설계를 해 버려, 앱이 드디어 완성이라고 할 때에 실수가 발각했습니다. 몹시 부끄럽지만 초기의 테이블 설계는 아래와 같이 되어 있었습니다. (정확히 지옥)

여러분에게는 같은 실수를 하고 싶지 않기 때문에 기록을 남기기로 했습니다.
내용은 초학자용이 됩니다만, 간단하게 정리했으므로 꼭 이해도 체크해 봐 주세요!

명명 규칙 체크리스트



🔶 테이블 이름



①복수형으로 표기하는 "~s"



❌:fruit 테이블
🙆‍♂️:fruits 테이블

②스네이크 케이스로 표기한다



❌:fruitBasket 테이블  (캬멜 케이스)
🙆‍♂️: fruit_basket 테이블

③영어로 표기한다. 로마자는 바람직하지 않습니다.



❌:furuutsu 테이블  (별로 좋은 예가 떠오르지 않았습니다.)
🙆‍♂️:fruits 테이블

④ 대문자를 사용하지 않는다



❌: FRUITS 테이블
❌: Fruits 테이블
🙆‍♂️:fruits 테이블

🔶 컬럼 이름



열 이름에서도 기본적으로 테이블 이름과 유사한 규칙이 적용됩니다.

①테이블명에서 아는 것은 쓰지 않는다



fruits 테이블의 경우,
❌:fruit_name 테이블
🙆‍♂️: name 테이블

② 일대다 관계에서 다른 테이블의 id를 참조하는 경우는 단수형을 이용한다



❌:fruits_id 테이블
🙆‍♂️:fruit_id 테이블
(보충: 다른 테이블의 기본 키를 join하는 경우라는 의미입니다.)

③DATE형의 컬럼은 「수동태_on」



❌:opened 테이블
🙆‍♂️:opened_on 테이블

④TIMESTAMP형의 컬럼은 「수동태_at」



❌: updated 테이블
🙆‍♂️:updated_at 테이블

대략은 이것으로 망라되어 있는 것이 아닐까요. 이 외에도 주의해야 할 일이 있기 때문에 앞으로의 과제로 합니다.
초학자 쪽은 꼭 조사해 보세요.
참고 : 【초보자, 필견】 이런 것이 있다! 데이터베이스 명명 규칙

마지막으로



이것들을 제대로 이해하지 못하고, 개발의 종반에서 눈치챘습니다. (엔지니어 전직을 목표로 하는 초학자입니다.)
막판에서 깨달았다고 해도 ORM을 사용하여 개발하고 있기 때문에 피해는 엄청났고 수정은 어려웠습니다 ...
이번 건으로 초기 설계의 중요성을 익혀 느꼈습니다. 더 이상 실수하지 않는다고 맹세합니다.
그렇게 생각하면 매우 좋은 공부가 되었습니다.
(만약 이 기사에 잘못이 있으면 교수해 주시면 감사하겠습니다.)

좋은 웹페이지 즐겨찾기