데이터베이스는 저장장치내에 정리되어 저장된 데이터의 집합
-생산성
데이터 검색, 추가,삭제,갱신등의 처리를 제공한다
-기능성
복수요청 응답, 대용량데이터저장, 고속 검색등
-신뢰성
컴퓨터 여러대로 확장성과 부하분산 구현, export,import기능
ex) 회원가입의 아이디 비밀번호 주소등 테이블을 만들어서 데이터를 정의하는모든것
테이블과 인덱스 구조 관리
- Create : 테이블 생성
Column명과 데이터 타입 지정해서 생성, 데이터 타입(- Alter : 테이블 변경
- Drop : 테이블 삭제
- Truncate : 테이블 데이터베이스 삭제, 테이블자체가 지워지는것이 아니다
- Rename : 테이블 이름변경, Alter와 다르게 한번에 다수의 테이블 변경가능
테이블을 다른 데이터베이스로 이동시키는 기능도 있다
테이블 내의 요소들을 조작, 주로 많이 사용하는 언어
- Insert : 행데이터, 테이블데이터 삽입,데이터베이스 삽입, 자동 NULL값 초기화
- Delete : 테이블에서 특정행 삭제
- Update : 데이터베이스 수정
- Select : 테이블데이터 검색결과 집합, 조회/검색 (=Retrieve라고도 한다)
SQL은 FROM -> WHERE -> SELECT 순서대로 실행된다.
그렇기 때문에 SELECT에서 정의한 수식은 WHERE절에서 사용할 수 없다.
수식 자체를 WHERE에서 사용해야한다.
데이터에대한 엑세스를 제어
- Grant : 사용자(User)에게 접속권한,오브젝트생성권한,DBA권한등을 부여
- Revoke : 권한회수, 박탈
논리적인 작업의 단위를 묶는다, DML에의해 조작된 결과를 작업단위(트랜잭션)
별로 제어하는 명령어
- Commit : 트랜잭션처리가 정상적으로 종료되어 트랜잭션이 수행한 변경내용을 데이터베이스에 반영하는 연산
/ 내용변경 트랜잭션이 완료되면 그 트랜잭션에 의해 DB는 새롭게 일관된상태로 변경
이상태는 시스템오류가 나도 취소되지않는다
- Rollback : 하나의 트랜잭션처리가 비정상적으로 종료되어 DB의 일관성이 깨졋을때
트랜잭션이 행한 모든변경작업을 취소하고 이전상태로 되돌리는 연산
/ 해당트랜잭션은 받았던 자원과 잠금(Lock)을 모두 반환하고, 재시작 or 폐기된다
- Savepoint : 현재의 트랜잭션을 작게 분할하는 명령어
/ 저장된 SAVEPOINT는 ROLLBACK TO SAVEPOINT문을
사용하여 지정한 곳까지 ROLLBACK 할 수 있다.
/ 여러개의 SQL문을 수반하는 트랜잭션의 경우,
사용자가 트랜잭션 중간 단계에서 SAVEPOINT를 지정할 수 있다.
TCL은 DML에 포함되는것 같다
테이블명은 객체를 의미할 수 있는 적절한 이름을 사용한다. 가능한 단수형을 권고한다.
테이블명은 다른 이름과 중복되지 않아야 한다.
한 테이블 내에서는 컬럼명이 중복되게 지정할 수 없다.
테이블 이름을 지정하고 각 컬럼들은 괄호 "()" 로 묶어 지정한다.
각 컬럼들은 콤마 ","로 구분되고, 테이블 생성문의 끝은 항상 세미콜론 ";"으로 끝난다.
컬럼에 대해서는 다른 테이블까지 고려하여 데이터베이스 내에서는 일관성있게 사용하는 것이 좋다. (데이터 표준화 관점)
컬럼 뒤에 데이터유형은 꼭 지정되어야 한다.
테이블명과 컬럼명은 반드시 문자로 시작해야 하고, 벤더별로 길이에 대한 한계가 있다.
벤더에서 사전에 정의한 예약어 (Reserved word)는 쓸 수 없다.
A-Z, a-z, 0-9, _, $, # 문자만 허용된다.