데이터 모델링 단계
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 |