본문 바로가기

학습 내용 정리/Computer Science

DBMS

728x90

DBMS : Database Management system

 

데이터를 한곳에 모은 저장소를 만들고

그 저장소에 여러 사용자가 접근하여 데이터를 저장 및 관리 등의 기능을 수행하며 공유할 수 있는 환경을

제공하는 응용 소프트웨어 프로그램을 말합니다.

 

공유 저장소(서버)를 구축

사용자들에게 접근정보를 공유하여 데이터를 처리할 수 있는 인터페이스를 제공

복구기능과 보안성 기능 또한 제공

 

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

테이블에서 행을 의미합니다.

튜플의 수 = 카디날리티(Cardinality)

 

어트리뷰트(Attribute) = 칼럼(Columm)

테이블에서 열을 의미합니다.

어트리뷰트(Attribute)의 수 =  디그리(Degree)

 

릴레이션(Relation=Table)

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

 

키(Key)

테이블에서 행의 식별자로 이용되는 테이블의 열 (ex. 유저ID, 게시글ID)

 

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

  • 주키(PK) : 현재 테이블에서 행을 식별하는 식별자
  • 외래키(FK) : 현재 테이블과 연관되어있는 외부 테이블과 연관된 행을 식별하는 식별자 (조인할때 써서 조인키 라고도 함)

 

도메인(Domain)

도메인은 하나의 어트리뷰트가 취할 수 있는 같은 타입의 원잣값들 집합

-  성별 어트리뷰트의 도메인은 남과 여의 데이터의 값만 가능하다.

-  나이 어트리뷰트의 도메인은 숫자의 값만 입력할 수 있다. 그 외의 값은 입력될 수 없다.

 

 

트랜잭션

: 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위

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

 

RDBMS (관계형 데이터베이스)

SQL(Structured Query Language)

관계형 데이터베이스에서 사용되는 언어

에스큐엘’ 또는 ‘시퀄’로 읽습니다.

 

NoSQL (비관계형 데이터베이스)

Not Only SQL(SQL 뿐만이 아닌. 이라는 뜻)의 줄임말

SQL뿐만 아니라 다른 여러 장점을 가지고 있다는 소리

  • 기존의 관계형 데이터베이스의 한계를 뛰어넘기 위해 만들어진 새로운 형태의 데이터베이스라서, 관계형 데이터베이스보다 더 융통성 있는 데이터 모델을 사용하며, 데이터의 저장 및 검색에 특화된 메커니즘을 제공합니다. (따라서 종류마다 특화된 기능이 다릅니다.)
  • NoSQL은 대부분 분산 환경에서의 데이터 처리를 더욱 빠르게 하기 위해 개발되었습니다.

'학습 내용 정리 > Computer Science' 카테고리의 다른 글

웹 접근성 (Web Accessibility)  (2) 2023.10.12
시간 복잡도  (0) 2023.09.15
공간 복잡도  (0) 2023.09.15
자료와 자료구조  (0) 2023.09.11
CPU와 메모리  (0) 2023.08.21