개발자라면 (혹은 데이터 엔지니어라면) 데이터베이스 설계 중 이름짓기에 많은 시간을 투자한 경험이 필시 있을 것이다.
한 번 붙인 이름은 해당 데이터가 필요한 동안에는 지속적으로, 빈번하게 사용될 것이 분명하므로
협업자들이 어떤 데이터인지 단번에 파악할 수 있도록 가독성 있는 이름을 지어야 한다.
이번에는 가독성과 유지보수성에 중요한 역할을 하는 데이터베이스 객체의 명명 규칙과 그 예시를 살펴보고자 한다.
1. 의미 있는 이름 사용
당연하게, 각 객체의 이름은 그 목적과 의미를 명확하게 나타내어야 한다.
학생들의 정보를 저장하는 테이블이 존재한다고 가정하자.
내가 알아볼 수 있다는 이유만으로 해당 테이블의 이름을 AAA
라고 지으면 어떻게 될까?
팀원은 물론이고, 나중에 자신이 해당 테이블을 다룰 때조차 이 테이블이 무슨 정보를 저장하는지 단번에 구분을 하지 못할 것이다.
학생 테이블은 STUDENT
, 교수 테이블은 PROFESSOR
등 각 객체의 용도를 쉽게 알 수 있는 이름을 지어야 한다.
2. 접두사 및 접미사 사용
한 테이블을 다루는 데에도 객체들은 너무 많은데, 비슷한 용도로 인해 명명이 어려워지는 경우가 발생한다.
그럴 때엔 객체 유형에 따라 접두사나 접미사를 붙이면 이름의 가독성을 높일 수가 있다.
STUDENT
테이블이 존재할 때, 학생의 이름에 대해 인덱스를 생성하고자 한다면 이 이름은 IDX_STUDENT_NAME
으로 명명하여 학생 이름 인덱스임을 확실하게 나타낼 수 있다.
학생의 세부 정보를 제외하고 모두가 조회할 수 있는 학생 뷰를 생성하고 싶을 때엔 어떻게 할까?
STUDENT_VIEW
라고 이름을 지어 접미사에 해당 객체는 뷰임을 명시하면 쉽게 구분이 가능할 것이다.
3. 약어 사용
사실 이론적으로는 약어 사용이 객체 구분에 혼동을 일으킬 수 있으므로 가급적 피하도록 권고하고는 한다.
하지만 실무를 하다보면 어쩔 수 없이 컬럼 이름 등이 길어지는 경우가 있고, 정석적인 사용을 고집하다보면 오히려 긴 이름 때문에 가독성을 해칠 수가 있다.
이에 우리는 약어를 사용하되, 다른 사람들이 바로 이해할 수 있어 명확성을 유지시키는 약어를 사용해야 한다.
예시를 들자면 아래와 같다.
단어 | 약어 |
---|---|
Identifier |
ID |
Number |
No |
Date |
Dt |
Index |
Idx |
Trigger |
Trg |
Product |
Prod |
약어 탐색 사이트
https://www.abbreviations.com/
Abbreviations.com
www.abbreviations.com
약어를 사용할 준비가 되었다면, 사이트를 통해 기본적으로 사용되는 약어에 대해 알아보는 것이 어떨까?
위 사이트는 전 세계에서 사용되는 다양한 약어의 정보를 제공하는 사이트로, 약어의 의미와 사용 예시, 관련 약어 등을 알려준다.
사이트 이용법은 매우 간단하다.
약어가 궁금한 단어를 상단의 검색 바에 입력하고,
'Term - Abbreviation' 라디오 버튼을 클릭 후 SEARCH 버튼을 통해 조회하면 된다.
그러면 이와 같이 해당 단어의 약어와 사용 환경, 추천도를 보여주는데
필자가 확인한 바로는 추천도가 별 다섯 개 미만인 경우 사용하지 않는 것을 권장한다.
'데이터베이스 > SQL' 카테고리의 다른 글
[Oracle] DUAL 테이블에 대하여 (1) | 2024.11.08 |
---|---|
[MS-SQL] SQL Server 설치 및 DBeaver 연동 (3) | 2024.11.05 |
[MySQL] Sql Error 1264 Out of range value for column 'col_name' (0) | 2024.07.15 |
DB, DBMS, RDBMS, NoSQL (0) | 2024.07.11 |
[Oracle] DCL, TCL (0) | 2024.07.10 |