본문 바로가기

자바 웹 개발자가 될거야/DB

(41)
[Oracle] 오라클 데이터베이스 구조 - 오라클 데이터베이스는 크게 데이터베이스와 인스턴스로 되어있다. ① 데이터베이스 구성 - 데이터베이스의 필수 물리적인 파일은 파라미터파일, 패스워드파일, 데이터파일, 컨트롤파일, Redo로그파일 · 하나라도 모자라면 DB 생성 안됨 · 아카이브로그파일은 옵션이다. ② 인스턴스 구성 - 인스턴스는 SGA 메모리구조와 여러개의 백그라운드 프로세스로 구성됨 - SGA의 필수 메모리구조는 Shared pool 메모리 구조, DB buffer cache 메모리, Redo log buffer 메모리 · 옵션 메모리 구조로는 Streams pool, Large pool, Java pool - 백그라운드 프로세스의 필수 프로세스는 PMON, SMON, DBWR, LGWR, CKPT이다...
[Oracle] 오라클 SQL 문자비교 함수 문법 연습하기 1. employees 테이블로부터 last_name에 ‘a’와 ‘e’가 모두 포함된 사원을 출력하시오. 더보기 SELECT last_name FROM employees WHERE last_name LIKE '%a%' and last_name LIKE '%e%'; 2. employees 테이블로부터 job_id가 ‘SA_REP’이거나 ‘ST_CLERK’이면서 salary가 $2,500, $3,500 또는 $7,000가 아닌 모든 사원의 last_name, job_id, salary를 출 력하시오. 더보기 SELECT last_name, job_id, salary FROM employees WHERE job_id in('SA_REP','ST_CLERK') and salary not in (2500,3500..
[Oracle] 오라클 Rownum 이용한 Top-N 분석 - 컬럼에서 가장 큰 n개의 값 또는 가장 작은 n개의 값을 요처하는 것이다. - ex) 가장 적게 팔린 제품 10가지는 ? 회사의 최상위 소득자 3명은 ? ① 구조 SELECT [컬럼명,..], ROWNUM FROM ( SELECT [컬럼명,..] FROM table ORDER BY TOP-N_column) WHERE ROWNUM
[Oracle] 기본키, 외래키 2개 이상일 때 테이블 만들기 ① 기본키를 2개로 조합하여 테이블 만들기 - 기본키가 2개이상일 때는 Table Level 문법을 사용한다. - 아래 표 대로 테이블을 만들어 보겠다. - COPY_ID와 TITLE_ID가 PK여야 하는 상황이다. 더보기 CREATE TABLE title_copy( copy_id NUMBER(10), title_id NUMBER(10) CONSTRAINT tc_id_fk REFERENCES title(title_id), status VARCHAR2(15) CONSTRAINT tc_status_nn NOT NULL CONSTRAINT tc_status_ck CHECK (status IN ('AVAILABLE','DESTROYED','RENTED','RESERVED')), CONSTRAINT tc_id_p..
[Oracle] 오라클 SQL Where절 문법 연습하기 1. employees 테이블로부터 급여가 $5,000 ~ $12,000 범위에 속하지 않는 사원의 last_name과 salary를 출력하시오. 더보기 SELECT last_name, salary FROM employees WHERE salary12000; SELECT last_name, salary FROM employees WHERE NOT BETWEEN salary 5000 and 12000; 2. employees 테이블로부터 last_name이 Matos이거나 Taylor인 사원의 last_name, job_id, hire_date를 출력하되, hire_date를 기준으로 오름차순 정렬하시오. 더보기 SELECT last_name, job_id, hire_date FROM employees W..
[Oracle] Data Dictionary 구성요소와 사용 - Dictionary에는 DB 관리에 필요한 모든 정보가 저장되어 있다. - DBA는 Dictionary의 정보를 이용하여 효율적인 데이터베이스 운영을 위해 필요한 정보를 획득할 수 있다. ① Data Dictionary 구성요소 - Base Tables · DB의 모든 정보를 DBMS(오라클)가 보기 쉬운 형태( = 이진정보 )로 기록해 놓은 테이블 · 유저에 대한 정보따로, 테이블에 대한 정보따로, 시퀀스에 대한 정보 따로 기록 - Data Dictionary Views · Base Table을 사용자가 보기 쉬운 형태로 만들어 놓은 뷰 · 읽기 전용 ( select만 가능 ) · Data Dictionary Views 유형 ⓐ user_XXX : 내가 소유한 O..
[Oracle] Sequence 생성 및 사용하기 - 자동으로 고유한 번호를 반환해 주는 번호생성기와 같은 Object - 어느 테이블이든 사용가능하지만 한 테이블에서 사용하는게 좋음 ( 값이 새로 시작하는게 아님 ) · A 테이블에서 5번 쓰고 B 테이블에서 3번 쓴 후 다시 A 테이블에 쓰면 공백이 생김 - 신입사원이 들어올때마다 시퀀스가 기억하고 자동으로 번호를 제공할 수 있음 ① 시퀀스 생성 - INCREMENT BY n · 시퀀스 번호 사이 n 만큼 간격을 지정 ( 음수도 가능 ) · default = 1 - START WITH n · 시퀀스 번호의 시작값을 n으로 지정 · default = 1 - MAXVALUE/MINVALUE n · 시퀀스의 최대값, 최소값 지정 · default : NOMAXVALUE/NOMINVA..
[Oracle] View 생성 및 삭제하기 - 테이블 다음으로 많이 사용하는 오브젝트로 뷰와 시퀀스가 있다 - 하나 이상의 베이스 테이블을 기반으로 생성은 되었으나, 물리적으로 존재하지 않는다 - Data Dictionary에 SELECT 구문 형태로 정의만 되어 있는 가상의 논리적인 테이블 - view 혼자만 존재할 수 없음 (뷰와 테이블이 연동돼서 돌아감) - 겉모습은 테이블과 똑같이 생겼다 - 데이터 중복 저장되어 공간 낭비되는걸 줄이기 위함 - 보안성 좋음 ① 뷰 생성하기 - 복사본 테이블 만드는 문법이랑 같음 ( TABLE을 VIEW로 바꿔주기만 하면됨 ) - DDL CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 뷰명 AS 서브쿼리; - OR REPLACE · view를 수정하기 위함 · cre..