Computer Science/데이터 베이스

데이터베이스 기본 용어

tgool 2023. 3. 29. 16:55

트랜잭션(transaction): 논리적 작업 단위로서 하나의 단위로 처리되어야 하는 분리될 수 없는 연산 그룹

데이터 처리 시스템(Data Processing Sysyem:DPS)

일괄처리시스템(batch processing): 데이터를 수집해서 분류하고 정렬시킨 다으멩 일괄 처리하는 데이터 처리 방법

여러 가지 트랜잭션을 한데 모아 일괄적으로 처리하기 때문에각 트랜잭션 당 처리 비용이 적게 듬.

단위 시간당 처리되는 작업 수가 많아 시스템 성능을 높임

그러나 사용자 측면에서는 데이터가 즉시 처리되지 않기 때문에 대기해야하는 단점

여러 가지 사전 준비 작업을 거쳐야 한다는 단점도 존재

 

온라인 처리 시스템(on-line processing sysytem): 일괄 처리 방식이 필요로 했던 사전 준비 작업 없이 곧바로 데이터를 처리하는 방식, 즉 온라인 실시간 처리(on-line real time processing) 가능

사용자 중심 처리방식이라고도 함

 

분산 처리 시스템(distributed processing system): 물리적으로 분산되어 있는 처리기와 데이터베이스를 네트워크로 연결시켜 사용자는 마치 논리적으로 하나의 시스템을 사용하는 것처럼 데이터를 처리해 주는 시스템

분산 처리기(distributed processor)는 지리적으로 분산 설치되어 있는 복수의 컴퓨터,

클라이언트/서버 시스템(client/server system)이라고도 함

 

데이터베이스란 어느 한 조직의 여러 응용 시스템들이 공용할 수 있도록 통합, 저장된 운영 데이터의 집합

데이터베이스는 통합 데이터(integrated data)이다. 데이터가 통합되어 있다는 것은 데이터베이스에서 똑같은 데이터가 원칙적으로 중복되어 있지 않다는 것을 말함. 그러나 의도적 중복은 허용하며 항상 파악할 수 있고 관리할 수 있다. 이를 최소의 중복(minimal redundancy) 또는 통제된 중복(controlled redundancy)라고 한다.

 

질의(query)

 

내용에 의한 참조(contents reference) 데이터베이스 환경 하에서 데이터의 참조는 저장되어 있는 데이터 레코드들의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터가 가지고 있는 값(value)에 따라 참조된다. 특정 조건을 만족하는 모든 레코드들은 그들이 어디에 위치해 있던 지 간에 그들은 하나의 논리적 단위로 취급된다. 

 

속성(attribute) 데이터의 가장 작은 논리적 단위. 이를 파일 구조에서는 데이터 항목(data item) or 필드(field)라고 한다. 

 

관계는 객체들을 서로 연관시켜 어떤 의미를 나타내는 객체와 다름이 없다

속성 관계(attribute relationship): 어느 한 객체를 기술하는 속성들 간의 관계, 객체 내 관계(intra-entity relationship) 묵시적

객체 관계(entity relationship) 객체 집합과 객체 집합 사이의 관계, 보통 객체 외부에 존재하기 때문에 객체 간 관계(inter-entity relationship) 명시적

논리적 구조(logical structure) 우리는 일반적으로 논리적 레코드(logical record)를 접근해서 사용

물리적 구조(physical structure) 저장 장치 위에 물리적으로 저장되어 있는 데이터의 실제 저장 구조. 저장 레코드(stored record)를 다룸

 

DBMS(Data base management system) 

파일 시스템(file system)부터 발전되었다. 

1. 응용 프로그램은 프로그래머가 생각하는 논리적 파일 구졸를 직접 물리적 파일 구조로 구현해야 한다.

2. 응용 프로그래머는 물리적 데이터 구조에 대해 잘 알고 있어야만 데이터에 대한 접근 방법을 응용 프로그램 속에 효율적으로 구현시킬 수 있다.

