본문 바로가기
메모/ETC

CS - DBMS

by 구너드 2024. 2. 16.

DBMS

Database Management system의 준말로 데이터를 한곳에 모은 저장소를 만들고 그 저장소에 여러 사용자가 접근하여 데이터를 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을 제공하는 응용 소프트웨어 프로그램

공유 저장소(서버)를 구축하고 사용자들에게 접근정보를 공유하여 데이터를 처리할 수 있는 인터페이스를 제공하고 복구기능과 보안성 기능 또한 제공

 


DBMS 용어

튜플(Tuple)

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

어트리뷰트(Attribute)

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

릴레이션(Relation=Table)

  • 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위
  • ex. 유저 정보 > 유저 테이블, 게시글 정보 > 게시글 테이블 등

키(Key)

  • 테이블에서 행의 식별자로 이용되는 테이블의 열을 의미. (ex. 유저ID, 게시글ID)
  • 식별자(Identifier)
    • 여러 개의 집합(인스턴스)체를 담고 있는 하나의 테이블에서 각각을 구분할 수 있는 논리적인 이름, 개념이며 이 구분자를 식별자(Identifier)라고 함.
  • 키는 주키와 외래키로 나뉘며 하나의 테이블에서 주키는 1개 또는 1쌍으로만 구성되고, 외래키는 여러개로 구성될 수 있다.
    • 주키(PK) : 현재 테이블에서 행을 식별하는 식별자
    • 외래키(FK) : 현재 테이블과 연관되어있는 외부 테이블과 연관된 행을 식별하는 식별자 (조인할때 써서 조인키 라고도 함)

도메인(Domain)

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

DBMS 요구사항 및 기능

 

효율

  • 동일한 데이터가 저장되는 것을 방지하는 중복 제어기능
  • 무결성 제약 조건을 정의/검사하는 기능

직관

  • 서로 다른 데이터 간의 관계를 표현해주는 관계 표현
  • 편리한 인터페이스 제공

안전

  • 접근하는 사용자마다 다른 권한을 주는 접근통제 기능
  • 데이터가 잘못 수정/삭제 되었을때 백업하는 기능

 

트랜잭션

  • DBMS의 요구사항을 충족시킬 핵심 기능
  • 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위.
    • ex. 회원가입 절차 = 가입 트랜잭션, 결제 절차 = 결제 트랜잭션
  • 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용.
    • ex. 회원가입, 결재는 작업 단위로 병행(따로) 처리.
    • ex. 회원가입 처리중 잘못된 항목이 존재하여 가입불가시 가입취소(회복)
    • ex. 결재 처리중 잔액부족 등으로 결재가 불가능할경우 결재취소(회복)
  • 사용자가 시스템에 대한 요구 시 시스템이 응답하기 위한 상태 변환과정의 작업 단위로 사용
    • ex. 회원가입 요구시 가입완료 응답을 하기까지의 작업단위 = 가입 트랜잭션
  • 데이터의 무결성을 보장하기 위하여 DBMS의 트랜잭션이 가져야 할 특성(ACID)
    • 원자성(Atomicity) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다. 또한 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 한다. 완벽히 수행되지 않고 하나라도 오류가 발생하면 전부 취소되어야 한다.
    • 일관성(Consistency) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
    • 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
    • 영속성, 지속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장이 나더라도 영구적으로 반영되어야 한다.
  • DBMS는 데이터 관리의 원칙 중 안전, 공유, 일관성, 손상방지 등의 원칙을 트랜잭션 단위로 해결합니다.

 

'메모 > ETC' 카테고리의 다른 글

CS - 자료구조(Array, LinkedList, ArrayList)  (0) 2024.02.19
CS - 자료의 표현  (0) 2024.02.17
CS - 데이터베이스 2  (1) 2023.12.08
CS - 데이터베이스 1  (0) 2023.12.01
CS - 쓰레드 풀  (0) 2023.11.29