본문 바로가기

빅데이터/개념 정리

데이터베이스의 기초, DBMS

 

DBMS 란 

다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. 
DBMS은 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.

 

 

DBMS의 역할과 필요한 이유가 뭘까?

혼란스러운 창고 창고를 이용하려는 직원은 자신이 원하는 것을 찾기 위해 노력해야 한다. 잘 정리된 창고 창고 관리인이 물건의 특징이나 쓰임새에 따라 분류해 놓는다면 쉽게 찾을 수 있다. 1. DBMS(DataBase..

hgserver.tistory.com

 

Database 용어

식별자(identifier): 여러개의 집합체를 담고있는 관계형 데이터베이스에서 구분할 수 있는 논리적인 개념

1) 유일성: 하나의 릴레이션에서 모든 행은 서로 다른 키 값을 가져야 한다.
2) 최소성: 꼭 필요한 최소한의 속성들로만 키를 구성해야 한다.

튜플(Tuple) : 테이블에서 을 의미합니다. 레코드(Record), 로우(Row) 같은 말이다.
튜플의 수는 카디날리티(Cardinality) 라고 한다.

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

 

무결성 제약조건

DB에 있는 데이터의 정확성(일관성)을 보장하기 위한 제약조건이다.
따라서 부정확한 자료가 데이터베이스에 저장되는 것을 방지하기 위함이다.

1) 개체 무결성: 릴레이션(테이블)에서 PK를 구성하는 속성은 null, 중복값을 가질 수 없다.
2) 참조 무결성: FK 값은 null이거나 참조 릴레이션의 PK 값과 동일해야 한다.

 

JDBC

JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. 
JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.

 

SQL

SQL(Structured Query Language, 구조화 질의어) 이다.
관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어이다. 

 

CRUD

기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다.

이름 조작 SQL
Create 생성 INSERT
Read(또는 Retrieve) 읽기(또는 인출) SELECT
Update 갱신 UPDATE
Delete(또는 Destory) 삭제(또는 파괴) DELETE

 

데이터베이스 언어

1) DDL 
데이터 정의 언어 (Data Definition Language)

  • CREATE: 테이블, VIEW, 인덱스, 프로시저를 만든다.
  • DROP: 테이블, 뷰, 인덱스, 프로시저를 제거한다. 
  • ALTER: 데이터베이스 개체에 대한 변경, RENAME의 역할을 한다. 
  • TRUNCATE: 테이블의 모든 로우를 제거한다. 

 

2) DML
데이터 조작 언어 (Data Manipulation Language)

  • SELECT: 검색 (질의)
  • INSERT: 삽입 (등록) 
  • UPDATE: 업데이트 (수정) 
  • DELETE: 삭제 

 

3) DCL
데이터 제어 언어 (Data Control Language)

  • GRANT: 특정 데이터베이스 사용자에게 특정 작업을 수행 권한을 부여
  • REVOKE: 특정 데이터베이스 이용자에게 부여한 특정 권한을 박탈 

 

4) TCL
트랜잭션을 제어하는 언어 (Transaction Control Language) 
데이터베이스의 논리적 연산단위이다.
하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함되며 분할할 수 없는 최소 단위이다.
트랜잭션 대상이 되는 SQL 문은 UPDATE, INSERT, DELETE 등 데이터를 수정하는 DML 이다.

  • COMMIT: 데이터에 대한 변경 사항이 데이터베이스에 반영된다.
  • ROLLBACK: 데이터에 대한 변경 사항은 취소된다.
  • SAVEPOINT: 저장점을 정의하면 현 시점에서 SAVEPOINT 까지 트랜잭션의 일부만 롤백할 수 있다. 복수의 저장점을 정의할 수 있다.
SAVEPOINT 포인트명1;
SAVEPOINT 포인트명2;
ROLLBACK TO 포인트명1;

 

DELETE, TRUNCATE, DROP의 차이


DELETE: 
데이터는 지워지지만 테이블 용량은 줄어 들지 않는다. 

원하는 데이터만 지울 수 있다. 
잘못 삭제 한 경우 삭제한것을 되돌릴 수 있다.


TRUNCATE: 
삭제후 용량이 줄어들고 인덱스 등도 모두 삭제된다. 

테이블이 삭제 되지는 않으나 데이터만 삭제한다. 
선택해서 지울 수 없다. 삭제 후 절대 되돌릴 수 없다


DROP: 
테이블 전체를 삭제, 공간, 객체를 삭제한다, 

삭제 후 절대로 되돌릴 수 없다.