DBMS 35

34_ DB 실습 문제

HR 스키마 문제 정답 SQL 정리테이블hr.EMPLOYEEShr.DEPARTMENTS문제별로 정확한 SQL을 정리 문제 1부서별로 직원들의 평균 급여를 구하시오.SELECT DEPARTMENT_ID, AVG(SALARY) AS AVG_SALARYFROM hr.EMPLOYEESGROUP BY DEPARTMENT_ID; 문제 2부서별 직원 수가 5명 이상인 부서의 부서 ID와 총 급여SELECT DEPARTMENT_ID, SUM(SALARY) AS TOTAL_SALARYFROM hr.EMPLOYEESGROUP BY DEPARTMENT_IDHAVING COUNT(*) >= 5; 문제 3직무별 최고 급여를 받는 직원의 이름과 급여방법 1) 서브쿼리 사용(가장 정석)SELECT e.JOB_ID, e.FIRST_..

DBMS/개념 2025.11.18

34_ DB 문제 풀이

이번에는 PLAYER 테이블이랑 STADIUM 테이블을 기준으로 조건 검색하는 기본적인 WHERE 절 문제들을 하나씩 정리해봤다. 전반적으로 AND, OR 조건 조합과 BETWEEN 활용 연습이 되는 문제들이다.하나씩 정리해보면 다음과 같다. 1. PLAYER 테이블에서 WEIGHT가 70 이상 80 이하인 선수 검색 SELECT *FROM PLAYERWHERE WEIGHT BETWEEN 70 AND 80;BETWEEN은 양 끝값을 포함한다는 점만 기억해두면 편하다. 2. TEAM_ID가 'K03'이고 HEIGHT가 180 미만SELECT *FROM PLAYERWHERE TEAM_ID = 'K03' AND HEIGHT 3. TEAM_ID가 'K06'이고 NICKNAME이 '제리'SELECT *FROM ..

DBMS/개념 2025.11.17

33_ DBeaver 단축키 정리

DBeaver를 쓰다 보면 손이 먼저 움직일 정도로 익숙해지면 편한 단축키들이 있는데, 오늘은 그중에서 자주 사용하는 기능들을 간단하게 정리해봤다. 특히 SQL 실행이나 편집, 탐색 관련 단축키들은 거의 매일 쓰게 되는 부분이라 따로 모아두면 확실히 작업 속도가 빨라진다. 1. 실행 관련 단축키Ctrl + Enter선택한 SQL 또는 현재 쿼리 실행.Ctrl + F2실행 중인 SQL 즉시 중지.Ctrl + Shift + E실행 계획 확인.작업하다가 실행이 길어질 때 F2로 바로 끊는 습관을 들이면 편하다.2. 편집/탐색 관련 단축키Ctrl + Space자동 완성 제안.Ctrl + Shift + FSQL 포맷팅.Ctrl + W현재 탭 닫기.Ctrl + Shift + W전체 탭 닫기.Ctrl + Alt + ..

DBMS/개념 2025.11.14

32_ Oracle 백업과 복구의 이해

1. Oracle 백업의 종류백업은 크게 물리적 백업과 논리적 백업으로 나뉜다.(1) 물리적 백업 (Physical Backup)데이터 파일, 제어 파일, 온라인 리두 로그 파일 등을 그대로 복사하는 방식이다.Hot Backup (온라인 백업): 데이터베이스가 실행 중일 때 수행되며, ARCHIVE LOG 모드여야 가능하다.Cold Backup (오프라인 백업): 데이터베이스를 완전히 종료한 후 수행한다.(2) 논리적 백업 (Logical Backup)데이터 내용을 논리적으로 내보내는 방식이다.Data Pump Export/Import: 대용량 데이터 처리와 병렬 처리가 가능하다.Original Export/Import: 이전 버전 호환을 위한 전통적인 방식으로, 현재는 레거시 지원용이다. 2. Orac..

DBMS/개념 2025.11.12

31_ 데이터베이스 성능 튜닝 정리

성능 튜닝이라는 말이 거창하게 들리지만, 결국은 “시스템이 얼마나 빠르고 효율적으로 돌아가느냐”의 문제다.한마디로 응답 속도 향상 + 리소스 낭비 최소화가 목표다. 1. 성능 튜닝의 기본 개념데이터베이스 성능을 평가할 때 주로 보는 지표는 다음과 같다.응답 시간 (Response Time): 쿼리 실행 후 결과가 나오는 데 걸리는 시간처리량 (Throughput): 단위 시간당 처리 가능한 작업 수CPU 사용률, 메모리 사용량, I/O 작업량이 지표들은 서로 연관되어 있어서, 한쪽을 올리면 다른 한쪽이 떨어지기도 한다.튜닝의 핵심은 균형 잡힌 최적화다. 2. 실행 계획 분석쿼리가 실제로 어떻게 실행되는지를 확인하는 게 성능 튜닝의 첫걸음이다.EXPLAIN PLAN FORSELECT * FROM emplo..

