정형화되고 기록할 만한 가치가 있다고 판단
되는 어떤 현상이나 사건, 아이디어에 대한 묘사를 의미한다.저장된 데이터의 모임
을 뜻한다.매우 가치있는 데이터들의 집합
이며, 많은 사람들과 애플리케이션이 가끔씩 같은 시간에 접속
할 수 있어야 한다.영구적으로 보존
되어야 한다. 따라서 하드디스크, SSD 등 비휘발성 저장장치
에 저장한다.개인용 컴퓨터나 휴대용 기기에 내장
되어 있기도 하다.데이터베이스를 DB라고 하며, 이러한 데이터베이스를 관리하는 프로그램
을 DBMS라 한다. DBMS를 사용하는 목적은 생산성 향상
과 기능성
, 신뢰성
확보를 하기 위함이다.
DBMS 이전에는 파일 기반으로 데이터를 저장했다. 디스크 안에 직접 프로그램, 데이터, 문서 등을 저장했으며, 초기에는 데이터베이스 애플리케이션이 직접 파일 시스템 위에 있었다.
많은 사람들이 접근할 때의 처리를 하기 까다롭다. DBMS를 사용하면 즉각적으로 처리가 되는데, 파일 시스템은 일일히 값을 변경
해줘야 한다. 이는 데이터 수정에 대한 일관성을 유지하기 힘든 것과도 연결된다. A 파일과 B 파일에 모두 존재하는 데이터의 상태가 서로 달라지기 쉽기 때문이다.
다양한 파일, 접근 경로
등으로 인해 보안에 취약하다.
중복된 데이터 또는 잘못된 데이터가 입력되더라도 사람이 직접 검사하지 않는 한 이를 막을 수 없다.
데이터 중복이 최소화된다. DBMS는 데이터 중복을 허용하지 않기 때문이다.
데이터를 공유한다. 애플리케이션들은 하나의 데이터베이스에서 데이터를 가져오면 된다.
무결성을 유지할 수 있다. 예시로 특정 테이블이 다른 테이블을 참조하고 있을 때, 이 참조된 값은 참조된 테이블에 반드시 저장되어 있음을 보장한다.
보안을 보장한다. 데이터베이스에 접근할 때 관리자 이름과 비밀번호 등을 등록할 수 있다.
생산성이 향상된다. DBMS는 데이터 검색, 추가, 삭제, 갱신과 같은 기본적인 기능을 제공한다.
기능성이 높다. 복수 유저의 요청에 대응하거나 대용량의 데이터를 저장 및 고속 검색할 수 있는 기능을 제공하며, DB 관리 기능을 유저가 확장할 수 있어 유연하게 시스템을 개발할 수 있다.
신뢰성이 높다. 대규모 데이터베이스는 많은 요청에 대응할 수 있도록 만들어져 있기에, 하드웨어를 여러 대로 구성
하여 신뢰성을 높이며 성능 향상을 꾀한다. 이를 위해 확장성 (Scalability)과 부하 분산 (Load balancing)을 구현하며, 데이터베이스의 데이터를 다른 저장장치로 내보내거나 데이터베이스 안에 데이터를 집어넣는 등의 기능을 갖췄다. 이를 통해 데이터베이스를 간단하게 백업
할 수 있다.
DBMS의 단점보다 장점이 더 많고 크기 때문에, DBMS를 사용하는 것이 좋다.
데이터를 조작
할 때 사용된다.데이터를 새롭게 정의
할 때 사용된다.객체들을 사용
하도록 권한을 주고 회수하는 데 사용된다.트랜잭션에 따라 제어
하는 명령어이다.데이터베이스의 추상화 레벨 영역은 view level
, logical level
, physical level
로 나눌 수 있다. 각 레벨 간 서로 영향을 끼치지 않도록 하며, 일반적으로 각 레벨에 있는 인터페이스와 구성 요소들은 그 영역에서 변경되더라도 다른 곳에 심각한 오류를 발생시키지 않도록 정립되어야 한다. (단, 심하게 변경하면 영향을 받을 가능성이 있다.)
사용자가 보는 데이터를 추상화
한 영역이다.데이터베이스에 있는 데이터를 원하는 형식으로 가공하여 제공하는 영역
인 것이 핵심인 것 같다.데이터를 묘사
하며, 데이터 간의 관계를 표현
하는 레벨이다.데이터베이스 관리자가 주로 작업
하는 영역이다.논리적 구조를 정의
한다.어떻게 저장되어 있는지
를 정의한다.물리적 구조
와 관련이 있다.부족하거나 설명을 보완해야 할 것이 있다면 댓글 부탁드립니다 😃