본문 바로가기

와사비크래커 IT Tip/DB

[DB] Data Model

728x90
반응형

1     Data Model

1.1    데이터 모델의 정의

-      데이터베이스 내에 존재하는 데이터의 타입을 정의하고 데이터들 사이의 관계를 규정하며 데이터 의미와 데이터에 가해진 제약 조건을 명시하기 위해 사용하는 개념적인 도구이다.

1.2    데이터 모델링 과정

데이터베이스의 설계 단계

1.2.1   요구분석 단계

-      데이터베이스를 적용할 업무와 관련된 사용자들을 대상으로 그들의 요구사항과 요구 조건을 수집 분석하는 단계이다.

-      최종적으로 요구사항 명세서를 얻어내는 단계이다.

1.2.2     개념적 설계 단계

-      요구사항 명세서를 기반으로 데이터베이스에 표현될 데이터, 그들간의 관계, 데이터의 의미, 데이터의 제약조건 등을 추상화하는 단계이다.

-      개념 스키마를 설계하는 단계이다.

1.2.3     논리적 설계 단계

-      개념 스키마를 변형하여 컴퓨터 처리에 적합한 형태의 논리 스키마로 설계하는 단계이다.

1.2.4     물리적 설계 단계

-      데이터베이스의 저장을 위한 내부 저장구조와 접근 경로, 접근 방식 등을 설계하는 단계이다.

-      응답시간, 저장공간의 효율화, 처리능력 등의 요소가 고려되어야 한다.

1.2.5     구현

-      실제적으로 데이터베이스를 구축하는 단계이다.

1.3    설계의 주요 단계

1.3.1   요구사항 수집과 분석

ER 다이어그램

-      요구사항 수집과 분석 단계에서는 요구사항을 수집하고, 의견들을 평가하고 조정한다. 자연어로 기술된 요구사항은 모호함을 제거하기 위해서 재작성한다.

1.3.2      개념적 설계

-      모든 물리적인 사항과 독립적으로, 한 조직체에서 사용되는 정보의 모델을 구축하는 과정이다.

-      이 단계에서는 높은 추상화 수준의 데이터 모델을 기반으로 정형적인 언어로 데이터 구조를 명시한다.

-      엔티티 타입, 관계 타입, 애트리뷰트들을 식별하고, 애트리뷰트들의 도메인을 결정하고, 후보키와 기본키 애트리뷰트들을 결정한다.

-      대표적인 데이터 모델이 ER모델이다.

1.3.2.1      ER모델

-      DBMS와 독립적인 데이터 모델이다. 스키마 정보만 고려하며, 인스턴스(데이터)는 고려하지 않는다.

1.3.3     DBMS 선정

-      여러 가지 요인을 검토한 후 DBMS를 선정한다.

1.3.4     논리적 설계

-      데이터베이스 관리를 위해 선택한 DBMS의 데이터 모델을 사용하여 논리적 스키마(외부 스키마 포함)를 생성한다.

-      논리적 스키마를 나타내기 위해 관계 데이터 모델을 사용하는 경우에는 ER모델로 표현된 개념적 스키마를 관계 데이터베이스 스키마로 사상한다.

1.3.5     정규화 (NF)

-      관계형 데이터베이스의 설계시 데이터 중복을 최소화하고 테이블 조작시 정보 손실이나 불일치가 발생하지 않도록 테이블 내의 속성들 간의 종속성을 분석하여 보다 바람직한 속성들로 이루어진 더 작은 테이블로 분해하는 작업이다.

-      정규화 과정에서는 관계 스키마에 중복과 갱신 이상이 발생하는지 검사한다.

1.3.5.1      정규화의 목적

-      테이블 조작 시의 이상 현상을 해결하기 위해서이다.

-      이상현상의 유형

   1)      삽입 이상: 튜플을 삽입할 때 원하지 않는 데이터까지 삽입되고 그렇지 않으면 삽입되지 않는 현상이 발생한다.

   2)      삭제 이상: 어떤 튜플을 삭제하면 유지해야 할 다른 정보도 함께 삭제되는 현상이다.

   3)      갱신 이상: 특정한 튜플의 속성 값을 갱신하면 정보의 모순이 발생하는 현상이다.

1.3.5.2      정규화의 유형

   1)      제1정규형(1NF): 모든 속성들의 도메인이 원자 값만으로 이루어진 릴레이션이다.

   2)      제2정규형(2NF): 제1정규형의 조건을 만족하면서 부분 함수 종속을 제거한 릴레이션이다.

   3)      제3정규형(3NF): 제2정규형까지의 조건을 만족하고 이행 함수 종속을 제거한 릴레이션이다.

   4)      BCNF(Boyce Code Normal Form)

      s   제3정규형에서 함수적 종속으로 인해 추가적으로 발생할 수 있는 문제점을 보완한다.

      s   강한 3차 정규형이다.

      s   특정 릴레이션의 모든 결정자가 후보 키가 아닌 함수 종속을 제거하여 릴레이션의 결정자가 모두 후보키인 릴레이션이다.

1.3.6     물리적 설계

-      처리 요구사항들을 만족시키기 위해 저장 구조와 인덱스 등을 결정한다.

1.3.7     데이터베이스 구현

-      중요한 설계 결정이 문서화된 완전히 동작하는 데이터베이스이다.

1.3.8     트랜잭션 설계

-      요구사항 수집과 분석 후에 데이터베이스 설계 과정과 별도로 트랜잭션[1] 설계를 진행할 수 있다.

 


[1] 완성될 데이터베이스에서 동작할 응용 프로그램을 말함.

반응형

'와사비크래커 IT Tip > DB' 카테고리의 다른 글

[DB] 관계 대수와 관계 해석  (0) 2020.08.24
[DB] RDBMS  (0) 2020.08.21
[DB] DBMS (Database Management System)  (0) 2020.08.20
[DB] DBS (Database System)  (0) 2020.08.20
mariadb utf8 변경  (0) 2017.11.21