DB/SQL - Oracle 29

[SQL] 인덱스(INDEX)의 장점과 단점, 활용 방법

인덱스의 종류와 생성, 변경, 삭제, 조회에 대한 내용은 아래 글을 참고해주세요! [SQL] 인덱스(INDEX)의 종류와 생성, 변경, 삭제 방법 (tistory.com) [SQL] 인덱스(INDEX)의 종류와 생성, 변경, 삭제 방법 우리가 책 중간에 북마크 용도로 무언가를 붙이거나 표시해두는 것처럼, 관계형 데이터베이스 상에서 테이블의 특정 데이터를 빠르게 찾기 위해 인덱스를 사용한다. 이때 인덱스는 데이터베이 bio-logisch.tistory.com 이번 글에서는 인덱스를 어떻게 활용하는지 다뤄보고 인덱스의 장점과 단점에 대해서 생각해보고자 한다. 인덱스 활용방법 일반적으로 Oracle에서는 인덱스를 사용하는지 여부를 직접 확인하기 위해서는 "쿼리 실행 계획"을 살펴봐야 한다. 여기서 "실행 계획..

DB/SQL - Oracle 2024.02.14

[SQL] 인덱스(INDEX)의 종류와 생성, 변경, 삭제, 조회 방법

우리가 책 중간에 북마크 용도로 무언가를 붙이거나 표시해두는 것처럼, 관계형 데이터베이스 상에서 테이블의 특정 데이터를 빠르게 찾기 위해 인덱스를 사용한다. 이때 인덱스는 데이터베이스 객체이자 자료 구조를 의미한다. 인덱스는 사용자가 직접 생성해줘야 사용할 수 있는데, 예외적으로 PK 인덱스는 특정 컬럼을 기본 키(PK)로 지정하게 되면 데이터베이스에 의해 자동으로 생성된다. 인덱스는 특성에 따라 하나의 인덱스도 여러 가지 분류에 속할 수 있다. 예를 들어 어떤 인덱스가 단일 인덱스이면서 UNIQUE인덱스에 해당할 수 있다. 인덱스의 종류 인덱스 구성 컬럼 개수에 따른 분류 : 단일 인덱스, 복합(결합) 인덱스 유일성 여부에 따른 분류 : UNIQUE 인덱스, NON-UNIQUE 인덱스 인덱스 내부 구조..

DB/SQL - Oracle 2024.02.13

[SQL] 연산자 - 수식, 문자, 논리, 집합 연산자

연산자(Operator)는 말그대로 연산을 수행하는 역할을 한다. 오라클에서는 다양한 연산자를 제공하고 있는데 크게 다음과 같이 분류할 수 있다. 수식 연산자 문자 연산자 논리 연산자 집합 연산자 계층형 쿼리 연산자 이번 글에서는 수식,문자, 논리연산자를 다루고, 추가로 집합 연산자에서 MINUS만 다뤄보고자 한다. 계층형 쿼리 연산자도 다른 설명이 많이 필요해서 별도의 글에 다루고자 한다. 수식 연산자 : +, - , *, / 연산자 기능 예시 + 단항 연산자 : 양수 / 이항 연산자 : 덧셈 +1 은 양수 1을 의미함, 1 + 1 = 2 에서 +는 덧셈 기능 - 단항 연산자 : 음수 / 이항 연산자 : 뺄셈 -1 은 음수 -1을 의미함, 1 - 1 = 0 에서 -는 뺄셈 기능 * 곱셈 2 * 2 = ..

DB/SQL - Oracle 2024.02.09

[SQL] DDL(데이터 정의어) - truncate

SQL 종류 1. 데이터를 정의하는 쿼리 - DDL(데이터 정의어) : create, drop, alter, truncate 2. 데이터를 조작하는 쿼리 - DML(데이터 조작어) : insert, select, update, delete 3. 데이터를 제어하는 쿼리 - DCL(데이터 제어어) : grant, revoke 4. 트랜잭션 제어하는 쿼리 - TCL(트랜잭션 제어어) : commit, rollback, checkpoint DDL 특징 요약 - create : 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성 - drop : 생성된 데이터베이스 객체를 영구히 삭제 - alter : 이미 생성된 데이터베이스 객체를 수정 - truncate : 테이블이나 클러스터의 데이터를 통째로 삭제 데이터 관..

DB/SQL - Oracle 2024.02.08

[SQL] 기본 집계 함수 - min, max, variance, stddev

집계 함수도 SQL함수의 일종으로, 대상 데이터를 특정 그룹으로 묶은 다음 이 그룹에 대해 총합, 최댓값, 최솟값 등을 구하는 함수를 말한다. 대표적인 집계함수 7가지에 대해 살펴보고자 한다. 앞서 다룬 count, sum, avg 에 대한 글은 아래 링크를 통해 확인해주세요! https://bio-logisch.tistory.com/34 [SQL] 기본 집계 함수 - count, sum, avg 집계 함수도 SQL함수의 일종으로, 대상 데이터를 특정 그룹으로 묶은 다음 이 그룹에 대해 총합, 최댓값, 최솟값 등을 구하는 함수를 말한다. 대표적인 집계함수 7가지에 대해 살펴보고자 한다. bio-logisch.tistory.com 대표적인 집계함수 7가지에 대해 살펴보고자 한다. 아래 집계함수를 활용하여 ..

