본문 바로가기

Web/DB

MySQL 데이터베이스 스키마/테이블/컬럼 네이밍 설계 규칙

728x90

1. 소문자로 작성

MySQL에서는 대소문자를 구분하지 않습니다. 

따라서 MySQL에서는 모든 스키마/테이블/컬럼 이름을 소문자로 작성하는 것이 일반적입니다. 

 

2. 언더스코어(_)로 단어 구분

MySQL에서는 공백 대신 언더스코어(_)를 사용하여 단어를 구분하는 것이 일반적입니다.

예를 들어, "customer_order"와 같은 이름을 사용합니다.

 

3. 명사 사용

테이블 이름은 일반적으로 단수 명사를 사용합니다.

예를 들어, "customer"와 같은 이름을 사용합니다.

 

4. 접두사 사용

MySQL에서는 하나의 데이터베이스에서 여러 애플리케이션이 동작할 수 있기 때문에 테이블 이름 앞에 애플리케이션 접두사를 추가하는 것이 일반적입니다.

예를 들어, "app_customer"와 같은 이름을 사용합니다.

 

5.컬럼 이름 작성

컬럼 이름은 소문자와 언더스코어()를 사용하여 작성하며, 띄어쓰기 대신 언더스코어()를 사용하여 단어를 구분합니다. 예를 들어, "order_id"와 같은 이름을 사용합니다.

 

6. 기본키(ID) 작성

기본키는 보통 "id"라는 이름을 사용합니다.

예를 들어, "customer_id"와 같은 이름을 사용합니다.

 

7. 외래키(FK) 작성

외래키 이름은 기본키 이름 앞에 "fk_"를 추가하여 작성합니다.

예를 들어, "fk_customer_id"와 같은 이름을 사용합니다.

 

8. 인덱스 작성

인덱스 이름은 인덱스가 사용되는 컬럼 이름 앞에 "idx_"를 추가하여 작성합니다.

예를 들어, "idx_customer_name"와 같은 이름을 사용합니다.

 

9. 제약조건 작성

제약조건 이름은 제약조건이 사용되는 컬럼 이름 앞에 "chk_"(check), "pk_"(primary key), "fk_"(foreign key)를 추가하여 작성합니다.

예를 들어, "pk_customer_id"와 같은 이름을 사용합니다.

 

10. 테이블 자성

대문자로 작성합니다.

단어와 단어 사이에는 '_'를 사용합니다.

각 단어는 최대 8자리까지 사용하도록 합니다.

 

 

이외에도 다른 규칙이 있을 수 있습니다. 각 회사 또는 프로젝트에서는 자체 규칙을 정하고 유지하는 것이 좋습니다.

728x90

'Web > DB' 카테고리의 다른 글

[mariaDB Mac] 설치 팁  (0) 2023.04.13
[mariaDB] Spring + mariaDB 연동  (0) 2023.04.04
[Spring postgreSQL] 연동하기  (0) 2023.03.17
[SQL] 정규화(Normalization)  (0) 2023.03.05
[Hibernate orm] 11. Fetching  (0) 2023.02.16