목록Oracle (18)
붓, 그리다
[테이블스페이스 설계] - 오라클에서 DB 작업은 테이블에 테이터를 저장- 계정별로 무조건 user 테이블스페이스(폴더개념)에 저장이 됨- 테이블스페이스는 논리적인 이름 EX. test01이 테이블을 생성-> 테이블은 어느 특정한 파일에 저장시킬 수 있다. (~.dbf) 물리적인 이름-> 이것을 테이블스페이스로 구분, 논리적인 이름 - 테이블스페이스는 주와 부로 나뉜다.EX. 주가 되는 테이블스페이스(20M)에 데이터가 20M가 넘어가면 부가 되는 테이블스페이스(임시 테이블스페이스명 temporary)에 저장 Q8. 테이블스페이스 1) 관리자 로그인 2) 테이블스페이를 생성하기(C:\ or D:\ 등 위치를 지정) 형식)create tablespace 테이블스페이스명(논리적인이름)datafile '경로포..
데이터 복원 : 10g 이후부터 가능 [데이터 삭제 방법] 1) delete 2) truncate 3) drop Q1. 데이터를 삭제하는 방법 두가지 : delete구문, truncate 구문의 공통점과 차이점을 알아보자 - 공통점 : 두 구문 모두 테이블 내의 데이터를 삭제, 테이블의 구조는 살아있음- 차이점 : delete 구문은 DML로 rollback으로 복원이 가능, truncate 구문은 DDL 계열로 rollback으로 복원이 안됨 1) delete(DML) delete from 테이블명 // 테이블 내부 데이터 삭제 delelte from 테이블명where 조건 // 조건에 해당하는 데이터만 삭제 2) b_emp3 테이블, delete로 삭제 SQL> select count(*) from ..
[객체권한] - 오라클의 객체 권한(테이블, 뷰, 시퀀스, 시노님, 인덱스,,,)- 계정(소유자)이 우선순위 1) 객체의 권한 종류를 조회하는 SQL 문장 : tabe_privilege_map *시스템권한 테이블 : system_privilege_map select * from table_privilege_map; PRIVILEGE NAME---------- ---------------------------------------- 0 ALTER 1 AUDIT 2 COMMENT : 주석(테이블 설계 시 exerd 툴을 사용할 때) 3 DELETE : 삭제 4 GRANT : 권한 부여 5 INDEX 6 INSERT : 데이터 삽입 7 LOCK 8 RENAME : 이름변경(테이블이름, 필드명) 9 SELECT..
권한 : 관리자가 각 개정별로 사용할 수 있는 작업의 범위를 지정해주는 것 1) 시스템 권한 : 관리자가 주로 작업- 계정관리 : 생성, 수성, 삭제, 공용동의어 생성 등 2) 객체 권한 : 각 계정이 관리(소유자가 관리)- 사용권한 : 테이블, 뷰, 시퀀스,,, Q1. [계정관리] 형식) 특정계정에서 암호를 변경하라고 권고 : alter 구문 alter user 수정할 계정명 password expire; // 새암호로 변경할 수 밖에 없다. 1) hong 계정에게 암호를 변경하도록 설정 SQL> alter user hong password expire; 사용자가 변경되었습니다. 2) hong 연결 SQL> conn hong/h1234ERROR:ORA-28001: the password has expi..
Q9. [동의어(synonym)] ★★★ - 단어는 다르지만 의미를 같은 것(별칭, 별명(사람))- 동의어는 테이블에 부여(테이블은 하나인데 테이블을 부르는 이름이 2개) -> 테이블을 복사하면 서로 다른 테이블- 사용권한과 연관 형식) create synonym 동의어이름 for 대상객채명(=테이블명) EX1) 동의어 만들기 SQL> create synonym busor for b_dept2; 동의어가 생성되었습니다. SQL> select * from tab; TNAME TABTYPE CLUSTERID------------------------------ ------- ----------BONUS TABLEBUSOR SYNONYMB_DEPT2 TABLEB_EMP2 TABLEB_EMP3 TABLE SQL..
[ 인덱스 index ] - 책갈피와 같은 역할- 인덱스가 부여된 필드를 먼저 찾아준다.- 자주 사용되는 컬럼에 부여=자주 검색이 되는 필드(where 조건식)- 데이터 저장공간이 필요(저장공간이 필요없는 것 : view)- Primary key, Unique constraint 정의 시 자동으로 인덱스 생성(unique index) *Primary key : not null+unique 키가 부여- 중복되지 않고 빨리 찾아주길 원하는 데이터가 부여 [ 인덱스 종류 ] 1) Unique index- 자동으로 primary key가 생성 create unique index 인덱스명(테이블명_필드명_idx) on 적용 테이블명(필드명1) 2) non-unique index- 중복이 되도 괜찮은 필드에 부여(..
트랜잭션(transaction) : 데이터베이스에서 데이터를 관리할 때(insert, update, delete) 여러개의 SQL 명령어를 사용하게 되는 데 이를 하나의 작업 단위로 설정하는 것 - 트랜잭션 처리요건All or Noting(원자성) : 반드시 처리가 되든지 or 처리가 되지 않든지 commit or rollback 1) COMMIT- 모든 작업들을 정상적으로 처리- 데이터베이스에 모두 반영 : 테이블에 적용이 된다.- 변경된 내용을 모두 영구 저장 : 테이블에 저장- commit이 되면 작업이 끝난 상태로 취급- rollback이 안됨(취소가 불가능) 2) ROLLBACK- 처리 과정에서 발생한 변경 사항을 취소(메모리상에 저장된 결과물, insert, update, delete)-이전의..
오라클객체테이블, 뷰, 시컨스, 시노닝(동의어), 인덱스,,권한종류,복구,, [ 뷰 ] 1) 뷰의 개요 - 가상의 테이블, 실제 존재하는 테이블이 아니다.- 저장공간이 따로 없고 텍스트로 저장- 실행하면 테이블처럼 보임- 뷰는 자주 사용되고 반복적일 때도 사용 *테이블로 저장하는 것과 뷰로 저장하는 것의 차이점- 뷰로 저장(텍스트로 저장)하면 데이터 공간을 많이 차지하지 않는다. 2) 뷰의 사용 목적- 편리성 추구 : 복잡한 SQL문장을 쉽게 실행 가능- 보안성 Q2. emp테이블에서 20번 부서의 근무하는 사원의 정보를 검색할 수 있는 SQL문장을 뷰로 작성하시오. create view 뷰이름(v_xxx) as 실행시킬 SQL 문장 -> view는 DDL 1) 뷰 작성하기 create view emp_..
[집합연산자 union, union all] -> 시큐어코딩 - 집합연산자 : 서로 다른 두 개의 SQL문장의 실행결과 -> 하나로 합쳐서 결과를 보여준다.- union, union all, intersect, minus ~ 1) union(합집합): 서로 같은 테이블이면서 서로 같은 필드와 자료형을 사용한 경우2) minus(차집합A-B) : A해 해당되는 SQL만 출력 mySQL 의 경우 except Q1. emp테이블에서 업무가 MANAGER 인 사원의 사번, 이름을 구하시오 1) 문장 1 select empno, ename from emp where job='MANAGER'; EMPNO ENAME---------- ---------- 7566 JONES 7698 BLAKE 7782 CLARK 2)..
[서브쿼리 subQuery]: SQL구문 안에 또 다른 SQL문이 포함되는 것 Q1. emp테이블에서 SCOTT 사원이 받는 급여보다 많이 받는 사원을 조회해서 그 사원의 사번, 이름, 업무, 급여 순으로 출력하시오. 1) scott 사원이 받는 급여 -> 서브쿼리 select sal from emp where ename='SCOTT'; SAL---------- 3000 2) 사번, 이름, 업무, 급여 출력 -> 메인(주)쿼리 select empno, ename, job, sal from emp where sal > 3000; EMPNO ENAME JOB SAL--------- ---------- --------- ---------- 7839 KING PRESIDENT 5000 3) 서브쿼리를 활용하기(..