1. 데이터베이스의 정의
데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의
- 통합 데이터(integrated Data) : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임
- 저장 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터
- 운영 데이터(Operational Data) : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터
- 공유 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터
2. 데이터베이스의 특징
- 실시간 접근성(Real Time Accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징
- 계속적인 진화(Continuous Evolution) : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지하는 특징
- 동시 공유(Concurrent Sharing) : 여러 사용자가 동시에 원하는 데이터를 공용할 수 있는 특징
- 내용에 의한 참조(Content Reference) : 데이터베이스에 있는 데이터를 참조할 때 튜플(Tuple)의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용에 따라 참조하는 특징
- 데이터의 논리적, 물리적 독립성(Independence)
-- 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않는 특징
-- 물리적 독립성 : 응용 프로그램과 보조기억장치와 같은 물리적 장치를 독립시킴으로써, 데이터베이스 관리 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만 변경될 수 있는 특징
3. 데이터베이스 시스템
- 데이터베이스 시스템의 정의 : 데이터베이스 시스템이란 데이터베이스를 이용하여 자료를 저장하고 관리하여 정보를 얻어내는 데 필요한 컴퓨터 중심의 시스템
- 데이터 베이스 시스템의 구성 요소
-- 데이터베이스
-- 스키마
-- DBMS(데이터베이스 관리 시스템)
-- 데이터베이스 언어
-- 데이터베이스 컴퓨터
-- 데이터베이스 사용자
4. 데이터 언어(Data Language)
- 데이터 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 관리 시스템과의 통신 수단
- 데이터 언어는 기능과 사용 목적에 따라 DDL(Data Definition Language), DML(Data Namipulation Language), DCL(Data Control Language)로 나뉨
- DDL(데이터 정의어)
-- 데이터베이스 구조, 데이터 형식, 접근 방식 등 데이터베이스를 구축하거나 변경할 목적으로 사용하는 언어
-- DDL 컴파일러가 컴파일한 후 데이터 사전에 저장
- DDL의 기능
-- 데이터베이스의 논리적, 물리적 구조를 정의 및 변경
-- 스키마(Schema)에 사용되는 제약 조건을 정의
-- 데이터의 물리적 순서를 규정
- DML(데이터 조작어)
-- 데이터 처리를 위해서 응용 프로그램과 데이터베이스 관리 시스템 간의 인터페이스를 위한 언어
-- 데이터 처리를 위한 연산의 집합으로 데이터의 검색, 삽입, 삭제, 갱신 연산 등이 있음
- DML의 형태
-- 절차적 데이터 조작어 : 사용자가 어떤 데이터를 필요로 하는지는 물론이고 필요한 데이터를 어떻게 구하는지를 명시하는 언어
-- 비절차적 데이터 조작어 : 사용자가 어떤 데이터가 필요하지만을 명시하고 어떻게 구하는지는 명시하지 않는 언어
- DCL(데이터 제어어)
- 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어
- DCL의 기능
-- 데이터 보안 : 권한이 없는 접근으로부터 데이터베이스를 보호
-- 데이터 무결성 : 의미적인 측면에서 데이터가 정확하고 완전함을 의미. 사용자가 무결성 제약 조건을 정의하면 데이터베이스 관리 시스템은 데이터를 삽입, 삭제, 갱신할 때마다 제약 조건을 자동적으로 검사
-- 데이터 회복 : 시스템 오류 등으로부터 데이터베이스를 회복
-- 병행 제어 : 여러 사용자가 동시에 데이터베이스를 공유할 수 있도록 함
5. 데이터베이스 사용자
1) 데이터베이스 관리자(DBA: DataBase Administrator)
- DDl과 DCL을 통해 데이터베이스를 정의하고 제어하는 사람 또는 그룹
- 데이터베이스 관리 시스템과 컴퓨터 시스템, 조직 내의 전산 업무에 상당한 지식을 보유해야 함
- 데이터베이스 관리자의 임무는 데이터베이스를 설계, 관리, 운용 및 통제하며, 효율성과 경제적인 효용성을 높이기 위해 시스템을 감시하고 성능을 분석
2) 데이터 관리자(Data Administrator)
- 하나의 기업 또는 조직 내에서 데이터에 대한 정의, 체계화, 감독 및 보안 업무를 담당할 뿐 아니라 기업 또는 조직 전반에 걸쳐 존재하는 데이터에 대한 관리를 총괄하고 정보 활용에 대한 중앙 집중적인 계획 수립 및 통제를 수행
- 전사적으로 수립된 데이터 표준 원칙, 데이터 표준, 데이터 표준 준수 여부 관리 등을 위해서 Data Administrator의 역할이 요구
3) 데이터 설계자(Data Architect)
- 기업의 업무 수행에 필요한 데이터의 구조를 체계적으로 정의하는 사람을 의미
- 데이터 구조를 정의하기 위해 데이터 구조 전반에 걸쳐 데이터 구조 원칙, 데이터 구조 정보, 데이터 구조 관리 등을 정의
- 데이터 표준, 데이터 관리 체계 등을 포함하는 데이터 영역을 분류하며, 이를 기준으로 데이터 모델을 생성
4) 응용 프로그래머(Application Programmer)
- 호스트 프로그래밍 언어에 DML을 삽입하여 데이터베이스에 접근하는 사람
- 호스트 프로그래밍 언어를 사용할 수 있고, 데이터베이스 관리 시스템에 대해서도 어느 정도 알고 있는 전산 전문가
5) 일반 사용자(End User)
- 질의어(Query Language)를 통해 데이터베이스 관리 시스템에 접근하는 사람
- 컴퓨터나 데이터베이스 관리 시스템에 대한 지식이 없어도 됨
- 데이터 삽입, 삭제, 갱신, 검색 등의 목적으로 데이터베이스 관리 시스템을 이용
'정보처리' 카테고리의 다른 글
스키마 (0) | 2024.04.16 |
---|---|
데이터베이스 관리 시스템(DBMS) (0) | 2024.04.15 |
JAVA 기초 (0) | 2024.04.08 |
C언어 함수 (0) | 2024.04.08 |
C언어의 포인터, 배열, 구조체 (1) | 2024.04.07 |