데이터 모델링 정의
- 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화해 체계적으로 표현한 개념적 모형
- 데이터의 관계, 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임
- 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 대응관계만 존재
- 루트 개체 타입은 다른 개체 타임과 구별된다.
- 개체 삭제 시 연쇄 삭제가 된다.
- 개체 타입들 간 사이클이 허용되지 않음
- 두 개체 간에는 하나의 관계만 허용
- 대표적 DBMS는 IMS
- 구조가 간단하고, 판독이 용이
- 구현, 수정, 검색이 용이
- 데이터의 독립성 보장
- 데이터 상호 간의 유연성 부족
- 검색 경로가 한정
- 삽입과 삭제 연산이 매우 복잡
- 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. 구현
- DBMS의 DDL을 이용하여 데이터 베이스 스키마를 기술한 후 컴파일하여 빈 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 |
댓글