1) 데이터베이스 시스템
데이터란?
DB저장값 = 데이터 - (조회/분석/가공) → 정보 - (해석/축적) → 지식
- 데이터
: 단순히 관찰/측정하여 수집한 정량적/정성적인 값 - 정보
: 데이터에 맥락과 의미를 부여한 것 - 지식
: 정보를 바탕으로 사물/현상에 대한 이해를 형성한 것
데이터 분류
- 구조(형태)
: 정형(ex. excel) / 반정형(ex. JSON) / 비정형(ex. img) - 특성
- 범주형(질적, 종류 나타냄)
: 명목형 / 순서형 데이터 - 수치형(양적, 비교/연산 가능)
: 이산형 / 연속형 데이터
- 범주형(질적, 종류 나타냄)
데이터베이스 개념
: 여러 사용자가 공유-사용할 수 있도록 통합-저장한 운영 데이터의 집합
- 공유 데이터
: 특정 조직의 여러 사용자가 함께 소유, 이용 가능한 공용 데이터 - 통합 데이터
: 최소의 중복 + 통제 가능한 중복만 허용하는 데이터 - 저장 데이터
: 컴퓨터 접근 가능한 매체에 저장된 데이터 - 운영 데이터
: 조직의 주요 기능 수행 위해 지속적으로 필요한 데이터
데이터베이스 시스템
: 각 조직에서 사용하던 데이터를 통합하고 공유할 때 생기는 장점을 이용하는 시스템
데이터베이스 시스템
= DBMS(데이터베이스 관리 시스템) + DB(데이터베이스) + 데이터 모델 (+ 데이터베이스 사용자 + 인터페이스)
- 데이터베이스 사용자: 데이터를 이용하기 위해 접근하는 모든 사람
= 일반 사용자 / SQL 사용자 / 응용 프로그래머 / 데이터베이스 관리자(DBA) - 인터페이스 = 데이터베이스 언어(SQL), 응용 프로그램
2) 데이터베이스 시스템의 발전
정보기술과 데이터베이스 시스템의 발전
- 1단계: 소매상 = 실체 시스템 = 동네 서점
- 2단계: 소기업 = 파일 시스템 = 초기 전산화
- 3단계: 중견기업 = 데이터베이스
- 4단계: 대기업 = 인터넷 통신 = 홈페이지 구축
- 5단계: 종합그룹 = 인터넷 통신 = 인터넷 쇼핑몰 확장
정보 시스템의 발전(데이터 처리 관점)
- 1단계: 파일시스템
- 2단계: 데이터베이스시스템
- 3단계: 웹 데이터베이스 시스템
- 4단계: 분산 데이터베이스 시스템
3) 파일시스템과 DBMS
비교
| 구분 | 파일시스템 | DBMS |
| 데이터 정의 | 응용 프로그램 | DBMS |
| 데이터 저장 | 파일 시스템 | 데이터베이스 |
| 데이터 접근 방법 | 응용 프로그램이 파일에 직접 접근 | 응용 프로그램이 DBMS에 파일 접근 요청 |
| 사용 언어 | 자바, C++, C 등 | 자바, C++, C 등과 SQL |
| CPU/주기억장치 사용 | 적음 | 많음 |
DB(데이터베이스)
: 실제 데이터가 저장되는 물리적 저장소
DBMS
: 데이터베이스를 관리하고 운영하는 제어센터
- 기능
- 데이터 정의
- 데이터 조작
- 데이터 추출
- 데이터 제어
- 장점
- 데이터 중복 통제 가능
- 데이터 독립성 확보
- 데이터 동시 공유
- 데이터 보안 향상
- 데이터의 무결성 유지
- 표준화 가능
- 장애 발생시 회복 가능
- 응용 프로그램 개발 비용 감소
- 단점
- 도입비용 많이 듬
- 백업, 장애 회복 방법 복잡
- 중앙 집중 관리로 인한 취약점 존재
- 대규모 사용자의 동시 접속 / 복잡한 쿼리 처리시 성능 저하 발생
- 설계, 운영, 최적화, 튜닝에 전문지식 요구 및 효율적 관리 위해 숙련된 DBA 필요
- 발전 과정
- 1세대: 네트워크 DBMS(그래프 형태), 계층 DBMS(트리 형태)
- 2세대: 관계 DBMS
- 3세대: 객체지향 DBMS, 객체관계 DBMS(객체지향 + 관계)
- 4세대: NoSQL, NewSQL DBMS
- NoSQL DBMS: 비정형 데이터를 처리하는데 적합, 확장성 뛰어남
- NewSQL DBMS: 관계 DBMS의 장점, NoSQL의 확장성 및 유연성
4) 데이터베이스 시스템의 구성
SQL
: 사용자와 데이터베이스 관리 시스템 간의 통신 수단
- 구성
- 데이터 정의어(DDL) - 구조 정의
- 데이터 조작어(DML) - 검색,삽입,삭제,수정
- 데이터 제어어(DCL) - 규칙, 권한 관리
데이터 모델
: 현실 세계 데이터를 DB 구조로 변환하는 논리적 가이드 라인
- 관계 표현 방법 따라 모델이 달라진다.
- 포인터
: 계층 데이터 / 네트워크 데이터 모델 - 속성값
: 관계 데이터 모델 (가장 많이 사용됨) - 객체 식별자
: 객체 데이터 모델
- 포인터
데이터베이스 구조
- 3단계 데이터베이스 구조
: 외부 / 개념 / 내부 단계- 외부 스키마
: 개별 사용자 관점 / 여러 개의 외부 스키마 o - 개념 스키마
: 조직 전체의 관점 / 통합 조직별로 하나만 존재, DBA가 관리 - 내부 스키마
: 저장 장치의 관점 / 하나의 데이터베이스에 하나만 존재
- 외부 스키마
- DBMS는 매핑(사상)을 통해 각 단계의 대응 관계를 정의한다.
- 외부/개념 사상 (= 응용 인터페이스)
: 외부 - 개념 스키마의 대응 관계 - 개념/내부 사상 (= 저장 인터페이스)
: 개념 - 내부 스키마의 대응 관계
- 외부/개념 사상 (= 응용 인터페이스)
- 스키마와 인스턴스
- 스키마(schema)
: 데이터베이스에 저장되는 데이터 구조와 제약조건 정의 - 인스턴스(instance)
: 스키마에 따라 데이터베이스에 실제로 저장된 값
- 스키마(schema)
- 데이터 독립성
: 하위 단계의 내용 추상화 ➔ 상위 단계에 숨김 ➔ 다른 단계와 상호 간섭 없도록 한다.
= 하위 스키마를 변경하더라도 상위 스키마가 영향 받지 않도록 한다.
- 논리적 데이터 독립성(외부 - 개념 사이)
: 개념 스키마 변경되어도 외부 스키마에 영향 X - 물리적 데이터 독립성(개념 - 내부 사이)
: 내부 스키마 변경되어도 개념 스키마에 영향 X
- 논리적 데이터 독립성(외부 - 개념 사이)
+ 관련 노션 링크
[목차여기]
'[CODE] > Database' 카테고리의 다른 글
| [DB] 4. SQL 고급(2) - 뷰, 인덱스 (0) | 2026.04.09 |
|---|---|
| [DB] 4. SQL 고급(1) - 내장함수, NULL, 비교문, 부속질의 (0) | 2026.04.03 |
| [DB] 3. SQL 기초(2) - 부속질의, 데이터 정의어, 데이터 조작어 (0) | 2026.03.26 |
| [DB] 3. SQL 기초(1) - SQL 개요, 데이터 조작어 (0) | 2026.03.26 |
| [DB] 2. 관계 데이터 모델 - 무결성 제약조건, 관계대수 (0) | 2026.03.25 |