데이터베이스 설계 단계
요구조건 분석 단계
- 데이터 및 처리 요구조건을 파악합니다.
개념적 설계 단계
- DBMS 독립적 개념 스키마를 설계합니다.
- 트랜잭션 모델링을 병행합니다.
논리적 설계 단계
- 목표 DBMS에 맞는 논리 스키마를 설계합니다.
- 트랜잭션 인터페이스를 설계합니다.
물리적 설계 단계
- 목표 DBMS에 맞는 물리적 구조를 설계합니다.
- 트랜잭션 세부를 설계합니다.
구현 단계
- 목표 DBMS DDL로 스키마를 작성합니다.
- 트랜잭션(응용 프로그램)을 작성합니다.
인덱스
- 기본키의 경우 자동으로 인덱스가 생성되며 인덱스 구축 시 두 개 이상의 칼럼을 결합하여 인덱스를 생성할 수 있습니다.
- SQL 명령문의 검색 결과는 인덱스 사용 여부와 관계없이 동일하며 인덱스는 검색 속도에 영향을 미칩니다.
- 인덱스는 검색에 자주 사용되거나 조인에 자주 사용되며, 자주 변경되지 않는 칼럼에 생성하는 것이 전체적인 성능 향상에 도움이 됩니다.
- 인덱스를 통해 데이터에 접근하면 순차적으로 접근하는 것보다 빠른 검색이 가능합니다.
파일구조
- 데이터를 효율적으로 이용할 수 있도록 파일에 저장하는 방법입니다.
- 히프 파일은 레코드들을 키 순서와 관계없이 저장할 수 있습니다.
순차 파일 구조
- 입력된 레코드들을 논리적인 순서에 따라 물리적 연속 공간에 순차적으로 기록하는 방식입니다.
- 일괄 처리에 적합하며 순차 접근이 가능한 자기 테이프에서 주로 사용됩니다.
- 기록 밀도가 높아서 기억 공간을 효율적으로 사용할 수 있으며, 매체 변환이 쉬워서 어 떠한 매체에도 적용할 수 있다.
- 새로운 레코드를 변경하는 경우 파일 전체를 복사해야 하므로 시간이 많이 소요된다. -
- 일부 레코드들이 키 순서와 다르게 저장된 경우, 파일 재구성 과정을 통해 키 순서대로 저장될 수 있습니다.
색인 순차 접근 방식(ISAM)
- 색인 순차 접근 방식으로 인덱스 영역, 데이터 영역, 오버플로 영역으로 구성됩니다.
- 순차 처리와 랜덤 처리가 모두 가능 하도록 레코드들을 키 값 순으로 정렬하여 기록하고, 레코드의 키 항목만을 모은 색인을 구성하여 편성하는 방식입니다.
- 레코드 삽입, 삭제 시 인덱스 구조는 변경되지 않고 내용만 변경됩니다.
- 레코드 파일에서 새로 삽입할 저장 공간이 없을 경우 오버플로 공간을 사용합니다.
- 인덱스 영역은 트랙, 실린더, 마스터 영역으로 구성됩니다.
- 오버플로 영역이 꽉 차거나 혹은 파일의 성능이 저하되면 주기적으로 재조직을 해주어야 합니다.
가상 기억 접근 방식(VSAM)
- 동적 인덱스 방법을 이용한 색인 순차 파일입니다.
- B+ 트리 인덱스 구조를 사용합니다.
- 기본 데이터 영역과 오버플로우 영역을 구분하지 않습니다.
- 레코드를 삭제하면 그 공간을 재사용할 수 있습니다.
직접 파일 구조(DAM)
- 저장하고자 하는 데이터의 키 값을 저장 공간의 물리적 주소로 변환할 수 있는 어떤 관계를 정의해 두었다가 이를 활용하는 파일 구조입니다.
- 레코드 접근 시간이 빠릅니다.
데이터베이스 종류
계층형 데이터베이스
- 트리 구조를 기반으로 하는 계층 데이터 모델을 사용합니다.
네트워크형 데이터베이스
- 레코드들이 노드로, 레코드들 사이의 관계가 간선으로 표현되는 그래프를 기반으로 하는 네트워크 데이터 모델을 사용합니다.
관계형 데이터베이스
- 테이블을 기반으로 하는 데이터 모델입니다.
객체지향형 데이터베이스
- 객체 지향 프로그래밍 패러다임을 기반으로 하는 데이터 모델입니다.
- 데이터와 연산을 일체화한 객체를 기본 구성요소로 사용합니다.
- 데이터와 프로그램을 그룹화하고, 복잡한 객체들을 이해하기 쉽고, 유지와 변경이 용이합니다.
객체관계형 데이터베이스
- 객체지향 개념과 관계형 데이터베이스 개념을 통합한 데이터 모델입니다.
- 관계 데이터 모델에 새로운 데이터 타입과 데이터베이스에 대한 연산을 추가할 수 있는 기능을 제공합니다.
데이터베이스 데이터 모델
개념적 데이터 모델
- 개체 관계도(ERD)
논리적 데이터 모델
- 계층형, 망형, 관계형, 객체지향형, 객체관계형, 네트워크형 데이터 모델
'컴퓨터일반 > 데이터베이스론' 카테고리의 다른 글
뷰(View) (0) | 2022.09.17 |
---|---|
관계 모델링 (0) | 2022.09.16 |
개체 관계 다이어그램(ERD) (0) | 2022.09.15 |
스키마 (0) | 2022.09.14 |
데이터베이스, 데이터베이스관리시스템(DBMS) (0) | 2022.09.14 |