Home MySQL FK 컨벤션
Post
Cancel

MySQL FK 컨벤션

글을 작성하게 된 계기


MySQL FK Convention을 어떻게 할 지 고민하던 과정에서 스택 오버 플로우의 한 글을 발견하게 되었고, 이를 정리하기 위해 글을 작성하게 되었습니다.





1. MySQL FK Convention


스택 오버 플로우를 보다가 MySQL의 FK 컨벤션에 대해 잘 정리된 글이 있어 블로그에 정리해야겠다는 생각이 들었습니다. 사실 별 내용은 없는데요, 글 예제 그대로 fk_참조하는 테이블_참조되는 테이블_필드 이름 과같이 설정하면 됩니다. 이는 공식 문서에 명시된 규칙은 아니기 때문에 편의에 따라 수정해도 괜찮습니다.

1
fk_[referencing table name]_[referenced table name]_[referencing field name]
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE users(
    user_id    int,
    name       varchar(100)
);

CREATE TABLE messages(
    message_id int,
    user_id    int
);

ALTER TABLE messages ADD CONSTRAINT fk_messages_users_user_id 
    FOREIGN KEY (user_id) REFERENCES users(user_id);







2. 정리


외래 키 제약조건을 걸 때 아래와 같은 컨벤션을 적용하면 됩니다. 단, 이는 공식 문서에 지정된 규칙이 아니기 때문에 유동적으로 바꿀 수 있습니다.

1
fk_[referencing table name]_[referenced table name]_[referencing field name]

This post is licensed under CC BY 4.0 by the author.

외부 API 목으로 대체하기

MySQL 인덱스 컨벤션은 어떻게 정할까?