Study/데이터베이스12 오라클 트랜잭션(Transaction) , 락(Lock), 격리레벨 (lsolation Level) 오라클 트랜잭션, 락, 격리레벨 트랜잭션(Transaction) 복수의 SQL문을 수행하는 도중(예: 은행 간의 이체)에 장애가 발생했을 때 장애에 대응할 수 있도록 하는 기능 전체수행(커밋: Commit)과 전체취소(롤백:Rollback) 두 가지의 결과값만 가져야 함 SAVEPOINT 명령어까지 ROLLBACK할 수 있음 AutoCommit가 되는 경우 -DDL/DCL 명령문 -오라클이 정상종료가 된 경우 ACID특성 원자성(atomicity) All-or-Nothing, Commit/ Rollback 일관성(Consistency) 트랜잭션 전후에 데이터가 손상을 받으면 안됨 같은 데이터가 다른 값을 가지면 안됨 고립성/격리수준(Isolation) 여러 개의 트랜잭션이 수행될 때 성능과 데이터 안정성.. 2018. 4. 17. 오라클 12c 자주 사용하는 함수, 오라클 라이센스, 네이밍 오라클 12c 자주 사용하는 함수, 오라클 라이센스, 네이밍 시스템 명령어 실행 SQL > 프롬프트 상에서 !를 입력하고 시스템 명령어 사용 가능 - !ls : 폴더 / 파일 리스트 확인 - !clear : 화면 지우기 화면 포맷팅 - 한 줄 길이 set linesize 100 set line 100 - 한 페이지 길이 set pagesize 100 set page 100 - 컬럼 길이 col column_name format a10 - 컬럼 포맷 col column_name format 999,999 연결 연산자 문자열붙이기 select 'the number of employee is' || empno || '.'from emp; concatenate 연산자 || 붙이면 문자열과 실제 레코드 내용이 붙.. 2018. 4. 12. 메타데이터, 캐릭터셋 메타데이터, 캐릭터셋 메타데이터 데이터를 위한 데이터 DB, 테이블의 스키마에 대한 정보를 저장하는 테이블 (DB명 테이블명, 컬럼명, 사용자명 ...) 메타데이터는 크게 두가지로 구분됨 - 데이터 사전 (Data Dictionary) 데이터베이스의 정보 저장 시스템 카탈로그라고도 함 (System Catalog) 일반적으로 읽기전용정보 (Read-Only) - 데이터 디렉토리 (Data Directory) DBMS의 모든 데이터가 저장되는 디렉토리(폴더) DB저장, 상태 및 로그 저장 메타데이터의 실습 TAB (테이블의 약자) 접속한 사용자가 소유한 테이블의 정보를 저장하는 데이터 딕셔너리 적용대상에 따라 앞쪽에 붙음 USER_ (특정 사용자에 대한 정보 저장) SELECT TABLE_NAME FROM.. 2018. 4. 11. 오라클 DB 권한(Access Control) 설정 오라클 DB 권한 설정 / 역할 설정 권한설정 (Access Control) DCL (Data Control Language) 권한 및 역할을 설정하는 언어 특정 테이블에 대한 CRUD (Create / Retrieve / Update / Delete ) 권한 설정 권한 부여 (Grant) / 권한 회수 (Revoke) 로 나뉨 (주로 DBA가 설정) 권한은 주로 시스템 권한과 객체 권한으로 나뉨 - CREATE USER - DROP USER - DROP ANY TABLE - BACKUP ANY TABLE - QUERY REWRITE - CREATE SESSION - CREATE TABLE - CREATE VIEW - CREATE SEQUNECE - CREATE PROCEDURE 예제) 현재 사용자를 확.. 2018. 4. 10. 오라클 스키마 수정, 스키마 삭제 오라클 스키마 수정, 스키마 삭제 스키마 수정 이미 생성된 스키마에 대해 수정할 경우 사용한다 테이블 컬럼추가/삭제/수정 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 ALTER TABLE 테이블명 DROP COLUMN 컬럼명 ALTER TABLE 테이블명 CHANGE 컬럼명 new_컬럼명 데이터타입(컬럼명변경) ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입(컬럼타입변경) 기본키 제약조건 추가/기본키 제약조건 삭제 ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼명) ALTER TABLE 테이블명 DROP PRIMARY KEY UNIQUE 제약조건 추가/ 삭제 ALTER TABLE 테이블명 ADD UNIQUE(컬럼명) ALTER TABLE 테이블명 ADD CONST.. 2018. 4. 9. 오라클 스키마 정의, 자료형, 제약조건 오라클 스키마 정의, 자료형, 제약조건 자료형(Data Types) 오라클의 기본 자료형 1) NUMBER - 숫자를 다루는데 사용하는 데이터 타입 - number(10,2) 소수점 기준을 ㅗ10자리, 소수점 이하 2자리 - 다른 시스템/언어와 호환성을 위해 int/float 허용 2) 문자열 2-1) CHAR(size) 고정길이 문자열 - 예를들어 sample이라는 문자열을 CHAR(10)타입의 컬럼에 넣으면 'sample____'의 형태로 들어간다 - 이런 데이터를 읽어오면 trim()과 같은 공백 문자열 처리를 하고 사용해야 한다 2-2) VARCHAR2(size) 가변길이 문자열 2-3) LONG - 2GB 이내의 문자열을 처리하는 데이터 2-4) Date - 날짜와 관련한 데이터를 저장하는 데이.. 2018. 3. 30. 오라클 서브쿼리, 집합연산 오라클 서브쿼리, 집합연산 서브쿼리(SubQuery) - 쿼리문 내에 또 다른 쿼리문이 있는 형태 - 서브쿼리는 메인쿼리에 포함되는 관계 - ()를 사용해 감싸는 형태 - Order by 를 사용하지 못한다 - 사용가능한 위치 ( SELECT/ FROM /WHERE/HAVING/ORDER BY / VALUES(INSERT)/SET(UPDATE)....) 서브쿼리의 종류 1) 단일행(Single Row) 서브쿼리 - 결과가 레코드 하나인 서브쿼리 - 일반 연산자(=,>, (select avg(sal) from emp where deptno = (SELECT deptno from dept where dname = 'RESEARCH')); 2) 다중행(Multi ROw) 서브쿼리 - 결과가 레코드 여러개인 서.. 2018. 3. 29. 오라클 LIKE 검색, NULL값, GROUP BY/HAVING 오라클 LIKE 검색, NULL값, GROUP BY/HAVING LIKE 검색 정확한 키워드를 모를 경우 일부만으로 검색하는 방법 와일드카드(%,_)를 사용하여 패턴매칭 select 컬럼명 from 테이블명 where 컬럼명 like 패턴 와일드카드 % : 0 ~ n글자, _: 1글자 (글자자수만큼! 3자를 하고싶다면 ___ 3번사용) LIKE 검색은 매칭하기 위해 DBMS에 부담이 많으므로 LIKE와 OR와 같은 논리조건자를 중복해서 사용하지 않는게 좋음 예제) emp테이블에서 ENAME이 S로 시작하는/끝나는/중간에 들어있는 직원들을 표시하시오 select * from emp where ename like 'S%'; select * from emp where ename like '%S'; select.. 2018. 3. 20. 오라클 SELECT INTO / INSERT INTO SELECT 오라클 SELECT INTO / INSERT INTO SELECT SELECT INTO 쿼리 결과를 새 테이블로 만든다. 오라클에서는 CREATE TABLE 테이블명 AS SELECT * FROM 테이블명 기존에 존재하지 않는 테이블이 새로 생성된다. (일종의 뷰와 동일한 효과) SQL - 비절차적 언어 / JAVA - 절차 언어 예제) 업무가 SALESMAN인 직원만 따로 찾아서 emp_salesman이라는 테이블을 생성해서 넣으시오. create table emp_salesman as select * from emp where job = 'SALESMAN'; 결과확인 select * from emp_salesman; INSERT INTO SELECT 쿼리 결과를 기존의 테이블에 추가한다 ( 기존 테이.. 2018. 3. 20. 이전 1 2 다음