SKN/02. DB

01. DB 개요

claovy☘️ 2025. 2. 18. 09:47

01. Data와 정보

0.  Database 개요

data (관찰의 결과) 
information (의미가 부여된 것)
Database (조직에 필요한 정보를 여러 시스템에서 공유할 수 있도록 구조적으로 통합/저장해 놓은 것

 

1.  Database의 정의

  • 운영 데이터(Operational)  : 조직의 목적을 위해 사용되는 데이터
  • 공용 데이터(Shared) : 공동으로 사용되는 데이터
  • 통합 데이터(Integrated) : 중복을 최소화하여 이상현상 제거
  • 저장 데이터(Stored) : 컴퓨터 저장 장치에 저장된 데이터

2.  Database의 특징

  • 실시간 접근(Real Time Accessibility) : 사용자가 데이터를 요청하면 실시간으로 결과 반환
  • 계속적인 변화(Continuous Change) : 시간에 따라 항상 바뀜
  • 동시 공유(Concurrent Sharing) : DB는 다른업무, 여러 사용자에게 동시 공유
  •  내용에 따른 참조(Reference By Content) : DB에 저장된 데이터는 데이터의 물리적 위치 X,  데이터 값에 따라 참조

02. DBMS

0.  DBMS

데이터베이스에서 데이터를 추출, 조작, 정의, 제어할 수 있도록 하는 DB 전용 관리 프로그램

 

1. DBMS의 기능

주요 기능 내용
데이터 추출 (Retrieval) 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출
데이터 조작 (Manipulation) 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원
데이터 정의 (Definition) 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행
데이터 제어 (Control) 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어 백업과 회복, 동시성 제어 등의 기능을 지원

 

2. DBMS의 사용 이점

  • 데이터 중복 최소화 : 중복된 데이터를 줄임으로써 삭제, 삽입, 갱신 이상 현상을 최소화
  • 쿼리 언어 : SQL과 같은 쿼리 언어를 제공
  • 데이터 무결성 : 데이터 무결성을 보장하기 위한 다양한 제약 조건과 규칙을 설정할 수 있음
  • 데이터 백업 및 복구 : 데이터의 백업과 복구, 시스템 장애나 데이터 손상 시에도 복원이 가능함
  • 표준화 : 표준화된 방법으로 데이터를 관리하므로, 데이터의 구조와 접근 방법이 일관적임

3. DMBS 종류

  SQL Server Oracle MySQL DB2 SQLite
제조사 MS Oracle Oracle IBM 오픈소스
운영체제 window window
unix
rinux
window
unix
rinux
unix 모바일 OS
용도 기업용 대용량 DB 소용량 DB 대용량 DB 모바일전용 DB

 

4. DB 유형

계층형 데이터베이스 
트리 구조를 가지며, 각 노드는 한개 이상의 자식노드 / 한개의 부모 노드를 가진다. (부모-자식 관계)
이러한 특성은 조직 구조나 파일 시스템과 같이 자연스럽게 계층 구조를 가지는 데이터를 표현하는 데 적합하다.

[장점]
1. 직관적이고 이해하기 쉬움
2. 부모-자식 관계에 의한 데이터 접근이 빠름
[단점]
1. 복잡한 관계를 표현하는 것이 어렵다
2. 유연성이 부족하며 구조 변경이 어렵다

 

네트워크형 데이터베이스
그래프 구조를 가지며, 각 노드는 여러 부모 관계를 가진다. (주인-멤버 관계)
이러한 특성은 M:N 관계 데이터를 표현하는 데 적합하다.

[장점]
1. 복잡한 관계 표현이 가능하다
2. 데이터 무결성을 유지하는 데 효과적이다

[단점]
1. 구조가 복잡하며, 이해하기 어렵다
2. 데이터를 검색하고 관리하는 데 높은 수준의 처리 능력이 필요하다

 

관계형 데이터베이스 (Relational DMBS)
테이블 형태(레코드와 필드로 구성)이며, 테이블 간 관계는 공통 필드를 통해 형성된다.
SQL은 RDMS에서 데이터를 조작하고 쿼리하는데 사용되는 언어로, 엄격한 데이터 무결성 원칙과 ACID 트랜잭션 속상을 지원한다.

[장점]
1. 데이터 무결성 유지에 효과적
2. SQL을 통해 복잡한 데이터 조작이 가능하다
3. 데이터의 정규화를 통해 중복성을 최소화한다

[단점]
1. 복잡한 객체 관계를 표현하는 데 한계가 있음
2. 스키마 변경이 어렵고 비용이 많이 든

 

객체-관계형 데이터베이스(Object-Relational DBMS)
관계형 데이터베이스의 기능을 확장하여, 객체 지향 데이터 모델을 지원한다.
이로 인해 ORDBMS는 복잡한 데이터 타입(배열, 딕셔너리 등)과 메소드, 상속 등의 객체 지향 기능을 활용할 수 있다.

[장점]
1. 복잡한 데이터 타입과 객체 지향 프로그래밍 지원
2. RDMBS의 쿼리 기능과 데이터 무결성 유지

[단점]
1. 구현이 복잡하며 관리가 어렵다
2. 일반적인 업무용 애플리케이션에는 RDBMS가 적합할 수도 있다

'SKN > 02. DB' 카테고리의 다른 글

07. DDL(Data Definition Language)  (0) 2025.02.19
06. 정규화  (0) 2025.02.19
05. 이상(Anomaly)  (0) 2025.02.19
03. DB Modeling 개요  (0) 2025.02.19
02. MySQL 개요  (0) 2025.02.18