1. 데이터베이스 개요
(1) 데이터
[1] 정보사회와 데이터
- 다양한 영역의 활동에 따른 매우 많은 양의 데이터가 발생함.
- ex) 항공예약 데이터 : 예약자, 출발지, 목적지, 항공사, 탑승시간, 도착시간, 좌석 등
- 이러한 데이터들은 보조기억장치에 저장을 하게 됨. ( 파일 형태로 )
(2) 파일
[1] 파일이란?
- 보조기억장치에 저장되어 있는 데이터의 집합을 의미한다.
- 보관되어 있는 위치와 이름으로 접근하여 사용하게 됨.
[2] 파일 구조
[ 순차적 구조 ]
- 파일에 데이터를 앞에서부터 순서대로 저장 및 조회를 하는 구조를 의미한다. ( 순서대로 읽고 저장 )
- 내가 원하는 데이터를 선택을 해서 찾는 과정에는 적합하지 않는다.
- 하지만, 파일 전체 일괄 처리를 하는 과정에서는 괜찮은 구조이다.
[ 상대적(직접적) 구조 ]
- key 값이 제공이되며, key값을 상대주소로 변환하여 직접가서 찾는 구조를 의미한다. ( 주소는 인덱스 같은 개념 )
- 상대주소 변환을 통해 주소를 바로 알 수 있기에 원하는 데이터를 빠르게 찾을 수 있는 구조를 의미함.
[ 인덱스된 구조 ]
- 인덱스라는 데이터를 쉽게 찾을 수 있는 자료구조를 만드는 것임. ( 다른 파일에 비해 소규모로 빠른 검색이 가능 )
- key 값이 제공이 되며, 인덱스 자료구조를 활용
(3) 파일을 이용한 데이터 관리
- 응용프로그램 단위로 필요한 파일을 소유 및 관리

[1] 문제점
- 데이터가 프로그램에 종속이 되어버림. ( 다른 프로그램에서 쓰지 못하는 느낌 )
- 서로 다른 응용이 부분적으로 같은 데이터를 필요로 하는 경우 데이터의 중복이 발생

- 중복된 데이터로 인해 저장공간의 낭비가 발생함
- 중복된 데이터로 인해 데이터의 모순 발생 가능성이 높음 ( 하나의 파일의 값이 변경되면 다른 파일 값 또한 변경이 되야 함. )
- 즉, 일관성과 신뢰성이 떨어질 수 있음. ( 이러한 문제 때문에 데이터 베이스를 쓰게 됨. )
(4) 데이터베이스
[1] 데이터베이스(database)란?
- 어떤 조직이나 단체를 유지하고 관리하는 데 필수적인 관련 데이터의 집합
- 논리적으로 연관된 하나 이상의 데이터의 집합을 의미함.
- 데이터를 고도로 구조화함으로써 검색, 갱신, 관리를 효율화한 것
- 데이터베이스 관리 시스템(DBMS)을 통해 데이터베이스에 데이터를 저장하거나 저장된 데이터를 활용 및 관리 함.
- 데이터베이스 관리 시스템(DBMS)는 데이터를 관리하기 위한 데이터베이스 관리 소프트웨어를 의미함.
[2] 데이터베이스 시스템
- 데이터베이스 관리 시스템(DBMS)와 데이터베이스 두 가지 요소로 구성이 되어있는 소프트웨어를 의미한다.
- 데이터베이스 관리 시스템(DBMS) : 데이터를 저장하고 조회하는 것을 해주는 역할
- 데이터베이스 : 데이터를 저장할 수 있는 공간을 의미한다.
- 쉽게 말해, DBMS를 통해 데이터베이스에 데이터를 저장 할 수 있고, 필요할 때 DBMS를 통해 데이터를 조회한다.
[ 데이터베이스 관리자(DBA) ]
- 데이터베이스가 안전하고 효율적으로 동작을 할 수 있도록 데이터베이스를 관리하는 역할을 함.
- 수시로 데이터베이스를 모니터링해서 성능 저하 발견시 성능을 높임.
2. 데이터베이스 관리 시스템
(1) 데이터베이스 관리 시스템 개요
[1] 데이터베이스 관리 시스템(DBMS)란?
- 응용프로그램과 데이터 간의 독립성을 유지하고, 다수 사용자에 의한 공용을 지원하는 소프트웨어 패키지를 의미함.
- 다양한 응용에 필요한 여러 유형의 개체에 대한 데이터와 이들 사이의 상관관계에 대한 정보를 관리함.
- 응용프로그램과 데이터베이스의 중재자 역할을 함.
- 사용자나 응용프로그램은 DBMS를 통해서만 데이터베이스에 접근할 수 있도록 되어있음.

