inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데이터베이스 중급(Modeling)

도서대출관리 연습문제 1

서가,책 primary key 설정에 대한 질문입니다.

272

김예찬

작성한 질문수 8

0

로직 상 서가가 등록될 때 서고id가 null값이 되면 안되는 경우에서 서가 id와 서고 id를 둘 다 primary key를 주셨는데 서가 id만 primary key 주고 서고 id는 not null 조건으로 해서 테이블 설계 해도 되는지요? 만약 된다면 두 방식의 장단점도 설명해주시면 감사하겠습니다.

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

답변 2

0

이교준

좋은 질문입니다 pk를 어떻게 구성하느냐에 따라서,dbms가 대처하는 방법이 조금씩 달라집니다. 이것은 단순차이로 설명이 어렵습니다. 님의,방법으로 하면 서가에 있는 책을 정의할때 서가 id만 받겠죠. 그러나 제 방식이면 필연적으로 서고, 서가 id를 받아야 합니다. 이 단순한 차이가 실전 구현때,어떤 차이를 만드는지 많은 측면에서 생각해보세요. Pk구성에 따라서 쿼리도 달라지고 중복여부 관리도 달라집니다. 이 차이는 충분히 검토하고 따져볼 가치가 있습니다

0

인프런 AI 인턴

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

해당 질문에 대한 정보가 제공되지 않아 정확한 답변을 드릴 수 없습니다. 데이터 모델링 관련 질문은 특정 상황에 따라 다양한 접근 방법이 있을 수 있으며, 주어진 정보 내에 데이터베이스 모델링에 관한 구체적인 설명이나 가이드가 없습니다. 데이터 모델링 결정은 시스템의 요구사항, 데이터의 정규화, 성능 최적화 등을 고려하여 결정됩니다. 따라서 서가 ID만을 기본 키로 하고, 서고 ID에 NOT NULL 제약을 추가하는 방식이나 두 ID 모두를 복합 기본 키로 사용하는 방식 모두 특정 상황에 따라 적합할 수 있습니다.

복합 기본 키를 사용하는 방식은 두 데이터의 유일성을 함께 보장하며, 데이터 간의 관계를 명확하게 표현할 수 있는 장점이 있습니다. 반면, 관리가 복잡해질 수 있고, 다른 테이블과의 관계를 설정할 때 두 컬럼 모두를 사용해야 하는 경우가 생길 수 있습니다.

서가 ID만을 기본 키로 하고, 서고 ID에 NOT NULL 제약을 추가하는 방식은 구현이 상대적으로 단순하며, 서고 ID를 변경하는 것이 조금 더 용이할 수 있습니다. 하지만 이 경우에는 서고 ID의 유일성이나 서가 ID와 서고 ID 간의 유일한 관계를 데이터베이스 수준에서 보장하려면 추가적인 제약이 필요할 수 있습니다.

각 방식의 선택은 시스템의 요구 사항과 데이터 관리 방법, 성능 요구 사항 등을 종합적으로 고려하여 결정하는 것이 중요합니다.

MySql

0

3

1

강사님.. 하단 URL에 있었던 코드들 다운 받거나 공유 부탁 드립니다..

0

4

1

팬텀리드 해결 예시 질문

0

12

0

최신버젼 다운로드

0

18

2

차단 등 검증 로직의 위치

0

27

2

하단 파일이 열리지 않습니다

0

33

1

ssh-keygen -t rsa -P "" 등 ssh 암호화? 는 하둡에서 필수인가요?

0

26

2

일대일 fk 위치

0

30

1

GROUP BY, HAVING 실습 1번문제

1

28

2

섹션 1 퀴즈 3번 문제에 질문이 있습니다.

0

78

2

강의 교재가 어디에 있나요?

0

238

1

M:N관계 강의에서 말씀하신 표현

0

247

2

릴레이션 개념

0

286

2

선생님 도메인이란게 뭔가요???

0

440

3

15:29 수강 테이블 BCNF 질문

0

273

2

수업중 99.99%의 정밀도에 관한 설명

0

295

2

3정규화

0

235

2

PK에 임의의 식별자(정수형 시퀀스값)부여에 관한 질문드립니다.

0

425

2

강의자료 section 04 인덱스 및 최적화

0

423

3

json 구조의 데이터를 저장할 때 재귀 관계가 맞는 방법인지 궁금합니다.

0

455

2

M:N 관계 테이블의 상속형 PK 질문

0

547

2

데이터를 넣으려고 하면 오류가 발생합니다.

0

470

1

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

0

522

1

SEQ auto increment

0

423

1