목록전체 글 (178)
Patrick's 데이터 세상

자바 프로그램 실행 구조(Java Virtual Machine) 운영체제는 자바 가상 머신을 실행시키고, 자바 가상 머신은 자바 프로그램을 실행시키는 구조입니다. ※ 자바 가상머신이란 운영체제 위에서 동작하는 소프트웨어인데 JVM을 통해 운영체제에 상관없이 프로그램을 동작시킬 수 있습니다. 운영체제에 따른 차이점을 자바 가상 머신이 대신 처리해줍니다. 자바 컴파일러와 자바 바이트코드 ~.java 파일을 가리켜 '소스파일'이라 하며, 소스파일에 저장된 프로그램 코드를 가리켜 '소스코드'라 합니다. 따라서 자바 컴파일러는 소스파일에 저장되어 있는 소스코드를 가상 머신이 이해할 수 있는 '자바 바이트코드'로 변환해주는 프로그램으로 정리할 수 있습니다. ※ 자바 바이트코드(Java bytecode) 자바 컴파일..

절차형 SQL 1. 절차형 SQL 일반적 개발 언어처럼 SQL에도 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 PL(Procedural Language)/SQL(Oracle), SQL/PL(DB2), T-SQL(SQL Server) 등의 절차형 SQL을 제공하고 있습니다. 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용하여 특정 기능을 수행하는 저장 모듈을 생성할 수 있습니다. 2. PL/SQL Oracle의 PL/SQL은 Block 구조로 되어있고 Block 내에는 DML 문장과 QUERY 문장, 그리고 절차형 언어(IF, LOOP) 등을 사용할 수 있으며, 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어입니다. 이런 PL/SQL을 이용하여 다양한 저장 모듈(..
DCL * DCL 개요 유저를 생성하고 권한을 제어할 수 있는 명령어 * 유저와 권한 유저 역할 SCOTT Oracle 테스트용 샘플 유저 Default 패스워드 : TIGER SYS DBA ROLE을 부여받은 유저 SYSTEM 데이터베이스의 모든 시스템 권한을 부여받은 DBA 유저 Oracle 설치 완료 시에 패스워드 설정 * 유저 생성과 시스템 권한 부여 및 회수 권한을 생성하기 위해서는 우선 DBA 유저로 접속을 해야 합니다. 데이터베이스에 접속했다고 해서 테이블, 뷰, 인덱스 등과 같은 오브젝트(Object)를 생성할 수는 없습니다. 사용자가 실행하는 모든 DDL 문장(CREATE, ALTER, DROP, RENAME 등)은 그에 해당하는 적절한 권한이 있어야만 문장을 실행할 수 있습니다. 이러한..
그룹 내 비율 함수 * RATIO_TO_REPORT 함수 - 파티션 내 전체 SUM 값에 대한 행별 컬럼 값의 백분율을 소수점으로 구할 수 있습니다. 결과 값은 > 0 & = 0 & 0 &
그룹 내 행 순서 함수 * FIRST_VALUE 함수 - 파티션별 윈도우에서 가장 먼저 나온 값을 구합니다. MIN 함수를 활용하여 같은 결과를 얻을 수도 있습니다. SQL Server에서는 지원하지 않는 함수입니다. EX) SELECT DEPTNO , ENAME , SAL , FIRST_VALUE(ENAME) OVER (PARTITION BY DEPTNO ORDER BY SAL DESC ROWS UNBOUNDED PRECEDING) AS DEPT_RICH FROM EMP; - RANGE UNBOUNDED PRECEDING : 현재 행을 기준으로 파티션 내의 첫 번째 행까지의 범위를 지정합니다. DEPTNO ENAME SAL DEPT_RICH 10 KING 5000 KING 20 SCOTT 3000 SC..
일반 집계 함수 * SUM 함수 - SUM 함수를 이용하여 파티션별 윈도우의 합을 구할 수 있습니다. EX) SELECT MGR , ENAME , SAL , SUM(SAL) OVER (PARTITION BY MGR) MGR_SUM FROM EMP; - PARTITION BY MGR 구문을 통해 매니저별로 데이터를 파티션화 합니다. MGR ENAME SAL MGR_SUM 7566 FORD 3000 6000 7566 SCOTT 3000 6000 7839 BLAKE 2850 8275 7839 JONES 2975 8275 7839 CLARK 2450 8275 7902 SMITH 800 800 EX) RANGE UNBOUNDED PRECEDING 활용 ( * 윈도우 함수 참고 ) SELECT MGR , ENAME..