반응형

DB/Oracle Basic 16

오라클 날짜 계산, 함수 등

1. Oracle에서의 날짜 특징 *oracle은 세기,년,월,일,시간,분,초의 내부숫자 형식으로 날짜를 저장합니다. *디폴트 날짜형식은 'DD-MON-YY' 입니다. *SYSDATE는 현재의 날짜와 시간을 리턴하는 함수입니다.(date타입) ex : 2007-01-07 오후 10:34:00 *DUAL은 SYSDATE를 보기위해 사용된 dummy table입니다. 2.oracle에서의 날짜연산 * 날짜에서 숫자(날수)를 빼거나 더하여 날짜 결과를 리턴합니다. 결과는 날짜형식 * 날짜 사이의 일수를 알기 위하여 2개의 날짜를 뺍니다. * 시간을 24로 나누어 날짜에 더합니다. 날짜 + 숫자 : 날짜 특정한 날로부터 몇일 후의 날짜 계산 날짜 - 숫자 : 날짜 특정한 날로부터 몇일 전의 날짜 계산 날짜 - ..

DB/Oracle Basic 2012.07.06

SQL문법(사용자 권한)

1. 권한의 개념 : 사용자가 데이터베이스 시스템을 관리하거나 객체를 이용할 수 있는 권리 2. 권한 부여 1 GRANT CREATE TABLE TO scott; 3. 권한 회수 1 REVOKE CREATE TABLE from scott; 4. Roll(롤)의 개념 가. 다수의 사용자와 다양한 권한을 효과적으로 관리하기 위한 권한의 그룹 나. 권한을 사용자에게 부여하고 회수하는 것과 마찬가지로 roll에도 권한을 부여하거나 회수할 수 있다. 다. 사용자에게 roll을 부여하면 해당 roll에 부여된 모든 권한이 사용자에게 부여되며, 회수 시에는 회수된다. 5. 사전 정의된 Roll 가. CONNECT : 사용자가 데이터베이스에 접속하여 세션을 생성하기 위한 권한 나. RESOURCE : 사용자에게 자신의..

DB/Oracle Basic 2012.07.06

SQL문법(View)

1. View의 개념 가. 1개 이상의 테이블을 이용하여 가상의 테이블을 구성하는 것 나. 데이터의 보안과 사용자 편의성을 높이기 위해 생성한다. 2. 뷰의 종류 가. 단순 뷰 : join이 없이 생성된 뷰 나. 복합 뷰 : join이 포함된 뷰 라. 인라인 뷰 : from절에 서브쿼리를 사용하여 생성된 임시 뷰 3. 연습문제 가. 사원테이블(TEMP)에서 사원의 연봉이 동일한 직급을 가진 사원의 평균연봉보다 많이 받는 사원의 사번,이름,연봉을 출력하세요. 1 2 3 4 5 6 7 8 9 10 11 select a.emp_id, a.emp_name, a.salary, a.lev from temp a, (select lev, avg(salary) salary from temp group by lev) b ..

DB/Oracle Basic 2012.07.06

SQL 문법(INDEX, 인덱스)

1. 정의 : 검색 속도 향상을 위해 특정 컬럼에 생성하는 객체로 책의 색인과 같은 기능 2. 인덱스 생성 가. 과 정: 테이블 lock 설정 -> full scan -> 정렬(sort) 나. 생성 대상 - Where 절이나 Join 조건 절에서 자주 사용되는 컬럼 - 전체 데이터 중에서 4~5% 이내의 데이터를 검색하는 경우 - 2개 이상의 컬럼이 where 절이나 join 조건에서 자주사용되는 경우 - 테이블에서 저장된 데이터의 변경이 드문경우 3. 인덱스 작동 원리 사용자의 검색요청 -> dictionary에서 검색 테이블 컬럼의 index 유무 검사 -> 인덱스가 존재할 경우 index에서 데이터 주소 바로검색, 존재하지 않을 경우 테이블 full scan -> 데이터 검색 완료 4. 인덱스 단점..

DB/Oracle Basic 2012.07.06

SQL 문법(데이터 무결성 제약조건)

