데이터베이스란?
넓은 의미로 '정보의 모음'을 뜻한다.
정보를 쌓고, 여러가지 방식으로 활용하는 것은 데이터베이스와 소통한다고 할 수 있다.관계형 데이터베이스
데이터베이스를 체계적으로 관리하고 운영하는 소프트웨어.
생성, 수정, 삭제, 조회가 가능하다.관계형 데이터베이스 관리시스템(RDBMS)
- 데이터의 성격, 속성 또는 표현방법을 체계화 할 수 있다.
- 데이터 표준화를 통해 데이터 품질을 확보할 수 있다.
- 보안기능을 제공하고 데이터 무결성을 보장한다.
- 사용자가 데이터를 입력, 수정, 삭제할 수 있고 데이터를 회복/복구할 수 있다.
SQL이란?
새로운 정보를 데이터베이스에 넣고 수정하고 삭제하는 등의 행위
데이터베이스와 통신할 때 사용하는 구조화된 질의 언어를 뚯함.SQL 언어 분류
- DDL(Date Definition Language), 데이터 정의 언어
- 관계형 데이터베이스의 구조를 정의
- 테이블을 생성(Create), 변경(Alter, Rename), 삭제(Drop)할 수 있다.
- DML(Data Manipulation Lanuage), 데이터 조작언어
- 테이블에 저장된 데이터를 조작하는 언어
- 데이터를 삽입(Insert), 조회(Select), 수정(Update), 삭제(Delete) 할 수 있다.
- DCL(Data Control Lanuage), 데이터 제어언어
- 특정한 사용자의 데이터베이스 사용 권한을 부여(Grant)하거나 박탈(Revoke)할 수 있다.
- TCL(Data Transaction Control Language), 트랜잭션언어
- 논리적인 작업 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션)별로 제어하는 언어
- 트랜잭션의 특징(ACID)
- 원자성(Atomicity) : 하나의 트랜잭션이 데이터베이스에 모두 적용되거나 아니면 적용되지 않거나
- 일관성(consistency) : 트랜잭션 처리 결과는 항상 일관되어야 함
- 독립성(Isolation) : 하나의 트랜잭션이 다른 트랜잭션 결과에 영향을 줄 수 없음
- 지속성(Durability) : 트랜잭션 작업이 마무리 되는 경우 결과는 데이터베이스에 영구적으로 반영