본문 바로가기
정리/정보처리기사

2장 데이터 모델링 및 설계

by 2744m 2019. 1. 30.

데이터 모델링 정의

-      정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화해 체계적으로 표현한 개념적 모형

-      데이터의 관계, 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임

-      DB를 표현하는 중간과정, 데이터 구조를 논리적으로 표현하기 위해 사용되는 도구

-      스키마를 논리적으로 묘사하기 위해 사용되는 지능적 도구

데이터 모델의 종류

1)    개념적 데이터 모델

n  추상적 개념으로 표현하는 과정

n  정보 모델이라고도 한다.

n  대표적으로 E-R 모델

2)    논리적 데이터 모델

n  단순히 데이터 모델이라고 하면 논리적 데이터 모델을 뜻하는 것.

n  특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용

n  관계를 표현하는 것에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분

데이터 모델에 표시할 요소

-      구조 : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현

-      연산 : 실제 데이터를 처리하는 작업

-      제약 조건 : 실제 데이터의 논리적인 제약조건

 

데이터 모델의 구성요소

1)    개체(Entity)

n  현실 세계의 대상체

n  서로 연관된 몇 개의 속성으로 구성

n  파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할 수행

n  독립적으로 존재하거나 그 자체로서 구별 가능

2)    속성(Attribute)

n  데이터의 가장 작은 논리 단위

n  파일 구조상의 데이터 항목 또는 데이터 필드에 해당


3)    관계(Relationship)

n  개체 간의 관계 또는 속성 간의 관계

n  관계의 형태

u  1 : 1

u  1 : N

u  N : M

 


 

개체(E)ntity) – 관계(R)elationship) 다이어그램


 

관계형 데이터 모델

-      대표적 언어로 SQL

-      기본키와 이를 참조하는 외래키로 데이터 간의 관계를 표현

-      간결해 보기 편하며, 다른 DB로의 변환이 용이하다.

-      다소 성능이 떨어짐

계층형 데이터 모델

-      데이터의 논리적 구조도가 트리 형태, 개체가 트리를 구성하는 노드 역할

-      개체 집합들 사이의 관계를 링크로 연결

-      속성 관계 : 세그먼트(개체)를 구성하는 속성들의 관계

-      개체 관계 : 개체와 개체 간의 관계를 링크로 표시

-      1:N 대응관계만 존재

-      루트 개체 타입은 다른 개체 타임과 구별된다.

-      개체 삭제 시 연쇄 삭제가 된다.

-      개체 타입들 간 사이클이 허용되지 않음

-      두 개체 간에는 하나의 관계만 허용

-      대표적 DBMSIMS

-      구조가 간단하고, 판독이 용이

-      구현, 수정, 검색이 용이

-      데이터의 독립성 보장

-      데이터 상호 간의 유연성 부족

-      검색 경로가 한정

-      삽입과 삭제 연산이 매우 복잡

-      N:M 관계 처리가 어렵다.

네트워크()형 데이터 모델

-      대표적 DMBS : DBTS, EDBS, TOTAL

-      그래프를 이용해서 데이터 논리 구조를 표현

-      상위와 하위 레코드 사이에서 N:M 대응 관계를 만족

-      레코드 타입간 관계는 1:1, 1:N, N:M이 될 수 있다.

-      타입과 링크들의 집합으로 구성

-      상위 하나의 레코드에 대해 하위의 레코드가 복수 대응, 하위 하나의 레코드에 상위 레코드도 복수대응

-      관계성에는 제한이 없다.

-      모든 링크는 적어도 한 방향으로 함수적 (부분적인 함수성 허용)

-      오너 레코드와 멤버 레코드 타입은 서로 동일 형태가 될 수 없다.

Entity set : 주종 관계에 있는 Entity군들의 그룹

SET Membership Type : 1:N 관계에 연관된 레코드 타입들은 각각 오너, 멤버라고 한다.

n  오너 : 트리에서 부모와 같은 개념

n  맴버 : 트리에서 자식과 같은 개념

 

DB 설계 시 고려사항

-      무결성

-      일관성

-      회복(복구)

-      보안

-      효율성

-      데이터 베이스의 확장

DB 설계 순서

1)    요구분석

2)    개념적 설계

3)    논리적 설계

4)    물리적 설계

5)    구현

 

1.     요구 조건 분석

-      수행 업무와 필요한 데이터의 종류, 용도, 처리 형태, 흐름, 제약 조건 등을 수집

-      수집된 정보를 바탕으로 요구 조건 명세를 작서

2.     개념적 설계

-      개념 스키마 모델링과 트랜잭션 모델링을 병행 수행

-      요구분석 단계에서 나온 결과를 DBMS에 개체 관계도로 작성

-      DBMS에 독립적인 개념 스키마 설계

3.     논리적 설계

-      개념 스키마를 평가 및 정재하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계

-      트랜젝션의 인터페이스를 설계

-      관계형 DB라면 테이블을 설계하는 단계

4.     물리적 설계(데이터의 구조화)

-      물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정

-      꼭 포함되어야 할 것은 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계 등이다.

-      기본적인 데이터 단위는 저장 레코드

-      시스템 성능에 중대한 영향

-      고려사항

n  인덱스의 구조

n  레코드의 크기

n  파일에 존재하는 레코드의 개수

n  파일에 대한 트랜젝션의 갱신과 참조 성향

n  성능 향상을 위한 개념 스키마의 변경 여부 검토

n  빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려

n  시스템 운용 시 파일 크기의 변화 가능성

-      옵션 선택 시 고려사항

n  반응 시간 : 트랜잭션 수행을 요구한 시점부터 처리 결과를 얻을 때 까지의 경과시간

n  공간 활용도 : DB파일과 엑세스 경로 구조에 의해 사용되는 저장공간의 양

n  트랜잭션 처리량 : 단위 시간동안 DB 시스템에 의해 처리될 수 있는 트랜잭션의 평균 개수

5.     구현

-      DBMSDDL을 이용하여 데이터 베이스 스키마를 기술한 후 컴파일하여 빈 DB파일을 생성

-      생성된 빈 DB 파일에 데이터를 입력

-      트랜잭션 작성

-      응용프로그램 작성

 


'정리 > 정보처리기사' 카테고리의 다른 글

현행 시스템 파악/요구사항 분석 기법  (0) 2020.05.13
UML  (0) 2020.05.09
Python의 기초  (0) 2020.05.06
데이터 입출력  (0) 2020.05.06
1장 데이터 베이스의 개념  (0) 2019.01.28

댓글