데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어
- DML (DATA MANIPULATION LANGUAGE) : Select, Insert, Update, Delete
- DDL (DATA DEFINITION LANGUAGE) : Create, Alteer, Drop, Rename
- DCL (DATA CONTROL LANGUAGE) : Grant, Revoke
- TCL (TRANSACTION CONTROL LANGUAGE): Commit, Rollback
관계형 데이터베이스의 기본 단위 ( 데이터를 저장하는 객체 )
테이블은 하나 이상의 COLUMN을 가짐
행/칼럼/필드의 구조를 지님
- 정규화 : 테이블을 분할하여 데이터의 불필요한 중복 제거
- 기본키 : 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 컬럼
- 외부키 : 다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼
- 데이터 유형 ( 자주 사용 하는 )
1 . Character(s) : 고정 길이 문자열 정보
2 . Varchar(s) : 가변 길이 문자열 정보 / s 만큼의 최대 길이
char와 varchar의 차이!!
- char는 공백을 채워서 비교! , varchar는 공백을 채우지 않고 비교!
(ex. char 유형 'aa' = 'aa ' 같다고 판단, varchar 유형 'aa'≠'aa ' 다르다고 판단)
( ! 단, char도 끝의 공백만 다른 문자열을 같다고 취급 )
- 즉, varchar의 경우 공백도 하나의 문자로 취급, 공백이 다르면 다른 문자!!
3 . Numeric : 정수, 실수 등 숫자 정보
(전체 자리 수 지정 & 소수 부분 지정 : ex. NUMBER(8,2) / 전체 8자리 중 소수 2자리 )
4 . DATETIME : 날짜와 시각 정보
테이블 생성 : 모든 데이터를 고유하게 식별할 수 있는 기본키 설정 필요!
- 테이블 간의 관계는 기본키 / 외부키 사용해서 설정CREATE TABLE 테이블이름 (칼럼명1 DATATYPE [DEFAULT 형식], 칼럼명2 DATATYPE [DEFAULT 형식]);
- 테이블 생성 시 주의 사항
- 테이블 생성 시 대/소문자 구별 x (보통 대문자 사용!)
- 문자 데이터 유형은 반드시 가질 수 있는 최대 길이 표시!
- 칼럼과 칼럼은 , 로 구분하되 마지막 칼럼은 콤마 x
- 제약조건이 있는 경우 CONSTRAINT를 이용하여 추가 가능
- 제약 조건
- 데이터의 무결성을 유지하기 위한 데이터베이스의 보편적 방법, 특정 컬럼에 설정하는 제약!
1. PRIMARY KEY
- 하나의 테이블에 하나의 기본키만 가능!
- 자동으로 UNIQUE 인덱스 생성 , 기본키 칼럼은 NULL X
- 기본키 제약 = 고유키 제약 & NOT NULL 제약!
2. UNIQUE KEY
- 각 행은 다른 값을 가져야 한다!
- 단, null은 제약 대상이 아님 ( null 행 여러개 OK )
3. NOT NULL
- 입력을 금지!
- 디폴트 상태에서는 null 허용 , not null 시 해당 입력 필수
4. CHECK
- 입력할 수 있는 값의 범위 등을 제한
- check 제약으로는 true, false로 평가할 수 있는 논리식을 지정
- Ex ) ALTER TABLE table ADD CONSTRAINT CHECK (col NOT IN ('X'));
// col에는 'X'를 저장할 수 없음!
5. Foreign Key
- 테이블 간의 관계를 정의 , 기본키를 다른 테이블의 외래키로 복사하는 경우 생성
- 외래키 지정시 참조 무결성 제약 옵션 선택 가능
( Ex. not action, set null, casecade, set default 등 )
- Select 문을 통한 테이블 생성 !
- select 문장을 활용해서 테이블을 생성하는 방법
CREATE TABLE TEAM_A AS SELECT * FROM TEAM ;