oracle
-
[PL/SQL] 패키지(Package)IT, 프로그래밍/Database (Oracle) 2019. 1. 25. 09:00
패키지 (Package) : 논리적 연관성이 있는 PL/SQL 타입, 변수, 상수, 서브 프로그램, 커서, 예외 등의 항목을 묶어 놓은 객체.컴파일 과정을 거쳐 DB에 저장되고, 다른 프로그램 (타 패키지, 프로시저, 외부 프로그램 등)에서 패키지의 항목을 참조, 공유, 실행할 수 있다. PL/SQL의 패키지는 자바의 Class 개념과 유사한데, 논리적 연관성이 있는 프로시저와 함수, 변수와 상수등을 정의한 부분에서 그러하다. 다만 자바에서 지원하는 상속의 개념은 없다. 패키지의 장점을 정리하면 아래와 같다. 1. 모듈화 기능2. 프로그램 설계의 용이성3. 캡슐화4. 성능 최적화 (메모리에 패키지 전체가 올라가 있으므로 안에 있는 부 프로그램 호출시 빠른 처리 가능) 패키지 구조 PL/SQL은 선언부와 ..
-
[PL/SQL] 트랜잭션 (Transaction)IT, 프로그래밍/Database (Oracle) 2019. 1. 17. 11:00
트랜잭션(Transaction)이란, 일관성 있는 상호작용을 위한 단위이다. 데이터베이스 시스템은 ACID (Atomicity, Consistency, Isolation, Durability)를 보장하기 위해 트랜잭션을 논리적 작업단위로 사용한다. 트랜잭션을 통해 데이터베이스는 항상 일관성 있는 상태를 유지해야 한다. 비유를 하자면, 돈을 입금하는 도중에 오류가 발생하여 거래가 취소되면 많은 문제가 생길 수 있다. 이를 위해 은행 거래에서는 완전히 거래가 끝났을시에 거래 정보를 확정하고, 오류가 발생하면 거래를 시작하기 전의 상태로 되돌린다. PL/SQL상에서 사용할 수 있는 트랜잭션은 아래와 같다. 1. COMMIT 데이터베이스 연산이 정확하게 종료되어 변경내역을 실제 데이터베이스에 반영한다.만약 DB..
-
[PL/SQL] 예외처리IT, 프로그래밍/Database (Oracle) 2019. 1. 17. 08:30
간단하게 설명하자면, 컴파일 에러는 컴파일러가 컴파일시에 확인하여 나오는 오타같은 에러고,예외는 컴파일이 되어 프로그램이 작동되는 중이지만, 예기치 못한 null값의 입력등으로 생기는 예외이다.시스템 예외는 오라클이 미리 이런 예외 상황에 대해 미리 정의해 놓은 예외이며, 오라클 시스템에서 자동으로 잡아준다.사용자 정의 예외는 예상되는 특정 예외 상황에 대해 개발자가 직접 정의한 예외이다 EXCEPTION WHEN 예외명1 THEN 예외처리 구문1WHEN 예외명2 THEN 예외처리 구문2...WHEN OTHERS THEN 예외처리 구문n; 자바 프로그래밍을 해 본 사람이라면, try-catch 문과 유사하다는 점을 떠올릴 수 있을 것이다. 1234567891011 try { FileInputStream ..
-
[PL/SQL] PL/SQL 기초IT, 프로그래밍/Database (Oracle) 2019. 1. 15. 23:12
PL/SQL (Oracle's Procedural Language extension to SQL) = 오라클에서 SQL을 확장하여 사용하는 프로그래밍 언어. 이름과 같이 절차적 프로그래밍 언어이다. PL/SQL을 왜 사용할까? 1. 대용량 데이터를 연산해야 할 때, WAS등의 서버로 전송해서 처리하려면 네트워크에 부하가 많이 걸릴 수 있다. 이때 프로시져나 함수를 사용하여 데이터를 연산하고 가공한 후에, 최종 결과만 서버에 전송하면 부담을 많이 줄일 수 있다. 2. 로직을 수정하기 위해 서버를 셧다운 시키지 않아도 된다. 서버에서는 단순히 DB에 프로시저를 호출하여 사용하면 된다. 3. 쿼리문을 직접 노출하지 않는 만큼, SQL injection의 위험성이 줄어든다. 4. 블록 단위로 유연하게 사용할 수..
-
Oracle AWS RDS Timezone 설정하기 (시간대)IT, 프로그래밍/AWS 2018. 9. 11. 11:23
RDS를 처음 배당받으면 기본으로 UTC 기준으로 시간이 설정되어 있습니다. 그래서 sysdate 같은 형식으로 저장하면, UTC 기준으로 저장되어 시간이 정확하지 않게 나와버립니다. 그래서 RDS를 한국 지역시로 맞춰 줘야합니다. 타임존 설정은 옵션그룹에서 할 수 있습니다. 우선 RDS 콘솔로 들어가서 왼쪽 메뉴중에 옵션그룹을 선택합니다. 그러면 아무것도 설정하지 않았다면 Default 그룹이 설정되어 있을텐데, 이 그룹은 수정하지 못하게 설정되어 있으니 새로 그룹을 하나 만듭니다. 그리고 옵션그룹을 생성합니다 왼쪽에 체크박스로 옵션을 추가할 그룹을 선택하고, 옵션 추가 버튼을 클릭합니다. 옵션추가에서 Timezone을 선택하고 표준 시간대를 설정합니다. 즉시 적용을 예로 선택하면 변경된 적용사항이 즉..
-
[ORACLE] SQL 기초 개념IT, 프로그래밍/Database (Oracle) 2018. 1. 17. 20:33
스키마 = 사용자와 데이터베이스를 구성하는 객체들, 그리고 데이터를 포괄 하는 개념 SQL = Structured Query Language, 구조화된 질의 언어. DBMS상에서 데이터를 읽거나 쓰고 삭제하는 등 데이터를 관리하기 위한 일종의 프로그램 언어 DDL = Data Definition Language = 데이터 베이스 객체를 관리하는 개념. CREATE(테이블, 인덱스 등의 DB 객체 생성)DROP(생성된 DB객채 영구 삭제)ALTER(DB 객체 수정)TRUNCATE(테이블이나 클러스터의 데이터를 통째로 삭제) DML = Data Manipulation Language = 데이터 삽입, 조회, 삭제, 갱신 등 실제로 데이터를 조작하는언어. SELECT(테이블이나 뷰에 있는 데이터 조회)INSE..