inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

RDBMS Modeling 실습

고객 테이블

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

509

앙말굽띄

작성한 질문수 1

0

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

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

oracle dbms/rdbms mssql 데이터-엔지니어링

답변 2

0

이교준

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

0

인프런 AI 인턴

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

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

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

  • 복합키의 장점:

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

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

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

Oracle 설치

0

21

2

힌트 적용에 대해서

0

22

1

스노우플레이크 수업 적재에 사용하는 csv 파일 존재 여부. 그리고 실습 코딩의 답안은

0

11

1

팔로워수,팔로잉수 조회 설계

0

24

1

강의 "자료" 관련 문의

0

28

1

엔비디아, 테슬라, 등등 최근에 많이 오른 주식들 accuracy이슈

1

49

2

밴티지api 막혀서 공매도 잔고설정 으로 다시 로직 설정한 강의에 대해서.

1

56

1

ALL ANY 관련 질문 드립니다

0

39

1

run.py 실행하니 아예 전체다 돌아가요 코드가

1

44

2

run.py 실행시키면, 자동으로 바로 경제 지표 데이터를 수집해요

1

40

2

수료증 제공하나요?

0

41

1

노션링크

0

52

1

조회 대상 행이 적을 때도 Using filesort 제거를 고려해야 하나요?

0

62

2

RootModel에 대한 질문

0

325

2

시 군 구로 나눈 이유가 궁금합니다.

0

428

2

인덱스 테이블에 대해서 질문이 있습니다.

0

471

2

1. stored procedure 는 언제 쓰면 좋은가요 ? / 2. 대댓글 테이블 설계

0

936

1

상품 테이블 설계에서 컬러, 사이즈 테이블의 PK 구성 질문

0

519

3

멀티 필터 select를 위한 설계

0

368

2

안녕하세요 SP_Sgg_Delete 프로시저 관련 질문드립니다.

0

360

2

테이블 설계관련 문의드려요

0

607

5

궁금중 여쭤봅니다.

0

351

1

SP_Sgg_Add 관련 문의드립니다.

0

241

1

코드 업로드 해주실 수 있으신가요?

0

434

3