개념적 설계 이후의 과정이다.
우선 논리적 설계부터 설명하겠다.
논리적 설계란 개념적 설계에서 만들어진 ERD로부터 테이블 스키마를 생성하는 것이다.
모든 논리적 설계는 개념적 설계의 산출물로 진행한다.
** 그림을 이제 테이블로 바꾸는 과정이라고 보면 되겠다.
- 강성 개체집합을 관계형 테이블로 변환
-약성 개체집합을 관계형 테이블로 변환
-관계집합을 관계형 테이블로 변환
-중복되는 테이블 제거
-가능한 테이블들 결합
위에 말한 사항들을 하나씩 자세히 살펴보자
강성 개체집합의 변환
-하나의 강성 개체집합은 하나의 테이블이 된다.
-강성 개체집합의 속성은 테이블의 필드가 된다.
-테이블의 기본키는 개체집합의 기본키를 그대로 사용한다.
** 강성 개체집합 = 테이블 and 강성 개체집합의 속성 = 테이블의 필드 and 기본키 = 강성 개체집합의 기본키
다음으로는 약성 개체집합의 변환을 살펴보자
전에도 말했다시피 독립적으로 존재는 의미가 없다고 했다. 강성의 포함관계라고 했다.
-> 강성 개체집합과의 연관을 통해 표현한다.
-> class는 course에게 의존하는 개체집합이다.
다음으로는 관계집합의 변환에 대해서 알아보자
관계집합은 관련된 개체집합에 의해 표현된다고 했다.
*그림에서pk는 속성이라고 보면 되겠다.
즉 모든 개체집합의 기본키 속서오가 자신의 속성을 필드로 변환해서 정의한다.
예)
+ 참고
이제 거의 막바지에 다다랐다.
테이블의 중복과 결합이다.
** 왜 중복이 되느냐? -> 관계집합으로부터 변환된 테이블은 경우에 따라 개체집합으로부터 변환된 테이블과 데이터 중복이 발생할 수 있음
때문에 중복이 발생한 테이블은 다른 테이블과 결합되어 하나의 테이블로 표현되어야 한다.
결합은 이렇게!
관계테이블을 삭제
다대일 대응에서 '1' 에 해당하는 개체집합의 기본키를 'N'에 해당하는 개체집합의 테이블에 외래키로 추가한다.
++ 개체집합에 속성이 있을 경우 같이 결합된다.
-> 다:다 즉 N:N은 결합이 불가능하다.
결합하려고 하지말자.
그래서 결합한 결과를 다 보자면...?
그러나 항상 예외가 있다. 그래서 다중값 속성의 변환은 조금 다르다.
다중값 속성의 경우는 테이블의 필드로 직접 대응하지 못하기 때문이다.
다중 값은 그래서 새로운 테이블을 생성한다.
** 기본키는 pk(E)와 A`로 구성된다.
마지막으로 변환 과정을 요약하고 가자.
이 과정을 다 거치면 결국 테이블스키마가 나온다.
'컴퓨터(Computer Science) > 데이터베이스, DB, DataBase' 카테고리의 다른 글
데이터베이스, 트랜잭션(Transaction) -1 (개념과 정의) (0) | 2020.12.14 |
---|---|
데이터베이스의 물리적 저장 구조와 인덱스 (0) | 2020.12.13 |
데이터베이스의 개념적설계(Conceptual Design) (5) | 2020.12.13 |
데이터베이스의 설계( Database Design) (0) | 2020.12.13 |
SQL(Structured Query Language) + 보충내용(NULL처리, 중첩질의, 뷰(VIEW)) (0) | 2020.12.12 |