데이터 모델링과 설계

2015. 8. 11. 02:59프로그래밍/Database

728x90
728x90

데이터 모델의 개념

데이터 모델의 정의

현실 세계의 정보를 컴퓨터에서 표현하기 위해 단순화 추상화하여 체계적으로 표현한 개념적 모형.

추상 데이터 타입이랑 비슷한 개념인듯?


데이터 모델의 종류

개념적 데이터 모델 - 정보 모델링

현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정.

속성들로 기술된 개체 타입, 개체들 간의 관계를 이용한 현실 세계 표현.

대표적인 개념적 데이터 모델 = E-R 모델.

 

논리적 데이터 모델 - 데이터 모델링

개념적 모델링에서 얻은 구조를 컴퓨터가 이해하고 처리할 수 있게 변환하는 과정.

필드로 기술된 데이터 타입과 이 데이터 타입의 관계를 이용하여 현실 세계를 표현한다.

데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분된다.


데이터 모델에 표시할 요소

구조(Structure), 연산(Operation), 제약 조건(Constraint)


데이터 모델의 구성 요소

개체(Entity)

데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.

실세계의 독립적으로 존재하는 유혀으 무형의 정보, 서로 연관된 몇 개의 속성으로 구성된다.


속성(Attribute)

데이터의 가장 작은 논리적 단위로 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.

속성은 개체를 구성하는 항목!


관계(Relationship)

개체 간의 관계 또는 속성 간의 관계이다.


개체 - 관계 모델

비주얼 패러다임에선 이런 느낌으로

데이터베이스 설계

고려사항

무결성, 일관성, 회복, 보안, 효율성, 확장


요구조건 분석

필요한 용도를 파악하는 것.


개념적 설계(정보 모델링, 개념화)

현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

- 개념적 설계 단계에서는 개념 스키마 모델링, 트랜젝션 모델링을 병행 수행한다.

- DBMS에 독립적인 E-R 다이어그램 작성, 개념 스키마 설계


논리적 설계(데이터 모델링)

컴퓨터가 이해하고 처리할 수 있게 변환.

- 필드로 기술된 데이터 타입과 타입 간의 관계를 모델화

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

- 트렌젝션 인터페이스 설계

- 관계형 데이터베이스라면 테이블 설계에 해당.


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

논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정.

- 꼭 포함 : 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계

- 여러 타입의 저장 레코드 집합(파일과는 다름)


물리적 설계 시 고려 사항

인덱스의 구조, 레코드 크기, 파일에 존재하는 레코드 수, 파일에 대한 트랜젝션의 갱신과 참조 성향

성능 향상을 위한 개념 스키마의 변경 여부 검토, 빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려

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


물리적 설계 옵션 선택 시 고려 사항

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

공간 활용도(Space Utilization) - 데이터베이스 파일과 액세스 경로 구조에 의해 사용되는 저장공간의 양

트랜잭션 처리량(Transaction Throughput) - 단위시간 동안 데이터베이스 시스템에 의해 처리될 수 있는 트랜잭션의 평균 수


데이터베이스 구현

목표 DBMS의 DDL로 데이터베이스를 생성, 트랜잭션 작성



728x90
반응형

'프로그래밍 > Database' 카테고리의 다른 글

Index(mysql)  (2) 2015.08.18
데이터베이스 고급 기능  (0) 2015.08.13
저장프로시저(MS-SQL 환경)  (0) 2015.08.12
관계형 데이터베이스 모델과 언어  (0) 2015.08.11
정보 시스템  (0) 2015.08.11
우분투에 mysql, php 설치하기  (0) 2015.08.10
sql  (0) 2015.08.10