정보처리/데이터베이스구축

SQL 응용 데이터베이스 기본 3/3

피갓자 2025. 3. 14. 09:00

SQL 응용 데이터베이스 기본
SQL 응용 데이터베이스 기본 3/3

트랜잭션

DML

데이터 조작어(DML, Data Manipulation Language)의 개념

데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 명령어

DML 명령어

SELECT : 테이블 내 컬럼에 저장된 데이터 조회

INSERT : 테이블 내 컬럼에 데이터 추가

UPDATE : 테이블 내 컬럼에 저장된 데이터 수정

DELETE : 테이블 내 컬럼에 저장된 데이터 삭제

SELECT(데이터 조회) 명령어

SELECT 명령어 개념

SELECT [ALL|DISTINCT] 속성명1, 속성명2, ...
FROM 테이블명1, ...
[WHERE 조건]
[GROUP BY 속성명1, ...]
[HAVING 그룹조건]
[ORDER BY 속성 [ASC|DESC]];

SELECT 절 : 검색하고자 하는 속성명, 계산식 기술(ALL : 전체, DISTINCT : 중복 제거)

FROM 절 : 질의에 의해 검색될 데이터들을 포함하는 테이블명 기술

WHERE 절 : 검색할 조건 기술

GROUP BY 절 : 속성값을 그룹으로 분류하고자 할 때 사용

HAVING 절 : GROUP BY에 의해 분류한 후 그룹에 대한 조건 지정

ORDER BY 절 : 속성값을 정렬하고자 할 때 사용(ASC : 오름차순, DESC : 내림차순)

 

조인(Join)

두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법으로 두 릴레이션으로부터 관련된 튜플들을 결합하여 하나의 튜플로 만드는 가장 대표적인 데이터 연결 방법

 

논리적 조인 유형

내부 조인(Inner Join) : 공통 존재 컬럼의 값이 값은 경우를 추출하는 기법

외부 조인(Outer Join) : 조인 조건에 충족하지 않는 데이터도 추출하는 기법

교차 조인(Cross Join) : 조인 조건이 없는 모든 데이터 조합을 추출하는 기법

셀프 조인(Self Join) : 자기 자신에게 별칭을 지정한 후 다시 조인하는 기법

 

서브쿼리(Subquery)

SQL 문 안에 포함된 또 다른 SQL 문

 

서브쿼리 유형

SLELCT 절 서브쿼리 : 스칼라 서브쿼리(Scalar Subquery)라고 불림

FROM 절 서브쿼리 : 인라인 뷰(Inline View)라고 불림

WHERE 절 서브쿼리 : 중첩 서브쿼리(Nested Subquery)라고 불림

 

집합 연산자(Set Operator)

테이블을 집합 개념으로 보고, 두 테이블 연산에 집합 연산자를 사용하는 방식으로 두 개 이상의 질의 결과를 하나의 결과로 만듦

 

집합 연산자 유형

UNION : 중복 행이 제거된 쿼리 결과를 반환

UNION ALL : 중복 행이 제거되지 않은 쿼리 결과를 반환

INTERSECT : 두 쿼리 결과에 공통적으로 존재하는 결과를 반환

MINUS : 첫 쿼리에 있고 두 번째 쿼리에는 없는 결과를 반환

INSERT(데이터 삽입) 명령어

INSERT INTO 테이블명(속성명1, ...)
VALUES (데이터1, ...);

UPDATE(데이터 변경) 명령어

UPDATE 테이블명
SET 속성명 = 데이터, ...
WHERE 조건;

DERETE(데이터 삭제) 명령어

DELETE FROM 테이블명
WHERE 조건;

DCL

데이터 제어어(DCL, Data Control Language)의 개념

데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 데이터베이스 관리자(DBA, DataBase Administrator)가 사용하는 명령어

DCL 명령어

GRANT : DBA가 사용자에게 데이터베이스에 대한 권한을 부여

REVOKE : DBA가 사용자에게 부여했던 권한을 회수

 

GRANT(권한 부여) 명령어

GRANT 권한 ON 테이블 TO 사용자;

 

REVOKE(권한 회수) 명령어

REVOKE 권한 ON 테이블 FROM 사용자;