1. 데이터베이스(Database)란?
: 특정 조직의 업무를 수행함에 있어 필요한 상호 관련된 데이터들의 모임이다.
* 데이터(Data): 의미를 가지면서 기록될 수 있는 알려진 사실
(1) 통합 데이터(Integrated Data)
: 중복 최소화로 자료의 중복을 배제한 데이터의 모임
(2) 저장 데이터(Stored Data)
: 컴퓨터 저장 매체에 저장된 데이터
(3) 운영 데이터(Operational Data)
: 조직의 고유 업무를 수행함에 있어 필수적인 데이터
(4) 공용 데이터(Shared Data)
: 여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터
2. 특징
(1) 실시간 접근성
: 사용자의 수시적이고 비정형적인 질의에 대해 실시간으로 결과를 응답할 수 있어야 한다.
(2) 계속적인 변화
: 새로운 데이터의 추가 및 삭제, 갱신으로 항상 최신 데이터를 유지해야 한다.
(3) 동시 공유
: 서로 다른 목적을 가진 여러 사용자들에게 동시에 공유될 수 있어야 한다.
(4) 내용에 의한 참조
: 데이터베이스 내에 있는 데이터를 참조할 때 사용자가 요구하는 내용의 데이터를 찾는다.
3. 데이터베이스 관리 시스템(DBMS)
(1) 정의
: 데이터베이스를 정의, 생성, 조작, 공유 등을 할 수 있도록 해주는 데이터베이스 전용 관리 시스템
(2) 기능
① 데이터 조작
: 특정 데이터를 검색하기 위한 질의, 데이터베이스의 갱신, 데이터로부터 리포트를 생성하는 기능 등을 포함
② 데이터 공유
: 여러 사용자와 프로그램이 동시에 접근하도록 하는 기능
③ 데이터 정의
: 데이터의 구조를 정의하고 데이터 구조에 대해 삭제 및 변경하는 기능을 수행
* 메타데이터: 데이터베이스의 정의 또는 데이터베이스를 설명하는 정보(카탈로그나 사전의 형태로 저장)
④ 데이터 추출
: 사용자가 조회하는 데이터나 응용 프로그램의 데이터를 추출
⑤ 데이터 제어
: 데이터베이스 사용자를 생성하고 모니터링하며 접근 제어 백업과 회복, 동시성 제어 등의 기능을 지원
(3) 장점
① 데이터의 독립화
: 데이터와 응용 프로그램을 분리시켜 상호 영향의 정도를 감소시킬 수 있다.
② 데이터의 중복 최소화, 무결성 보장
: 중복된 데이터를 최소화시키면 데이터의 무결성이 손상될 가능성이 줄어들고, 필요한 저장공간의 낭비를
줄일 수 있다.
③ 데이터의 보안 향상
: 응용 프로그램은 DBMS를 통해 DBMS가 허용하는 데이터로만 접근할 수 있고, 권한에 맞게 데이터의 접근을
제한하거나 데이터를 암호화시켜 저장할 수 있다.
④ 관리의 편의성 향상
: 여러 방법으로 데이터를 백업할 수 있고, 장애가 발생했을 때 데이터를 복구할 수 있다.
(4) 단점
① 데이터베이스 전문가가 부족하다.
② 대용량 디스크로의 집중된접근에 의해 과부하 발생 가능성이 있다.
③ 시스템이 복잡하다.
(5) 유형
① 계층형 데이터베이스
: 트리 형태의 계층적 구조를 가진 데이터베이스로 최상위 계층의 데이터부터 검색하는 구조
② 네트워크형 데이터베이스
: 하위 데이터들끼리의 관계까지 정의할 수 있는 구조(설계 및 구현이 복잡하고 어려움)
③ 관계형 데이터베이스
: 모든 데이터를 2차원 테이블 형태로 표현하고 테이블 사이의 비즈니스적 관계를 도출하는 구조(데이터의
중복을 최소화할 수 있고, 업무 변화에 대한 적응력이 우수함)
ⓐ 튜플(Tuple): 각 행들의 데이터값의 모음(= 행(Row))
- ex) 101, 김콜라, 여, □□시 ○○동 등
ⓑ 컬럼(Column): 데이터가 갖는 속성값(= Attribute)
- ex) 직번, 사원명, 성별, 주소 등
ⓒ 도메인(Domain): 한 Attribute가 가질 수 있는 같은 타입의 원자들의 집합
ⓓ 기본키(Primary Key, 주 키): 튜플을 식별하기 위해 반드시 필요한 키이며, 중복값이나 null값을 가질 수 없다.
ⓔ 외래키(Foreign Key): 다른 릴레이션의 기본키 필드를 참조하는 데이터의 참조 무결성을 확인하기 위해
사용되는 키