데이터베이스 구축 - SQL 활용 목차 SQL 테스트의 개요 📌 SQL 테스트는 SQL이 작성 의도에 맞게 원하는 기능을 수행하는지 검증하는 과정이다. 단문 SQL은 SQL 코드를 직접 실행한 후 결과를 확인하는 것으로 간단히 테스트가 가능하다. 절차형 SQL은 테스트 전에 생성을 통해 구문 오류(Syntax Error)나 참조 오류의 존재 여부를 확인한다. 정상적으로 생성된 절차형 SQL은 디버깅을 통해 로직을 검증하고, 결과를 통해 최종적으로 확인한다. 💡 구문 오류(Syntax Error) : 구문 오류는 잘못된 문법으로 작성된 SQL문을 실행하면 출력되는 오류를 의미한다. 💡 디버깅(Debugging) : 디버깅은 오류를 잡기 위해 소스 코드를 한 줄 한 줄 추적해 가며 변수 값의 변화를 검사하는..
데이터베이스 구축 - SQL 활용 목차 사용자 정의 함수의 개요 📌 사용자 정의 함수는 프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL이다. 사용자 정의 함수는 데이터베이스에 저장되어 SELECT, INSERT, DELETE, UPDATE 등 DML문의 호출에 의해 실행된다. 사용자 정의 함수는 예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없다. 사용자 정의 함수는 INSERT, DELETE, UPDATE를 통한 테이블 조작은 할 수 없고 SELECT를 통한 조회만 할 수 있다. 사용자 정의 함수는 프로시저를 호출하여 사용할 수 없다. 사용자 정의 함수는 SUM(), AVG() 등의 내장 함수처럼 DML문..
데이터베이스 구축 - SQL 활용 목차 💡 주요 키워드 ? 프로시저, 트리거, 웹 응용 시스템, JDBC, ODBC, 동적 SQL, 사용자 정의 함수, ORM, 쿼리 성능 최적화, 절차형 SQL 테스트 프로시저(Procedure)의 개요 📌 프로시저란 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. 프로시저를 만들어 데이터베이스에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다. 프로시저는 데이터베이스에 저장되어 수행되기 때문에 스토어드(Stored) 프로시저라고도 불린다. 프로시저는 시스템의 일일 마감 작업, 일괄(Batch) 작업 등에 주로 사용된다. 💡 절차형 SQL : C프로그래밍 언어와 같이 연속적인 실행..
데이터베이스 구축 - SQL 응용 목차 JOIN의 개념 📌 JOIN(조인)은 2개의 테이블에 대해 연관된 튜플을 결합하여, 하나의 새로운 릴레이션을 반환한다. JOIN은 크게 INNER JOIN과 OUTER JOIN으로 구분된다. JOIN은 일반적으로 FROM절에 기술하지만, 릴레이션이 사용되는 어느 곳에서나 사용할 수 있다. INNER JOIN 📌 INNER JOIN은 일반적으로 EQUI JOIN과 NON-EQUI JOIN으로 구분된다. 조건이 없는 INNER JOIN을 수행하면 CROSS JOIN과 동일한 결과를 얻을 수 있다. EQUI JOIN EQUI JOIN은 JOIN 대상 테이블에서 공통 속성을 기준으로 '='(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 JOIN ..
데이터베이스 구축 SELECT-1 일반 형식 SELECT [PREDICATE] [테이블명.] 속성명 [AS 별칭] [, [테이블명] 속성명, ...] [, 그룹함수(속성명) [AS 별칭]] [, Window 함수 OVER (PARTITION BY 속성명1, 속성명2, ... ORDER BY 속성명3, 속성명4, ...)] FROM 테이블명 [, 테이블명, ...] [WHERE 조건] [GROUP BY 속성명, 속성명, ...] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; SELECT 절 PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술한다. ALL : 모든 튜플을 검색할 때 지정하는 것으로, 주로 생략한다. DISTINCT : 중복된 튜플이 있으면 그 중 첫 번째 ..
데이터베이스 구축 - SQL 응용 목차 DML(Data Manipulation Language, 데이터 조작어)의 개념 📌 DML(데이터 조작어)은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어이다. DML은 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다. DML의 유형 명령문 기능 SELECT 테이블에서 튜플을 검색한다. INSERT 테이블에 새로운 튜플을 삽입한다. DELETE 테이블에서 튜플을 삭제한다. UPDATE 테이블에서 튜플의 내용을 갱신한다. 삽입문(INSERT INTO~) 📌 삽입문은 기본 테이블에 새로운 튜플을 삽입할 때 사용한다. 일반 형식 INSERT INTO 테이블명([속성명1, 속성명2, .....
목차 DCL(Data Control Language, 데이터 제어어)의 개념 📌 DCL(데이터 제어어)는 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어이다. DCL은 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용한다. DCL에는 GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT 등이 있다. GRANT/REVOKE 📌 데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령어이다. GRANT : 권한 부여를 위한 명령어 REVOKE : 권한 취소를 위한 명령어 사용자 등급 지정 및 해제 표기 형식 GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; REVOKE 사용자등급 FROM 사용..
목차 💡 주요 키워드 ? SQL, DDL, DROP, DCL, GRANT, DML, DELETE, SELECT, DISTINCT, JOIN SQL(Structured Query Language)의 개요 1974년 IBM 연구소에서 개발한 SEQUEL에서 유래한다. 국제 표준 데이터베이스 언어이며, 많은 회사에서 관계형 데이터비이스(RDB)를 지원하는 언어로 채택하고 있다. 관계 대수와 관계 해석을 기초로 한 혼합 데이터 언어이다. 질의어지만 질의 기능만 있는 것이 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능을 모두 갖추고 있다. 💡 관계 대수(Relation Algebra) : 기존 릴레이션(테이블)들로부터 새로운 릴레이션을 생성하는 절차적 언어 문법 이라고 보면 된다. 릴레이션에 대해 ..