198페이지의 제1정규화를 설명하면서 제시한 표에 대하여질문이 몇가지 있어 질문드립니다
1.정규화가 된 <제품주문> 테이블을 보면 기본키가 두개입니다. 기본키라고 하는것이 원래 하나만 있는것이 아닌가요? 두개이상 가능한건지 궁금합니다
2.기본키를 두개이상 허용한다고 하더라도, 기본키 만으로 튜플을 구별할수 있어야 하는데, <제품주문>을 보면 제품번호는 같은 값들이 존재하여 이 속성만으로는 튜플을 구별할수 없습니다. 그런데도 기본값이 되나요?
3.정규화를 시행하면서 원래 <주문목록>의 기본키는 제품 번호 였는데, 정규화된 <제품주문>의 테이블을 보면 기본키가 주문번호, 제품번호 두가지로 된다고 합니다. 책에서임의로 설정한것인지 아니면 원래 정규화를 시행하면 그렇게 되는것인지 궁금합니다. 만약 이렇게 되는것이 규칙이라면 자세하게 단계를 설명해주시면 감사하겠습니다.
4. 제1 정규화를 시행할때 예제 처럼 표를 분리하지 않고 하나의 표안에서 주문번호에 맞게 제품번호, 제품명, 재고수량을 동일하더라도 부여하여 예를 들면 아래와 같이 할수는 없나요?
<주문목록>
제품번호 제품명 재고수량 주문번호 고객번호 주소 주문수량
1001. 모니터. 2000. A345. 100. 서울.150
1001. 모니터. 2000. D347. 200. 부산 300
1007. 아래 생략(이하 동일)
1007
1007
1201
안녕하세요 길벗수험서 운영팀입니다.
[1]
키(key)는 2개 이상의 속성으로 구성될 수 있으며, 이를 복합키라고 부릅니다.
[2]
복합키인 기본키에서 튜플을 구분할 때는 기준이 되는 속성 전부를 고려해야 합니다.
'A345, 1001' 로 하나의 튜플을 구분하고,
'A210, 1007' 로 하나의 튜플을 구분하고
'A345, 1007' 로 하나의 튜플을 구분하는 식이죠.
[3]
DBA가 임의로 적합한 속성을 선택하여 기본키로 지정하는 방식입니다.
[4]
원자값으로 구성되면 되기에 상관없습니다.
다만 종속성이나 이후에 수행할 제2정규화 등을 고려하면 테이블을 쪼개주는 것이 좋습니다.
행복한 하루되세요 :)
-
관리자2021-09-13 10:21:14
안녕하세요 길벗수험서 운영팀입니다.
[1]
키(key)는 2개 이상의 속성으로 구성될 수 있으며, 이를 복합키라고 부릅니다.
[2]
복합키인 기본키에서 튜플을 구분할 때는 기준이 되는 속성 전부를 고려해야 합니다.
'A345, 1001' 로 하나의 튜플을 구분하고,
'A210, 1007' 로 하나의 튜플을 구분하고
'A345, 1007' 로 하나의 튜플을 구분하는 식이죠.
[3]
DBA가 임의로 적합한 속성을 선택하여 기본키로 지정하는 방식입니다.
[4]
원자값으로 구성되면 되기에 상관없습니다.
다만 종속성이나 이후에 수행할 제2정규화 등을 고려하면 테이블을 쪼개주는 것이 좋습니다.
행복한 하루되세요 :)