본문 바로가기

IT개발/Database15

[Oracle] 오라클 고급쿼리 – 계층적 쿼리 (level) Connect by 계층적 쿼리는 오라클만이 가진 기능 중 하나로, 데이터를 선택하여 계층적인 순서 그대로 리턴하는데 사용된다.예를 들면, 아래와 같이 직원 테이블이 있다고 생각 하자. 직원 직속상사 직급 철수 순희 대리 순희 영희 과장 길동 순희 대리 영희 개똥 부장 개똥 사장 기본적인 SQl을 사용하여 계층 관계를 표현하는것은 불가능하다. 하지만 재귀 PL/SQL 루틴과 connect by 를 사용한다면 표현이 가능하다.재귀 PL/SQL은개발과 처리 과정에서 다소 많은 시간이 필요로 한다는 단점이 있으며, 변경사항이 있을 때 다른 저장 프로시저를 만들거나 보다 복잡하게 변경해야 한다는 점도 무시 할 수 없다.이에 오라클에서는 connect by라는 확장된 select 구문을 지원한다. select l.. 2016. 7. 17.
[Oracle] DEFAULT 제약조건 이란? 디폴트는 아무런 값을 입력 하지 않았을 때 디폴트제약의 값이 입력 지역명(LOC)라는 컬럼에 아무런 값도 입력 안했을 때 디폴트의 값인 'SEOUL'이 들어가도록 하고 싶을 경우 디폴트 제약 조건을 지정 부서 테이블을 생성 CREATE TABLE DEPT01( DEPTNO NUMBER(2) PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13) DEFAULT 'SEOUL' ); 지역명(LOC)라는 컬럼에 아무런 값도 입력하지 않았을 때 디폴트의 값인 'SEOUL'이 들어감을 확인 INSERT INTO DEPT01 (DEPTNO, DNAME) VALUES (10, 'ACCOUNTING'); [출처] [Oracle] DEFAULT 제약 조건|작성자 개구리 2014. 10. 2.
[Oracle] SQL 문 - Join 의 종류 (natural, inner, outer, cross) CROSS JOIN Cartesian Product 값을 얻을때 사용 한다. -- 아래 SQL문장을 실행해 보자 SQL> SELECT ename FROM emp CROSS JOIN dept INNER JOIN · - 일반 조인시 ,(콤마)를 생략하고 INNER JOIN을 추가하고, WHERE절 대신 ON절을 사용하면 된다.· - INNER는 생략 가능 하다.· - 아래 두 조인의 결과 값은 같다. -- INNER JOIN을 사용한 문장 SQL> SELECT e.empno, e.ename FROM dept d INNER JOIN emp e ON d.deptno=e.deptno; -- 일반적인 SQL 문장 SQL> SELECT e.empno, e.ename FROM dept d , emp e WHERE d... 2014. 9. 10.
[Oracle] user 생성 및 권한주기 *Oracle 설치후... 1. cmd 창에서 sql Command창으로 넘어가는 명령어 sqlplus userId/userPw 2. Command 창에서 User 생성 및 DBA 권한 주기 - User 권한 주기 SQL> conn ( 접속하기 ) Enter user-name: system ( 초기 User 설정 전 System 계정으로 접속 ) Enter password: 12345678 ( Oracle 설치시 지정한 Password 입력 ) SQL> create user root identified by 12345678;( 생성하고자하는 user name 을 빨간색 부분에 입력한다. by 담부분은 password ) SQL> create tablespace root datafile 'd:/racleD.. 2014. 9. 7.
[데이터베이스] 트렌젝션 4가지 속성에 대하여 알아보자 Transaction 더이상 쪼갤수 없는 하나의 작업 단위 x) 송금시스템 A계좌 | B계좌 | 송금 ----- 출금한다 ------>| | | ----- 입금한다 ----> | Transaction의 4가지 속성 만족 1) 원자성(Atomicity) - 트랜잭션은 연산들을 전부 실행하든지 전혀 실행하지 않아야지 일부만 실행해서는 안된다. All or Nothing 2) 일관성(Consistency) - 틀랜잭션이 성공적으로 실행되면 데이터베이스 상태는 모순되지 않고 일관된 상태가 된다. - 출금한 금액만큼 입금이 이루어져서 출금 데이터와 입금 데이터가 일치해야한다. 3) 격리성(Isolation) - 트랜잭션 실행 도중의 연산 결과는 다른 트랜잭션에서 접근할 수 없다. - 출금을 하는 중에는 다른 사람.. 2014. 3. 30.
[데이터베이스] 클러스터드 인덱스와 넌 클러스터드 인덱스 몇일전에 클러스터드 인덱스와 넌 클러스터드 인덱스에 대해서 나에게 물어보신 분이 계셨다. 헌데 내 기억 속에는 클러스터드 인덱스는 테이블 당 1개만 생성할 수 있다는 것만 기억날 뿐 다른 것은 기억나지 않았다. 그래서 내 기억 속에 오랫 동안 자리 잡기를 바라는 마음으로 이곳에 정리한다. 클러스터드 인덱스와 넌 클러스터드 인덱스는 간단하게 다음과 같이 정리할 수 있다. 위에서 말하는 차이, 크기, 선택도, 최대갯수에 대해서 설명을 하겠다. [차이] 클러스터드인덱스는 물리적으로 행을 재배열한다. 이 말 뜻의 의미를 이해하기 위해서 테스트 테이블을 생성한 후 데이터를 저장해 보았다. 아래와 같이 LOG_DATE, MEDIA_ID 두 개의 복합키는 자동적으로 클러스터드 인덱스로 생성이 된다. CREATE TA.. 2014. 3. 30.