오라클에서 디폴트 값을 넣을 때는 디폴트라는 것을 명시해야하고
MYSQL 은 NULL 쓰면 디폴트값이 알아서 들어간다.
CHECK : 제약조건 값 지정
U = UNIQUE : 기본키는 아니지만 중복된 값을 넣을 수 없음
SQL 에서의 인덱스 : 데이터의 검색을 효율적으로 하기 위해 인덱스를 지정해준다
- 데이터가 많으면 많을 수록 유리한데 적을 때는 오히려 불리하다.
오라클에서는 인덱스를 재구성할 수 있음
COMMIT 을 하고 난 뒤에는 롤백이 안된다.
오라클에서의 CONCAT 함수 : MOBILE1||'-'||MOBILE2
파이프라인( || ) 을 사용해서 가운데 붙여줄 문자열을 삽입한다.
PL/SQL 이란 ?
SQL 을 확장한 절차적 언어이다.
관계형데이터베이스에서 사용되는 ORACLE 의 표준데이터 엑세스 언어로 , 프로시저 생성자를 SQL 과 완벽하게 통합한다.
※ 오라클에서 지원하는 프로그래밍 언어의 특성을 수용해서 SQL 에서는 사용할 수 없는 절차적 프로그래밍 기능을 가지고 있어 SQL 의 단점을 보완했다.
프로시저란 ?
DB 에 일련의 작업절차를 데이터베이스 관리시스템에 저장한 것으로 영구저장모듈이라고도 불린다.
간단히 말해 여러줄의 쿼리를 하나의 함수처럼 실행하기 위한 쿼리의 집합이다.
경량화된 함수 함수보다 처리하는과정이 다르긴한데 수행능력은 프로시저가 더 빠름
drop procedure Proc04;
create or replace procedure Proc04 # 프로시저 생성
(
s IN number,
e IN number
)
IS
num1 number := s;
BEGIN
WHILE(num1<=e) --NUM이 10보다 작을때까지 LOOP실행
LOOP
DBMS_OUTPUT.PUT_LINE(num1); --출력
num1 := num1+1;
END LOOP; -- 루프 종료
END;
exec Proc04(5,10);
exec Proc04(7,20);
트리거란 ?
영어로는 방아쇠라는 뜻인데 방아쇠를 당기면 총기 내부에서 일련의 작업이 실행되어 총알이 발사된다.
이처럼 DB 에서도 트리거는 특정 테이블에 CURD 같은 DML 문이 실행 될 때 , DB 에서 자동으로 동작하도록 작성된 프로그램이다.
※ 사용자가 직접 호출하는 것이 아닌 , DB에서 자동적으로 호출하는 것이 트리거다.
예를 들어 쇼핑몰 리스트를 관리하고 있다고 할 때 , 수천,수만명의 직원들이 제품의 주문실적을 조회를 할때 DB에서는 수만건의 데이터를 읽고 주문실적 , 주문량 , 주문가격 등을 계산해야 한다 . 이 때 데이터가 많으면 많아질수록 시스템 속도가 굉장히 느려질 것이다.
이 때 트리거 를 사용하면 좋은데 , 주문한 건이 입력될 때
상품별로 판매수량 , 판매금을 집계하여 집계자료를 생성하도록 만들 수 있다.
트리거는 DB의 보안의 적용 , 유효하지 않은 트랜잭션의 예방 등에 이용할 수 있다.
'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글
24년 10월 25일 (0) | 2024.10.25 |
---|---|
24년 10월 22일 (0) | 2024.10.23 |
24년 10월 17일 (1) | 2024.10.21 |
24년 10월 15일 (1) | 2024.10.21 |
24년 10월 14일 (0) | 2024.10.21 |