3. 모든 응용 프로그램이 자기 자신의 데이터 파일을 가지고 있어야만 되는 환경이기 때문에 결국 하나의 파일은 하나의 응용만을 위해 존재하게 된다.

 

이러한 데이터 share를 할수 없는 파일 시스템에서의 가장 큰 문제점은 크게 데이터 종속성과 데이터 중복성으로 집약시킬 수 있음

데이터 종속성 하나의 변경 사항이 생기면 모든 응용프로그램을 변경시켜야 함

데이터 중복성 모든 응용 시스템은 자기가 구현한 구조대로 데이터가 조직되어 있을 것을 요구. 이를 충족시키기 위해 데이터를 재생산, 복사하게 되면 중복이 생김

 

데이터 일관성, 보안성(중복 저장되어 있는 데이터 보안 수준 동일 유지 어려움), 경제성(저장 공간), 데이터 무결성(data integrity)(데이터 정확성을 제공하기 어려움)

파일시스템은 한 프로그램이 하나의 파일을 open해서 사용하면 그 프로그램의 실행이 모두 끝나 close할 때 까지 다른 프로그램들은 파일 접근 불가

 

DBMS(Data base management system) 

데이터 정의(data definition) 기능은 DBMS에 가장 중요한 기능 중 하나

데이터 정의 필수 사항

1. 데이터베이스의 논리적 구조와 특성이 DBMS가 지원하는 데이터 모델(data model)에 맞게 기술되어야 한다. 

2. 데이터베이스를 물리적 저장 장치에 저장하기 위한 데이터의 물리적 구조 명세도 포함하여야 한다.

3. 데이터의 논리적 구조와 물리적 구조 사이에 상호 변환이 가능하도록 구조 사이의 사상(mapping)이 명세되어야 한다. 

 

데이터 조작(data manipulation) 기능은 사용자와 데이터베이스 사이의 인터페이스를 위한 수단을 제공

ex) 검색, 갱신, 삽입, 삭제

데이터 언어(data language)로 표현 가능

데이터 언어 요건

1. 모든 사용자에게 사용하기 쉽고 자연스러워야 한다.

2. 명확하고 완전하여야 함. 

3. 효율적이어야 함.

 

데이터 제어(data control) sharing 목적으로 관리되는 데이터베이스의 내용에 대해 항상 정확성과 안전성을 유지할 수 있는 기능

데이터 제어 요건

1. 데이터의 무결성이 파괴되지 않도록 제어할 수 있어야함. 정확성과 안전성 유지

2. 권한을 검사하고 보안을 유지

3. 데이터베이스를 동시에 접근하여 데이터를 처리하더라도 데이터베이스와 처리 결과는 항상 정확성이 유지되도록 병행 제어(concurrency control) 기능을 가지고 있어야 함.

 

 

DBMS 장점

1. 데이터 중복의 최소화- 제어된 중복

2. 데이터의 공용(Data sharing)

3. 데이터의 일관성 유지(data consistency) 수정 결과 반영

4. 데이터 무결성 유지(data integrity) 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미

5. 데이터의 보안 조장

6. 표준화

7. 전체 데이터 요구의 조정: 여러 상충되는 데이터 요구를 조정해서 기관 전체에 가장 유익한 구조로 조직하여 효율적인 정보 처리를 이룸.

 

DBMS단점

1. 운영비의 증대. 고가의 소프트웨어 DMBS, 컴퓨터 자원 사용

2. 특정 응용 프로그램의 복잡화: 설계 기간이 길어질 수 있음.

3. 복잡한 백업과 회복

4. 시스템의 취약성: 일부 장애가 일어날 경우 전체 시스템을 정지시킬 수 있음

 

데이터 독립성(data independency): 데이터의 논리적 구조나 물리적 구조가 변경되더라도 응용 프로그램이 영향을 받지 않는 것