728x90
반응형
데이터 모델의 개념
데이터 모델의 정의
- 정보를 단순화, 추상화 하며 표현한 개념적 모형
- 데이터의 관계, 의미, 일관성, 제약조건 등 기술을 위한 개념적 도구 모임
- 데이터 베이스 설계 과정 중 구조의 논리적 표현을 위한 도구
데이터 모델의 종류
- 개념적 데이터 모델
- 현실 세계에 대한 인식을 추상적 개념으로 표현
- 속성들로 기술된 개체 타입과 개체 타입들 간 관계를 이용하여 표현
- 정보 모델이라고도 함
- 대표적으로 E-R 모델 - 논리적 데이터 모델
- 개념적 구조를 컴퓨터에 맞게 변환
- 필드로 기술된 데이터 타입과 데이터 타입들 간 관계로 표현
- 단순히 데이터 모델이라고 하면 이를 뜻함
- 특정 DBMS는 특정 논리적 데이터 모델 하나만 사용
- 데이터 간 관계에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분
데이터 모델에 표시할 요소
- 구조(Structure) : 개체 타입간 관계. 데이터 구조 및 정적 성질 표현
- 연산(Operation) : 데이터베이스의 실제 데이터 처리 작업 명세 및 조작 기본 도구
- 제약 조건(Constraint) : 실제 데이터의 논리적 제약조건
데이터 모델의 구성 요소
개체(Entity)
- 데이터베이스에 표현하려는 개념 및 정보 단위
- 독립적 유형, 무형의 정보. 서로 연관된 몇 개의 속성으로 구성
- 파일 시스템의 레코드에 대응, 정보 제공 역할
- 독립적으로 존재
속성(Attribute)
- 데이터의 가장 작은 논리적 단위. 데이터 항목이나 필드에 해당
- 개체를 구성
- 다음 표에서
속성 : 학번, 이름, 전공, 대학
개체 타입 (레코드 타입) : 속성으로만 기술된 개체
개체 인스턴스 : 각 속성들이 가진 하나의 개체
개체 세트 : 개체 인스턴스 집합
학번 | 이름 | 전공 | 대학 |
21001 | 김00 | 컴퓨터 | 서울대 |
21002 | 박00 | 정보통신 | 연세대 |
21003 | 최00 | 하드웨어 | 고려대 |
관계(Relationship)
- 관계의 형태
- 일대일(1:1) : 개체 집합 A의 각 원소가 개체 집합 B의 원소 한개와 각각 대응
- 일대다(1:n) : 개체 집합 A의 각 원소가 개체 집합 B의 원소 여러 개와 대응. B의 원소는 A하나와 대응
- 다대다(n:m) : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러개와 대응. B의 원소도 A 여럿과 대응
개체 - 관계 모델
개체-관계 (Entity-Relationship) 모델의 개요
- 개념적 데이터 모델의 대표
- 개체간 관계가 기본요소. 개체 타입과 이들간 관계 타입으로 표현
- 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)로 묘사
- 특정 DBMS를 고려X
- 일대일, 일대다, 다대다 등 관계 유형을 제한없이 표현
E-R 다이어그램
+ 복수타원 : 복합속성
예제 :
확장된 E-R 모델
- 개체를 구성하는 속성은 선을 연결하여 작은 원으로 표시
- 단일 식별자(기본키)는 작은 원을 검게 칠함
- 복합 식별자는 관련 속성을 선으로 묶어 끝에 검은 원을 그림
- 관계와 개체 연결선에 (최소 대응수, 최대 대응수) (1:1, 1:n 등)표시
관계형 데이터 모델
관계형 데이터 모델(Relational Data Model)의 개념
- 가장 널리 사용. 계층 모델과 망 모델의 구조를 단순화
- 표를 이용하여 상호 관계 정의
- 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 관계 표현
- 대표적으로 SQL
- 1:1, 1:N, N:M 관계 표현가능
관계형 데이터 모델의 구성
- 고객과 주문서는 개체 테이블, 주문은 관계로 만든 테이블
- 기본키 : <고객>의 고객번호, <주문서>의 주문번호
외래키 : <주문>의 고객번호, 주문번호
E-R 모델을 관계 모델의 테이블로 변환
개체 A, B와 관계 Y인 E-R 모델을 관계 테이블로 변환
- 개체는 독립 테이블로 표현
- 관계 Y가 1:1 관계이면 개체 A의 기본키를 개체 B의 외래키로 혹은 개체 B의 기본키를 개체 A의 외래키로 추가
- Y가 1:N 이면 개체 A의 기본키를 개체 B의 외래키로 추가 하거나 별도 테이블로 표현
- Y가 N:N 이면 개체 A와 B의 기본키를 모두 포함한 별도 테이블로 표현
- 기본키는 밑줄
- 두 개체관 대응관계는 최대 대응수로 표현하므로 사람과 도시의 거주지 관계는 N:N, 출생지 관계 1:N
- 관계 데이터 모델 표현 시 N:N 관계는 별도의 테이블로 모델링
관계형 데이터 모델의 특징
- 장점 : 간결하고, 다른 데이터베이스로 변환 용이
- 단점 : 성능 다소 낮음
계층형 데이터 모델
트리구조로 데이터 상호관계를 정의
계층형 데이터 모델(Hierarchical Data Model)의 구성형태
- 구조가 트리형태, 개체가 트리의 노드 역할
- 개체를 노드로, 개체 집합간 관계를 링크로 연결
- 개체 간 관계를 부모 자식 관계로 표현
- 계층형 DB의 관계 유형
- 속성 관계(Attribute Relation) : 세그먼트(개체)를 구성하는 속성들의 관계
- 개체 관계(Entity Relation) : 개체와 개체 간의 관계를 링크로 표시
계층형 데이터 모델의 특징
- 개체 타입관 상하 관계 존재, 일대다(1:N) 대응 관계만 존재
- 일대다 관계만 있으므로 링크의 이름 없음
- 루트 개체 타입과 종속되는 개체 타입으로 구성된 순서 트리
- 개체 삭제 시 연쇄 삭제(자손도 함께 삭제)
- 개체 타입 간 사이클 없음
- 두 개체 간 하나의 관계
- 개체(Entity)를 세그먼트(Segment)라 부름
- IMS가 대표적
계층형 데이터 모델의 장단점
장점
- 구조 간단, 판독 용이
- 구현, 수정, 검색 용이
- 데이터 독립성 보장
- 망 데이터 모델 및 관계 데이터 모델도 실제 구현 시 계층적 구조 이용
단점
- 유연성 부족
- 검색 경로 한정
- 삽입 및 삭제가 복잡
- 다대다 관계 처리 어려움
망(네트워크)형 데이터 모델
망형 데이터 모델(Network Data Model)의 개요
- CODASYL 이 제안
- 그래프 이용
- 상위(Owner)와 하위 (Member) 레코드 사이 다대다(N:M) 대응 관계를 만족
- 레코드 타입간 관계는 1:1, 1:N, N:M 가능
- 대표적 DBMS : DBTG, EDBS, TOTAL
망형 데이터 모델의 표현
- Entity군 : 동종의 Entity 그룹
- Entity SET : 주종 관계에 있는 Entity 군들의 그룹
- SET Membership Type : 일대다 관계에 연관된 레코드 타입
- 오너(Owner) : 부모 개념
- 멤버(Member) : 자식 개념
망형 데이터 모델의 특징
- 레코드 타입과 링크의 집합으로 구성
- 레코드 타입의 집합이 존재
- 레코드 타입을 연결하는 링크 집합 존재
- 상위 하나에 하위 레코드가 복수대응, 하위 하나에 상위도 복수대응
- 링크의 관계성 제한없음
- 자기 자신으로의 링크 없음
- 모든 링크는 한 방향으로는 함수적
- 세트 이름은 링크로 표현
- 오너와 멤버 레코드 타입은 동일 형태가 아님
데이터베이스 설계
데이터베이스 설계 시 고려사항
- 무결성 : 연산 후 데이터가 제약 조건을 만족
- 일관성 : 데이터 사이나, 특정 질의에 대한 응답이 일정
- 회복 : 장애 복구
- 보안 : 데이터 노출이나 손실 보호
- 효율성 : 시간단축, 생산성, 최적화 등
- 데이터베이스 확장 : 운영에 영향없이 데이터 추가 가능
요구 조건 분석
- 사용자의 수행 업무와 필요한 데이터 종류, 용도 처리 형태, 흐름, 제약조건 등 수집
- 수집 정보 바탕의 요구 조건 명세 작성
개념적 설계(정보 모델링, 개념화)
: 통신을 위해 현실에 대한 인식을 추상적 개념으로 표현
- 개념 스키마 모델링과 트랜잭션 모델링 병행
- 요구 조건 명세(요구 분석 결과)를 DBMS에 독립적 E-R 다이어그램(개체 관계도)로 작성
- DBMS에 독립적 개념 스키마 설계
논리적 설계(데이터 모델링)
- 현실 자료를 특정 DBMS가 지원하는 논리적 구조로 변환
- 데이터 타입 간 관계로 표현된 논리적 구조의 데이터로 모델화
- 개념 스키마 평가 및 정재, DBMS에 따른 논리적 스키마 설계
- 트랜잭션 인터페이스 설계
- 관계형 데이터베이스의 테이블 설계
물리적 설계(데이터 구조화)
- 논리적 구조를 물리적 구조로 변환
- DB 파일의 저장 구조 및 액세스 경로 결정
- 데이터가 저장되는 방법 묘사
- 레코드 양식설계, 레코드 집중(군집)의 분석 및 설계, 접근 경로 설계 포함
- 기본 데이터 단위가 저장 레코드
- 여러 타입의 저장 레코드 집합
- 성능에 중대한 영향
물리적 설계 시 고려 사항
- 인덱스 구조
- 레코드 크기
- 레코드 개수
- 트랜잭션의 갱신과 참조 성향
- 개념 스키마의 변경 여부
- 질의(쿼리)와 트랜잭션의 수행속도
- 운용시 파일 크기 변화
물리적 설계 옵션 선택 시 고려 사항
- 데이터베이스 파일에 대한 저장구조와 접근 경로에 대한 다양한 옵션
- 반응시간(Response Time) : 트랜잭션 요구 시점에서 결과까지 경과 시간
- 공간 활용도(Space Utilization) : 파일과 경로 구조에 의해 사용되는 저장공간
- 트랜잭션 처리량(Transaction Throughput) : 단위시간 동안 처리 가능한 트랜잭션의 평균 수
데이터베이스 구현
- 논리적, 물리적 단계로 도출된 스키마를 파일로 생성
- DBMS의 DDL로 스키마를 기술 후 컴파일하여 DB 파일 생성
- DB 파일에 데이터 입력
- 응용 프로그램을 위한 트랜잭션 작성
- DB 접근을 위한 응용 프로그램 작성
데이터베이스 설계 순서
- 요구 분석 : 요구조건 명세서 작성
- 개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R모델
- 논리적 설계 : DBMS에 맞는 논리 스키마, 트랜잭션 인터페이스 설계
- 물리적 설계 : 물리적 구조로 변환
- 구현 : DBMS의 DDL로 DB 생성 후 트랜잭션 작성
728x90
반응형
'자격증 > IT' 카테고리의 다른 글
정보처리산업기사(필기) - 전자계산기 구조 : 프로세서 1 (중앙처리장치) (0) | 2021.04.01 |
---|---|
정보처리산업기사(필기) 정리 - 데이터베이스 : 자료 구조의 기본 (0) | 2021.03.31 |
정보처리산업기사(필기) - 데이터베이스 : 관계 데이터베이스 모델과 언어 2 (0) | 2021.03.23 |
정보처리산업기사(필기) - 데이터베이스 : 관계 데이터베이스 모델과 언어 1 (0) | 2021.03.20 |
정보처리산업기사(필기) - 데이터베이스 : 데이터베이스의 개념 (0) | 2021.03.11 |