본문 바로가기

DataBase 용어정리

I'm 영서 2022. 9. 6.
반응형

sql을 업무에 사용한다면 필요한 수준에서 정의

 

 

Database

  구조화된 정보 또는 데이터의 체계적인 집합을 의미.

 

트랜잭션(Transaction)

더이상 쪼갤수 없는 최소 수행단위를 뜻하며

한 개 이상의 데이터 조작 명령어 (DML) 로 이루어진다.

트랜잭션을 제어하기 위한 명령어는 TCL(Transaction Control Language)라고 하며, TCL명령어를 사용하는 시점에 트랜잭션은 종료되며, 새로운 트랜잭션이 시작된다.

 

TCL (Transcation Control Language) 

트랜잭션을 제어하기 위한 명령어. TCL명령어를 사용하는 시점에 트랜잭션은 종료되며, 새로운 트랜잭션이 시작된다.

ROOLBACK

 롤백은 현재 트랜잭션에 포함된 데이터 조작 관련 명령어의 수행을 모두 취소한다.

COMMIT

 지금까지 수행한 트랜잭션 명령어를 데이터 베이스에 영구히 반영하기 위한 명령어

 * 보통은 Auto Commit을 지원하는 RDBMS 가 많아서 Mannual인지, Auto인지는 꼭 확인하자.

 

 

 

Schema, 스키마

데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합

스키마는 데이터베이스를 구성하는 데이터 개체(Entity) 속성(Attribute), 관계 (Relationship) 및 데이터 조작시 데이터 값들이 갖는 제약조건 등을 정의한다.

사용자의 관점에 따라 외부스키마, 개념스키마, 내부스키마로 나눠진다.

 

Entity, 개체

실체, 객체라는 의미로 실무적으로 엔터티라고 부른다.

ex) 학생이라는 엔터티는 학번,이름,학점, 등록일자 전공, 생일 등의 Attribute(속성) 으로 특징지어진다.

 

Attribute, 속성

엔터티가 가지는 항목

ex) 학생이라는 엔터티는 학번,이름,학점, 등록일자 전공, 생일 등의 Attribute(속성) 으로 특징지어진다.

 

 

Relationshop, 관계

엔터티 간의 관련성을 의미한다.

존재관계 - 엔티티간의 상태 ex)학생이 학교에 입학한다. 학교는 학생을 관리한다.

행위관계 - 엔티티간의 어떠한 행위 ex) 학생이 시험을 본다. 

 

 

DBMS(DataBase Management System)

 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어.

 

RDBMS (RelationalDataBaseManagement System, 관계형 데이터베이스

관계형 모델 기반 데이터베이스 관리 시스템

 

Relational model, 관계형모델

실제세계의 데이터를 관계라는 개념을 사용해서 표현한 데이터 모델. 

 

 

SQL (Strucured Query Language)

 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어

 RDBMS에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안된 언어.

sql은 DDL, DML, DCL로 이루어진다.

 

 

DDL (Data Definition Langauge, 데이터 정의어)

데이터 베이스를 정의하는 언어, 테이블을 생성, 수정, 삭제할때 사용

종류 역할
CREATE 생성
ALTER 수정
DROP 삭제
TRUNCATE 초기화

 

DML (Data Management Langauge, 데이터 조작어)

테이블 내 데이터를 조작할때 사용

종류 역할
SELECT 조회
INSERT 삽입
UPDATE 수정
DELETE 삭제

 

DCL (Data Control Langauge, 데이터 제어어)

데이터를 제어한다.

보안, 무결성, 회복, 병행 수행 제어 등을 정의할때 사용

종류 역할
GRANT 권한이양
REVOKE 권한 회수

 

 

ACID, 트랜잭션의 주요 속성

원자성(Atomicity) - 한 트랜잭션은 모두 수행되거나 모두 수행되지 않아야한다.

ex) A계좌에서 10만원을 B계좌로 송금하는 것을 한 트랜잭션으로 묶었다고 해보자

이때 A계좌에서 10만원 인출까지만 하고 트랜잭션이 취소된다면, 10만원은 어떻게 해야하는가?

일관성(Consistency) - 기존의 상태가 정상적인 상태라면 수행 후에도 정상적인 상태여야 한다.

ex) 일반 통장에서 10만원 인출시 - 안되도록 막은것 생각..

고립성(Isolation)  - 한 트랜잭션이 실행되는 동안 다른 트랜잭션이 수행할 수 없다.

ex) 10만원이 들어있는 A계좌에서 10만원을 B 계좌로 송금하는 과정이 완료가 되면 A계좌는 10만원이 인출 되어야 한다. 하지만 해당 작업이 완료되기 전에 A계좌에서 C계좌로 10만원을 송금 하는 트랜잭션이 개입하게 되면

A계좌에서는 10만원이 빠지지만, B,C 계좌에 각각 10만원이 들어가는 문제가 발생할 수 있다.

영속성(Durability) - 완료된 트랜잭션은 데이터베이스에 영구적으로 보존되어야 한다.

ex) A계좌에서 10만원을 송금하면 송금한 후의 잔액으로 저장되어야한다.

 

 

현재 주로 사용되는 DBMS는 Oracle, MySQL, MsSQL 정도가 있다.

Oracle , 오라클

미국 오라클사의 관계형 데이터베이스 관리 시스템, 

대량의 정보관리를 할 때 가장 좋은 성능

 

MySQL

오픈소스 RDBMS

다중스레드, 다중사용자 형식의 구조질의어 형식, 오라클이 관리 및 지원한다. 

 

MsSql ,Microsoft SQL Server

마으크로소프트가 사이베이스(Sybase)를 기반으로 개발한 관계형 데이터베이스

 

 

반응형

'Study > IT Knowledge' 카테고리의 다른 글

2024년 프로그래밍 언어 점유율(global)  (0) 2024.07.26

댓글