inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데이터베이스 중급(Modeling)

M:N 관계

49 분 대체키를 이용한 select

261

Kyeongho Lee

작성한 질문수 2

0

안녕하세요. 

수업 듣는중 궁금한점이 생겼습니다. 

대체키 혹은 PK는 의미를 가지지 않는다고 하셨는데요, 

49분즈음 설명을 fk가 아닌 대체키를 이용해 select를하면 일일이  fk로 조건을 걸 필요가 없다고 하셨잖아요. 

그런데 제가 원하는 정보를 가지고 있는 row의 대체키를 어떻게 찾는거죠?? 

학생의 id 와 과목의 id는 각각의 이름을 통해 찾는다고 쳐도 대체키는 못찾을것 같은데요..

DBMS/RDBMS 데이터 엔지니어링

답변 1

0

이교준

구현하기 나름이지만 ERP에서 원자재 마스터 테이블이 있다고 가정하고, 원자재에 PK로 int를 선언하고 identity를 선언해서 자동증가를 했다고 가정해보죠. 그런데 오랬동안 사용하던 자재별 코드가 있을 수 있습니다.

이 경우 자재코드를 PK로 사용해도 되지만 혹시모를 경우가 있을 수 있어 확실하게 하고자 안전하게 int 컬럼을 만들어 PK로 사용한 것이죠. 이 때는 명확하게 대체키가 있는거죠.

 

또 하나는 PK가 많은 컬럼들로 구성한 경우인데 그 키값을 가지고 프로그램을 하려면 프로그래머들이 힘들겠죠. 이런 때는 Dummy key로 int 컬럼을 하나 만들어서 자동증분을 시키고 관계는 진짜 PK로 사용하되, 그리드 등에서 레코드를 선택했을 때 dummy key를 가지고 현재 선택한 레코드를 읽어올 수 있을 겁니다. 

 

이런 식으로 대체키는 존재할 수 있습니다. 이 밖에도 핸드폰번호, 주민번호 등이 키가 대체키로 선택될 수도 있지만 다만 not null 조건을 주어야 정상적으로 동작하겠죠.

두 FK를 묶어서 PK로 하는 경우에...

0

526

1

SEQ auto increment

0

425

1

사용하시는 프로그램

0

463

2

28분 성별 테이블 유무에 관해 여쭤봅니다.

0

382

1

책구분 테이블 관련 질문드려요

0

426

3

기준 테이블이라는 단어를 처음 사용하셨는데요 ㅜㅜ

0

668

1

데이터베이스 설계시 INT , TINYINT , SMALLINT 이런 걸 선택하는 게 중요한가요?

1

662

1

1:M 과 M:N 선택 질문

0

395

2

기준테이블과 마스터테이블

0

322

1

1정규화 대상 추가질문

0

263

1

안녕하세요 선생님~

0

238

1

테이블명 칼럼을 조인할 때 어떻게 사용한다는 말씀이신지 이해가 되지 않습니다.

0

279

1

seq 칼럼을 pk로 주기에 아까운 이유가 무엇인가요?

0

331

1

useflag 사용하는 이유

0

438

2

숫자 형태의 컬럼 데이터 타입 질문드립니다

0

253

1

PK관련 질문

0

289

1

식별관계 관련

0

278

1

이력 관리 테이블 설계에 대해 질문드립니다

0

5063

2

책구분과 기본목록의 관계에 대해서

0

252

1

1:1관계 질문드립니다.

0

292

1

1:1 관계에 질문이 있습니다.

0

193

2

PK 선정하기

0

379

1

안녕하세요!

0

191

1

일대일 관계와 테이블명 칼럼에 대한 질문입니다.

0

184

1