1. 무결성 종류 가. Not Null : Null이 아닌 값만 허용 나. Unique Key : 해당 컬럼에서 중복되지 않고 유일한 값만 허용 다. Primary Key : Not null 와 Unique key의 결합된 형태, 1개의 테이블에 1번만 사용가능 라. Foreign Key : 참조되는 테이블의 컬럼 값과 일치하거나 Null만 허용 마. Check : 저장 가능한 데이터 값의 범위나 조건안에서 허용 참고 : 제약조건은 primary key는 테이블에, 그 외는 컬럼에 걸린다. 2. 무결성 제약조건의 특징 가. 테이블에 정의, 데이터 딕셔너리에 저장 나. 일시적으로 활성화/비활성화 가능 3. 참조 무결성 제약조건 가. 참조 당하는 쪽 : 부모 테이블, 참조키(Reference Key) 나. ..

DB/Oracle Basic 2012.07.06

SQL 문법(DML, DDL, DCL, TCL)

1. DML(조작어) : update, delete, merge 참고 : Merge : 구조가 같은 2개의 테이블을 비교하여 하나의 테이블로 합치기 위한 명령어 서버에 많은 부하를 주므로 index를 필히 생성 MERGE INTO [table] [alias] USING [table | view| subquery ] alias ON [ join condition] WHEN MATCHED THEN UPDATE SET ….. WHEN NOT MATCHED THEN INSERT …. VALUES …; 2. DDL(정의어) : create, alter, truncate, drop 3. DCL : grank, revoke 4. TCL : commit, rollback 참고 : 오라클에서의 변수 숫자 : number..

DB/Oracle Basic 2012.07.06

SQL 문법( Join - 2 )

1. 학번이 10101인 학생의 학번, 이름, 학과이름 과 학과 위치를 출력 1 2 3 4 5 6 7 SQL> select s.studno, s.name, d.dname, d.loc 2 from student s, department d 3 where s.studno=10101 and s.deptno=d.deptno; STUDNO NAME DNAME LOC ---------- ---------- ---------------- ---------- 10101 전인하 컴퓨터공학과 1호관 2. 몸무게가 80kg 이상인 학생의 학번, 이름,체중,학과이름,학과위치를 출력 1 2 3 4 5 6 7 8 9 SQL> select s.studno, s.name,s.weight, d.dname, d.loc 2 from st..

DB/Oracle Basic 2012.07.06

SQL 문법( Join - 1 )

1. join : 두 개 이상의 테이블을 결합하여 필요한 데이터를 조회하게 하는 기능 가. 조인의 종류 - 카티션 곱 : where 절에 조건을 기입하지 않을 경우, 테이블 row 수만큼(null 제외) * 연산하여 출력 - EQUI JOIN : where 절에 = 을 사용했을 경우 - NON-EQUI JOIN : where 절에 >=, select s.name, d.dname 2 from student s, department d 3 where s.deptno=d.deptno; NAME DNAME ---------- ---------------- 전인하 컴퓨터공학과 이동훈 전자공학과 박미경 컴퓨터공학과 김영균 컴퓨터공학과 박동진 전자공학과 김진영 멀티미디어학과 지은경 컴퓨터공학과 오유석 멀티미디어학과 ..

DB/Oracle Basic 2012.07.06

SQL 함수(그룹 함수)

1. count : 행의 개수 출력 가. count(*) : null의 개수도 포함, 중복된 값도 포함(중복된 값 제외시 distinct 사용) 나. count(col_name) : null 제외, 중복된 값도 포함(중복된 값 제외시 distinct 사용) 2. max : null 을 제외한 모든행에서 최대값 출력 3. min : null 을 제외한 모든행에서 최소값 출력 4. sum : null 을 제외한 모든 행의 합게 5. avg : null 을 제외한 행의 평균값 null을 포함한 row 값도 평균에 반영하고자 할 때에는 nvl(col_name, 0) 함수를 이용한다. 6. stddev : null 을 제외한 모든 행의 표준편차 7. variance : null 을 제외한 모든 행의 분산 8. g..

DB/Oracle Basic 2012.07.06
반응형