컴퓨터(Computer Science)/데이터베이스, DB, DataBase

DB 기본 용어

게임이 더 좋아 2022. 12. 1. 23:41
반응형
728x170

요즘에 많이 쓰이는 RDBMS

 

 

 

기본 DB 구조

 

  • Relation(=table), 테이블 : 같은 성격을 가진 데이터들의 집합
  • tuple(=row, record) : 테이블의 각 행
  • Attribute(=column, field) : 테이블에서 속성을 나타내는 각 열
  • Cardinality : tuple의 수. 데이터 집적도
  • Degree : attribute의 수

 

 

  • Snapshot, 스냅샷
    • DB에 저장되어있는 특정 순간의 데이터 집합 상태
    • 데이터베이스의 모든 상태가 유효해야함
  • DB가 유효한 상태란 Schema에 명시된 모든 구조와 제약조건들이 만족된 상태를 말함(수행 중인 트랜잭션이 없음) 
    • Snapshot 생성 1 : 데이터베이스를 shut down 후 Snapshot 생성
    • Snapshot 생성 2 : Snapshot 생성 후 진행 중인 트랜잭션을 모두 roll back

 

 

  • Schema, 스키마
    • DB 구조와 제약 조건에 관한 명세
      • 외부 스키마 : 각 사용자의 관점에서 정의된 DB
      • 개념 스키마 : DB의 전체적인 논리적 구조. 조직 전체를 관장하는 입장에서  정의됨
      • 내부 스키마 : 물리적인 저장장치 입장에서 DB가 저장되는 방법

 


  • Tansaction, 트랜잭션
    • 데이터베이스의 무결성이 보장되는 상태에서 요청된 작업을 완수하기 위한 작업의 최소 기본 단위

 

 

트랜잭션 특징

Atomicity(원자성)

-하나의 transaction은 모두 실행되거나 아예 실행되지 않아야 함

=> Transaction 사이에 다른 작업으로 인해 중단될 수 없음

 

 

Consistency(일관성)

-트랜잭션을 성공적으로 완료하면서 일관성 있는 데이터베이스 상태를 유지해야 함

 

 

Isolation(고립성)

-트랜잭션 사이에 다른 트랜잭션의 연산 작업이 끼어들 수 없음

-끼어들면 Consistency를 잃어버림

  • Dirty Read : 변경 후 아직 Commit 되지 않은 값(중간 결과 값) 읽어서 최종 결과 값이 상이한 현상
  • Non-Repeatable Read : transaction에서 같은 query 를 두 번 사용하는 도중 다른 transaction이 데이터를 수정하여 두 query의 결과가 다르게 나타나는 현상
  • Phantom Read : transaction이 데이터를 검색하는 도중 다른 transaction이 데이터를 추가하여 없었던 데이터가 생기는 현상

Isloation이 필요한 Level

  • Read Uncommitted : read 수행 시 shared lock을 걸지 않음
  • Read Committed : read 수행 시 shared lock을 걸고, read가 끝나자마자 lock을 해제함
  • Repeatable Read : read 수행 시 shared lock을 걸고, transaction이 끝날 때까지 보유함
  • Serializable Read : 검색하고자 하는 Tuple 뿐 아니라 index에 대해서도 shared    lock을 걸고 transaction이 끝날 때까지 보유함

 

Durability (지속성)

-성공한 트랜잭션은 DB에 영구적으로 반영된다.

 


 

  • Commit, 커밋

Transaction을 정상적으로 처리했다고 확정하는 명령어

변경된 내용을 DB에 영구 저장

 

 

  • Rollback, 롤백

작업 중 문제가 발생했을 때, transaction의 처리 과정에서 발생한 변경 사항을 취소하고, transaction 과정을 종료시킴

Transaction이 시작되기 전의 상태로 되돌림 

 

 

NULL

데이터 내의 값이 존재하지 않는다는 것을 지시하는 데에 사용되는 지시어

비어있는 상태나 특정한 값이라고 볼 수 없음

Empty string과 다른 상태. Empty string의 크기는 0이고 NULL의 크기는 NULL

 


참고링크

https://mysqldba.tistory.com/334

728x90
반응형
그리드형

'컴퓨터(Computer Science) > 데이터베이스, DB, DataBase' 카테고리의 다른 글

NoSQL 이란  (0) 2022.12.23
Redis 와 Memcached  (0) 2022.12.01
Index, 인덱스  (0) 2022.12.01
Key, 키  (0) 2022.12.01
DB 파티셔닝, Partitioning  (0) 2022.11.19