'DATABASE/ORACLE'에 해당되는 글 37건

  1. 2011.12.11 WINDOWING 함수
  2. 2011.10.04 오라클의 논리적인 데이터 저장 구조
  3. 2011.10.04 클러스터링 테이블의 개념
  4. 2011.09.05 ROLLUP
  5. 2011.09.05 ROLLUP
  6. 2011.04.22 Index 생성 위치 확인
  7. 2011.04.22 테이블스페이스 할당량
  8. 2010.11.03 뷰란?
  9. 2010.09.09 WITH READ ONLY
  10. 2010.09.09 뷰 재 생성
2011.12.11 23:45

1.OVER
쿼리 RESULT SET을 이용해 동작하는 함수라는 구문이다.

2.PARTITION BY
RESULT SET을 value expression2에 지정된 값에 근거하여 분할 하는 역할 수행

3.ORDER BY
각 PARTITON내에서 DATA가 어떤 값을 기준으로 정렬될 것인가를 지정

4.NULLS FIRST | NULLS LAST
NULL이 포함된 ROW가 순서상 제일 앞에 위치 할 것인지 제일 뒤에 위치할 것인지를 지정

5.ROW | RANGE
자료의 물리적 순서를 이용(ROWS) 할 것인 지 논지적 순서(RANGE)를 이용 할 것인지를 결정

6.BETWEN ... AND
자료의 범위를 결정한다.

7.UNBOUNDED PRECEDING
 지정 된 값 이전의 모든 ROW를 포함시킨다.

8.UNBOUNDED FOLLOWING
지정된 값 이후의 모든 ROW를 포함시킨다.

9.CURRENT ROW
현재 ROW를 시작 값 또는 마지막 값으로 이요 할 때 사용 한다 .

Posted by 박쥐소년
2011.10.04 23:19
1.BLOCK:오라클에서 말하는 데이터 입,출력의 최소단위 
   BLOCK 크기 종류:2KB,4KB,8KB,16KB,32KB
2.EXTENT:SEGMENT의 할당 단위이다.
  1 EXTENT는 8 BLOCK이다.
3.SEGMENT:테이블(TABLE),인덱스(INDEX)를 합쳐서 SEGMNET라고 부른다.
4.TABLESPACE:SEGMENT를 저장해 놓은 공간을 TABLESPACE라고 부른다.
즉 운영체제의 물리적인 파일명에 대한 오라클의 논리적인 이름을 TABLESPACE라고 명칭한다.
5.DABTABASE:여러개의 TABLESPACE를 모아 놓은 것을 DATABACE라고 부른다.


Posted by 박쥐소년
2011.10.04 22:51
클러스터는 테이블이나 인덱스처럼 저장공간을 가지고 있는 하나의 오브젝트(Object)이다.

테이블이 인덱스보다 상위개념이듯이 클러스터는 테이블의 상위개념이다. 각각이 별개의 독립적인 오브젝트이지만 서로간에 개념적인 종속성을 가지고 있다. 다시 말해서 클러스터로 생성된 오브젝트 내에 테이블이 생성되는 것이다. 테이블이 없는 클러스터는 어떤 데이터도 입력 할 수 없으므로 무의미하다.
Posted by 박쥐소년
2011.09.05 11:31

SELECT ORD_DSTN,RCVG_TP,SUM(PROD_WGT)
FROM M40APUSER.TB_M45_HR_PRODUCT
WHERE MTRL_PRGRS_CD = '193'
GROUP BY ROLLUP(ORD_DSTN,RCVG_TP)

그룹에 대한 합을 구한다.  소계 및 총계를 구한다.


SELECT ORD_DSTN,RCVG_TP,GROUPING_ID(ORD_DSTN,RCVG_TP),SUM(PROD_WGT)
FROM M40APUSER.TB_M45_HR_PRODUCT
WHERE MTRL_PRGRS_CD = '193'
GROUP BY ROLLUP(ORD_DSTN,RCVG_TP)

GROUPING_ID를 사용하면 SUMMARY 기능을 사용 할 수 있다.
Posted by 박쥐소년
2011.09.05 11:26

SELECT ORD_DSTN,RCVG_TP,SUM(PROD_WGT)
FROM M40APUSER.TB_M45_HR_PRODUCT
WHERE MTRL_PRGRS_CD = '193'
GROUP BY ROLLUP(ORD_DSTN,RCVG_TP)

