SELECT 문에서 DECODE문처럼 특정 데이터 일 때 자기가 원하는 데이터로 바꿀 수 있는 유용한 함수가 있다. 바로 CASE WHEN THEN문인데 이제부터 사용법을 알아보자 CASE WHEN THEN문 사용법 CASE WHEN [조건문] THEN [조건이 맞으면 반환할 값] ELSE [조건이 맞지않으면 반환할 값] END 예제) CASE문 예제 WITH TMP AS ( SELECT 'A' CHMP FROM DUAL UNION ALL SELECT 'B' CHMP FROM DUAL UNION ALL SELECT 'K' CHMP FROM DUAL UNION ALL SELECT 'R' CHMP FROM DUAL UNION ALL SELECT 'B' CHMP FROM DUAL ) SELECT (CASE W..
오라클에서 SELECT 할 때 NULL이면 다른 값으로 변경해줘야 하는 경우가 많다. 이것을 NULL 처리한다고 하는데 오라클에서 제공하는 NVL, NVL2 함수를 써서 쉽게 처리할 수 있다. NVL함수는 오라클에서만 제공하므로 다른 데이터베이스와의 호환을 염두에 둔다면 피해야 할 함수이기도 한다. NVL, NVL2 함수 사용법 NVL(컬럼, NULL일 경우 반환 값) NVL2(컬럼, NULL이 아닐 경우 반환 값, NULL일 경우 반환 값) 예제 -- 컬림이 NULL일때 A반환 SELECT NVL(NULL, 'A') FROM DUAL; --A -- 컬럼이 NULL일때 B반환 NULL이 아니면 A SELECT NVL2(NULL, 'A', 'B') FROM DUAL; --B cs NVL, NVL2 함수로 ..
오라클 함수 중 올림, 내림, 반올림을 사용할 수 있는 함수가 있으며 정의와 예제를 통해 각각의 함수의 사용방법을 알아보자 올림(CEIL) 내림(FLOOR) 반올림(ROUND) 함수 정의 CEIL(실수) : 소수점을 가장 가까운 정수로 올림한 값을 리턴 FLOOR(실수) : 소수점을 가장 가까운 정수로 내림한 값을 리턴 ROUND(실수, 반올림할 수) : 소수점을 가장 가까운 정수로 리턴 참고 CEIL은 ceiling function(천장 함수, 올림)의 약자이다. FLOOR은 floor function(바닥 함수, 내림)의 약자이다. 올림(CEIL) 내림(FLOOR) 반올림(ROUND) 예제 -- 올림 SELECT CEIL(12.12) FROM DUAL; -- 13 SELECT CEIL(12.82) F..
트랜잭션(Transaction)트랜잭션은 DBMS가 데이터베이스를 다룰 때 사용하는 작업의 단위다. 트랜잭션은 데이터베이스의 무결성을 유지하기 위해 원자성, 일관성, 고립성, 지속성의 성질을 갖는다. DBMS는 트랜잭션이 이러한 성질을 유지할 수 있도록 지원한다. 데이터베이스에서 트랜잭션을 정의하는 이유는 다음과 같다데이터베이스에서 데이터를 다룰 때 장애가 일어나는 경우가 있다. 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위가 된다.데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때가 있다. 트랜잭션은 이 작업을 서로 분리하는 단위가 된다. 트랜잭션의 수행트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 한다(all or nothing). 예를 들어 은행 업무를 보는데 A계좌에서 돈을 이..
무결성 제약조건 데이터베이스에 저장된 데이터는 결함이 없어야 하며 질의에 대해 신뢰성 있는 답을 제공해야 한다. 그래서 데이터를 저장하는 데 있어서 데이터베이스는 일관성을 유지하고 중복을 제거하는 등 데이터의 신뢰도를 유지해야 한다. 따라서 데이터의 삽입, 삭제, 수정 시 여러 가지 제약조건이 따른다. 데이터 무결성(integrity)은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다. 일관성과 정확성을 잃어버린 데이터베이스는 정보로서의 가치에 심각한 문제가 있는 것이다. 일관성과 정확성을 가지고 구축된 데이터베이스가 계속해서 무결성을 유지하려면 투플의 삽입, 삭제, 수정 시 데이터의 제약조건 준수 여부를 확인하여야 한다. 데이터의 삽입, 삭제, 수정 시 필요한 기본적인 제약조건을 D..
키(key)키는 데이터베이스에서 데이터의 사용 및 관계 표현에 가장 중요한 개념이다. 키라는 용어는 무엇인가를 유일하게 식별한다는 의미가 있다. 관계 데이터베이스에서 키는 릴레이션에서 특정 투플을 식별할 때 사용하는 속성 혹은 속성의 집합이다. 즉 키가 되는 속성은 반드시 값이 달라서 투플들을 서로 구별할 수 있어야 한다. 즉 아래 그림에서 키는 고객번호, 주민번호, 핸드폰이 될 수 있다 3개다 절대로 중복되는 값이 없어 투플들을 식별할 수 있기 때문이다. 하지만 아래 그림처럼 투플을 식별할 수 있는 속성이 없다. 그래서 (고객번호, 도서번호)나 (고객번호, 주문일자)와 같은 집합을 키로 사용할 수 있다. 슈퍼키(super key)슈퍼키는 투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합을 ..
관계 데이터 모델관계 데이터 모델은 수학의 집합이론에 근거하고 있어 튼튼한 이론적인 토대를 갖고 있다. 또한 관계 데이터 모델이 적용된 SQL 언어는 비절차적인 언어로 원하는 데이터를 쉽게 표현하는 장점이 있다. 릴레이션(relation)관계 데이터 모델을 이해하기 위해서는 우선 가장 중요한 용어인 릴레이션에 대한 이해가 필요하다. 릴레이션은 행과 열로 구성된 테이블을 말한다. 릴레이션은 번역하면 친척, 관계라고 하지만 relationship도 관계여서 충돌을 피하기 위해 릴레이션이라고 그대로 부르고 있다. 그러나 relational data model, relational database 등은 관계 데이터 모델, 관계 데이터베이스라고 한다. 릴레이션 스키마와 인스턴스릴레이션은 스키마와 인스턴스로 이루어..
데이터베이스 시스템(Database System)데이터베이스 시스템은 각 조직에서 사용하던 데이터를 모아서 통합하고 서로 공유하여 생기는 장점을 이용하는 시스템이다. 데이터베이스 시스템은 데이터베이스 관리 시스템(Database Management System, DBMS), 데이터베이스, 그리고 데이터 모델의 세가지로 구성되어 있다. 데이터베이스는 하드디스크에 저장된 데이터이고, DBMS는 주기억장치에 저장된 소프트웨어이다. 데이터 모델은 눈에 보이지 않는 논리적인 개념으로 데이터가 저장되는 기법에 관한 내용이다. 이외에도 데이터베이스 시스템을 이해하기 위해서는 데이터베이스 언어, 데이터베이스 사용자에 대해 알아야 한다. 데이터베이스 시스템은 데이터의 검색과 변경 작업을 주로 수행한다. 여기서 변경이란 ..
데이터, 정보, 지식데이터가 모이면 정보가 되고 정보가 모이면 지식이 된다. 데이터는 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값을 말하고, 정보는 데이터에 의미를 부여한 것을 말하며, 지식은 사물이나 현상에 대한 이해를 말한다. 예를들어 에베레스트 산의 높이는 데이터에, 에베레스트 산의 지리적인 특성을 설명한 것은 정보에, 에베레스트 산에 올라가는 가장 좋은 방법을 소개하는 보고서는 지식에 해당한다. 데이터베이스데이터베이스는 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것이다. 데이터베이스는 일상생활의 거의 모든 곳에서 생성된다. 대학의 학생 관련 데이터는 학사 데이터베이스에, 은행의 신용카드 거래 내역은 은행 데이터베이스에 저장되며, 병원의 진료 기록..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.