본문 바로가기

오라클20

[Oracle] DBMS와 실행 계획 1. 데이터에 접근하는 방법의 결정 RDB를 조작할 때는 SQL이라는 전용 언어를 사용합니다. 사용자 또는 개발자가 데이터베이스에서 의식적으로 사용하는 것은 SQL 레밸까지입니다. 이후의 모든 것은 SQL 구문을 읽어들인 DBMS가 알아서 처리하고 결과를 제공해주기 때문에 사용자는 데이터가 있는 곳을 알 필요도 없고, 데이터에 접근하는 방법도 따로 생각하지 않습니다. RDB에서 데이터 접근 절차를 결정하는 모듈은 쿼리 평가 엔진입니다. 쿼리 평가 엔진은 사용자로부터 입력받은 SQL 구문을 처음 읽어들이는 모듈입니다. 쿼리 평가 모듈은 추가로 파서 또는 옵티마이저와 같은 여러 개의 서브 모듈로 구성됩니다. ● 파서 파서의 역할은 구문을 분석하는 것 입니다. 사용자로부터 입력받은 SQL구문이 올바른지 검사를.. 2019. 6. 4.
[Oracle] DDL(Data Definition Language) SQL에서 데이터 정의어는 데이터베이스의 3층 스키마를 정의하는 등, 데이터베이스 관리자는 데이터 정의어를 사용하여 구축하고자 하는 데이터베이스 여러 개체(Object)를 정확하게 기술해야 합니다. 1. 개체(Object) 데이터베이스의 중요한 객체는 다음과 같습니다. Object 설 명 Table 행과 열로 구성된 2차원 테이블로 데이터를 저장하는 개체 View 하나 이상의 테이블로부터 유도된 데이터의 부분집합 개체 Index 빠른 검색을 위해 사용하는 개체 Sequence 순차적인 숫자 값을 생성하는 개체 2. 테이블 2.1 테이블의 생성 관계형 데이터베이스에서 테이블은 데이터를 저장할 수 있는 개체 테이블의 생성을 위해서는 CREATE TABLE, 변경을 위해서는 ALTER TABLE, 삭제를 위해.. 2019. 6. 2.
[Oracle] TCL(Transaction Control Language) 1. TCL (Transaction Control Language) 트랜잭션이란 사용자에 의해 실행된 데이터 조작어(DML) 명령어들의 집합을 의미하며, 변경된 데이터는 트랜잭션 제어어(TCL)에 의해 데이터베이스에 반영됩니다. 트랜잭션은 논리적인 단위로 하나 이상의 데이터 조작어(DML) 명령어의 실행으로 변경된 데이터들을 의미합니다. 이 트랜잭션은 아직 테이블에 반영된 상태는 아니며, 테이블에 반영하기 위해서는 데이터 조작어(TCL) 명령어인 COMMIT의 실행이나, 데이터 정의어(DDL) 명령어의 실행으로 이루어집니다. 2. COMMIT 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어입니다. 트랜잭션의 처리 과정을 데이터베이스에 반영하기 위해서, 변경된 내용을 모두 영구 저장합니다. COMMIT.. 2019. 4. 28.
[Oracle] 데이터 갱신 1. 데이터 갱신 SQL의 데이터 조작어(DML)는 UPDATE, INSERT, DELETE의 명령을 이용하여 데이터베이스의 갱신 연산을 수행합니다. 2. INSERT 기존 데이터베이스에 새로운 데이터를 삽입하는 연산으로 INSERT 명령이 있으며, 그 형식은 다음과 같습니다. INSERT INTO table-name [(column-name [, column-name] …)] VALUES (value, [, value] …); 또는 INSERT INTO table-name [(column-name [, column-name] …)] SELECT column-name [,column-name] … FROM … WHERE …; 첫 번째 형식은 새로운 데이터 한 행을 삽입하는 것이며, 두 번째 형식은 다른 .. 2019. 4. 28.
[Oracle] 서브쿼리(SubQuery) 1. 부질의 SQL에서 SELECT, INSERT, UPDATE, DELETE 문에 중첩된 내부 SELECT문을 포함할 수 있으며, 이렇게 포함된 SELECT 문장을 부질의라고 합니다. 2. 조건절의 부질의 일반적으로 부질의는 조건절(WHERE, HAVING)에 비교 연산자와 함께 사용됩니다. 'BLAKE' 사원보다 많은 급여를 받는 사원정보를 검색하기 위한 질의문을 작성하기 위해 먼저 'BLAKE' 사원의 급여를 알아야 합니다. 그리고 이 값을 이용하여 'BLAKE'보다 급여를 많이 받는 사원 번호와 이름, 급여를 검색하면 됩니다. SELECT deptno, sal FROM emp WHERE sal > (SELECT sal FROM emp WHERE ename = 'BLAKE'); 다음은 위의 질의를 .. 2019. 4. 28.
[Oracle] 조인(join) 1. 조인 두 개 이상의 테이블을 연결하여 하나의 결과 테이블로 처리하는 조인 기능은 관계형 데이터 베이스가 갖는 특징 중에 하나이며, 이는 관계형 데이터베이스가 널리 사용되는 이유 중 하나입니다. 조인이랑 연관된 두개 이상의 테이블에서 관련있는 열을 이용하여 새로운 테이블을생성하는데 사용되는 연산입니다. 오라클에 조인의 종류는 Cross 조인, Equi 조인, Non-Equi 조인, Self 조인, Outer 조인 5가지 유형을 지원하고 있습니다. 2. CROSS 조인 크로스 조인은 관계시스템의 관계 대수 8가지 연산 중 카티션 프로덕트를 구현한 것으로 2개 이상의 테이블을 조건 없이 결합하는 조인 연산을 의미합니다. SELECT emp.*. dept.* From emp cross join dept; .. 2019. 4. 28.