본문 바로가기
방송통신대학교/3학년 1학기

[데이터베이스 시스템] 5강. SQL (2)

by 바른 호랑이 2025. 3. 25.
728x90
반응형

방송통신대학교 데이터베이스 시스템 강의 정리 자료입니다.

 

1. 데이터의 삽입

데이터 조작 언어의 개념

: 데이터 정의 언어로 정의된 데이터베이스 내의 데이터에 대해 여러 연산을 수행하기 위한 명령어의 집합으로 사용자에게 데이터베이스에 저장된 데이터를 처리할 수 있게 하는 일체의 도구를 제공함. 정의된 테이블 등에 레코드를 삽입, 수정, 삭제 및 검색하는데 사용되는 SQL 명령어들의 집합임. 데이터 조작 언어는 실행 즉시 반영되는 영구적 변경을 위한 명령어의 집합이 아니며 복구가 가능하다는 특징이 있음.(데이터 정의언어와 가장 큰 차이점이지만, DBMS에 따라 수정 시점이 달라질 수 있음.)

 

명령어의 종류

: CRUD를 위한 SQL 명령어의 종류로는 INSERT(삽입), UPDATE(수정), DELETE(삭제), SELECT(검색)가 있음.

 

INSERT 명령어

: 테이블에 새로운 레코드를 삽입하는 명령어로 모든 컬럼 또는 부분 컬럼에 대한 컬럼값을 입력하는 명령어이며, NOT NULL 제약조건이 있는 컬럼은 반드시 컬럼값을 입력해야함. 문자와 날짜 값은 반드시 따옴표(')로 처리해줘야함. VALUES()로 값을 삽입할 경우 VALUES()내부의 값들의 순서와 테이블에 정의된 컬럼 순서가 반드시 일치해야함.

테이블에서 검색의 결과를 새로운 레코드로 삽입시 사용하는 것도 가능함.

 

2. 데이터의 수정과 삭제

UPDATE 명령어

: 조건을 만족하는 레코드의 특정 컬럼값을 수정하는 명령어

UPDATE문을 수행하고 DBMS를 조회하면 반영된 것처럼 보이더라도 실제로 디스크에 반영하기 위해서는 추가적인 명령어를 사용해주어야함.

 

DELETE 명령어

: 조건에 일치하는 레코드 집합을 테이블에서 삭제하는 명령어임. 다만 특정 레코드의 컬럼값을 삭제하려면 UPDATE문을 사용하여 해당 레코드의 컬럼값을 NULL로 변경해주면됨. 만약 삭제(수정)하려는 레코드 값이 다른 테이블의 FK로 사용되어 참조무결성을 훼손하게 된다면 바로 삭제(수정)하지 않음. 이를 방지하기 위해서는 CASCADE문을 사용할 수 있음.

WHERE 절 확인

: 수정과 삭제 명령어는 변경 시 영향도가 크기 때문에 반드시 수정 또는 삭제하려는 값의 조건을 확인한 후 수행해주어야함.

 

3. 데이터의 검색

SELECT 명령어

: 한 개 이상의 테이블에서 주어진 조건에 만족하는 레코드를 출력하는 명령문로 관계 대수의 셀렉션, 프로젝션, 조인, 카티시안 프로덕트 연산자의 기능을 모두 포함함. 필수절인 SELECT절과 부가적인 목적으로 사용하는 절들을 혼합하여 검색기능을 구체화하는 형태로 사용함.

구문형식

- SELECT 절

: 결과에 포함되는 컬럼을 지정

 

- FROM 절

: 질의를 적용할 테이블을 지정

 

- ON 절

: 조인 조건을 지정

 

- WHERE 절

: 검색 대상 레코드의 조건을 지정

 

- GROUP BY 절

: 레코드를 그룹화하기 위한 그룹 조건을 지정

 

- HAVING 절

: GROUP BY 절이 적용된 결과에 대한 조건을 지정

 

- ORDER BY 절

: 검색 결과의 정렬 기준을 지정

 

단순 SELECT 문

: 레코드를 제한하지 않고 전체 테이블을 검색하는 SELECT문으로 WHERE 절이 없고 DISTINCT 키워드를 통해 중복 제거가 가능함. 물리적인 값으로 구성된 테이블은 추상적인 개념의 릴레이션과 달리 아래와 같이 중복이 발생할 수 있음.

조건 SELECT 문

: 산술연산식, 함수 등을 사용하여 표현한 조건을 WHERE 절에 기술하여 조건을 만족하는 레코드만 선택적으로 검색하는 SELECT문임. WHERE절은 UPDATE, DELETE문 등 조건을 기술하여 선택적으로 레코드에 적용하는 명령문에서 동일하게 사용이 가능함.

 

조건 표현 연산자

- 산술연산자

: 컬럼값 또는 상수와의 산술 연산을 위한 연산자로 DIV, /, -, MOD(%), +, * 등이 있음.

 

- 비교연산자

: 컬럼값과 상수의 크기를 비교하는 연산자로 =, <>, !=, >, >=, <, <= 등이 있음.

 

- 논리연산자

: 두 개 이상의 조건이 기술되는 질의문에서 조건식 간의 관계를 정의하는 연산자로 AND, OR, NOT 등이 있음.

 

728x90
반응형

댓글