본문 바로가기

컴퓨터과학(CS)/데이터 베이스

개념적 데이터 모델링

데이터베이스 설계: 사용자의 다양한 요구사항을 고려하여 DB 생성

 

요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 

이것을 반복한다.

 

요구사항 분석: 용도 파악, 어떤 데이터를 필요로 하는지, 요구사항 명세서를 작성한다.

개념적 설계: 개념적 구조 설계, 개념적 스키마(E-R 다이어 그램)

논리적 설계: 논리적 구조 설계, 논리적 스키마(릴레이션 스키마)

물리적 설계: 물리적, 물리적 스키마

구현: SQL문

 

데이터 모델링은 현실 세계 데이터를 컴퓨터 세계 DB로 옮기는 변환 과정이다.

또한 DB 설계의 핵심 과정이다.

 

개념적 데이터 모델링: 현실 -> 개념

논리적 데이터 모델링: 개념 -> DB

 

데이터 모델: 데이터 모델링의 결과물을 표현하는 도구

개념적 모델: 데이터 베이스 개념적 구조로 표현, ex) 개체-관계 모델

논리적 모델:  데이터 베이스 논리적 구조로 표현, ex) 관계 데이터 모델

 

개체-관계 모델: E-R 모델

피터첸이 제안, 개체와 개체간의 관계를 이용해 현실세계를 개념적 구조로 표현

핵심 요소: 개체, 속성, 관계

 

E-R 다이어그램

개체: 사각형

관계: 마름모

속성: 타원(밑줄이 있는 건 key속성)

 

개체: 저장할 가치가 있는 사람이나 사물

파일 구조의 레코드와 대응됨

 

속성: 개체나 관계가 가지고 있는 고유의 특성

의미있는 데이터의 가장 작은 단위

파일 구조의 필드와 대응됨

 

개체 타입: 고유한 이름과 속성을 정의, 파일 구조 레코드에 대응

개체 인스턴스: 속성이 실제 값을 가져 실체화된 개체, 레코드 인스턴스에 대응

개체 집합: 개체 인스턴스의 모음

 

속성은 갯수, 의미분해 가능성, 유도 속성을 가진다.

갯수: 단일값과 다중값, 다중값의 경우 이중 타원으로 표현

의미분해 가능성: 단순, 복합

유도 속성: 값이 별도로 저장되지 않고 기존 다른 속성으로부터 유도, 점선 타원으로 표현, ex) 생년월일로 나이 유도

널속성: 널값을 허용(널은 모르거나 존재하지 않는 값이기에 공백이나 0과는 의미가 다르다)

키속성: 개체 인스턴스를 식별하는데 사용, 모든 개체 인스턴스의 키속성 값은 다르다. 밑줄로 표현, 둘 이상의 속성들로 구성되기도 함, ex) 이름, 생년월일 

 

 

관계

개체와 개체의 연관성, 개체 집합들 사이의 대응관계

 

참여하는 개체 타입의 수

2개: 이항

3개: 삼항

자기자신: 순환

 

매핑 카디널리티(상대 개체 집합의 인스턴스 수)

1:1, 1:n, n:m

 

관계 참여 특성

필수적 참여: 전체 참여, 이중선으로 표현

선택적 참여: 부분 참여

 

관계의 종속성

약한 개체: 다른 개체의 존재 여부에 의존적(필수적 참여) -> 오너 개체의 키를 포함하여 키 구성

오너 개체: 다른 개체의 존재 여부 결정

 

오너-약한: 1:n 관계, 약한 개체가 오너 개체의 관계에 필수적으로 참여, 이중 마름모

약한 개체: 이중 사각형

 

'컴퓨터과학(CS) > 데이터 베이스' 카테고리의 다른 글

관계 데이터 모델링  (0) 2022.01.28
개념적 모델링 실습  (0) 2022.01.19
데이터베이스 시스템  (0) 2022.01.13
데이터베이스 관리 시스템  (0) 2022.01.12
데이터베이스의 기본 개념  (0) 2022.01.07