
DB는 나열된 데이터를 저장하고 조회하는 프로그램이다.
쇼핑몰에서 여러 데이터 정보, CSV 또는 EXCEL 같은 것도 DB라고 할 수 있다.
데이터베이스느 구조적인 형태를 유지하기 위해 효율적인 데이터 저장 규칙이 존재한다.
DB Management System으로 위 DB에 대한 CRUD 엔진, 관리 등을 제공한다.
데이터에 대한 스키마(테이블) 정의(DDL), 저장 및 분석(DML) 그리고 관리를 제공하는 응용 프로그램이다.
프로그램을 생성하는 다양한 언어 및 엔진이 있는것처럼 DB도 데이터에 대한 다양한 DBMS 가 존재.
(1) 데이터 + (2) 엔진 (데이터 / 스키마 조작, 쿼리 최적화 포함) + (3) 관리
실시간 접근성 : DB는 사용자의 요구에 신속하게 정확하게 응답이 가능해야 한다는 특징. (상품 주문, 검색)
계속적인 변화 : 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지. (가격 정보 최신화)
동시 공용 : 다수의 사용자가 동시에 같은 내용의 데이터를 이용 가능. (여러 고객이 같은 상품 조회)
내용에 의한 참조 : DB에 있는 데이터를 참조할 때 사용자의 요구에 따른 데이터 내용으로 데이터의 위치나 주소로 데이터를 찾는다. (URL 주소)

DDL은 DB의 구조를 정의, 제거, 변경할 수 있고 데이터 형식과 접근 방식 등 DB를 새로 생성하거나 변경할 목적으로 사용한다.
외부 스키마를 정의하거나 DB의 논리적, 물리적 구조를 정의하고 제약 조건을 규정.
사용자가 데이터를 변경, 삭제, 검색을 할 수 있게 하는 도구로 사용자와 DBMS 간의 인터페이스를 제공.
사용자가 필요한 데이터를 찾아오게 DB에 구체적으로 기재하는 절차적 조작 언어와 사용자가 필요한 데이터를 명확하게 정의하지 않고 다양하게 찾도록 기재하는 비절차적 조작 언어가 있음.
데이터 조작 언어는 데이터의 연산 및 데이터의 관계를 정확하게 명시해야 구하려는 값의 정확성이 높아짐.
질의어
사용자가 DB에 쉽게 접근할 수 있게 대화식의 자연어로 만든 비절차적 조작 언어

데이터 제어 언어는 무결성, 데이터 회복, 보안 및 사용자별 데이터 권한 제어 등을 위한 언어.
주로 데이터를 보호하고 관리하기 위한 목적.

SAVEPOINT : 현 시점에서 SAVEPOINT를 정의하면 롤백할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백할 수 있다.
또한 복수의 저장점을 정의할 수 있으며, 동일이름으로 저장점을 정의했을 때는 나중에 정의한 저장점이 유효하다.
SET TRANSACTION : Transaction 지정.
🔗 https://ddoggu2023.tistory.com/entry/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%EC%9D%98-%EA%B0%9C%EB%85%90-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%96%B8%EC%96%B4 - DDL, DML, DCL이란
🔗 https://velog.io/@jude0124/DBMS-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%96%B8%EC%96%B4-DDL-DML-DCL-TCL - DBMS 데이터 언어 _ SQL의 종류