DBMS : 데이터베이스를 관리해주는 시스템 (오라클, MySQL과 같은 데이터베이스 관리 프로그램)
데이터베이스 : 데이터를 저장할 공간
DBMS 클라이언트 : 데이터베이스를 사용하는 어플리케이션. DB
데이터를 저장하려면 데이터를 저장할 공간인 데이터베이스를 만들어줘야 한다.
GRANT 쿼리 -> MySQL, DBMS 계정에 권한을 부여할 때 사용하는 명령어,
all privilieges이면 모든 권한을 부여한다.
SQL기초
Sturected Query Lanaguage
데이터베이스로부터 데이터를 조회하고 삭제하는 등의 작업을 수행할 때 사용하는 언어
CHAR 확정 길이의 문자열을 저장한다. 표준의 경우 255글자까지만 저장
VARCHAR 가변 길이의 문자열을 저장함. 표준의 경우 255글자까지만 저장
LONG VARCHAR : 긴 가변 길이의 문자열을 저장
NUMBERIC : 숫자를 저장
DECIMAL : 십진수를 저장
INTEGER : 정수를 저장
TIMESTAMP : 날짜와 시간을 저장
TIME : 시간을 저장
DATE : 날짜를 저장
CLOB : 대량의 문자열 데이터를 저장
BLOB : 대장의 이진 데이터를 저장
표준 SQL 타입이 존재하긴 하지만, DBMS는 표준 SQL 타빙 뿐만 아니라 DBMS 자체적으로 확장 타입을 추가로 제공한다.
VARCHAR2는 4000바이트까지 저장가능함
테이블 생성 쿼리
TABLENAME : 테이블을 식별할 때 사용할 이름
COL_NAM : 각 칼럼의 이름
COL_TYPE : 각 칼럼에 저장될 타입
LEN : 저장될 값의 최대 길이
NOT NULL 필수값
PRIMARY KEY
주요키
engine=InnoDB는 MYSQL에서 사용된다. 이 구문은 해당 저장 엔진을 사용해서 생성한다는 것을 의미한다.
사용하는 이유는 트렉잭션 때문인데 이를 사용하지 않으면 트랜잭션이 올바르게 처리되지 않음
데이터 삽입 쿼리
칼럼 목록을 표시하지 않으면 전체 칼럼에 대한 값을 지정해야 하낟.
칼럼명을 입력하지 않고도 칼럼의 값을 순서대로 지정해도 된다.
레코드 = 로우(row)
스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
스키마는 데이터베이스를 구성하는 데이터 개체속성 및 관계 및 데이터 조작시 데이터 값들이 갖는 제약 조건등에 관해 전반적으로 정의한다
스키마는 사용자의 관점에 따라 외부스키마, 개념 스키마, 내부 스키마로 나눠진다.
스키마의 특징
스키마는 데이터 사진에 저장되며, 다른 이름으로 메타 데이터라고 한다.
스키마는 시간에 따라 불변함.
데이터 구조적 특성을 의미하며, 인스턴스에 의해 규정됨
스키마의 종류
외부 스키마
개념 스키마
내부 스키마 = 저장 스키마
조회 및 조건
SELECT쿼리는 기본적으로 모든 레코드의 목록을 가져온다
트랜잭션이란
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 연산되어야 하는 일련의 연산들
하나의 트랜잭션은 Commit되거나 Rollback된다
1. 원자성 : 모두 반영되던지 아니면 전혀 반영되지 않아야 한다.
2. 모든 명령은 완벽히 수행 되어야 하고, 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
일관성
독립성, 격리성
영속성 지속성
같지 않음을 표현할 때에는
LIKE 조건을 사용해서 특정 문장을 포함하고 있는지 검사할 수 있다