인프런 커뮤니티 질문&답변
실무적인 설계로 접근했을 때 제 2정규형 항상 만족?
작성
·
26
0
안녕하세요. 질문이 있습니다!!
제2정규화는 제 1 정규형을 만족하고, 테이블의 기본키가 복합키일 때 부분 함수 종속이 있으면 적용할 수 있잖아요
근데 이전 강의 영상에서 말씀하셨듯이 유연하고 확장성 있는 설계를 하기 위해 자연키가 아닌 대리키를 사용하고, 연관 엔티티(매핑 테이블)을 두어 사용하려면 비즈니스 로직에 따라 유니크 제약조건을 걸어 해결하라고 하셨습니다
그럼 여기서 궁금한 것이 이렇게 실무적인 접근으로 설계를 한다면(대리키) 항상 키는 단일컬럼 키니까 복합키가 아니라서 항상 제 2정규형을 만족하는 것인가요??
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 박동규님.
제2 정규형은 제1 정규형을 만족하면서, 기본키가 복합키일 때 부분 함수 종속이 발생하지 않도록 설계하는 것을 의미합니다. 대리키를 사용하는 경우, 기본적으로 키가 단일 컬럼으로 되어 있기 때문에 부분 함수 종속 문제가 발생하지 않아 제2 정규형을 자연스럽게 만족하게 됩니다.
대리키 사용 시: 대리키는 일반적으로 자동으로 생성되는 고유 식별자입니다. 따라서 테이블의 기본 키가 단일 컬럼 키로 존재하므로, 제2 정규형의 문제인 부분 함수 종속이 발생하지 않습니다.
복합키 사용 시: 만약 복합키를 사용하는 상황에서도 부분 함수 종속을 주의해야 합니다. 이는 복합키의 일부 컬럼이 테이블의 다른 컬럼을 결정하는 경우를 피해야 함을 의미합니다.
유니크 제약 조건: 대리키를 사용해도 유니크 제약 조건은 유용하게 사용될 수 있습니다. 이는 특정 비즈니스 로직에서 데이터의 유일성을 보장하기 위함이며, 데이터 일관성을 높여줍니다.
또한, 대리키를 사용함으로써 데이터베이스 설계의 유연성과 확장성을 높일 수 있으며, 데이터를 다루는 비즈니스 로직에서 복잡성을 줄이는 데 도움이 됩니다.
유사한 질문과 답변을 통해 더 깊이 있는 이해를 원하신다면, 다음의 질문과 답변들을 참고해 보세요:
- 대리키 사용과 정규화
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




