목록데이터베이스 (7)
복습

시퀀스 - 유일(UNIQUE)한 값을 생성해주는 오라클 객체이다. - 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성할 수 있다. - 보통 PRIMARY KEY 값을 생성하기 위해 사용. - 테이블과 독립적으로 저장되고 생성. 시퀀스 생성 - START WITH : 시퀀스의 시작값을 지정. - INCREMENT BY : 시퀀스의 증가값을 지정. - MAXVALUE : 시퀀스 최대값 - MINVALUE : 시퀀스 최소값 시퀀스 수정 START WITH 값을 제외하고 ALTER SEQUENCE 명령어로 수정할 수 있다. 시퀀스 삭제 데이터 제어어(DCL : Data Control Language) : 데이터의 사용 권한을 관리하는 데 사용하며 GRANT, REVOKE 문 등이 있다..

제약조건 기본키(Primary Key) 설정 - 테이블 생성시 PK를 정의한다. - PK(기본키)는 유일성, 최소성을 만족해야 한다. 외래키(Foreign Key) 설정 - FK가 정의된 테이블이 자식 테이블, 참조되는 테이블을 부모 테이블이라고 한다. - 자식 테이블은 부모 테이블의 참조되는 컬럼에 존재하는 값이나 NULL만 입력가능하다. ON DELETE CASCADE : 참조되는 부모 테이블의 행에 대한 DELETE를 허용한다. 즉, 부모 테이블의 행이 지워지면 자식 테이블의 행도 같이 지워진다. ON DELETE SET NULL : 마찬가지로 DELETE를 허용하며, 부모 테이블의 행이 지워지면 자식 테이블의 행은 NULL값으로 설정된다. * 참조되는 컬럼은 PK이거나 UK만 가능하다. 제약조건 ..

트랜잭션 - 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위. - 여러 개의 문장으로 구성된 트랜잭션은 반드시 동시에 실행(COMMIT) 되거나 취소(ROLEBACK)된다. - 트랜잭션은 DML 문이 실행되었을 때 시작한다. - 트랜잭션은 commit, rollback 명령을 사용하거나, DDL이나 DCL문을 사용했을 때(자동 commit), 비정상적인 종료,시스템다운(자동 rollback)일 때 끝난다. TCL(COMMIT, ROLLBACK, SAVEPOINT) COMMIT : 모든 DML(데이터 입력,수정,삭제)작업을 수행한 후 작업을 완료할 때 반드시 필요하다. (저장) ROLLBACK : 트랜잭션의 실행을 취소하였음을 알리는 연산자로 원래의 상태로 복귀시키고 연산을 취소한다. SAVE..

외부 조인(Outer Join) : 조인 조건에 일치하지 않는 데이터까지 모두 출력해주는 조인 --LEFT SELECT e.last_name 직원, e.department_id,d.department_name FROM employees e LEFT OUTER JOIN departments d ON e.department_id = d.department_id; --왼쪽에 있는 모든 데이터를 출력하므로 부서가 없는 직원도 출력 --FULL SELECT e.last_name 직원, e.department_id,d.department_name FROM employees e FULL OUTER JOIN departments d ON e.department_id = d.department_id; --왼쪽, 오른쪽에..

DECODE, CASE 함수 DECODE - 조건에 따라 데이터를 다른 값이나 컬럼값으로 추출할 수 있다. - DECODE(VALUE, IF1, THEN1, IF2, THEN2...) 형태로 사용하며 VALUE값이 IF1일 경우 THEN1을 반환하고 IF2일 경우 THEN2를 순차적으로 반환한다. - DECODE 함수 안에 DECODE 함수를 중첩으로 사용할 수 있지만, 조건연산자 사용 불가. --DECODE 함수 SELECT last_name 이름, job_id, salary, DECODE(JOB_ID, 'IT_PROG', SALARY*1.10, 'ST_CLERK',SALARY*1.15, 'SA_REP', SALARY*1.20, SALARY) 수정월급 FROM employees; DECODE 예제) 월..

LIKE 연산자 : %,_(기호 연산자)를 사용 - %는 '모든 문자', _ '한 글자'라는 의미 SELECT * FROM EMPLOYEES WHERE LAST_NAME LIKE 'B%'; -- 첫 글자가 B인 데이터 SELECT * FROM EMPLOYEES WHERE LAST_NAME LIKE '%b%'; -- b가 하나라도 있는 데이터 SELECT * FROM EMPLOYEES WHERE LAST_NAME LIKE '%y'; -- 끝 글자가 y SELECT * FROM EMPLOYEES WHERE LAST_NAME LIKE '_b%'; -- 두 번째 글자가 b SELECT * FROM EMPLOYEES WHERE LAST_NAME LIKE '__n%'; -- OOn으로 시작하는 데이터 --%의 위치..