728x90
목차
- 모델링
- 데이터모델링
1.모델링
현실세계를 일정한 표기법에 의해 표현하는 일 =>
현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현.
즉, 모델이란 현실 세계의 추상화된 반영하는 것이고
실제 정보시스템 구축에서의 모델링 활용은 다음과 같다.
- 계획, 분석, 설계 단계 : 업무 분석 및 설계에 이용
- 구축, 운영 단계 : 변경 및 관리 목적으로 이용
모델링 3대 특징
- 추상화(모형화, 가설적)
- 현실세계, 다양한 현상를 일정한 형식에 맞춰 표현
- 단순화
- 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법, 언어로 표현하여 쉽게 이해 할 수 있게 표현
- 명확화
- 누구나 이해하도록 대상을 애매하지 않도록 정확하게 현상을 기술(즉, 애매모호함제거)
모델링의 세 가지 관점
관점 | 설명 | 키워드 |
---|---|---|
데이터관점 | 업무와 어떤 데이터와 관련있는지, 데이터간의 관계 무엇인지 | Data, What |
프로세스 관점 | 업무가 실제로 무엇을 하는지,무엇을 모델링 할지 | Process,How |
데이터와 프로세스의 상관관점 | 업무 처리하는 방법에 따라 데이터 어떻게 영향 받고 있는지 | Interaction |
2.데이터 모델링
정보시스템 구축 위한 데이터 관점의 업무 분석기법으로서
현실세계 데이터에 대해 약속된 표기법에 의해 표현하는 과정이다.
즉, 데이터베이스 구축하기 위한 분석, 설계과정이다.
실무에서 데이터 모델링을 하는 주요이유
- 정보시스템 구축 대상에 대하여 업무 내용을 정확하게 분석
- 분석된 모델을 기반으로 실제 데이터베이스를 설계, 생성, 개발 및 데이터 관리에 이용
- DB구축만이 아닌 데이터 모델링 자체만으로 업무를 설명하고 분석하는 부분에도 목적
데이터 모델 기능
- 시스템 가시화
- 시스템 구조와 행동을 명세화
- 시스템 구축 구조화 된 틀을 제공
- 시스템 구축 과정에서 결정한 것을 문서화
- 다양한 영역 집중을 위해 다른 영역의 세부사항을 숨겨 다양한 관점 제공
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공
데이터 모델링 중요성
데이터 모델링은 지반설계와 같기 때문에 잘못하면 프로젝트 전체가 위험에 빠질 수 도 있다.
데이터 모델링은 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정이고 최종적으로 구축된 데이터베이스는 현실세계의 대상이 되었는 개념과 일치해야한다.
- 파급효과가 크다(Leverage)
- 복잡한 정보 요구사항의 간결한 표현(Conciseness)
- 데이터 품질 (Data Quality)
유의할점- 중복(Duplication) : 동일 자료의 중복
- 비유연성(Inflexibility) : 잘못된 데이터 모델은 사소한 업무변화에 대응하지 못하고 유지보수에 어려움이 따른다.
- 비일관성(Inconsistency) : 데이터의 모순, 데이터간 상호 연관관계에 대한 정확한 정의로 이러한 위험을 예방
데이터베이스 생명주기
데이터베이스는 최초 사용자의 요구에 의해 구축되어 사용되다 필요에 따라 개선 및 재구축을 하여 사용된다.
이와 같은 생성과 운영에 관련한 특징을 데이터베이스 생명주기라한다(database life cycle)
요구사항 수집 및 분석 → 설계 → 구현 → 운영 → 감시 및 개선
- 요구사항 수집 및 분석
- 요구사항을 듣고 분석하여 구축 범위를 결정
- 설계
- 개념적 설계 (분석된 요구사항을 베이스로 주요개념과 업무 프로세스 식별)
- 논리적 설계 (사용하는 DBMS의 종류에 맞게 변환)
- 물리적 설계 (데이터베이스 스키마 도출)
- 구현
- 설계단계에서 생상한 스키마를 실제 DBMS에 적용하여 테이블 및 뷰, 인덱스 등을 만들고 해당 DB를 이용하여 서비스를 제공할 수 있게 소프트웨어를 구현
- 운영
- 구현된 DB를 기반으로 소프트웨어를 구축 운영
- 감시 및 개선
- 운영 도중 문제 관찰 및 파악하여 개선(변경 및 유지보수)
데이터 모델링 과정
- 개념적 모델링 (중요 개념구분)
- 추상화 수준이 높고 업무중심적이며 포괄적인 수준의 모델링 진행.
- 전사적 데이터 모델링, EA수립시 많이 이용
- 논리적 데이터 모델링 (각 개념을 구체화)
- 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계등을 정확하게 표현
- 정규화, 재사용성이 높음
- 물리적 데이터 모델링(개체,인덱스등 생성)
- 실제 데이터베이스 이식할 수 있도록 성능,저장 등 물리적 성격 고려하여 설계
데이터 독립성
데이터 독립성: 데이터베이스의 구조와 데이터의 내용이 서로 영향을 미치지 않는 것
데이터 독립성 필요 이유
- 유지보수 비용 증가
- 데이터 중복성 증가
- 데이터 복잡성 증가
- 요구사항 대응 저하
데이터 독립성 요소
외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마
개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
내부 스키마 : 물리적 장치에서 데이터가 실제적 저장
요소별 데이터 독립성
- 논리적 독립성(외부-개념)
- 개념 스키마 변경-> 외부스키마 영향 없음
- 논리적 구조 변경되어도 응용프로그램 영향 없음
- 특징: 사용자 특성에 맞는 변경가능, 통합구조 변경 가능
- 물리적 독립성(개념-내부)
- 내부스키마 변-> 외부/개념스키마 영향 없음
- 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향없음
- 특징: 물리적 구조 영향없이 개념구조 변경 가능, 개념구조 영향없이 물리적구조 변경가능
데이터 모델링 세가지 요소
- 업무가 관여하는 어떤 것 (Thing)-엔티티(Entity)
- 어떤 것이 가지는 성격(속성)(Attribute)
- 업무가 관여하는 어떤것 간의 관계(Relationships)
좋은 데이터 모델의 요소
- 완전성
- 중복배제
- 업무규칙
- 데이터 재사용
- 의사소통
- 통합성
728x90
'2.2 DB > DB개념' 카테고리의 다른 글
[DB] 정적SQL VS 동적SQL (0) | 2024.10.21 |
---|---|
[DB] 데이터, 정보, 지식 , 지혜 (DIKW) (0) | 2024.08.29 |
댓글