CS/데이터베이스

[데이터베이스] 데이터 베이스란?

happy_life 2022. 7. 28. 22:38

[데이터베이스] 데이터 베이스란?

 

목차

1. 데이터와 정보

2. 데이터베이스 구조

3. 데이터베이스 사용자

데이터와 정보

1) 개념

데이터: 단순히 관찰하거나 측정해 수집한 사실이나 값

 

정보: 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물

 

정보 시스템: 조직 운영에 필요한 데이터를 수집해 저장해두었다가 필요할 때 유용한 정보를 만들어주는 수단

 

데이터 베이스: 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 데이터를 제공하는 역할을 담당

 

2) 데이터 베이스

데이터 베이스

 

1. 개념

여러 가지 업무에 공동으로 필요한 데이터를 유기적으로 결합하여 저장한 집합체. 데이터를 효율적으로 처리하기 위해 개발된 것으로, 같은 데이터가 중복되는 문제를 없앨 수 있으며, 업무가 확대되어도 새로 파일을 준비할 필요가 없다는 장점이 있다.

2. 특성

1. 실시간 접근이 가능하다.

2. 데이터가 계속 변화한다. 데이터의 계속적인 삽입 삭제 수정을 통해 현재의 정확한 데이터를 유지한다.

3. 내용 기반 참조이다. 데이터가 저장된 주소나 위치가 아닌 내용으로 참조된다.

ex) 연봉이 5000만원 이상이며 과장급 이상인 사원

4. 동시 공유가 가능하다. 서로 다른 데이터의 동시 사용뿐만 아니라, 같은 데이터의 동시사용도 지원한다.

3. 데이터의 종류

통합 데이터: 최소의 중복과 통제 가능한 중복만 허용하는 데이터

저장 데이터: 컴퓨터가 접근할 수 있는 매체에 저장된 데이터

공유 데이터: 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터

운영 데이터: 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 데이터

 

 

 

데이터베이스의 구조

데이터베이스의 구조

 

1) 개념

스키마: 데이터베이스에 저장되는 구조와 제약조건을 정의한 것이다.

 

인스턴스: 스키마에 따라 데이터베이스에 실제로 저장된 값이다.

 

데이터 사전: 데이터베이스에 저장된 것을 요약한 것이다. 즉, 일련의 데이터를 설명하는 메타 데이터를 저장한 것이다.

 

데이터 디렉토리: 데이터 사전에 있는 데이터를 실제 접근하는데 필요한 위치 정보를 저장하는 데이터베이스

 

사용자 데이터베이스: 사용자가 실제로 이용하는 데이터가 저장되어 있는 일반 데이터베이스

 

2) 구조

 

데이터베이스 3단계 구조

 

1. 외부 단계

3단계 구조 중 제일 추상화되어 있는 외부 단계는 데이터베이스를 개별 사용자 관점에서 이해하고 표현한다. 구체적으로 각각의 개별 사용자가 데이터 베이스를 어떻게 보는가를 표현하는 것이므로, 생각하는 데이터베이스의 구조가 다 다르다. 이와 같이 외부 단계에서 사용자에게 필요한 데이터베이스를 정의한 것을 외부 스키마라고 한다.

데이터 베이스 하나에 여러 개의 외부 스키마가 존재할 수 있다. 외부 스키마는 데이터베이스 중 사용자가 관심을 가지는 일부분이므로 서브 스키마라고도 한다.

 

2. 개념 단계

데이터베이스를 이용하는 사용자들의 관점을 종합해 조직 전체의 관점에서 이해하고 표현한다. 즉, 모든 사용자에게 필요한 데이터를 통합해 전체 데이터베이스의 논리적 구조를 정의하는데 이를 개념 스키마라고 한다. 이는 하나만 존재한다. 

 

3. 내부 단계

데이터베이스를 저장 장치 관점에서 이해하고 표현한다. 전체 데이터베이스가 디스크와 테이프같은 저장장치에 어떻게 저장되는지를 정의하는데 이를 내부스키마라고 한다. 이 역시 하나만 존재한다.

 

3) 데이터 독립성

1. 논리적 데이터 독립성

개념 스키마가 변경되어도, 외부 스키마가 영향을 받지 않는 것을 의미한다. 개념 스키마가 변경되면 관련된 외부/개념 사상만 정확하게 수정해주면 된다.

 

2. 물리적 데이터 독립성

내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않는다. 내부 스키마가 변경되면 관련된 개념/내부 사상만 정확하게 수정해주면 된다.

 

 

데이터베이스 사용자

 

1) 데이터베이스관리자

데이터베이스 시스템을 운영하고 관리하는 사람으로, 주로 데이터 정의어와 데이터 제어어를 사용한다.

 

주요 업무

1. 데이터베이스 구성 요소를 선정하고, 스키마를 정의한다.

2. 물리적 저장 구조와 접근 방법을 결정한다.

3. 무결성 유지를 위한 제약조건을 정의한다.

4. 보안 및 접근 권한 정책을 결정한다.

5. 데이터베이스를 재구성한다.

 

 

2) 일반 사용자

데이터베이스에 접근해 데이터를 조작한다. 주로 데이터 조작어를 사용한다.

 

 

3) 응용프로그래머

데이터 언어를 삽입하여 응용 프로그램을 작성한다. 주로 데이터 조작어를 사용한다.