SQL 32

[SQL] 뷰(VIEW)의 생성과 삭제 그리고 장단점

뷰(VIEW)는 논리적인, 가상의 테이블을 말한다. 즉, 실제 데이터를 저장하지 않고 쿼리 결과를 가상의 테이블 형태로 제공하는 논리 테이블이라고 보면 된다. 뷰는 실제 존재하는 물리 테이블로부터 생성될 수 있으며 다수의 테이블 또는 다른 뷰를 이용해서 만들 수 있다. VIEW의 장점 VIEW는 데이터베이스의 저장 공간을 차지하지 않으면서, 또한 데이터베이스에 어떠한 영향을 주지 않으면서도 애플리케이션이 원하는 형태로 데이터에 접근할 수 있게 해준다. 또한 복잡한 쿼리나 자주 사용되는 데이터를 간단하게 조회할 수 있는 방법을 제공한다. 예를 들어, 여러 테이블을 조인하여 필요한 데이터를 가져오거나, 특정 조건에 따라 필터링된 데이터를 조회할 수 있다. 하나의 뷰에 여러 개의 테이블에 대한 데이터가 담겨 ..

DB/SQL - Oracle 2024.02.15

[SQL] DCL(데이터 제어어) - grant, revoke

SQL 종류 1. 데이터를 정의하는 쿼리 - DDL(데이터 정의어) : create, drop, alter, truncate 2. 데이터를 조작하는 쿼리 - DML(데이터 조작어) : insert, select, update, delete 3. 데이터를 제어하는 쿼리 - DCL(데이터 제어어) : grant, revoke 4. 트랜잭션 제어하는 쿼리 - TCL(트랜잭션 제어어) : commit, rollback, checkpoint 데이터 제어어(DCL)의 유형에는 GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT(=CHECKPOINT)가 있다. 그런데 위와 같이 분류한 이유는 COMMIT, ROLLBACK, SAVEPOINT(=CHECKPOINT)가 DCL(데이터 제어어)라고..

DB/SQL - Oracle 2024.02.15

[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

[DB] 데이터베이스 정규화(DB Normalization) 개념과 장단점

데이터베이스 정규화에서 중요한 배경이 될 이상현상에 대해서는 아래 글을 참고 바랍니다. 2024.02.01 - [DB/SQL - Oracle] - [SQL] 이상현상(Anomaly) + 키 예제 [SQL] 이상현상(Anomaly) + 키 예제 이번에는 예제를 통해 키에 대해 좀 더 상세히 알아보고, 이상현상에 대해 자세히 다뤄보고자 한다. * 이전에 키에 대해 정리한 글은 아래 링크를 확인해주세요. https://bio-logisch.tistory.com/14 [SQL] bio-logisch.tistory.com 데이터베이스 정규화(DB Normalization)는 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상*을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 "무손실 분해"하는 과정..

DB/Data modeling 2024.02.06