[데이터베이스시스템] 데이터베이스 언어-1
SQL의 개요
- SQL은 관계대수에 기초하여 RDBMS의 데이터 관리를 위해 설계된 언어
- 1986년 ANSI, 1987년 ISO에서 표준으로 제정
- 비절차적(선언형) 언어, 필요한 데이터만 기술
- 인간의 언어와 매우 유사하고 간단, 명
DDL : 데이터 정의 언어
- 데이터 베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합
- 데이터가 준수해야 하는 제약 조건을 기술
- 데이터베이스 객체의 종류
- 데이터 저장 : 테이블, 인덱스, 뷰
- 데이터 조작 : 트리거, 프로시저, 함수
- 데이터 저장 : 테이블, 인덱스, 뷰
- 데이터 정의 명령어의 종류
- CREATE : 객체 생성
- ALTER : 객체 수정
- [ADD COLUMN 컬럼 데이터타입 [제약조건]]
- [DROP COLUMN 컬럼 이름]
- [CHANGE COLUMN 수정전컬럼 수정후컬럼]
- [MODIFY COLUMN 컬럼 데이터타입]
- [ADD COLUMN 컬럼 데이터타입 [제약조건]]
- DROP : 객체 삭제
- CREATE : 객체 생성
- 데이터 타입의 개념
- 컬럼이 가질 수 있는 값의 범위, 즉 도메인을 결정
- 프로그래밍 언어에서 변수를 생성하는 데이터 타입의 사용목적과 방법이 유사
- 정수
1) TININY : 1바이트 정수, -128 ~ 127
2) SMALLINT : 2바이트 정수, -32768~32767
3) INT : 4바이트 정수 - 약 -20억 ~20억
4) BIGINT : 8바이트 정수 - 실수
1) 고정소수형 :
1) DECIMAL(M,N) - 전체 M자리, 소수점 이하 N자리 숫자
2) NUMERIC : DECIMAL과 동일
2) 부동소수형 :
1) FLOAT : 4바이트 크기 부동 소수
2) FLOAT(P) : 소수점 이하 P개 자리의 부동 소수
3) DOUBLE : 8바이트 크기 부동 소수형 - 날짜 및 시간 데이터 타입
1) DATE : ‘YYYY-MM-DD’ 형식의 시간
2) YEAR : ‘YYYY’ 형식의 연도
3) TIME : ‘HH:MI:SS’ 형식의 시간
4) DATETIME : ‘YYYY-MM-DD HH:MI:SS’ 형식의 날짜 및 시간
5) TIMESTAMP - DATETIME과 동일 - 문자 데이터 타입
1) CHAR(N) - 최대길이가 N인 고정길이 문자열
2) VARCHAR(N) - 최대 길이가 N인 가변길이 문자열
3) TEXT, CLOB : 길이가 최대 2~4GB인 가변 길이 문자열
4) ENUM : 유한개의 문자열 집합 중 하나의 값을 선택
- 컬럼이 가질 수 있는 값의 범위, 즉 도메인을 결정
DDL 제약조건
테이블과 테이블에 존재하는 데이터를 보다 무결하게 관리하기 위한 목적으로 사용
- PRIMARY KEY : 기본키 지정, UNIQIE && NOT NULL
- FOREIGN KEY : 외래키 지정, 참조 컬럼 정의
- NOT NULL : NULL이 될 수 없는 컬럼에 지정
- UNIQUE : 동일한 컬럼 값을 가질 수 없음을 지정
- AUTO_INCREMENT : 레코드가 추가 될 때 자동적으로 속성값이 증가되어 입력
- CHECK : 컬럼값이 특정 조건 준수 여부 지정