KIC/ORACLE 12

[Oracle] 추가내용(관리자입장)

관리자 입장에서 다루는 내용 Oracle Admin => 관리자역할, 데이터를 저장? -> 어디? 공간크기? (설계) 테이블 스페이스 주가 되는 테이블스페이스(~.dbf) 부가 되는 테이블스페이스 (=temporary tablespace)(임시) SQL> con sys/sys12345 as sysdba 테이블스페이스 영역 (경로지정, 파일명, 크기설정) 형식) create tablespace 테이블스페이스명(=논리적인 이름) datafile '경로포함해서 저장할 파일명.dbf' size nm; (nm 임의의 크기) SQL> create tablespace oradata2 datafile 'c:\webtest\2.db\oradata2.dbf' size 10m; 테이블스페이스가 생성되었습니다. 테이블 스페이..

KIC/ORACLE 2020.10.12

[Oracle] 객체권한 및 데이터복원

객체권한 table, view, sequence, synonym, index 객체의 권한 종류를 조회하는 SQL? -> table_privilege_map(테이블) 시스템 권한종류? -> system_privilege_map SQL> conn sys/sys12345 as sysdba 연결되었습니다. SQL> select * from table_privilege_map; PRIVILEGE NAME ---------- ---------------------------------------- 0 ALTER 1 AUDIT 2 COMMENT // 주석(테이블 설계 => exerd) 3 DELETE // 삭제권한 4 GRANT // 권한부여 5 INDEX 6 INSERT // DML권한 7 LOCK 8 RENAME..

KIC/ORACLE 2020.10.12

[Oracle] 동의어, 권한

동의어 동의어(Synonym(유사어)) 단어는 다른데 의미가 같은 것 테이블은 하나인데 이름이 2개 백업테이블과는 다른 개념이다. 혼동 주의 테이블(dept)과 백업테이블(b_dept)는 서로 다른 테이블이다. 형식) create synonym 동의어이름 for 대상객체명(=테이블명) SQL> create synonym buser for b_dept2; SQL> create synonym buser for b_dept2; 동의어가 생성되었습니다. SQL> select * from b_dept2; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40..

KIC/ORACLE 2020.10.12

[Oracle] 트랜잭션

데이터베이스에서 데이터를 관리(insert,update,delete,select) 여러개의 SQL명령어를 사용하게 되는데 이를 하나의 작업단위로 설정 ex) 계좌이체(A은행---->B은행) -1000 ---->+1000 수정 입금(=insert) update insert=====>작업단위 정전 트랜잭션의 처리요건=>ALL or Nothing (원자성) 반드시 처리가 되든지 or 처리 X commit or rollback COMMIT 모든 작업들을 정상적으로 처리 데이터베이스에 모두 반영--->메모리에 저장=>테이블에 적용이 된다. 변경된 내용을 모두 영구 저장-->테이블에 저장(insert,update,delete) (주의할점)=>** 자동 commit이 되는 경우 ** 1.create table,cre..

KIC/ORACLE 2020.10.12

[Oracle] 인덱스, 시퀀스

인덱스 인덱스 책갈피, 목차와 같은 역할을 한다. 데이터에 빠르게 접근하는 것을 도와 데이터베이스의 성능 향상에 도움을 주는 객체이다. 인덱스 특징 인덱스가 부여된 필드 먼저 찾아준다.(자주 검색이 되는 컬럼에 부여) - where 조건식 데이터 저장공간이 필요 primary key -> (not null) 와 (unique 키(=unique index)) 인덱스 종류 unique index 가 자동으로 부여된다(자동으로 pk가 생성) **non-unique index -> 중복이 되어도 되는 필드에 적용, 중복이 되면서 자주 검색이 되는 필드에 부여 (업무별, 성별, 이름, 직책 검색) 인덱스 장점 검색속도가 빨라진다. 시스템에 걸리는 부하를 줄여서 시스템 전체 성능을 향상시킨다. 인덱스 단점 인덱스를..

KIC/ORACLE 2020.10.12

[Oracle] 뷰

