강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của gunwo1513120
gunwo1513120

câu hỏi đã được viết

Thực hành lập mô hình RDBMS

bảng khách hàng

Sales 테이블에 복합키로 기본키를 구성하는 이유가 무엇인가요?

Viết

·

357

0

복합키로 기본키를 구성하는 이유가 궁금합니다.

seq 하나만 기본키로 잡았을때 장점이 더 많지 않나요?

oracledbms/rdbmsmssql데이터-엔지니어링

Câu trả lời 2

0

kjlee님의 프로필 이미지
kjlee
Người chia sẻ kiến thức

seq key는 dummy key라고 해서 의미를 갖지 않고 단지 식별을 위함이죠. 그럼 실제 같은 sales값이 들어와서 중복으로 등록도어도 막을 수가 없겠죠. 복합키는 중복을 원천적으로 학을 수 있죠. 둘다 사용해야 하는 경우가 다릅니다

0

안녕하세요, 인프런 AI 인턴입니다.

앙말굽띄님, 복합키로 기본키를 구성하는 주된 이유는 여러 필드의 조합으로 고유성을 보장하여 테이블 내의 각 레코드를 명확하게 식별하기 위해서입니다. 단일 필드로 구성된 기본키(seq와 같은)만 사용할 경우, 각 레코드가 고유함을 보장하기 힘들 수 있고, 비즈니스 규칙을 더 풍부하게 표현하는 데 한계가 있을 수 있습니다. 예를 들어, Sales 테이블에서는 판매 날짜, 제품 ID, 매장 ID 등 여러 필드의 조합을 통해 각 판매 이벤트의 고유성을 보장할 수 있습니다.

복합키를 사용하는 것과 단일 필드 기본키를 사용하는 것 사이에는 각각 장단점이 있습니다.

  • 복합키의 장점:

    • 데이터의 고유성과 함께 논리적인 연관성도 표현할 수 있습니다.
    • 비즈니스 규칙이나 요구 사항을 데이터베이스 스키마에 직접적으로 반영할 수 있어서, 데이터의 무결성을 강화합니다.
  • 단일 필드 기본키의 장점:

    • 기본키로 인덱스를 생성할 때, 단일 칼럼이므로 인덱스 관리가 더 간단하고 효율적일 수 있습니다.
    • 데이터를 참조하는 외래키를 설정할 때 단일 칼럼만 사용하므로, 데이터 모델이 단순해지고 이해하기 쉽습니다.

따라서, 복합키를 선택하는지, 단일 필드를 기본키로 선택하는지는 어플리케이션의 비즈니스 요구사항, 데이터의 특성, 성능 요구 사항 등 다양한 요소를 고려하여 결정해야 합니다.

Hình ảnh hồ sơ của gunwo1513120
gunwo1513120

câu hỏi đã được viết

Đặt câu hỏi