본문 바로가기
데이터베이스

데이터베이스

by 승환파크 2023. 5. 11.

데이터베이스를 한 마디로 정의하면 "데이터의 집합" 이라고 한다.

데이터베이스는 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색 및 갱신의 효율을 높인다. 즉, 몇개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라 할 수 있다. 같은 데이터라도 사용자는 각각의 응용 목적에 따라 다르게 사용할 수 있다. 사무 계산을 할 경우 각각의 업무 전용 데이터 파일을 사용하고 있지만, 각 파일에는 중복된 정보가 들어가는 것이 너무 많다. 이러한 중복을 피하여 정보를 일원화하여 처리를 효율적으로 하기 위해서 서로 관련성을 가지며, 중복이 없는 데이터의 집합이 데이터베이스 인것이다.

 

데이터베이스의 특징

  • 실시간 접근성(real time accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답한다.
  • 계속적인 진화(continuous evloution) : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지한다.
  • 동시 공유(concurrent sharing) : 여러 사용자가 동시에 원하는 데이터를 공유할 수 있는 특징을 갖는다.
  • 내용에 의한 참조(content reference) : 데이터베이스에 있는 데이터를 참조할 때 튜플(tuple)의 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조한다.
  • 데이터 논리적 독립성(independence) : 응용 프로그램과 데이터베이스를 독립시킴으로써 데이터 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않는다.

 

DBMS(DataBase Management System)

데이터베이스를 "데이터의 집합" 이라고 정의한다면, 이런 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(Databasde Management System)라고 한다. DBMS 를 통해 데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하고, 사용할 수 있는 환경을 제공한다. DBMS는 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공한다. 또한 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스를 제공하고, 장애에 대한 복구기능, 사용자 권한에 따른 보안성 유지 기능 등을 제공한다. 즉, 데이터베이스 내의 정보를 구성하는 컴퓨터 프로그램의 집합으로서, 자료의 중복성을 제거하고 다른 특징들 중에서 무결성, 일관성, 유용성을 보장하기 위해서 자료를 제거하고 관리하는 소프트웨어 체계이다.

 

DBMS의 기능

DBMS 에서 저장, 관리되는 공간정보는 지표면의 위치에 바탕을 둔 공간정보, 그와 관련된 속성정보, 공간상의 객체들의 연결성과 인접성을 묘사하는 위상구조에 관한 정보가 필수적으로 저장되야한다.

  • 정의 : 데이터에 대한 형식, 구조, 제약조건들을 명세하는 기능이다. 데이터베이스에 대한 정의 및 설명은 카탈로그나 사전의 형태로 저장된다.
  • 구축 : DBMS가 관리하는 기억 장치에 데이터를 저장하는 기능이다.
  • 조작 : 특정한 데이터를 검색하기 위한 질의, 데이터베이스의 갱신, 보고서 생성 기능 등을 포함한다.
  • 공유 : 여러 사용자와 프로그램이 데이터베이스에 동시에 접근하도록 하는 기능이다.
  • 보호 : 하드웨어나 소프트웨어의 오동작 또는 권한이 없는 악의적인 접근으로부터 시스템을 보호한다.
  • 유지보수 : 시간이 지남에 따라 변화하는 요구사항을 반영할 수 있도록 하는 기능이다.

 

DBMS의 종류

DBMS 제작사 작동 운영체제 기타
MySQL Oracle Unix, Linux, Windows, Mac 오픈 소스(무료), 상용
MariaDB MariaDB Unix, Linux, Windows 오픈 소스(무료),
MySQL 초기 개발자들이
독립해서 만듦
PostgreSQL PostgreSQL Unix, Linux, Windows, Mac 오픈 소스(무료)
Oracle Oracle Unix, Linux, Windows 상용 시장 점유율 1위
SQL Server Microsoft Windows 주로 중/대형급 시장에서 사용
DB2 IBM Unix, Linux, Windows 메인프레임 시장 점유율 1위
Access Microsoft Windows PC용
SQLite SQLite Android, iOS 모바일 전용, 오픈 소스(무료)

 

 

관계형 DBMS(Relational DBMS)

관계형 DBMS(RDBMS)는 테이블(table)이라는 최소 단위로 구성되며, 하나 이상의 열(column)과 행(row)으로 이루어져 있다.

테이블(Table) = 관계(Relation)

행 : 로우(Row) = 레코드(Record) = 튜플(Tuple)

열 : 컬럼(Column) = 필드(Field) = 속성(Attrebute)

 

 

SQL(Structed Query Language)

데이터베이스를 조작하는 언어이다.

 

트랜잭션(Transaction)

트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야할 일련의 연산들을 의미한다.

 

트랜잭션은 작업의 완전성을 보장해준다. 즉, 논리적인 작업 셋을 모두 완벽하게 처리하거나 또는 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생하지 않게 만들어준느 기능이다. 사용자의 입장에서는 작업의 논리적 단위로 이해 할 수 있고 시스템의 입장에서는 데이터들을 접근 또는 변경하는 프로그램의 단위가 된다.

 

트랜잭션은 SELECT, UPDATE, INSERT, DELETE 와 같은 연산을 수행하여 데이터베이스의 상태를 변화시키는 작업의 단위이다.

 

트랜잭션의 특징

  • Atomicity(원자성)
    • 트랜잭션이 데이터베이스에 모두 반영되던지, 아니면 전혀 반영되지 않아야 한다.
    • 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
  • Consistency(일관성)
    • 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다.
    • 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 한다.
  • Isolation(독립성)
    • 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어들 수 없다.
    • 수행 중인 트랜잭션은 완전히 완료될 때 까지 달느 트랜잭션에서 수행 결과를 참조할 수 없다.
  • Durability(지속성)
    • 트랜잭션이 성공적으로 완료되었을 경우, 결과는 영구적으로 반영되어야 한다.

'데이터베이스' 카테고리의 다른 글

MySQL 데이터 추가  (1) 2023.05.15
MySQL 데이터 검색  (0) 2023.05.11
MySQL 데이터베이스, Table 생성하기  (0) 2023.05.11
MariaDB 테이블  (0) 2022.10.09
MariaDB 데이터 베이스 생성하기  (1) 2022.10.08