뷰의 개요 가상의 테이블 테이블처럼 보이나 실제 존재하는 테이블이 아니다. 저장공간이 없다. -> 텍스트로 저장(뷰의 내용(SQL문장)) 뷰를 사용하는 목적 편리성 추구 -> 복잡한 SQL구문을 쉽게 실행할 수 있다. 보안목적으로 사용 emp 테이블에서 20번부서에 근무하는 사원의 정보를 검색할 수 있는 SQL을 뷰로 작성하시오. 형식) create view 뷰이름(v_xxx) as SQL 구문 sql> create view emp_20 as select * from b_emp3 where deptno=20; SQL> create view emp_20 as select * from b_emp3 where deptno=20; create view emp_20 as select * from b_emp3 wh..

KIC/ORACLE 2020.10.12

[ Oracle] 서브쿼리, 집합연산자

서브쿼리( subQuery) SQL문 내부에 또 다른 SQL구문이 존재하는 구문 서브쿼리 유형 single row subquery: 서브쿼리에서 메인쿼리로 하나의 row 값이 리턴되는 경우. -> 연산자: =, !=, ^=, , >, =, 연산자: in, not in, >all, any, 서브쿼리 select sal from emp where ename='SCOTT'; SAL ---------- 3000 2) select empno, ename, job, sal from emp where sal > 3000; => 메인쿼리 SQL> select empno, ename, job, sal from emp where sal > 3000; EMPNO ENAME JOB SAL ---------- ---------..

KIC/ORACLE 2020.10.12

[Oracle] 조인개요 및 작성법

제약조건 pk,uk,ck,not null =>하나의 테이블에 설정이 가능 fk(외래키) =>관계형 데이터베이스의 테이블간 정의를 위해 한개 -> 두개로 만들어서 관리 모든 데이터- > 한테이블에 저장 가능(필드수가 25~) ** 단점=>저장하기 힘들고->검색속도가 느리다. foreign key(외래키) -> 테이블에 값을 저장할려고 할때 특정 필드와 연결이 되어있는 다른 테이블의 필드값을 검사(존재 체크) -> 값을 저장을 시켜준다. -> 존재X-->저장X 참조(reference) 무결성 강화규칙에 위배 ==(dept의 deptno) 테이블을 작성할때 제약조건을 한꺼번에 줄수 있다. -> 테이블 지정방식 SQL> create table dept (deptno number primary key, dname..

KIC/ORACLE 2020.10.12

[Oracle] 그룹함수, DDL, 테이블 제약조건

함수 단일행함수 = > 통계처리함수 그룹함수 레코드갯수 => count(*) or count(필드명) = 필드에 들어가 있는 갯수를 체크 필드에 null은 배제(갯수에 포함X) count(*)->null까지 계산에 포함시킨다. min(필드명)->최소값, max(필드명)=>최대값, avg(필드명)=>평균, sum(필드명)=>합계 그룹함수의 종류 SQL>select count(*),trunc(avg(sal)),max(sal), min(sal),to_char(sum(sal),'$999,999') from emp; sql>select count(*),trunc(avg(sal)),max(sal), min(sal),to_char(sum(sal),'$999,999') from emp; COUNT(*) TRUNC(AV..

KIC/ORACLE 2020.10.12

[Oracle] 함수활용

dual 오라클의 기본적인 테이블로써 일반유저가 사용가능한 테이블 산술 연산이나 가상 칼럼 등의 값을 한번만 출력하고 싶을 때 많이 사용하는 아주 유용한 테이블로서 DUMMY라는 한개의 칼럼으로 구성되어 있다. 형식) desc dual; select * from dual; 기존의 테이블을 이용=>복잡(기존의 데이터와 섞어서 나옴) 오늘 날짜를 구할때도 사용=>sysdate SQL> desc dual 이름 널? 유형 ----------------------------------------- -------- ---------------------------- DUMMY VARCHAR2(1) select 24*23*12 from dual; select sysdate from dual; SQL> select 2..

KIC/ORACLE 2020.10.12