컴퓨터(Computer Science)/데이터베이스, DB, DataBase

데이터베이스의 논리적 설계~최종 테이블 스키마

게임이 더 좋아 2020. 12. 13. 21:10
반응형
728x170

개념적 설계 이후의 과정이다.

 

우선 논리적 설계부터 설명하겠다.

 

논리적 설계란 개념적 설계에서 만들어진 ERD로부터 테이블 스키마를 생성하는 것이다.

모든 논리적 설계는 개념적 설계의 산출물로 진행한다.

 

** 그림을 이제 테이블로 바꾸는 과정이라고 보면 되겠다.

 

- 강성 개체집합을 관계형 테이블로 변환

-약성 개체집합을 관계형 테이블로 변환

-관계집합을 관계형 테이블로 변환

-중복되는 테이블 제거

-가능한 테이블들 결합

 


 

위에 말한 사항들을 하나씩 자세히 살펴보자

 

강성 개체집합의 변환

-하나의 강성 개체집합은 하나의 테이블이 된다.

-강성 개체집합의 속성은 테이블의 필드가 된다.

-테이블의 기본키는 개체집합의 기본키를 그대로 사용한다.

 

** 강성 개체집합 = 테이블 and 강성 개체집합의 속성 = 테이블의 필드 and 기본키 = 강성 개체집합의 기본키

 

 

 


 

다음으로는 약성 개체집합의 변환을 살펴보자

전에도 말했다시피 독립적으로 존재는 의미가 없다고 했다. 강성의 포함관계라고 했다.

 

-> 강성 개체집합과의 연관을 통해 표현한다. 

 

 

->  class는 course에게 의존하는 개체집합이다.

 


다음으로는 관계집합의 변환에 대해서 알아보자

관계집합은 관련된 개체집합에 의해 표현된다고 했다.

*그림에서pk는 속성이라고 보면 되겠다. 

즉 모든 개체집합의 기본키 속서오가 자신의 속성을 필드로 변환해서 정의한다.

 

예)

 

+ 참고 

 

 


이제 거의 막바지에 다다랐다.

테이블의 중복과 결합이다.

 

** 왜 중복이 되느냐? -> 관계집합으로부터 변환된 테이블은 경우에 따라 개체집합으로부터 변환된 테이블과 데이터 중복이 발생할 수 있음

때문에 중복이 발생한 테이블은 다른 테이블과 결합되어 하나의 테이블로 표현되어야 한다.

 

 

결합은 이렇게!

 

관계테이블을 삭제

다대일 대응에서 '1' 에 해당하는 개체집합의 기본키를 'N'에 해당하는 개체집합의 테이블에 외래키로 추가한다.

++ 개체집합에 속성이 있을 경우 같이 결합된다.

 

-> 다:다 즉 N:N은 결합이 불가능하다.

결합하려고 하지말자.

 

그래서 결합한 결과를 다 보자면...?

 

 


 

그러나 항상 예외가 있다. 그래서 다중값 속성의 변환은 조금 다르다.

다중값 속성의 경우는 테이블의 필드로 직접 대응하지 못하기 때문이다.

 

다중 값은 그래서 새로운 테이블을 생성한다.

** 기본키는 pk(E)와 A`로 구성된다.

 


마지막으로 변환 과정을 요약하고 가자.

 

이 과정을 다 거치면 결국 테이블스키마가 나온다.

 

 

 

728x90
반응형
그리드형