본문 바로가기

컴퓨터학원(복습)(수료)

자바(JAVA)기반 안드로이드 웹&앱 개발 17일차(MySQL, ER다이어그램, 데이터 모델링, draws.io)

1. 데이터모델링의 개념

.1) 데이터베이스 생명주기

..(1) 요구사항 수집 및 분석

...- 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계

...- 실제 문서 수집 및 분석, 담당자와의 인터뷰, 비슷한 DB 분석, 연관업무 분석

..(2) 설계

...- 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계), 사

.....용하는 DBMS의 종류에 맞게 변환(논리적 설계)한 후, 데이터베이스 스키마를 도출(물

.....리적 설계)한다.

..(3) 구현

...- 설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체를 만듦

..(4) 운영

...- 구현된 데이터베이스를 기반으로 소프트웨어를 구축하여 서비스를 제공한다.

..(5) 감시 및 개선

 

2. 설계

.1) 개념적 모델링

..(1) 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인

.....,,뼈대를 만드는 과정

..(2) 개체(entity)를 추출하고 각 개체들 간의 관계(relation)을 정의하여 ER 다이어그램을

.......만드는 과정

개념적 모델링 예시

.2) 논리적 모델링

..(1) 개념적 모델링에서 만든 ER다이어그램을 사용하고자 하는 DBMS에 맞게 사상(매핑)하여

,,,,,,,실제 데이터베이스로 구현하기 위한 모델을 만드는 과정

..(2) 개념적 모델링에서 추출하지 않았던 상세 속성들을 모두 추출한다.

..(3) 정규화를 수행한다.

..(4) 데이터의 표준화를 수행한다.

※ 예시 : 도서(도서번호, 도서이름, 출판사, 도서단가)

.3) 물리적 모델링

..(1) 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를

,,,,,,,정의하고 구현하는 과정

..(2) 응답시간을 최소화 해야한다.

..(3) 얼마나 많은 트랜잭션을 동시에 발생시킬 수 있는지 검토해야 한다.

..(4) 데이터가 저장될 공간을 효율적으로 배치해야 한다.

 

물리적 모델링 예시

3. ER 모델

.- 개체와 개체 간의 관계를 ER 다이어그램이라는 표준화된 그림으로 표현한다.

1) 개체와 개체타입

,,(1) 개체(entity)

,,,- 사람,사물,장소,개념 등과 같이 유무형의 정보를 가지고 있는 독립적인 실체

...- 비슷한 속성ㅇ르 가진 개체 타입을 구성하며, 개체 집합으로 묶인다.

...- 유일한 식별자에 의해 식별이 가능하다.

...- 꾸준한 관리를 필요로 하는 정보이다.

...- 두 개 이상 영속적으로 존재한다.

...- 업무 프로세스에 이용된다.

...- 반드시 자신의 특징을 나타내는 속성을 포함한다.

...- 다른 개체와 최소 한 개 이상의 관계를 맺고 있다.

기호

의미

강한 개체 타입(독자적 존재가능)

약한 개체 타입(상위개체타입 필요)

2) 속성

..(1) 타원으로 표현하며 개체 타입과 실선으로 연결된다.

..(2) 속성이 개체를 유일하게 식별할 수 있는 키일 경우 속성이름에 밑줄을 긋는다.

..(3) 속성의 유형

...- 단순 속성 : 더 이상 분해가 불가능한 속성

...- 복합 속성 : 독립적인 의미를 가진 속성

...- 단일값 속성 : 하나의 값만을 가지는 속성

...- 다중값 속성 : 여러 개의 값을 가지는 속성

...- 저장 속성 : 다른 속성의 영향 없이 단독으로 저장되는 속성

...- 유도 속성 : 다른 저장 속성으로부터 유도된 속성

3) 관계와 관계타입

..(1) 개체 사이의 연관성을 나타내는 개념

..(2) 관계 타입의 유형

...① 차수에 따른 유형 : 관계 집합에 참가하는 개체 타입의 수

.....- 1차 관계 : 한 개의 개체가 자기 자신과 관계를 맺는 경우

.....- 2진 관계 : 두 개의 개체가 관계를 맺는 경우

.....- 3진 관계 : 세 개의 개체가 관계를 맺는 경우

...② 관계 대응 수(cardinality)에 따른 유형

.....- 관계 대응 수의 최솟값과 최댓 값

관계

(min1, max1)

(min2, max2)

1:1

(0,1)

(0,1)

1:N

(0,*)

(0,1)

M:N

(0,*)

(0,*)

※ 이 표가 정답은 아닌 것 같습니다..

...③ ISA 관계

.....- 상위 개체 타입의 특성에 따라 하위 개체 타입이 결정되는 형태

..(4) 참여 제약 조건

...- 개체 집합 내 모든 개체가 관계에 참여하는지 유무에 따라 전체 참여와 부분참여로 구분

...- 전체 참여 : 개체타입과 두 줄 실선으로 표현

...- 부분 참여 : 일반적인 관계 표현과 동일하게 단일 실선으로 표현

4) 약한 개체 타입과 식별자

5) IE 표기법

...- 관계 대응 수는 개체의 반대편에 있는 최대에 관한 기호를 읽으면 된다.

 

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

단계

사상할 대상

구분

1단계

개체 타입

강한 개체 타입

2단계

약한 개체 타입

3단계

관계 타입

이진 1:1 관계 타입

4단계

이진 1:N 관계 타입

5단계

이진 M;N 관계 타입

6단계

N진 관계 타입

7단계

속성

다중값 속성

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

...- 정규개체 타입의 경우 대응하는 릴리에션을 생성한다.

.2) [2단계] 약한 개체 타입

...- 자신의 키와 함께 강한 개체 타입의 키를 외래키로 사상하여 자신의 기본키를 구성

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

...- [방법 1] ~ [방법 4]까지 모든 유형으로 사상

...- 보통 [방법1] 혹은 [방법 2중] 외래키(FK)에 NULL 값이 적은 방법 사용

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

...- N의 위치에 따라 [방법1] 혹은 [방법2]의 유형으로 사상

.5) [5단계] 이진 M:N 관계 타입

...- [방법4]의 유형으로 사상

...- 새로운 릴레이션(교차테이블)을 반드시 생성해야 한다.

.6) [6단계] N진 관계 타입

...- [방법4]의 유형으로 사상

...- 생성되는 릴레이션 키는 각 개체 타입의 기본키를 모은 복합키를 사용한다.

.7) [7단계] 다중값 속성

...- 속성의 개수를 알 수 없는 경우 : [방법 1]

...- 속성의 개수가 제한적으로 정해지는 경우 : [방법 2]

...- 실무에서는 보통 개수보다는 퍼포먼스로 따진다.

....Ex) 다중값 속성이 검색이 많이 되는 것이라면 [방법 1]을 사용한다.