Skip to content

DBMS #

Find similar titles

21회 업데이트 됨.

Edit

Structured data

Category
Database

DBMS #

DBMS란 Database Management system의 준말로 데이터를 한곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근하여 데이터를 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을 제공하는 응용 소프트웨어 프로그램이다. 공유 저장소(서버)를 구축하고 사용자들에게 접근정보를 공유하여 데이터를 처리할 수 있는 인터페이스를 제공하고 복구기능과 보안성 기능 또한 제공한다.

Image

그림1. DBMS(출처 https://maily.so/queryaddict/posts/692ff5)

DBMS 특징 #

DBMS 장점 #

  • 데이터 중복 최소화
  • 데이터 공유(일관성 유지)
  • 정합성, 무결성, 보안성 유지
  • 사용자 중심의 데이터 처리
  • 데이터 표준화 적용 가능
  • 데이터 접근 용이
  • 데이터 저장 공간 공유로 인한 절약

DBMS 단점 #

  • 데이터베이스(DBA) 전문가 필요
  • DBMS 구축 서버 필요 및 유지비
  • 데이터 백업과 복구 어려움
  • 시스템의 복잡성
  • 대용량 디스크로 엑세스 집중 시 병목현상으로 과부하 발생
  • 대용량 데이터 처리 어려움

DBMS 용어 #

Image

그림2. DBMS용어(출처 http://www.tcpschool.com/mysql/mysql_intro_relationalDB

식별자(Identifier) #

  • 여러 개의 집합(인스턴스)체를 담고 있는 하나의 테이블에서 각각을 구분할 수 있는 논리적인 이름, 개념이며 이 구분자를 식별자(Identifier)라고 한다.

튜풀(Tuple) #

  • 테이블에서 행을 의미한다. 같은 말로는 레코드(Record) 혹은 로우(Row)라고 하기도 하며 튜플은 릴레이션에서 중복되는 값을 가질 수 없다. 튜플의 수는 카디날리티(Cardinality) 라고 한다.

어트리뷰트(Attribute) #

  • 테이블에서 열을 의미한다. 같은 말로 칼럼(Columm)이라고도 하며 어트리뷰트(Attribute)의 수를 의미하는 단어는 디그리(Degree)라고 한다.

릴레이션(Relation=table) #

  • 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이다.

키(Key) #

  • 테이블에서 행의 식별자로 이용되는 식별자이다.

도메인(Domain) #

  • 도메인은 하나의 어트리뷰트가 취할 수 있는 같은 타입의 원잣값들 집합이다. 예를 들어 성별 어트리뷰트의 도메인은 의 데이터의 값만 가능하다. 나이 어트리뷰트의 도메인은 숫자의 값만 입력할 수 있다. 그 외의 값은 입력될 수 없다.

기능 #

  • DBMS의 기능은 여러 가지가 있다. 동일한 데이터가 저장되는 것을 방지하는 중복 제어기능이나 접근하는 사용자마다 다른 권한을 주는 접근통제 기능 그리고 편리한 인터페이스 제공, 서로 다른 데이터 간의 관계를 표현해주는 관계 표현, 무결성 제약 조건을 정의/검사하는 기능, 마지막으로 제일 중요한 백업기능 등이 있다.

종류 #

  • DBMS의 종류는 여러 가지가 있다. 대표적으로 오라클과 MySQL이 있다. 그리고 MariaDB와 Microsoft Access, Microsoft Excel, Sql server, PostgreSQL, DB2, Tibero, Cubrid, Informix 등의 여러 가지 DBMS가 존재하며 상황에 따라 다른 DBMS를 활용하며 각각의 DBMS의 내장함수들과 데이터 타입 등이 다르다.

SQL(Structured Query Language) 종류 #

  • DDL(Data Definition Language) : 데이터 정의어, 관계형 데이터베이스의 구조를 정의하는 언어이다. CREATE, ALTER, DROP, RENAME 문이 있다.
  • DML(Data Manipulation Language) : 데이터 조작어, 테이블에서 데이터를 입력, 수정, 삭제, 조회한다. INSERT, UPDATE, DELETE, SELECT 문이 있다.
  • DCL(Data Control Language) : 데이터 제어어, 데이터베이스 사용자에게 권한을 부여하거나 회수한다. GRANT, REVOKE, TRUMCATE 문이 있다.
  • TCL(Transaction Control Language) : 트랜잭션을 제어하는 명령어이다. COMMIT, ROLLBACK, SAVEPOINT 문이 있다.

Transaction(트랜잭션) #

  • 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위이다. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용된다. 사용자가 시스템에 대한 요구 시 시스템이 응답하기 위한 상태 변환과정의 작업 단위로 사용된다.

트랜잭션의 특성 #

  • 데이터의 무결성을 보장하기 위하여 DBMS의 트랜잭션이 가져야 할 특성
    • 원자성(Atomicity) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다. 또한 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 한다. 완벽히 수행되지 않고 하나라도 오류가 발생하면 전부 취소되어야 한다.
    • 일관성(Consistency) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
    • 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
    • 영속성, 지속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장이 나더라도 영구적으로 반영되어야 한다.

Incoming Links #

Related Data Sciences #

Related Articles #

Related Bioinformaticses #

Suggested Pages #

0.0.1_20231010_1_v71