결론부터 말하자면, MySQL에는 공식적으로 권장되는 명명 규칙(naming convention) 표준이 없습니다. 다만 선택한 이름이 논리적이고 일관성 있다면 충분히 좋은 이름이라고 할 수 있습니다.
기억해야 할 두 가지 핵심 사항
MySQL에서 테이블이나 데이터베이스 이름을 정할 때 반드시 기억해야 할 두 가지가 있습니다.
1. 동일한 이름 중복 불가
같은 데이터베이스 안에서 두 개의 테이블이 동일한 이름을 가질 수 없으며, 마찬가지로 두 개의 데이터베이스가 같은 이름을 가질 수도 없습니다. 이름은 해당 범위 내에서 고유해야 합니다.
2. 예약어도 이름으로 사용 가능
MySQL의 예약어(reserved words) 역시 테이블이나 데이터베이스 이름으로 사용할 수 있습니다. 단, 이 경우 이름을 백틱(`)으로 감싸 주어야 오류 없이 정상적으로 동작합니다.
CREATE TABLE `select` (id INT);실무에서 권장되는 명명 관례
공식 표준은 없지만, 유지보수와 협업을 위해 많은 개발팀이 다음과 같은 관례를 따릅니다.
- 소문자 + 스네이크 케이스(snake_case): 예를 들어
user_order,product_category처럼 단어 사이를 언더스코어(_)로 연결합니다. - 일관된 단수형 또는 복수형 사용: 테이블 이름을 단수형(
user)으로 할지 복수형(users)으로 할지 미리 정하고 프로젝트 전체에 일관되게 적용합니다. - 이해하기 쉬운 이름 사용: 테이블 이름만 보고 어떤 데이터를 담고 있는지 알 수 있도록 명확하게 지정합니다.
- 예약어 사용 자제: 기술적으로는 백틱으로 감싸 사용할 수 있지만, 혼란을 줄 수 있으므로 가급적 피하는 것이 좋습니다.
요약하면, MySQL은 특정 명명 규칙을 강제하지 않습니다. 그러나 이름의 고유성을 지키고, 팀 내에서 일관된 관례를 따르는 것이 깔끔하고 관리하기 쉬운 데이터베이스 설계의 핵심입니다.