1) 계층형 데이터베이스 : 데이터의 관계를 트리 구조로 정의하고, 부모와 자식 형태를 갖는 구조이다. 즉 상위의 레코드가 복수의 하위 레코드를 갖는 구조라고 할 수 있다.

 

 1-1) 데이터 간에 1:N 관계를 유지한다.

 1-2) 데이터가 트리 형태로 저장 되는 모델을 사용한다.

 1-3) 가장 오래됨

 1-4) 각 계층이 물리적 포인터로 연결 돼 있으며, 종속적 관계를 지닌다.

 

장점)

1/ 부모, 자식 노드 사이에 항상 연결 될 수 있기 때문에 1:N 관계를 갖는 대용량 데이터베이스 처리에 매우 강력하다.

2/ 데이터베이스 무결성 조건에 대해 좋은 성능의 관리가 가능하다.

 

단점)

1/ 한 번 구축하면 구조를 변경하기 어렵다.

2/ 트리 구조 내에서는 순환이 불가능하다.

3/ 데이터 저장의 물리적 구조에 대한 이해도가 높아야 한다.

4/ 계층형 구조 상의 한계로 1:N 기준에 맞지 않는 일반적 관계를 구현하기 어렵다.

 

 

2) 네트워크형 데이터베이스 : 계층형 데이터베이스에서 나타나는 중복 문제를 해결 해결 했고, 레코드 간의 관계가 그물처럼 되어 있는 구조이다. 하지만 이러한 복잡한 구조 때문에 추후에 구조를 변경 할 경우 많은 어려움이 따른다.

 

 2-1) 데이터 간에 N:N 관계를 유지한다.

 2-2) 망 형태로 구성된 모델을 사용하며 계층형 트리를 확장한 형태다.

 2-3) 레코드 간의 관계가 링크로 표현 되는 점은 계층적 모델과 유사하나, 구조는 순환을 허용한다.

 

장점)

1/ 계층 구조에 링크를 추가하여 유연성과 접근성이 우수하다.

2/ 데이터 추출이 빠르고 효과적이다.

 

단점)

1/ 유지 및 보수 비용이 많이 든다.

2/ 프로그램 작성 시 프로그램의 구조를 이해해야만 작성이 가능하다.

3/ 데이터베이스 구조 변경 시에 이를 참조 했던 모든 응용 프로그램에 대한 수정이 필요하다.

 

 

3) 관계형 데이터베이스 : 우리가 흔히 표현하는 행(Column), (Record)로 구성된 테이블 간의 관계를 나타낼 때 사용한다. 이렇게 표현된 데이터를 SQL(Structured Query Language)을 사용하여 데이터를 관리 및 접근 한다.

 

 3-1) 데이터 간 1:1 관계를 유지한다.

 3-2) 데이터가 2차원 구조의 테이블로 구성된 관계형 모델을 사용한다.

 3-3) 한 테이블은 다수의 열로 구성된다.

 3-4) 각 열은 레코드 단위로 구성된다.

 3-5) 데이터 간의 연결은 키의 중복으로 생성된다.

 3-6) 현재 판매 되는 대부분의 DBMS

 

장점)

1/ 다양한 용도로 사용이 가능하고, 범용적이며 고성능이다.

2/ 데이터의 일관성을 보증한다.

3/ 정규화에 따른 갱신 비용 최소화

4/ 다른 DB로의 변환이 용이하고, 간결하며 판독이 용이하다.

5/ 네트워크, 계층형에서 발견되지 않는 구조적 독립성을 가진다.

 

단점)

1/ 대량의 데이터 입력 처리

2/ 갱신이 발생한 테이블의 인덱스 생성 및 스키마 변경

3/ 컬럼 확장의 어려움

4/ 단순히 빠른 결과

5/ 데이터 종속성, 구조적 종속성 및 강력한 질의 처리의 장점을 해결하기 위해 실제적인 하드웨어와 운영체제 등의 오버헤드가 필요시 된다.

 

 

4) NoSQL데이터베이스(Not-Only SQL) : 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 사용한다. (key)와 값(Value) 형태로 저장 되고, 키를 사용해 데이터를 관리 및 접근 한다.

 

장점)

1/ 대용량 데이터

2/ 데이터 분산 처리

3/ 클라우드 컴퓨팅

4/ 빠른 읽기 및 쓰기

5/ 유연한 데이터 모델링

 

종류)

1/ key – value Model : 휘발성 / 영속성

2/ Big Table(Column ) DB

 

5) 객체 지향 데이터베이스 : 정보 은닉, 상속성, 다형성 등을 포함 하며, 데이터베이스로서 오브젝트 식별자와 오브젝트 관계와 같은 추가적 특징을 지닌다.

 

+ Recent posts