DataBase/SQLD

[SQL 핵심요약] SQL 기본

sherrylover 2021. 3. 19. 00:19
728x90
반응형

*SQL(Structured Query Language)

-관게형 데이터 베이스에서 데이터 정의,데이터 조작,데이터 제어를 하기 위해 사용하는 언어

 

 

명령어 종류 명령어 특징
DML
(Data Manipulation Language)
select, insert, update, delete, merge 데이터를 조작
Not Auto Commit
DDL
(Data Definition Language)
create, alter, drop, rename,truncate 테이블 구조 관련되어 사용
Auto Commit
DCL
(Data Control Language)
grant, revoke DB에 접근하기위한 권한 관련
TCL
(Transcation Control Language)
commit, rollback, savepoint(저장점) DML에 조작된 결과를 작업단위(트랜잭션)별로 제어

 

*TABLE

-행과 칼럼의 2차원 구조를 가진 데이터의 저장소, 데이터베이스의 가장 기본적인 개념

-칼럼/열(Column) > 세로방향으로 이루어진 하나하나의 특정 속성

- 행(Row) > 가로방향으로 이루어진 연결된 데이터

 

 

*테이블 관계용어들

1) 정규화(Normalization)

-테이블을 분할 후 데이터의 정합성을 확보하고, 불필요한 중복을 줄이는 프로세스

2) 기본키(Primary key)

-테이블에 존재하는 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼

3)외부키(Foreign key)

-다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼

 

*제약조건(Constraint)

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

-ALTER TABLE을 이용해서 추가하거나 초기 테이블 생성 시점부터 제약조건 생성

 

 

*제약조건의 종류

구분 설명
기본키
(Primary Key)
고유하게 식별하기 위한 기본키
NOT NULL
고유키
(Unique Key)
고유하게 식별하기 위한 고유키
NULL 가능
NOT NULL 모든칼럼에서 디폴트상태는  NULL허용,이 제약을 지정하면 해당 칼럼은 입력 필수
CEHCK 입력할 수 있는 값의 범위 등을 제한한다,
TRUE  or FALSE로 평가할 수 있는 논리식을 지정함
외래키
(Foreign Key)
테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키 생성
외래키 지정시 참조 무결성 제약 옵션 선택 할 수 있다.

 

*NULL의 의미

-모르는 값, 정의 되지 않은 미지의 값, 현재 데이터를 입력하지 못하는 경우

- 값의 부재를 의미

- null 과의 모든 비교(IS NULL제외)는 알 수 없음(UNKONWN)을 반환한다.

- 데이터가 없을 때의 공집합과도 다른 의미임

 

 

*트랜잭션의 특성

-원자성

-일관성

-고립성

-지속성

 

*연산자 우선순위

1. 괄호()

2.NOT연산자

3.비교연산자, SQL비교연산자 (Between a AND b, IN,LIKE, IS NULL)

4.AND

5.OR

 

*관계형 대수의 일반집합 연산자와 SQL문법

연산자  SQL 문법
UNION연산(합집합연산) UNION / UNION ALL
INTERSECTION 연산(교집합 연산) INTERSECT
DIFFERENCE 연산(차집합 연산) EXCEPT / MINUS
PRODUCT 연산(곱집합 연산) CROSS JOIN

 

*NULL값과의 비교연산은 거짓(FALSE)을 리턴한다.

*NULL값과의 수치연산은  NULL값을 리턴한다.

 

*단일행 NULL관련 함수

NVL(표현식1,표현식2)

ISNULL(표현식1,표현식2)

>> 표현식1이 NULL 이면 표현식2값 리턴

 

NULLIF(표현식1,표현식2)  >> 표현식1이 표현식2와 같으면   NULL, 같지 않으면 표현식1 리턴

COALESCE(표현식1,표현식2) >> 모든 표현식이 NULL 이라면 NULL리턴, 아니면 표현식2리턴

 

 

728x90
반응형