728x90
SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터를 제어하기 위해 사용하는 언어다.
사용자들은 데이터들을 집합에서 필요로 하는 데이터를 꺼내서 조회하고 새로운 데잍터를 입력, 수정, 삭제하는 행위를 통해 데이터베이스와 대화하게 된다. 그리고 SQL은 이러한 대화를 가능하도록 매개 역할을 한다.
결과적으로 SQL문장을 배우는 것이 곧 관계형 데이터베이스를 배우는 기본 단계라 할 수 있다.
SQL 문장의 종류
명령어의 종류 | 명령어 | 설명 |
데이터 조작어 (DML, Data Manipulation Language) |
SELECT | 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명렁어로 RETRIEVE라고도 한다. |
INSERT UPDATE DELETE |
데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말한다. | |
데이터 정의어 (DDL, Data Definition Language) |
CREATE ALTER DROP RENAME |
테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들이다. 구조를 생성, 변경, 삭제하거나 이름을 바꾸는 데이터 구조와 연관된 명렁어들이다. |
데이터 제어어 (DCL, Data Control Language) |
GRANT REVOKE |
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어. |
트랜잭션 제어어 (TCL, Transaction Contrl Language) |
COMMIT ROLLBACK |
논리적인 작업 단위를 묶어서 DML에 의해 조작된 결과를 작업 단위(트랜잭션)별로 제어하는 명령어. |
관계대수
- 관계대수란?
릴레이션(relation, 행과 열로 구성된 2차원의 테이블)을 처리하는 연산의 집합
관계대수에는 크게 2가지의 연산자가 존재한다.
- 일반집합 연산자 : union, intersect, difference, cartesian product
- 순수 관계 연산자 : selection, projection, join, division
일반 집합 연산자
일반 집합 연산자는 또 크게 4가지로 이루어진다. 4가지 기능은 SQL에서 아래와 같은 기능으로 구현이 가능하다.
- Union (합집합) : Union연산은 UNION연산으로 구현이 가능하다. ( UNION 연산은 중복은 제거하기위해 정렬연산이 진행되는데, UNION연산 결과와 UNION ALL 연산 결과가 같다면 정렬 연산이 없는 UNION ALL 연산을 하는 것을 추천한다.)
- Intersection (교집합) : Intersection연산은 INTERSECT연산으로 구현이 가능하다.
- Difference (차집합) : Difference연산은 EXCEPT연산으로 구현이 가능하다.
- Product (곱집합) : Product연산은 CROSS JOIN기능으로 구현이 가능하다.
순수 관계 연산자
순수 관계 연산자는 크게 4가지로 이루어진다. 4가지 기능은 SQL에서 아래와 같이 구현되었다.
- Select : Select연산은 WHERE 절로 구현됐다.
- Project : Project연산은 SELECT 절로 구현됐다.
- JOIN : JOIN연산은 다양한 JOIN기능으로 구현됐다.
- Divide : Divide연산은 현재 사용되지 않는다.
728x90
'DataBase > SQLD,SQLP' 카테고리의 다른 글
[MSSQL] 윈도우 함수 ROW_NUMBER() 순차번호 할당 (0) | 2022.05.04 |
---|---|
[MSSQL] 윈도우 함수 RANK() OVER 다루기 / DENSE_RANK() (0) | 2022.05.04 |
[MSSQL] 집합 연산자 (0) | 2022.05.02 |
[MSSQL] 서브 쿼리 SubQuery (0) | 2022.05.01 |
[SQLD/SQLP] SELECT 절 (0) | 2022.02.22 |