[SQLD] 4-8. SQL 활용 - 절차형 SQL, PL/SQL, Procedure 생성, User Defined Function, Trigger
A. 절차형 SQL 개요1. DBMS 벤더별 PL(Procedural Language)/SQL(Oracle), SQL/PL(DB2), T_SQL(SQL Server) 절차형 SQL 제공2. 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 할 수 있음 B. PL/SQL 특징1. Block 내에는 DML 문장과 QUERY 문장, 절차형 언어 등 사용 가능2. 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어3. PL/SQL은 Block 구조로 되어있어 각 기능별로 모듈화가 가능4. 변수, 상수 둥을 선언하여 SQL 문장과 값 교환5. IF, LOOP 둥의 절차형 언어를 사용하여 절차적인 프로그램이 가능6. DBMS 정의 에러나 사용자 정의 에러를 정의하여 사용7. Oracle과 P..
2024.10.22
no image
[SQLD] 4-7. SQL 활용 - DCL, Oracle/SQL Server/DB 유저와 권한
A. DCL(DATA CONTROL LANGUAGE) 개요- 유저를 생성하고 권한을 제어할 수 있는 명령어 B. 유저와 권한- 데이터베이스는 데이터 보호와 보안을 위해서 유저와 권한을 관리  Oracle 유저와 권한 특징1. 유저를 통해 데이터베이스에 접속을 하는 형태2. 아이디와 비밀번호 방식으로 인스턴스에 접속3. 스키마에 오브젝트 생성 등의 권한을 부여받음  SQL Server 유저와 권한 특징1. 로그인 생성2. 인스턴스 내에 존재하는 데이터베이스에 연결하여 유저 생성3. 로그인과 유저를 매핑4. 특정 유저는 특정 데이터베이스 내의 특정 스키마에 대해 권한을 부여받을 수 있음   C. 유저 생성과 시스템 권한  Oracle - 유저생성1. 유저 생성은 CREATE USER 권한이 필요2. SYST..
2024.10.22
no image
[SQLD] 4-6. SQL 활용 - 윈도우 함수, Window Function 문법, RANK, DENSE_RANK, ROW_NUMBER, SUM, COUNT, FIRST_VALUE, LAG, LEAD, RATIO_TO_REPORT,
A. Window Function 개요 1. 분석 함수(ANALYTIC FUNCTION)나 순위 함수(RANK FUNCTION)2. 행과 행간의 관계 정의, 행과 행간 비교 및 연산하는 것3. 데이터웨어하우스에서 발전4. 서브쿼리에서 사용 가능  B. Window Function 문법      C. WINDOW FUNCTION 종류 윈도우 함수설 명그룹 내 순위 함수RANK, DENSE_RANK, ROW_NUMBER 함수ANSI/ISO SQL 표준과 Oracle, SQL Server 등 대부분의 DBMS에서 지원그룹 내 집계 함수SUM,MAX, MIN, AVG, COUNT 함수ANSI/ISO SQL 표준과 Oracle, SQL Server 둥 대부분의 DBMS에서 지원SQL Server의 경우 집계 함수..
2024.10.22
no image
[SQLD] 4-5. SQL 활용 - 그룹 함수, ANSI/ISO SQL 표준, ROLLUP, GROUPING, CUBE
A. 데이터 분석을 위한 함수 ( ANSI/ISO SQL 표준 )    B. GROUP FUNCTION - ROLLUPGROUP BY의 확장된 형태병렬 수행 가능시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합지정된 칼럼목록은 소계를 생성하기 위해 사용Grouping Columns의 수+1 Level의 Subtotal이 생성ROLLUP의 인수는 계층 구조이므로 인수 순서가 바뀌면 수행 결과도 변경계증간 집계에 대해서는 LEVEL별로 정렬계층 내 GROUP BY 수행 결과는 정렬을 지원하지 않아 별도의 ORDER BY 절을 사용하여 정렬     C. GROUP FUNCTION - GROUPING 1. 소계가 계산되는 행은 1, 소계가 아닌 행은 2를 반환하는 함수  D. GROUP FUN..
2024.10.22
no image
[SQLD] 4-4. SQL 활용 - 서브쿼리, 단일행 서브쿼리, 다중행 서브 쿼리, 다중 컬럼 서브 쿼리, 연관 서브 쿼리, 기타 서브 쿼리, 뷰(view)
A. 서브쿼리 - 서브쿼리 개요하나의 SQL문안에 포함되어 있는 또 다른 SQL문서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있음메인쿼리는 서브쿼리의 칼럼을 사용할 수 없음질의 결과에 서브쿼리 칼럼을 표시해야 한다면 조인 방식으로 변환, 함수, 스칼라 서브쿼리(Scalar Subquery)를 사용서브쿼리는 서브쿼리 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성 - 서브쿼리 주의사항괄호를 사용하여 서브쿼리 표시서브쿼리는 단일 행(Single Row)/복수 행(Multiple Row) 비교 연산자와 함께 사용단일 행 비교 연산자는 서브쿼리의 결과가 1 건 이하복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관없음서브쿼리에서는 ORDER BY를 사용하지 못함 - 서브쿼리 사용 위치SELECT 절FR..
2024.10.22
no image
[SQLD] 4-3. SQL 활용 - 계층형 질의(Hierarchical Query), Oracle 계층형 질의, 질의 함수, SQL Server 계층형 질의, SELF JOIN
A. 계층형 질의 1. 계층형 질의(Hierarchical Query)를 사용2. 계층형 데이터는 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터3. 엔터티를 순환관계 데이터 모델로 설계할 경우 계층형 데이터가 발생4. 계층형 데이터 조회는 DBMS 벤더와 버전에 따라 다른 방법으로 지원   B. Oracle 계층형 질의      C. Oracle 계층형 질의 함수     D. SQL Server 계층형 질의 1. CTE(Common Table Expression)를 재귀 호출2. WITH 절의 CTE 쿼리를 보면, UNION ALL 연산자로 쿼리 두 개를 결합3. 위에 있는 쿼리를 '앵커 멤버’ (Anchor Member)4. 아래에 있는 쿼리를 '재귀 멤버’ (Recursive Membe..
2024.10.22
no image
[SQLD] 4-2. SQL 활용 - 집합연산자(SET OPERATION) 개요, 종류, 사용법
A. 집합 연산자(SET OPERATION) 개요 1) 집합 연산자 개념1. JOIN과 더불어 두 개 이상의 테이블에서 데이터를 조회하는 방법2. 여러 개의 질의의 결과를 연결하여 하나로 결합3. 2개 이상의 질의 결과를 하나의 결과로 리턴 2) 집합 연산자 사용1. 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때2. 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때3. 튜닝관점에서 실행계획을 분리 3) 집합 연산자 유의점1. SELECT 절의 칼럼 수가 동일해야 함2. SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함3. ORDER BY는 집합 연산을 적용한 최종 결과에 대한 정렬 처리로 마지막 줄에 한 번만 기술..
2024.10.22
no image
[SQLD] 4-1. SQL 활용 - 표준 조인, Standard SQL, Inner Join, Natural Join, Using Join, Cross Join, Outer Join
A. STANDARD SQL 개요1. 관계형 데이터베이스를 유일하게 접속할 수 있는 언어가 SQL2. 벤더별로 일부 기능의 개발이 진행 중인 경우도 있고 벤더별로 특이한 기술 용어는 여전히 호환이 안 되고 있음3. ANSI/ISO SQL 표준을 통해 STANDARD JOIN을 포함한 많은 기능이 상호 벤치마킹하면서 DBMS 간 평준화됨  B. ANSI/ISO 표준 SQL의 기능 1. STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 둥 새로운 FROM 절 JOIN 기능)2. SCALAR SUBQUERY, TOP-N QUERY 둥의 새로운 SUBQUERY 기능3. ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능4. WINDOW FUNCTION 같은 새로운 개념..
2024.10.22
[SQLD] 3-10. SQL 기본 - 예상문제풀이 (Question&Answer)
문제 1. 다음 설명 중 맞는 것은 무엇인가?① 데이터베이스에는 단 한 개의 테이블만 존재할 수 있다.② 데이터베이스 내에 테이블이란 존재하지 않는다.③ 아주 복잡한 자료도 테이블은 하나만 만드는 것이 바람직하다.④ 모든 자료는 실질적으로 테이블에 저장이 되며, 테이블에 있는 자료들을 꺼내 볼 수 있다.  문제 2. 데이터 유형에 대한 설명 중 틀린 것은 무엇인가?① CHAR 유형은 고정 길이 문자형이다.② VARCHAR 유형은 가변 길이 숫자형이다.③ NUMERIC 유형은 숫자형 데이터를 표현한다.④ DATE 유형은 날짜 데이터를 다룰 때 사용한다.   문제 3. 다음 중 테이블 명으로 가능한 것은 무엇인가?① EMP100②100EMP③ EMP-100④ 100_EMP  문제 4. 데이터를 입력하기 위해..
2024.10.21