으쌰으쌰💪/SQL

SQL 기본 - DDL (Data Definition Language)

_꼬마돌 2023. 8. 24. 00:02
반응형

주요 데이터 유형(타입) 정리

CHAR(L)

- 고정 길이 문자열. 고정 길이를 가지고 있으므로 할당된 변수의 값이 L값보다 작을 경우 그 차이만큼 공백으로 채워진다.

 

VARCHAR2(L)

- 가변 길이 문자열. L만큼의 최대 길이를 가진다. L값보다 작을 경우 해당 값만큼만 공간을 차지한다. 

 

NUMBER(L, D)

- 정수, 실수를 저장한다. L값은 전체 자릿수, D값은 소수점 자릿수를 나타낸다. 

 

L : 전체 자릿수는 숫자의 총 자릿수를 나타낸다. 이는 정수 부분과 소수점 이하 부분을 모두 포함한 숫자의 총 길이를 말한다. 

D : 소수점 이하 자릿수는 소수점 다음에 몇 개의 숫자가 올 수 있는지를 나타낸다. 

 

예를 들어 NUMBER(5, 2) 는 총 5자리를 가지는 숫자를 의미한다. 여기서 소수점을 제외한 정수 부분은 3자리를 차지하며, 소수점 이하 부분은 2자리를 차지한다. 따라서 이 숫자는 "정수부.소수부" 의 형태로 표현된다.

NUMBER(5) 와 같이 소수점 이하 자릿수를 명시하지 않으면 정수만 저장하는 데 사용된다.

 

DATE

- 날짜와 시각정보 "년월일시분초"를 표현한다.

 

---

데이터 유형은 데이터베이스의 테이블에 특정 자료를 입력할 때, 그 자료를 받아들일 공간을 자료의 유형별로 나누는 기준이다. 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 데이터베이스는 에러를 발생시킨다.

---

 

CREATE TABLE

- 테이블 명은 단수형을 권고한다. 

- 테이블 명은 같은 Owner 내 다른 테이블과 중복되어서는 안 된다. 

- 한 테이블 내에서 컬럼 명이 중복되어서는 안 된다. 

- 테이블 생성문 끝은 ';' 로 끝나야 한다.

- 반드시 데이터 유형을 지정해야 한다. 

- 테이블 명과 칼럼 명은 반드시 문자로 시작해야 한다. 

- A-Z, a-z, 0-9, _, $, # 문자만 허용된다.  

 

제약조건 (CONSTRAINT)

- 사용자가 원하는 조건의 데이터만 유지하기 위해 생성한다. 

- 데이터의 무결성을 유지하기 위한 데이터베이스의 보편적인 방법으로 테이블의 특정 컬럼에 설정하는 제약이다. 

 

제약 조건의 종류

기본키 (Primary Key)

- 테이블에 저장된 행을 고유하게 식별하기 위한 제약조건이다. 하나의 테이블에 단 하나의 기본키만 정의할 수 있다.

- 기본키 생성 시 DBMS는 자동으로 UNIQUE 인덱스를 생성한다. 

- 기본키 컬럼에는 NULL 입력이 불가하다.

 

고유키 (Unique Key)

- 테이블에 저장된 행 데이터를 고유하게 식별하기 위해 생성한다. 

- NULL 입력 가능

 

NOT NULL

- NULL 값의 입력을 금지한다. 필수적으로 값이 들어가야 하는 컬럼이 된다.

 

CHECK

- 입력할 수 있는 값의 종류 및 범위를 제한한다. 

 

외래키 (Foreign Key)

- 다른 테이블의 기본키를 외래키로 지정하는 경우 생성한다. (참조무결성제약조건)

 

---

NULL(ASCII Code 00번)은 공백(BLANK, ASCII Code 32번)이나 숫자 0(ZERO, ASCII 48)과는 전혀 다른 값이며, 조건에 맞는 데이터가 없을 때의 공집합과도 다르다. NULL은 "아직 정의되지 않은 미지의 값"이거나, "현재 데이터를 입력하지 못 하는 경우"를 의미한다. 

데이터 입력 시에 컬럼의 값이 지정되어 있지 않을 경우 기본값(DEFAULT)을 사전에 설정할 수 있다. 데이터 입력 시 명시된 값을 지정하지 않은 경우에 NULL값이 입력되고, DEFAULT값을 정의했다면 해당 컬럼에 NULL값이 입력되지 않고 사전에 정의된 값이 자동으로 입력된다. 

---

반응형