데이터베이스 모델링

 

데이터 모델링 단계

 

1. 개념적 데이터 모델링

  • 추상화 기법 사용 

 

2. 논리적 데이터 모델링

  • DBMS에 맞는 구현 데이터 모델인 스키마로 변환
  • 일반적으로 관계형 모델 사용
  • 최종적으로 목표 DBMS의 데이터 정의 언어로 기술된 논리 스키마 생성

 

3. 물리적 데이터 모델링

  • 논리 스키마는 데이터베이스 파일의 물리적 저장 방식을 결정하는 물리적 데이터 모델링 과정을 거쳐야 완전한 DDL문으로 완성
  • DBMS 및 하드웨어의 특징 고려하여 접근 방법 선택
  • 레코드 저장 방법, 데이터 타입 등 계산하여 설계

 

 

RFP: Request for Proposal, 제안 요청서

요구사항 분석 프로세스: 요구사항 도출 > 분석 > 기록

 

요구사항 코드 예시

  • FUR(Function Requirement): 기능 요구사항
  • SFR(System Function Requirement): 시스템 기능 (소프트웨어 기능 등 시스템 개발에 필요한 요구사항)

 

+) FUR과 SFR 차이

FUR은 데이터베이스에서의 정보 조회, 수정, 삭제 등 

SFR은 사용자 작업 위한 데이터베이스 복구 및 백업 기능 등(성능, 보안, 가용성 등과 관계)

 

 

ER 모델 (Entity-Relationship 모델)

- 전체적인 데이터베이스의 논리적인 구조 표현

 

 

ER 모델의 구성 요소

 

1. 개체 집합

개체: 다른 개체와 구별되는 유무형의 대상 

개체들은 그 개체를 특정지을 수 있는 다수의 속성들로 정의

개체 집합은 같은 속성을 공유하는 개체들의 모임

 

+) UML 표기법 (Unified Modeling Language)

키: 모든 개체를 고유하게 구분

도메인: 속성이 가질 수 있는 값의 범위

 

2. 관계 집합

관계: 개체들 사이의 연관성

관계 집합은 같은 유형의 관계 인스턴스들의 집합 

차수: 관계 집합에 참여하는 개체 집합의 수

관계 집합은 설명 속성을 포함할 수 있음 

 

3. 속성

개체를 구체적으로 설명하는 특성

 

1) 단순 속성과 복합 속성 

복합 속성 예시: 생일 = 년 + 월 + 일

 

2) 단일값 속성과 다중값 속성

다중값 속성 예시: 전화번호로 휴대전화, 집전화 등 여러개 가질 수 있음 ({}로 표현)

 

3) 유도 속성과 저장 속성

유도 속성 예시: 나이는 생일로부터 유도 가능 (()로 표현)

 

 

4. 제약조건

 

1) 사상수 

관계 집합에 참가한 개체 집합들에 대해 각각의 개체가 얼마만큼의 관계를 맺을 수 있는지

(1:1, 1:N, N:1, N:N)

ER 모델에서는 화살표가 있는 쪽이 1을 의미

 

2) 참가 제약조건

모든 개체가 관계에 참여하면 전체적, 일부만 참가해도 되면 부분적

ER 모델에서는 전체 참가인 쪽이 두 줄 선

 

3) 키 속성

최소한의 속성으로 한 개체 집합의 모든 개체들을 구분할 수 있는 것이 키

 

+) 다른 개체가 삭제됐을 때 더이상 유지할 이유가 없으면 그 개체는 약한 개체 

 

 

 

 

 

 

'TIL > DB' 카테고리의 다른 글

[DB] 관계형 모델  (0) 2024.05.07
데이터베이스 개요  (1) 2024.03.16
[Java] Oracle DB 연결하기  (0) 2023.04.19
[Oracle] join  (0) 2023.04.11
[Oracle] 함수  (1) 2023.04.04