[2] 데이터베이스 관리 시스템의 구체적인 역할
- 데이터베이스에 빠른 데이터 저장, 검색, 갱신을 함.
- 데이터의 독립성을 유지시켜줌. ( 데이터의 의미를 독립적으로 봄. )
- 데이터 공유 및 다수 사용자의 동시실행 제어 ( 트랜잭션느낌 , 여럿 사용자 때문에 데이터가 변할 때 )
- 데이터의 빠르고 안전한 저장 및 파손 회복 능력
- 표준 질의언어, 질의처리 기능, 응용프로그램 개발환경 등 제공 ( 데이터 효율적 및 빠르게 처리할 수 있는 인터페이스 )
- 데이터 보안 : 데이터가 타 사용자에게 노출이 되지 않도록 보안을 해주는 것. 암호화 등
(2) 데이터베이스 관리 시스템의 필수 기능
[1] 데이터의 정의
- 다양한 응용 프로그램을 지원하기 위한 데이터베이스 구조를 정의하는 기능 ( 쉽게말해, 스키마를 정의함 )
- 모든 응용프로그램을 위한 데이터의 논리적 구조 정의
- 데이터베이스를 보조기억장치에 저장하기 위한 물리적 구조 정의
- 데이터의 논리적 구조와 물리적 구조 사이의 사상(mapping)을 정의
- 쉽게 말해, 테이블/컬럼/데이터 타입/제약 등 데이터의 구조를 정의 하는 것을 의미함. ( DDL )
[2] 데이터 조작
- 사용자의 요구에 따라 데이터베이스에 체계적으로 접근하고 조작하는 기능을 의미함.
- 검색, 갱신, 삽입, 삭제 등의 연산을 지원하는 데이터 언어를 통해 지시함 ( 쿼리문 )
- 데이터 언어의 요건 : 사용의 용이성, 명확하고 완전함, 효율성
- 쉽게말해, CRUD 데이터 조회/삽입/수정/삭제 DML을 활용해 조작하는 것을 의미함. ( DML )
[3] 데이터 제어
- 공용 목적으로 관리되는 데이터베이스의 내용에 대한 정확성과 안전성을 유지하는 기능
[ 데이터 제어 기능의 요건 ]
- 데이터의 무결성이 유지되도록 제어
- 정당한 사용만 허가하기 위한 권한 검사 및 보안 유지
- 여러 사용자의 동시 접근에 따른 정확성이 유지되도록 병행제어
- 쉽게말해, GRANT 등 권한 부여 및 회수, 트랜잭션 커밋/롤백 등이 될 수 있음. ( DCL and TCL )
(3) 데이터베이스 언어
[1] 데이터베이스 언어란?
- 데이터베이스에 대한 작업을 수행하는 특수 목적의 언어를 의미함.
- SQL(Structured Query Language) : 관계형 데이터베이스 관리 시스템에서 사용되는 데이터베이스 언어이다.
[ 데이터 정의어(DDL) ]
- Data Definition Language
- 데이터베이스의 스키마를 생성, 변경, 삭제할 목적으로 사용하는 언어
스키마 : 데이터베이스 구조와 제약조건에 대한 명세를 의미함.
[ 데이터 조작어(DML) ]
- Data Manipulation Language
- DDL에 의해 정의된 데이터베이스에 대해 데이터의 삽입, 검색, 수정, 삭제 등의 처리를 하기 위한 목적으로 사용하는 언어
3. 데이터베이스 스키마
(1) 데이터베이스 스키마(schema)란?
- 데이터베이스에서 데이터의 구조, 데이터의 표현 방법, 제약조건 등을 정의한 것
- 데이터베이스를 보는 입장에 따라 여러 단계의 스키마가 있음.
- 물리적 저장장치 입장 - 조직 전체의 입장 - 사용자의 입장
(2) 3계층 스키마 구조
- 3계층 스키마는 같은 데이터베이스를 바라보는 관점에 따라 나뉘게 된다.
- 3계층으로 나눈 이유는 각 계층을 서로 독립시켜, 변경이 일어나더라도 다른 계층에 영향을 주지 않게 하기 위함.