DB/SQL - Oracle 2024.02.07

[SQL] 기본 집계 함수 - count, sum, avg

집계 함수도 SQL함수의 일종으로, 대상 데이터를 특정 그룹으로 묶은 다음 이 그룹에 대해 총합, 최댓값, 최솟값 등을 구하는 함수를 말한다. 대표적인 집계함수 7가지에 대해 살펴보고자 한다. 아래 집계함수를 활용하여 조회(select)하게 되면 결과값은 항상 숫자값인 튜플 하나가 나온다는 점도 기억하자. 각 함수에는 괄호가 붙고 그 괄호 안에는 매개변수가 들어간다는 점도 매우 중요하다. 집계함수(매개변수) 수학을 배우면서 익숙하게 봤던 단어들이라 쉽게 생각할 수 있지만, 데이터를 다루는 입장에서 집계 함수를 쓸 때 생각해볼 지점들이 꽤 있다. 무엇보다도 제대로 알아두면 정말 유용하게 쓰일 수 있다. COUNT - 튜플 수 산출 SUM - 합계 산출 AVG - 평균 산출 MIN - 최솟값 산출 MAX -..

DB/SQL - Oracle 2024.02.07

[SQL] 숫자 데이터 타입 (1) number

오라클에서 제공하는 숫자 데이터 타입은 총 4가지(number, float, binary_float, binary_double)가 있다. 하지만 주로 number형만 사용하므로 여기서는 number형에 집중하고자 한다. 다른 DBMS는 integer, int와 같은 정수형, 또는 decimal과 같은 실수형을 제공하고 오라클도 이런 타입으로 컬럼을 생성할 수 있지만 내부적으로는 모두 number형 으로 변환되어 생성된다. 컬럼을 생성할 때, number형으로 데이터 타입을 정의하면 아래와 같이 작성할 수 있다. 컬럼명 number(p,s) p : 최대 유효숫자 자릿수 s : 소수점 기준 자릿수 위와 같이 number(p,s) 형식으로 크기를 지정할 때, 여기서 p는 precision, 정밀도를 의미한다...

DB/SQL - Oracle 2024.02.06

[SQL] where 조건절 - Like(패턴) 방식 파헤치기 + 정규 표현식

select문으로 데이터 조회 시 특히 특정 문자열을 포함한 값을 찾고자 할 때 Like를 자주 활용하게 된다. 예를 들어 거주지 주소를 입력하는 address 컬럼명의 값은 서울시, 서울특별시, 수원시, 경기도 수원시, 등등 같은 지역을 의미함에도 다른 값으로 저장된 경우가 있는데 이런 모든 경우를 포괄하면서 최대한 누락되지 않도록 조회를 하기 위해서 Like가 매우 유용하게 쓰일 수 있다. 예시) 컬럼이 address인 경우, 입력값에서 '서울'로 시작되는 문자열인 튜플만 조회 SELECT * FROM member WHERE address LIKE '서울%'; 또한 웹 서비스 중 검색 기능을 구현하고자 할 때 사용자가 검색창에 입력한 검색어를 기준으로, 해당 키워드가 포함된 게시글의 제목이나 내용을 ..

DB/SQL - Oracle 2024.02.03

[SQL] DML(데이터 조작어) - select *연산자, where조건문 활용 예제*

SQL 종류 1. 데이터를 정의하는 쿼리 - DDL(데이터 정의어) : create, drop, alter, truncate 2. 데이터를 조작하는 쿼리 - DML(데이터 조작어) : insert, select, update, delete 3. 데이터를 제어하는 쿼리 - DCL(데이터 제어어) : grant, revoke 4. 트랜잭션 제어하는 쿼리 - TCL(트랜잭션 제어어) : commit, rollback, checkpoint select문에 대해서 기본적인 부분은 아래 글을 참고해주세요! https://bio-logisch.tistory.com/19 [SQL] SQL의 종류(4) - DML(데이터 조작어) - select 1. 데이터(테이블, 시퀀스, 뷰)를 정의하는 쿼리 - DDL(데이터 정의어..

DB/SQL - Oracle 2024.02.02

[SQL] DDL(데이터 정의어) - alter

SQL 종류 1. 데이터를 정의하는 쿼리 - DDL(데이터 정의어) : create, drop, alter, truncate 2. 데이터를 조작하는 쿼리 - DML(데이터 조작어) : insert, select, update, delete 3. 데이터를 제어하는 쿼리 - DCL(데이터 제어어) : grant, revoke 4. 트랜잭션 제어하는 쿼리 - TCL(트랜잭션 제어어) : commit, rollback, checkpoint 데이터 조작 명령어 : alter alter는 이미 테이블을 생성한 후에 값이 아니라 설정(속성, 명칭)과 관련된 부분을 새롭게 정의(추가, 수정, 삭제)할 때 사용한다. 테이블, 컬럼, 제약조건의 이름이나 특정 컬럼의 속성을 변경, 새로운 컬럼을 추가, 특정 컬럼을 삭제할 ..

DB/SQL - Oracle 2024.02.02