• 검색 결과가 없습니다.

데이터베이스-09

N/A
N/A
Protected

Academic year: 2022

Share "데이터베이스-09"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

데이터베이스-09

테이블 구조 설정

(2)

테이블 구조 정제

• 부분집합 테이블

• 어떤 테이블의 일부 필드는 항상 비어있게 되는 경우

• 위 예에서 만약 아이템이 ‘책’인 경우, 보증만료기간 (warranty expiration date)나, 제조업체 (manufacturer), 모델의 필드에 값을 갖지 않는다

• 만약, 아이템이 ‘텔레비젼’인 경우, publisher, author, ISBN 필드에 값을 갖지 않게 된다

(3)

테이블 구조 정제

• 부분집합 테이블

• 공간의 낭비문제 뿐만 아니라, 인식의 문제

• 일부러 비워져있는건지, 아니면 누락된 것인지, 실수로 삭제된 것인지…

• Inventory 테이블이 정확히 하나의 대상만을 표현하고 있는가?

• 보통 공백 필드가 많은 테이블은 두 가지 이상의 대상을 표현하는 경우가 많음

• 앞의 예에서

• Item name, item description, current value 는 어떤 형태의 물건이 되었던 가지게 되는 속성

• 따라서 테이블이 두 개 이상의 대상을 표현하고 있다고 봐야하고, 그에 따라 두 개 이상의 다른 테이블로는 분리하는 것이 좋은 표현으로 보임

• 더 좋은 방법은 없는가?

(4)

테이블 구조 정제

• 부분집합 테이블

• Item이 책이든지, 텔레비젼이든지 inventory (재고) 라는 범주에 속 한다

• 이런 경우에는 부분집합 테이블을 만드는 것이 테이블을 완전히 분리하는 것보다 효과적이다

• 만약, inventory 테이블이 장비(equipment)와 책(book)이라는 두 대상을 위한 것이라면, 장비와 책은 재고라는 범주에 종속 (subordinate) 된다라고 한다

• 부분집합 테이블은 종속되는 대상별로 생성한다 => 종속 테이블

(5)

테이블 구조 정제

• 부분집합 테이블

• 장비의 종속 테이블 -> manufacturer, model, warranty expiration date

• 책 종속 테이블 -> publisher, author, ISBN, category

• Item name은 두 테이블에 모두 포함 -> inventory 테이

블과의 관계를 설정

(6)

테이블 구조 정제

• 부분집합 테이블

(7)

테이블 구조 정제

식별하지 못했던 부분집합 테이블

자기도 모르게 생성된 부분집합 테이블

많은 공통 필드를 갖게 된다 -> 중복필드

(8)

테이블 구조 정제

• 식별되지 않은 부분집합 테이블의 정제

• 부분집합 테이블들이 가지는 공통필드를 제거, 이들을 새 테 이블의 필드로 설정

• 이 새 데이터 테이블이 어떤 주제를 나타내는지 식별하고 이 테이블에 적절한 이름 및 명세를 부여

• 이 새 데이터 테이블에 기존의 부분집합 테이블들이 종속되는 것을 확인하고, 필요하면 부분집합 테이블들의 이름을 변경

• 새로 생성된 테이블을 최종 테이블 목록에 추가

(9)

테이블 구조 정제

• 식별되지 않은 부분집합 테이블 정제

(10)

사례 연구

• p. 167

참조

관련 문서