[DB] RDBMS,DCL,DDL,DML
목차
RDBMS란?
- 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)
- 테이블(table) 기반의 DBMS
주요 특징은 다음과 같다.
- 데이터를 테이블 단위로 관리한다.
- 하나의 테이블은 여러 개의 컬럼으로 구성된다.
- 중복 데이터를 최소화한다.
- 같은 데이터가 여러 컬럼 또는 여러 테이블에 존재하면 데이터 수정 시 문제가 발생할 가능성이 높아진다. → 이를 줄이기 위해 정규화를 수행한다.
- 여러 테이블에 분산된 데이터를 검색한다.
- 검색 시 테이블 간의 관계(join)를 이용해 필요한 데이터를 가져온다.

SQL
- 데이터베이스에 있는 정보를 사용할 수 있도록 지원하는 언어
- 모든 데이터베이스에서 사용 가능
- 대소문자는 구별하지 않는다.

SQL 구문은 DDL, DML, DCL로 구분하며, 아래와 같은 종류가 있다.

SQL의 종류
1. DML (데이터 조작어, Data Manipulation Language)
- 데이터를 조작하는 기능
- 테이블의 레코드를 CRUD(Create, Read, Update, Delete)

2. DCL (데이터 제어어, Data Control Language)
- 데이터나 테이블의 접근 권한, CRUD 권한을 정의
- 특정 사용자에게 테이블의 검색 권한을 부여하거나 금지
3. TCL (트랜잭션 제어어, Transaction Control Language)
- 트랜잭션이란 데이터베이스의 논리적 연산 단위를 의미한다.
DDL (데이터 정의어, Data Definition Language)




MySQL 데이터 타입





MySQL 테이블 생성

테이블 생성과 제약조건
제약조건이란 다음과 같다.
- 컬럼에 저장될 데이터의 조건을 설정하는 것.
- 제약조건을 설정하면 조건에 위배되는 데이터는 저장할 수 없다.
- 테이블 설정 시 컬럼에 직접 지정하거나
constraint로 지정할 수 있고,alter를 사용해 설정할 수도 있다.




DML



DML (SELECT)





내장함수
MySQL 내장함수는 다음과 같이 분류할 수 있다.
- 숫자 관련 함수
- 문자 관련 함수
- 날짜 관련 함수
- 논리 관련 함수
- 그룹 함수












트랜잭션
트랜잭션이란 데이터베이스의 상태를 변화시키는 일종의 작업 단위를 의미한다.
