본문 바로가기

DB9

[DB / Oracle] Chapter 9. 뷰(VIEW) 1. 뷰(VIEW) 뷰(VIEW)란 이미 특정한 데이터베이스 내에서 존재하는 하나 이상의 테이블에서 사용자가 얻기 원하는 데이터만을 정확하고 편하게 가져오기 위하여 사전에 원하는 컬럼들만을 모아서 만들어놓은 가상의 테이블로 편의성 및 보안에 목적이 있음 즉, 한 테이블에 민감한 컬럼, 민감하지 않은 컬럼이 섞여 있을 때, 민감하지 않은 컬럼으로만 뷰를 생성하면 사용자에게 민감한 컬럼을 노출시키지 않고 감춰둘 수 있으며 사용자가 뷰만 사용하게 하면 테이블 내부의 민감정보에 대해 알 수가 없고, 임의로 데이터를 변경시킬 수도 없음 가상의 테이블이란 뷰가 실제로 존재하는 테이블(객체)이 아니라 하나 이상의 테이블에서 파생된 또 다른 정보를 볼 수 있는 방법이라는 의미이며, 그 정보를 추출해내는 SQL 문장이라.. 2023. 11. 28.
[DB / Oracle] Chapter 8. SQL 함수 - SQL 함수 : SELECT 절, WHERE 절, UPDATE 절 등에서 사용가능 1. 단일행 함수 ▶ 숫자 함수 함수 기능 사용 예 SIN, COS, TAN 삼각함수(싸인, 코싸인, 탄젠트 결과값을 반환) SIN(1), COS(1), TAN(1) ASIN, ACOS, ATAN 삼각함수의 역함수(범위 : -1 ~ 1) ASIN(0.5), ACOS(0.5), ATAN(0.5) ROUND(숫자, n) n 자리를 기준으로 반올림을 처리해주는 함수 ROUND(48.678, 2) → 소수점 이하 둘(두번째 파라미터 값)째자리까지 표현 / ROUND(48.674, 0) → 정수로 표현(0은 생략가능) / ROUND(48.674, -1) → 10의 자리까지 표현 TRUNC 절삭으로 처리해 주는 함수(버림) ROU.. 2023. 11. 28.
[DB / Oracle] Chapter 7. 집합 연산자(UNION / UNION ALL / INTERSECT / MINUS) 1. 합집합 ▶ UNION 첫번째 컬럼 기준으로 오름차순 정렬이 됨, 중복되는 레코드(행)은 제외하고 결과를 출력함 ▶ UNION ALL 쿼리문에서 테이블을 명시한 순서(결합한 순서)대로 조회한 결과를 반환함, 중복되는 레코드(행)을 포함하여 결과 출력함 정렬, 중복 비교가 포함된 UNION 은 부하가 발생하므로 실무에서는 리소스 소모가 적은 UNION ALL을 더 많이 사용함 사용 예 (TBL_JUMUNBACKUP : 오늘을 제외한 과거 모든 주문내역) (TBL_JUMUN : 오늘 주문내역 SELECT T.JECODE, SUM(T.JUSU) FROM ( SELECT * FROM TBL_JUMUNBACKUP UNION ALL SELECT * FROM TBL_JUMUN ) T GROUP BY JECODE;.. 2023. 11. 28.
[DB / Oracle] Chapter 6. 두 개 이상의 테이블에서 SQL 질의(JOIN, 부속질의) 1. JOIN(조인) 두 테이블에 중복된 컬럼이 아니더라도 컬럼의 소속 테이블을 명시해 주는 것을 권장함 왜냐하면, 오라클 입장에서는 먼저 EMP 테이블에 들러서 컬럼이 있는것을 확인하더라도 다른 테이블인 DEPT 테이블에 들러서 또 한 번 해당 컬럼이 있는지를 확인하기 때문임 DEPT 테이블에는 DEPTNO 데이터가 하나 씩만 들어가 있고 EMP 테이블에는 여러개 들어가 있으므로 DEPT가 부모 테이블. 따라서, 부모 테이블인 DEPT 테이블의 컬럼을 참조할 수 있도록 처리할 것 ▶ SQL 1992 CODE ▷ CROSS JOIN 수학에서 말하는 데카르트 곱(CATERSIAN PRODUCT). 즉, 두 테이블을 결합한 모든 경우의 수 (14 * 4 = 56) 많이 사용되지는 않음 사용 예 SELECT .. 2023. 11. 28.