llaay
590
2020-07-16 15:25:53
10
1196

DB설계 시, 컬럼명 어떻게 작성하시나요?


저는 취업준비생인 신입개발자입니다!

저는 client 테이블일 경우,


client_name / client_id / client_pw


이런 식으로 작성하는데,

현직에서는 어떤 식으로 작성해야하는지 궁금합니다!

1
  • 댓글 10

  • h76
    530
    2020-07-16 15:30:19

    컬럼명 보다는 해당컬럼이 어떤 식으로 사용되는지 코멘트를 같이 적어주는게 중요할것같아요.



  • ercnam
    5k
    2020-07-16 15:30:25

    현장마다 다르다는게 정답이구요.

    보통 스프링같은거 쓰는경우 스프링이 카멜케이스 기반으로처리하니 그에 맞게 만드는 편이고

    JPA 같은거 쓴다면 이놈은 네이밍전략이라는 옵션이 있으므로 맞게 만들거나 옵션을 바꾸거나 하는 식으로 하면 됩니다.

  • 돈까스
    5k
    2020-07-16 15:30:51 작성 2020-07-16 15:33:44 수정됨

    client 테이블 내에 있는 컬럼이라면 가급적 컬럼명에서 'client_' prefix 는 생략합니다.


  • 착하게살면운으로돌아온다
    446
    2020-07-16 15:36:43

    데이터 표준화 작업이라고 해서 DB내 에서 사용되는 단어/용어를 한글/영어에 맞춰서 정리해둔 문서나 시스템이 있습니다. 

    표준화가 안되어 있는곳은 뭐 ^^; 개발 한 사람이나 업체 따라 중구난방 섞여 있구요 

  • onimusha
    8k
    2020-07-16 15:47:14
  • 극한초보
    336
    2020-07-16 15:51:58

    사이트마다 도메인에 맞는 데이타 표준화가 되있다면 그거 기준으로 작성하면 됩니다.

    조금 큰 사이트는 대부분 표준화 되있을껍니다.


    즉, 컬럼이나 테이블명에대한 정책등이 있을껍니다.


    그런게 없다면 해당 프로젝트의 자체 용어사전을 준비하여 

    영문 전체이름 및 약어등으로 해서 일관되게 작성하면 되겠죠.

  • llaay
    590
    2020-07-16 16:00:29

    모두 감사드립니다!

    공부한 학원 강사님은 테이블과 컬럼 모두 직관적으로 작성하라고 하셨는데,

    개발자로 일하는 지인은 이야기가 달라서 궁금했습니다!

    감사합니다!

  • 레버리지
    2k
    2020-07-16 16:50:17

    정책을 정해서 필요한 내용들은 prefix를 꼭 써주시는게 좋습니다.


    그 테이블에 특화적인 속성이라면 prefix는 굳이 쓸필요는 없습니다.

  • Knaak
    1k
    2020-07-16 18:07:12

    보통 해당 프로젝트에 정의된 단어사전, 용어사전보고 작성합니다. 혼자 작업하거나 그런 지침이 없는 경우에는 적당히 다른데서 쓰던방식으로 작성합니다.

  • 얌방구
    338
    2020-07-17 01:12:12 작성 2020-07-17 01:13:25 수정됨

    컬럼명 표준화도 정말 중요하지만,

    그걸 받아서 쓰는 Class라던지 구조체 등에서의 맵핑 편의성까지 고려하신다면

    정말 월등하겠네요. 이래서 전사적 명명규칙은 선택이 아니라 필수인 것 같습니다.

    그리고 저는 개인적으로는 컬럼명도 알아보기 쉽게 구성하는 것이 좋다고 봅니다.

    어떤 회사는 테이블 전체 중 거의 30%비중에서 Description이 각각 컬럼 단위는 고사하고

    테이블에도 붙어있지않아서 정말 당황한적이 있었죠.

    DB털릴것 대비해서 핵심 테이블에 대한 설명을 고의적으로 넣지 않는 고도의 전략인가요?

    아무튼, 그곳은 ERD도 없는 지옥이었습니다.... ㄷㄷㄷ;;;;

    컬럼명을 보고 유추하거나 매번 물어봐야 했었죠.

  • 로그인을 하시면 댓글을 등록할 수 있습니다.