반응형
참고한 문서는 sqld 이론서입니다.
데이터 베이스 => DB
데이터 모델링 (Data Modeling)
- 현실세계를 DB로 표현하기 위해서 추상화한다.
- 고객사의 의사소통을 통해 고객의 어부 프로세스를 이해를 해야 한다.
- 데이터 모델링 표기법을 사용해서 모델링을 해야 한다.
- 고객이 쉽게 이해할 수 있도록 복잡하지 않게 모델링해야 한다.
- 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙 정의 (정의된 비즈니스 규칙을 데이터 모델로 표현)
- 고객의 업무 프로세스를 추상화, S/W를 분석 및 설계
데이터 모델링의 특징
- 데이터 모델링 추상화 (Abstraction) : 공통적인 특징을 찾고 간략하게 표현
- 데이터 모델링 단순화 (Simplification) : 복잡한 문제를 피하며 누구나 이해할 수 있게 표현
- 데이터 모델링 명확성 (Clarity) : 의미적 해석이 모호하지 않고 명확하게 해석되어야 함
데이터 모델링의 단계
1) 개념적 모델링 (Conceptual Data Modeling)
- 고객의 비즈니스 프로세스를 분석하며 업무 전체에 대해서 모델링을 수행한다.
- 복잡하게 표현 X, 중요한 부분을 위주로 모델링하는 단계
- 업무적 관점에서 모델링하며 기술적인 용어 사용을 X
- 엔터티와 속성을 도출하고 개념적 ERD를 작성
- 전사적 관점에서 기업의 데이터 모델링
- 추상화 수준이 가장 높은 수준의 모델링
- 계층형 데이터 모델, N/W모델, 관계형 모델에 관계없이 업무 측면에서 모델링 한다.
2) 논리적 모델링 (Loogical Data Modeling)
- 개념적인 모델링 -> 논리적 모델링으로 변환 (***)
- 식별자를 도출하고 필요한 모든 릴레이션 정의
- 정규화를 수행해서 데이텀 모델의 독립성을 확보한다.
- 특정 DB 모델에 종속
- 식별자를 정의하고 관계,속성들을 모두 표현한다.
- 정규화를 통해서 재사용성을 높인다.
3) 물리적 모델링 (Phusical Modeling)
- DB를 실제 구축, 즉 테이블, 인덱스, 함수 등을 생성
- 성능, 보안, 가용성을 고려해야 한다.
- 구축할 DB관리 시스템에 테이블, 인덱스 등을 생성하는 단계
- 성능, 보안, 가용성 등을 고려하여 DB 구축
데이터 모델링의 관점
관점 | 설명 | ||
데이터 | - 비즈니스 프로세스에서 사용되는 데이터를 의미 - 구조 분석, 정적분석 |
||
프로세스 | - 비즈니스 프로세스에서 수행하는 작업을 의미 - 시나리오 분석, 도메인 분석, 동적 분석 |
||
데이터와 프로세스 | - 프로세스와 데이터 간의 관계 - CRUD 분석 (CRUD = Create, Read, Update, Delete) |
ERD (Entity Relationship Diagrem) 작성 절차
- 엔터티를 도출하고 그린다.
- 엔터티 배치
- 엔터티 간의 관계를 설정
- 관계명을 서술
- 관계 참여도 표현
- 관계의 필수 여부 확인
ERD 작성 시
- 중요한 엔터티를 가급적이며 왼쪽 상단에 배치
- ERD는 이해가 쉬워야 하며 너무 복잡하지 않아야 한다.
반응형
'재미로하는 공부' 카테고리의 다른 글
[sqld] 엔터티 (Entity) 개념, 특징, 종류 (12) | 2022.03.25 |
---|---|
[sqld] 3층 스키마 (3-Level Schema) (6) | 2022.03.24 |
리눅스 프로세스 관리 ps, signal, kill, nice (13) | 2022.03.21 |
리눅스 시스템 자동화하기 (cron) (8) | 2022.03.21 |
리눅스 디스크 사용량 할당 (disk quota) (3) | 2022.03.21 |