티스토리 뷰

1.    ER모델을 관계 데이터 모델로 사상

-      완성된 ER 모델은 실제 데이터베이스로 구축하기 위해 논리적 모델링 단계를 거치는데, 이 단계에서는 사상( mapping )이 이루어 진다.

-      ER모델과 관계 데이터 모델의 사상 알고리즘은 7단계를 거친다.

단계 사상할 대상 구분
1단계 개체 타입 강한 개체 타입
2단계 약한 개체 타입
3단계 관계 타입 이진 1 : 1 관계 타입
4단계 이진 1 : N 관계 타입
5단계 이진 N : M 관계 타입
6단계 N진 관계 타입
7단계 속성 다중값 속성

2.    개체 타입의 사상 ( mapping )

-      [ 1 단계 ] 강한(정규) 개체 타입

-       : 정규 개체 타입 E의 경우 대응하는 릴레이션(테이블) R을 생성한다.

-      [ 2 단계 ] 약한 개체 타입

-       : 약한 개체 타입도 릴레이션(테이블) R을 생성하지만, 약한 개체 타입에서 생성된 릴레이션은 자신의 키(식별자)와 함께 강한 개체 타입의 키(기본키)를 외래키로 사상( mapping )하여 자신의 기본키로 구성한다.


3.    관계 타입의 사상 ( mapping )

-      1 ) 관계 타입의 사상 방법 4가지

-      방법 1 : 오른쪽 개체 타입인 E2를 기준으로 관계 R을 표현한다.

-      Ex. E1( KA1, A1 ) , E2( KA2, A4, KA1 )

-      이처럼 기준이 아닌 개체에서는 기본키와 속성을 그대로 작성하고, 기준이 되는 E2에서는 일단 자신의 기본키와 속성을 작성한 후, 상대편의 기본키인 KA1을 자신의 외래키로 가져온다.

-      방법 2 : 왼쪽 개체 타입인 E1를 기준으로 관계 R을 표현한다.

-      Ex. E1(KA1, A2, KA2) , E2(KA2, A4)

-       + 방법 1과 비슷하지만, 외래키를 작성하는 쪽을 반대로 하는 방법이다.

-      방법 3 : 단일 릴레이션(테이블) ER로 모두 통합하여 관계 R을 표현한다.

-      Ex. ER ( KA1, A2, KA2, A4 )

-      방법 4 : 개체 타입 E1, E2와 관계 R을 모두 독립된 릴레이션(테이블)으로 표현한다.

-      Ex. E1(KA1, A2) , R(KA1, KA2) , E2(KA2, A4)

-      이때 R을 교차 릴레이션 또는 교차 테이블로 부르며, 양쪽의 기본키를 속성으로 가지고 와서 관계를 표현한다.


-      2 ) 단계별 관계 타입 사상( mapping ) (***)

-      [ 3 단계 ] 이진 1 : 1 관계 타입

-       : 방법 1 ~ 4까지 모든 유형으로 사상( mapping )이 가능하기에, 개체가 가진 정보 유형에 따라서 방법을 판단해야 한다.

-       : 하지만 3단계의 경우, 주로 방법 1 또는 방법 2를 사용하는 편이 좋다.

-       : 기준으로 하는 개체 타입을 정하는 기준은 최대한 외래키에 NULL이 발생하지 않도록 선택해야 한다.

-      [ 4 단계 ] 이진 1 : N 관계 타입

-       : N의 위치에 따라서 방법 1 또는 방법 2의 유형으로 사상( mapping )해야 한다.

-       : N의 위치에 있는 개체를 기준으로 삼아서, 1의 위치에 있는 개체의 기본키를 외래키로 가져와야 한다.

-      [ 5 단계 ] 이진 M : N 관계 타입 (**)

-       : 이진 N : M 관계 타입의 경우 방법 4를 사용하여 사상( mapping )해야 한다.

-       : 예를 들어서 교수와 과목이라는 개체를 수업이라는 관계로 되어 있을 때, 각각 따로 릴레이션으로 뽑아 교수 ( 사번, 이름 ) , 과목 ( 과목코드, 과목명 ) , 수업 ( 사번, 과목코드 )로 사상한다. 이때 수업은 교차 릴레이션이라고 부른다.

-      [ 6 단계 ] N진 관계 타입

-       : ER모델의 차수가 3이상인 다진 관계 타입의 경우 방법 4의 유형으로 사상한다.


4.    다중값 속성의 사상 ( mapping )

-      방법 1 : 속성의 개수를 알 수 없는 경우에는 다중속성을 따로 릴레이션으로 생성하게 되는데, 만약 R이라는 개체에 기본키 KA, 일반 속성 B 그리고 다중속성 C가 있다면 R ( KA, B ) , RC ( KA, C )처럼 따로 기본키와 다중속성을 사상하여 릴레이션을 따로 생성하게 된다.

-      방법 2 : 속성의 개수가 제한적으로 정해지는 경우에는 다중값 속성을 펄쳐서 사상하게 되는데, 만약 R이라는 개체에 기본키 KA, 일반 속성 B 그리고 다중속성 C가 있다면 R ( KA, B, C1, C2, C3 )로 사상한다.

-       + 주로 방법 1의 경우에는 릴레이션을 따로 생성해야 하기 때문에, 방법 2를 사용하도록 설계하는 경우가 많다.

-       + 7단계를 통해 릴레이션(테이블)의 목록이 생성되는 것이다.


5.    이상현상의 종류 (***)

-      1 ) 삭제 이상 ( deletion anomly )

-       : 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상

-       -> 연쇄삭제 문제 발생

-      2 ) 삽입 이상 ( insertion anomly )

-       : 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상

-       -> NULL 값 문제 발생

-      3 ) 수정 이상 ( update anomly )

-       : 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상

-       -> 불일치 문제 발생

-       + 이상현상은 1개의 릴레이션에 2개 이상의 정보가 있을 때 발생한다.

-       + 이상현상을 해결하기 위해서는 릴레이션(테이블)을 분리(무손실 분해)해야 한다.

-       + 이때 이상현상이 발생하는 릴레이션을 무손실 분해하는 과정을 정규화라고 한다.


6.    함수 종속성 (***)

-      학생수강성적과 같은 릴레이션의 각 속성 간에는 의존성(종속성)이 존재한다.

-      어떤 속성 A의 값을 알면, 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 속성 B는 속성 A에 종속한다.’ 혹은 속성 A는 속성 B를 결정한다.’라고 한다.

-      A -> B로 표기하며, AB결정자라고 한다.

-      이때 속성은 단일 속성뿐만이 아니라 복합 속성까지도 가능하다.

 

 

728x90

'KH 정보교육원 [ Java ]' 카테고리의 다른 글

KH 40일차 - IE 표기법  (0) 2022.04.22
KH 39일차 - 정규화  (0) 2022.04.21
KH 37일차 - 데이터 모델링 ( ERD )  (0) 2022.04.19
KH 36일차 - 데이터 모델링  (0) 2022.04.18
KH 35일차 - 관계 데이터 모델  (0) 2022.04.15
댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항