본문 바로가기

Programming/DataBase

DataBase 의 개념

DataBase 정의 

 

데이터 베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다.


 - 통합 데이터(Integrated Data) : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임

 - 저장 데이터(Stored Data) : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터

 - 운영 데이터(Operational Data) : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터

 - 공유 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터


DataBase 특징


- 실시간 접근성 (Real Time  Accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징


- 계속적인 진화 (Continuous Evolution) : 삽입, 삭제 , 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지하는 특징


- 동시 공유 (Concurrent Sharing) : 여러 사용자가 동시에 원하는 데이터를 공용할 수 있는 특징


- 내용에 의한 참조 (Content Reference) : 데이터베이스에 있는 데이터를 참조할 때 튜플의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용에 따라 참조하는 특징


- 데이터의 논리적, 물리적 독립성 (Independence)


논리적 독립성 : 응용프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않는 특징


물리적 독립성 : 응용프로그램과 보조기억장치과 같은 물리적 장치를 독립시킴으로써, 데이터베이스 관리 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도 응용프로그램에는 영향을 주지 않고 데이터의 물리적 구조만 견경될 수 있는 특징



데이터 언어 (Data Language)


 - 데이터 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 관리 시스템과의 통신수단이다.

 

 - 데이터 언어는 기능과 사용 목적에 따라 DDL, DML, DCL로 나뉜다.

 

 - DDL (Data Definition Language) : 데이터 정의어

* 데이터베이스 구조, 데이터 형식, 접근방식 등 데이터베이스를 구축하거나 변경할 목적으로 사용하는 언어이다.

* DDL 컴파일러가 컴파일한 후 데이터 사전에 저장한다.

* DDL의 기능

데이터베이스의 논리적, 물리적 구조를 정의 및 변경한다.

스키마(schema)에 사용되는 제약 조건을 정의한다.

데이터의 물리적 순서를 규정한다.


 - DML (Data Manipulation Language) : 데이터 조작어

* 데이터 처리를 위해서 응용프로그램과 데이터 베이스 관리 시스템 간의 인터페이스를 위한 언어이다.

* 데이터 처리를 위한 연산의 집합으로 데이터의 검색, 삽입, 삭제, 갱신 연산 등이 있다.

* DML의 형태

절차적 데이터 조작어 : 사용자가 어떤(What) 데이터를 필요로 하는지는 물론이고 필요한 데이터를 어떻게(HOW) 구하는지를 명시하는 언어로서, 배우기도 어렵고 사용하기도 어렵다.


비절차적 데이터 조작어 : 사용자가 어떤 데이터가 필요한지만을 명시하고 어떻게 구하는지는 명시하지 않는 언어로서, 배우기 쉽고 사용하기 쉬우나 코드의 효율성 면에서 비효율적이다.


 - DCL (Data Control Language) : 데이터 제어어

* 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어이다.

* DCL의 기능

데이터 보안 : 권한이 없는 접근으로부터 데이터베이스를 보호한다.


데이터 무결성 : 의미적인 측면에서 데이터가 정확하고 완전함을 의미한다. 사용자가 무결성 제약 조건을 정의하면 데이터 베이스 관리 시스템은 데이터를 삽입, 삭제, 갱신할 때마다 제약 조건을 자동적으로 검사한다.


데이터 회복 : 시스템 오류 등으로부터 데이터 베이스를 회복한다.


병행 제어 : 여러 사용자가 동시에 데이터 베이스를 공유할 수 있도록 한다. 


DBA (DataBase Administrator) : 데이터 베이스 관리자

- DDL과 DCL을 통해 데이터 베이스를 정의하고 제어하는 사람 또는 그룹이다.


질의어 (Query Language) : 사용자가 쉽게 데이터 베이스에 접근할 수 있도록 대화식의 자연어로 만든 비절차적 언어로 질의어의 종류에는 SQL, IMS, DBTG,  TOTAL 등이있다.