- 외부 스키마 : 접근하는 사용자 관점의 데이터 뷰 -> 사용자가 보는 화면, 필요한 정보만 노출
- 개념 스키마 : 설계뙨 논리 구조 -> 어떤 데이블이 있고, 어떻게 연결되는지
- 내부 스키마 : 실제 하드디스크에 저장된 물리적 구현 -> 어디에 저장되어 있고, 어떻게 최적화 되어 있는지
4. 데이터베이스시스템의 장단점
(1) 장점
[1] 데이터 중복의 최소화
- 데이터 일관성 확보 / 저장공간의 절감
[2] 데이터 독립성 보장
- 논리적 데이터 독립성 / 물리적 데이터 독립성
[3] 데이터의 일관성 및 무결성
- 데이터 중복을 최소화하여 일관성을 유지할 수 있음.
- 데이터 갱신시 DBMS의 중앙제어를 통해 유효성 검사
[4] 데이터의 공유
- 다양한 응용의 요구사항을 수렴한 통합적 개념 스키마를 통한 데이터 공유
[5] 데이터베이스의 사용자 인터페이스 표준화
- SQL에 의한 표준 사용자 인터페이스
(2) 단점
[1] 운영비의 증대
- 고가의 DBMS, 더 높은 CPU 성능과 큰 주기억장치가 필요함.
[2] 데이터 처리 방법의 복잡성
- 다양한 응용을 고려한 데이터 구조 설계가 가능한 고급 설계자 및 프로그래머가 필요함.
[3] 백업과 회복의 복잡성
[4] 시스템 취약성
5. 데이터 웨어하우스
(1) 데이터 웨어하우스(data warehouse)란?

- 회사에선 변화의 추이를 관찰하여 기관의 의사결정에 필요한 정보를 도출할 필요가 있음.
- 그렇기 때문에, 필요한 것이 데이터 웨어하우스이다.
- 즉, 데이터 웨어하우스는 의사 결정을 지원하는 데이터의 집합체인 셈이다.
- 기업의 운영 시스템(마케팅, 판매, 회계 등)의 데이터베이스로부터 추출되어 적절한 형태로 변환되어 저장이 된다.
- 데이터 웨어하우스는 분기별, 연도별 현황, 경향 등과 같은 분석적인 보고서를 작성하는데 활용이 됨.
(2) 데이터 웨어하우스의 특성
[1] 주제지향
- 의사 결정에 필요한 특정 주제별로 구성된 데이터를 저장함. ( 고객관리, 재고관리 등 주제별로 나눔 )
[2] 통합
- 다수의 서로 다른 데이터베이스로부터 일관적 형태로 변환되어 통합됨
[3] 시계열
- 일, 월, 분기, 연도 등 정해 놓은 시점별로 변화된 정보를 저장함.
[4] 비휘발성
- 갱신이 이루어지지 않는 읽기 전용 데이터베이스 ( 쌓인 정보를 토대로 추이를 보기 위함 )
- 읽기 전용이기 때문에 기존 데이터는 휘발이 되지 않는다. 즉, 비휘발성이라는 것임.
'방송통신대학교 > ⚙️컴퓨터의 이해' 카테고리의 다른 글
| 컴퓨터의 이해 9강 - 4차 산업혁명과 미래사회 (1) | 2025.04.25 |
|---|---|
| 컴퓨터의 이해 8강 - 정보통신기술과 우리 사회 (0) | 2025.04.25 |
| 컴퓨터의 이해 6강 - 소프트웨어와 정보 시스템 (0) | 2025.04.18 |
| 컴퓨터의 이해 5강 - 보조기억장치와 데이터 저장 (0) | 2025.04.15 |
| 컴퓨터의 이해 4강 - 컴퓨터의 입출력 (0) | 2025.03.07 |