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 |