그룹에 대한 합을 구한다.  소계 및 총계를 구한다.


SELECT ORD_DSTN,RCVG_TP,GROUPING_ID(ORD_DSTN,RCVG_TP),SUM(PROD_WGT)
FROM M40APUSER.TB_M45_HR_PRODUCT
WHERE MTRL_PRGRS_CD = '193'
GROUP BY ROLLUP(ORD_DSTN,RCVG_TP)

GROUPING_ID를 사용하면 SUMMARY 기능을 사뇽 할 수 있다.
Posted by 박쥐소년
2011.04.22 15:02
SELECT *
FROM dba_segments
where segment_name like'%TB_M45_MES%' AND OWNER = 'M40APUSER';
Posted by 박쥐소년
2011.04.22 14:43
·사용자에게 특별히 지정된 모든 테이블스페이스 할당량을 나열하는 질의
  
 SELECT * FROM sys.dba_ts_quotas;

   TABLESPACE USERNAME    BYTES MAX_BYTES  BLOCKS MAX_BLOCKS
  ---------------------------------------------------------------------------------
   SYSTEM    SYSTEM        0       0       0       0
   SYSTEM    JFEE
          0    512000      0      250
   SYSTEM    TSMITH         0      -1
      0       -1
·특정 할당량을 지정하면 MAX_BYTES 열에 정확한 숫자가 나타나고 무제한 할당량은 "-1"로 표시


Posted by 박쥐소년
2010.11.03 00:03
뷰(View)는 한마디로 물리적인 테이블을 근거한 논리적인 가상 테이블이라고 정의할 수 있습니다. 뷰를 가상 테이블 이라고 하는 이유를 살펴보겠습니다. 가상이란 단어는 실질적으로 데이터를 저장하고 있지 않기 때문이에 붙인것이고, 테이블이란 단어는 실질적으로 데이터를 저장하고 있지 않더라도 사용자는 마치 테이블을 사용하는 것과 동일하게 뷰를 사용할 수 있기 때문에 붙인 것입니다.


CREATE VIEW emp_view30
AS
SELECT empno,ename,deptno
FROM emp_copy
WHERE deptno = 30;


user_views에서 테이블 이름과 텍스트만 출력해 보겠습니다.

SELECT view_name,text
FROM user_views;

※ Text에는 뷰를 정의 할 때 사용한 서브 쿼리문이 저장되어 있다.


뷰를 삭제 하려면 다음과 같이 명령문을 기술하면 됩니다.

DROP VIEW view_name;

뷰를 재생성 하는 방법

CREATE OR REPLACE VIEW emp_view_join
AS
SELECT e.ename,d.dname,d.loc
FROM emp e, dept d
WHERE e.deptno = d.deptno;


뷰의 생성할 때 지정하는 FORCE/NOFORCE 옵션

뷰를 생성하는 경우에 일반적으로 기본 테이블이 존재한다는 가정하에서 쿼리문을 작성합니다. 극히 드물기는 하지만 ,기본 테이블이 존재하지 않는 경우에도 뷰를 생성할 수 있는데 이때에는 FORCE 옵션이 저장되어 있어야 합니다. 특별한 설정이 없으면 NOFORCE 옵션이 저장된 것이므로 반드시 존재하는 기본테이블을 이용한 쿼리문으로 뷰를 생성해야 합니다.

FORCE/NOFORCE 옵션이 어떤 역할을 하는지 살펴보기 위해서 존재하지 않는 테이블인 employees를 사용하여 뷰를 생성하도록 해봅시다.



Posted by 박쥐소년
2010.09.09 00:47
WITH READ ONLY 옵션은 뷰를 생성한 후 어더한 DML 문도 수행할수 없도록 하는 기능을 합니다.

CREATE OR REPLACE NOFORCE VIEW EMP_CHK30
AS
SELECT EMPNO,ENAME,DEPTNO
FROM EMP_COPY
WHERE DEPTNO = 30 WITH READ ONLY;
Posted by 박쥐소년
2010.09.09 00:37
CREATE OR REPLACE VIEW emp_view_join
AS
SELECT e.ename,d.dname,d.loc
FROM emp e,dept d
WHERE e.deptno = d.detno;
Posted by 박쥐소년