1. 계층형 데이터베이스

데이터가 부모와 자식관계를 이루는 트리 구조이며, 부모 레코드가 여러 자식 레코드를 가지는 1:多 관계

특징
1) 데이터 중복이 발생하기 쉬움
2) 상하 종속 관계로 이루어짐
3) 추후 프로세스 변경이 어려움

위와 같은 이유로 현재는 거의 사용되지 않는다.

2. 네트워크형 데이터베이스

데이터를 노트로 표현한 모델로 1:多 or 多:多 관계
노드는 네트워크상에 있으며 서로 대등한 관계이며, 주인노드(onwer node)와 멤버노드(member node)로 구성되어 있다.

특징
1) 계층형 데이터베이스의 중복 문제와 상하 종속 관계를 해결
2) 데이터 종속성 문제가 생기기 쉬워 데이터베이스 구조 변경이 어려움

데이터 종속성이란?
데이터 구조가 프로그램 구조에 영향을 미치는 것.
즉, 데이터 구조를 변경하는 경우 프로그램도 같이 변경해야 하므로 비용 문제 및 유지보수에 어려움이 있다.

3. 키-값 데이터베이스 (No SQL)

키-값 데이터베이스는 No SQL의 한 종류로 키-값을 1:1 대응해 데이터를 저장한다.
데이터 중복이 발생하며 비정형 데이터 저장에 유리하다.

특징
1) 스키마 없이 작동 가능하다.
2) 데이터 구조를 미리 정의할 필요가 없다.
3) 시간이 지나도 언제든지 변경 할 수 있다.
4) 비정형 데이터 를 쉽게 저장할 수 있으며, 다양한 형태 표현이 가능하다.

비정형 데이터란?
비정형 데이터란 쉽게 말해 형식이 없는 데이터이다.
정형 데이터는 정해진 규칙에 맞게 데이터를 저장하며, 비정형 데이터는 텍스트, 음성, 영상 등 데이터 타입에 상관없이 저장 가능하다.

4. 관계형 데이터베이스

실무에서 가장 많이 사용하는 데이터베이스 종류 중 하나
데이터를 테이블 형태로 저장한다.

특징
1) 데이터를 열과 행으로 구성한 테이블로 정리한다.
2) 각 고유키(primary key)가 행을 식별한다.
3) 열 속성에 따라 데이터 유형이 정해진다.
4) 데이터의 중복과 관리 효율성을 추구한다.
5) 정규화 과정이 필수적이다.

정규화란?
목적에 맞게 테이블을 분리하고 중복 데이터를 제거하는 과정

ERD로 이해하는 테이블 관계

ERD는 논리모델과 물리모델로 구분할 수 있다.

  1. 논리모델
    데이터 모델의 첫 단계로 고객의 요구 사항을 수집, 분석해 데이터베이스 전체 모양을 구성

  2. 물리모델
    논리모델을 바탕으로 실제 데이터를 저장할 수 있는 모델을 표현한 것

해당 그림에서 users와 orders의 관계를 살펴보면, orders 테이블이 uses 테이블을 참조하는 형태이다.
orders 테이블의 user_id는 users 테이블의 id를 참조하고 있는 것이다.

profile
초보 개발자 성장 기록

0개의 댓글

Powered by GraphCDN, the GraphQL CDN