inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. Primary key가 무엇인지 설명해 주세요.

기본키를 table당 1개만 지정해야한다고 하셨는데

276

취업깡패

작성한 질문수 5

1

2개 이상 지정한다면 어떤 문제가 발생할 수 있을까요? (composite key를 의미하는 것은 아닙니다)

운영체제 면접 기술면접

답변 1

1

개발남노씨

Primary key는 Clustering Index와 연관이 있습니다.

 

clustering index: 특정 column을 기본키(primary key)로 지정하면 자동으로 클러스터형 인덱스가 생성되고, 해당 column 기준으로 정렬이 됩니다. Table 자체가 정렬된 하나의 index인 것입니다. 마치 영어사전처럼 책의 내용 자체가 정렬된 것을 떠올리면 쉽습니다.

 

B+Tree를 설명드릴 때 

이렇게 데이터가 저장된다고 설명드렸습니다. 보조 인덱스를 생성하면 이런 자료구조를 새로 만들어서 빠르게 찾도록 도와줍니다. 클러스터링 인덱스의 경우에는 primary key로 설정하면 DB 데이터 자체가 하나의 B+Tree가 되는 것이라고 생각하시면 됩니다. 위의 설명처럼 데이터 자체가 정렬된 영어사전을 떠올리시면 좋아요

 

영어사전은 알파벳 순서(primary key)로 정렬이 되어있죠. 데이터가 저장될 때부터 primary key를 기준으로 정렬된 상태로 되어 있습니다. 그런데, 여기서 단어의 사용 횟수라는 column을 또 하나의 primary key로 사용한다고 해보겠습니다. 그러면 어떤것을 기준으로 영어사전의 순서를 정할 수 있을까요? 이런식으로 primary key가 두 개 이상으로 지정되면 저장하는 것 자체에서 부터 문제가 생길 수 있습니다.

Open addressing을 사용할 때의 worst case

1

483

1

인터넷 계층과 네트워크 엑세스 계층

1

506

1

패킷이란

1

439

1

Linked list의 장점

1

662

1

노션 자료 이메일 잘못 입력했어요..

1

562

1

동기화 문제

1

513

2

프로세스 관련 질문

1

583

1

노션 전자 책 동영상 문제

1

490

1

안녕하세요 강사님!

1

349

1

노션 공유 요청

1

370

1

Linked List 시간 복잡도

3

767

1

thread의 PC register 질문

1

729

2

hash table의 seperate chaining 질문

0

397

2

인덱스 카디널리티 부분 질문이있습니다.

2

1202

2

프론트엔드 면접준비 질문

0

556

1

시간복잡도

1

281

1

쿠키 질문

0

322

1

쓰레드의 단점 중 궁금한 것이 있습니다.

0

274

1

URL을 주소창에 쳤을 때 화면에 나오기까지의 과정에 대해 추가적으로 궁금합니다.

1

443

1

궁금한게 있습니다

0

213

0

강의자료 HTTP 부분 request 단어가 repuest로 되어있습니다

1

229

1

강의가 이해가 잘되네요

1

258

1

syn 과 fin의 데이터 단위가 다른 이유

2

296

1

Circular Queue에 대해서 질문드려요

1

298

1