markdown
데이터베이스란?
데이터를 저장해두고, 필요시 이것을 가져다가 사용하거나 수정/조회/삭제 하기 위한 자료 저장소
데이터베이스의 목표
지속적 데이터 관리 및 보호와, 안정성 및 무결성의 보장
데이터베이스의 특징
- 실시간 접근
- 동적인 변화에 대한 유연한 대처
- 동시 공용성 (특정인의 전유물이 되어선 안됨)
- 실제 데이터에 의한 참조
SQL?
Structured Query Language의 준말로, DataBase로부터 데이터를 조회/삭제/수정 등의 작업을 수행할 때 사용하는 질의 언어
질의란? 데이터베이스에게 어떠한 질문을 하여 결과를 도출하기
주요 SQL 구문
DDL (Data Definition Language)
- 데이터 정의어 (CREATE, ALTER, DROP)
- 데이터 구조를 정의(CREATE)하고, 구조 변경(ALTER) 및 테이블 삭제(DROP) 등을 수행하기 위한 문법
- 실행 주체: 객체 단위
DML (Data Manipulation Language)
- 데이터 조작어 (INSERT, UPDATE, DELETE)
- 행 단위로 데이터를 조작하기 위한 언어로 행을 추가(INSERT)하거나 특정 컬럼에 대한 데이터 수정(UPDATE), 삭제(DELETE) 등을 의미
- 실행 주체: 행 단위
DCL (Data Control Language)
- 데이터 제어문 (GRANT, REVOKE)
- 데이터 접근 권한 등에 대한 부여(GRANT), 접근 권한 삭제(REVOKE) 등의 목적으로 사용되는 언어
- 실행 주체: 사용자 단위
DQL (Data Query Language)
- 데이터 질의어 (SELECT)
- 질의(Query)를 통한 데이터 내용을 조회하기 위한 언어
TCL (Transaction Control Language)
- 트랜잭션 (COMMIT, ROLLBACK)
- 데이터를 영구적으로 저장하는 동작(Commit), DML 구문에 대하여 작업 취소하는 동작(RollBack) 등을 수행
DBMS란?
데이터베이스를 관리하기 위하여 필요한 SW 패키지의 집합체
DBMS 주요 기능
- 데이터의 추가/조회/변경/삭제가 가능해야함
- 데이터의 무결성이 유지되어야함
- 트랜잭션 관리가 되어야함
- 데이터 백업 및 복원이 가능해야함
- 데이터 보안을 중요시 생각함
데이터베이스 객체
데이터베이스를 구성하고 있는 개별적인 단위 요소
- 테이블: 행과 열로 구성된 2차원적인 표
- 시퀀스: 정수형 번호표 생성기
- 인덱스: 데이터 검색을 빨리 하기 위하여 만들어 둔 개념
- 프로시저: 반환 타입이 없는 객체
- 함수: 반환 타입이 있는 객체