SMALL

제 1절 데이터 모델의 이해

-       모델링의 특징

1.     추상화(모형화가설화)는 현실세계를 일정한 형식에 맞추어 표현한다는 것으로.. 다양한 형상을 일정한 양식인 표기법에 의해 표현한다는 것

2.     단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념

3.     명확화는 누구나 이해하기 쉽게 애매모호함을 제거하고 정확하게 현상을 기술하는 것

 

-       데이터 모델링이란

1.     정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법

2.     현실세계의 데이터에 대해 약속된 표기법에 의해 표현하는 과정

3.     데이터베이스를 구축하기 위한 분석/설계 과정

-       데이터 모델링의 중요성

1.     파급효과(Leverage): 데이터 구조의 변경은 전체 시스템 구축 프로젝트에서 큰 위험요소이다.

2.     복잡한 정보 요구사항의 간결한 표현(Conciseness): 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구이다.

3.     데이터 품질(Data Quality): DB에 담겨 있는 데이터는 기업의 중요한 자산이다오랜 기간 숙성된 데이터를 전략적으로 활용 가능

-       데이터 모델링의 유의점

1.     중복(Duplication): 여러 장소에 같은 정보를 저장하는 것

2.     비유연성(Inflexibility): 사소한 업무변화에도 데이터 모델이 수시로 변경됨으로써 유지보수의 어려움을 가중시킬 수 있음그래서 처음부터 발생될 모든 사건을 염두하고 모델링을 해야 된다.

3.     비일관성(Inconsistency): 같은 정보를 두 곳에서 가지고 있는데 한 쪽만 업데이트 한 경우그래서 데이터간 상호 연관 관계에 대해 명확히 정의하고 모델링을 해야 한다.

 

-       데이터 모델링의 3단계

1.     개념적 데이터 모델링추상화 수준이 높고 업무중심적이며 포괄적인 수준의 모델링 진행전사적 데이터 모델링. EA 수립시 많이 이용사용자와 시스템 개발자가 데이터 요구 사항을 발견하는 것을 지원현 시스템이 어떻게 변형되어야 하는가를 이해하는데 유용함.

2.     논리적 데이터 모델링시스템으로 구축하고자 하는 업무에 대해 Key, 속성관계 등을 정확하게 표현재사용성이 높음시스템 구축을 위해서 가장 먼저 시작할 기초적인 업무조사를 하는 초기단계에서부터 시스템 설계의 전 과정을 지원.

3.     물리적 데이터 모델링실제로 데이터베이스에 이식할 수 있도록 성능저장 등 물리적인 성격을 고려하여 설계데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가 하는 정의.

-       데이터베이스의 3단계 구조

1.     외부스키마(External Schema): View 단계 여러 개의 사용자 관점으로 구성개개 사용자가 보는 개인적 DB 스키마사용자 관점 접근하는 특성에 따른 스키마 구성

2.     개념스키마(Conceptual Schema): 개념단계 하나의 개념적 스키마로 구성 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것

3.     내부스키마(Internal Schema): DB가 물리적으로 저장된 형식물리적 장치에서 데이터가 실제적으로 저장되는 방법을 표현하는 스키마

 

-       좋은 데이터 모델의 요소

1.     완전성(Completeness): 모든 데이터가 데이터 모델에 정의되어 있어야 한다.

2.     중복배제(Non-Redundancy): 하나의 데이터베이스 내에 동일한 사실은 한 번만 기록하여야 한다.

3.     업무규칙(Business Rule): 데이터 모델을 활용하는 모든 사용자가 공유할 수 있도록 업무규칙을 제공

4.     데이터 재사용(Data Reusability): 데이터의 재사용성을 향상시키고자 한다면 데이터의 통합성과 독립성에 대해서 충분히 고려해야 함

5.     의사소통(Communication): 데이터 모델은 대상으로 하는 업무를 데이터 관점에서 분석하고 이를 설계하여 나오는 최종 산출물이다데이터 모델이 진정한 의사소통의 도구로서의 역할을 하게 된다.

6.     통합성(Integration): 동일한 데이터는 조직의 전체에서 한번만 정의되고 이를 여러 다른 영역에서 참조활용하는 것

 

-       엔터티의 특징

1.     반드시 해당 업무에서 필요하고 관리하고자 하는 정보

2.     유일한 식별자에 의해 식별이 가능해야 함

3.     영속적으로 존재하는 인스턴스의 집합이어야 한다.

4.     엔터티는 업무 프로세스에 의해 이용되어야 한다.

5.     엔터티는 반드시 속성이 있어야 한다.

6.     엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.

 

-       엔터티의 명명

1.     현업업무에서 사용하는 용어를 사용

2.     가능하면 약어를 사용하지 않는다.

3.     단수명사를 사용한다.

4.     모든 엔터터이에서 유일하게 이름이 부여되어야 한다.

5.     엔터티 생성의미대로 이름을 부여한다.

 

-       관계 체크사항

1.     두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?

2.     두 개의 엔터티 사이에 정보의 조합이 발생되는가?

3.     업무기술서장표에 관계연결에 대한 규칙이 서술되어 있는가?

4.     업무기술서장표에 관계연결을 가능하게 하는 동사가 있는가?

 

-       비식별자관계(부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우)를 맺는 경우

1.     자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있는 경우

2.     자식만 남겨두고 먼저 소멸될 수 있는 경우

3.     여러 개의 엔터티가 하나의 엔터티로 통합되어 표현되었는데 각각의 엔터티가 별도의 관계를 가질 때

4.     자식엔터티에서 별도의 주식별자를 사용하는 것이 더 유리하다고 판단될 때

 

-       성능 데이터 모델링 고려사항

1.     데이터 모델링을 할 때 정규화를 정확하게 수행한다.

2.     데이터베이스 용량산정을 수행한다.(테이블(엔터티)별로 데이터가 대용량인지 구분하게 하기 때문에 테이블에 대한 성능고려를 엄격하게 적용해야 하는지 기준이 될 수 있음)

3.     데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.

4.     용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.

5.     이력모델의 조정, PK/FK 조정슈퍼타입/서브타입 조정 등을 수행한다.

6.     성능관점에서 데이터 모델을 검증한다.

 

-       로우체이닝로우 길이가 너무 길이서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태

-       로우마이그레이션데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식

 

-       슈퍼/서브타입 데이터 모델의 변환타입 비교

1. one to one type: 개별테이블 유지확장성 우수함조인성능 나쁨, I/O 성능 좋음관리용이성 좋지 않음개별 테이블로 접근이 많은 경우 선택

2. Plus Type: 슈퍼+서브타입 테이블확장성 보통조인성능 나쁨, I/O 성능 좋음관리용이성 좋지않음슈퍼+서브 형식으로 데이터를 처리하는 경우 선택

3. Single Type: 하나의 테이블확장성 나쁨조인성능 우수함, I/O 성능 나쁨관리용이성 좋음전체를 일괄적으로 처리하는 경우 선택.


- 와일드카드의 종류

1. % : 0개 이상의 어떤 문자를 의미

2. _ : 1개인 단일 문자를 의미



출처: https://crosstheline.tistory.com/111?category=693092 [이거 알아영???ㅎㅎㅎ]

LIST
블로그 이미지

SeoHW

,