[Oracle] 15.제약 조건(PK, FK, UK, NOT NULL, CHECK) 설정, 조회 쿼리
제약 조건(Constraints) 테이블 단위에서 데이터의 무결성을 보장해주는 규칙.(오류 방지) 테이블에 데이터가 입력, 수정, 삭제되거나 테이블이 삭제, 변경될 경우, 잘못된 트랜잭션이 수행되지 않도록 결함을 유발한 가능성이 있는 작업을 방지하는 역할을 담당한다. 특히 PK와 FK는 테이블의 필수요소로써 모든 테이블은 이들 둘 중 하나 이상을 반드시 포함하고 있다. 오라클에서 제공하는 제약조건의 종류는 다음과 같다. PRIMARY KEY 테이블 당 하나만 정의 가능하며, 유일하게 식별할 수 있는 컬럼. 고유 인덱스 생성됨. FOREIGN KEY 자식 테이블에 설정 (반대로, 참조되는 테이블이 부모 테이블. 부모 테이블은 삭제가 불가능해짐) UNIQUE KEY 중복 값을 허용하지 않는 고유키. 고유 인..
2019. 5. 7.
[Oracle] 14. 트랜잭션과 잠금(Exclusive Lock, Share Lock, Dead Lock, Undo Segment)
트랜잭션(Transaction) 반드시 함께 실행되어야 하는 작업의 단위를 의미. 즉 사용자의 의도에 따라 여러 개의 문장으로 구성된 트랜잭션은 반드시 동시에 실행(COMMIT;)되거나 취소(ROLLBACK;)된다. RDBMS는 트랜잭션을 통해 작업의 단위를 결정함으로써 작업 결과의 신뢰성을 확보한다. 트랜잭션의 기본 과정은 다음과 같다. 1. DML(insert, update, delete), DDL(create, alter, drop, truncate), DCL(grant, revoke)문 실행 2. 입력된 행에 잠금이 걸림 3. COMMIT 또는 ROLLBACK 실행 4. 잠금 풀림 언두 세그먼트(Undo Segment) DML 작업이 발생할 때 그 작업을 취소(ROLLBACK;)시키기 위해서는 이..
2019. 4. 26.
[Oracle] 12. 다양한 변환함수(TO_CHAR, TO_DATE, TO_NUMBER)
TO_CHAR 날짜와 숫자를 문자로 변환한다, 출력데이터 형식을 지정한다. TO_CHAR(날짜, 출력형식), TO_CHAR(숫자, 출력형식) TO_DATE 데이터를 날짜형으로 해석한다. TO_DATE(문자, 해석형식) TO_NUMBER 데이터를 숫자로 해석한다. 대부분의 경우 오라클의 자동형변환에 의해 숫자로 읽혀지므로 사용빈도가 낮다. SQL보다 PL-SQL에서 간혹 사용된다. 예제1) 현재 날짜를 다양한 형식으로 출력한다 SELECT TO_DATE(sysdate, 'YYYY/MM/DD') date1, TO_DATE(sysdate, 'YYYY/MM/DD:HH24:MI:SS') date2, TO_DATE(sysdate, 'YYYY/MM/DD:HH:MI:SS AM') date3 FROM dual; SELE..
2019. 4. 23.