DBMS/개념 2025.11.10

30_ 저장 프로시저(Stored Procedure)

1. 저장 프로시저란?저장 프로시저는 여러 SQL 문을 하나로 묶어서 데이터베이스에 저장해두는 객체다.일종의 데이터베이스 내부 함수 같은 개념으로,한 번 만들어두면 여러 곳에서 반복적으로 사용할 수 있다.즉,복잡한 SQL 로직을 단순한 호출 한 줄로 대체할 수 있고업무 로직을 모듈화할 수 있으며SQL 실행 속도도 향상된다. 2. 주요 특징특징 설명재사용성한 번 작성된 프로시저는 여러 번 호출 가능모듈화복잡한 로직을 분리해 관리하기 쉬움보안성테이블 직접 접근을 제한하고 프로시저를 통해 접근하도록 설정 가능성능 향상SQL 문이 미리 컴파일되어 저장되므로 실행 속도가 빠름 3. 기본 문법CREATE [OR REPLACE] PROCEDURE 프로시저명 (매개변수1 ..

DBMS/개념 2025.11.07

29_ Oracle DBMS: 제어문의 이해와 활용

LOOP 문 — 반복 작업의 효율적인 수행Oracle PL/SQL은 반복적인 데이터 처리를 자동화하기 위해 여러 가지 루프 구조를 제공합니다.각 루프는 고유한 동작 방식과 사용 목적이 있으며, BEGIN...END 블록 내부에서만 사용할 수 있습니다.중요:모든 LOOP 구문은 반드시 BEGIN...END 블록 내에 있어야 합니다.블록 외부에서 LOOP를 작성하면 컴파일 오류가 발생합니다.이는 PL/SQL이 BEGIN...END 블록 단위를 기준으로 실행되기 때문입니다.-- 올바른 예시BEGIN LOOP -- 실행할 명령문 EXIT WHEN 조건; END LOOP;END;/-- 잘못된 예시 (오류 발생)LOOP -- 실행할 명령문 EXIT WHEN 조건;E..

DBMS/개념 2025.11.05

28_ Oracle 사용자 정의 함수

Oracle에서 사용자 정의 함수는 개발자가 직접 작성해서 재사용할 수 있는 프로그램 단위입니다. 자주 쓰는 로직이나 계산을 함수로 만들어 두면, SQL문 안에서도 바로 활용할 수 있어 편리합니다. 1. 사용자 정의 함수 특징반드시 하나의 값 반환: RETURN 문이 필수입니다.SELECT 문에서 컬럼처럼 사용 가능: SQL 안에서 직접 호출할 수 있다.PL/SQL, Java, C 등으로 작성 가능: Oracle은 다양한 언어 지원. 2. 함수 생성 문법CREATE [OR REPLACE] FUNCTION 함수명 (파라미터1 [IN] 데이터타입, 파라미터2 [IN] 데이터타입, ...)RETURN 리턴타입IS [AS] -- 변수 선언부BEGIN -- 실행부 RETURN 반환..

DBMS/개념 2025.11.03

27_ DCL (Data Control Language)

DCL(Data Control Language)은 데이터베이스 보안과 접근 제어를 담당하는 SQL 명령어 집합으로, 사용자의 권한을 부여하거나 회수하는 데 사용된다. 주로 데이터베이스 관리자(DBA)가 관리하며, 안전한 데이터베이스 운영을 위해 필수적인 요소이다. 주요 DCL 명령어명령어설명CREATE USER새로운 데이터베이스 사용자 계정을 생성DROP USER기존 사용자 계정을 삭제GRANT특정 권한 또는 역할(Role)을 사용자에게 부여REVOKE사용자로부터 특정 권한을 회수 DBeaver에서 SYSDBA 연결 생성DBeaver 실행 → 새 데이터베이스 연결 선택Oracle 선택 후 다음 정보 입력Host: localhost (또는 서버 IP)Port: 1521Database: orcl, xe 등..

DBMS/개념 2025.11.01

26_ 트리거(TRIGGER) 정리

1. 트리거란?트리거(Trigger)는 데이터베이스에서 INSERT, UPDATE, DELETE 같은 이벤트가 발생했을 때 자동으로 실행되는 프로시저다.즉, 사용자가 직접 실행하지 않아도, 특정 조건이 충족되면 DB가 알아서 동작한다.트리거의 주요 특징사용자의 명시적 호출 없이 자동으로 실행됨데이터의 무결성과 일관성 유지복잡한 업무 규칙을 자동으로 구현 가능다른 테이블과의 연계 작업 자동화 가능 2. 트리거의 종류(1) 실행 시점에 따른 분류BEFORE 트리거: DML 문이 실행되기 직전에 작동AFTER 트리거: DML 문이 실행된 후에 작동(2) 이벤트에 따른 분류INSERT 트리거: 데이터가 삽입될 때 실행UPDATE 트리거: 데이터가 수정될 때 실행DELETE 트리거: 데이터가 삭제될 때 실행 3...

DBMS/개념 2025.10.30