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 |