oracle
-
부서(DEPT) 와 사원(EMPLOYEE) 테이블 연습oracle/DB 연습 2022. 12. 13. 18:43
CREATE TABLE DEPT( deptno number(2) constraint pk_deptno PRIMARY KEY, dname varchar2(14), loc varchar2(13) ); CREATE TABLE EMPLOYEE( empno number(4) constraint pk_empno PRIMARY KEY, ename varchar2(10) NOT NULL, job varchar2(9), ngr number(4) NOT NULL, hiredate date, sal number(7) NOT NULL, comm number(7), deptno number(2) ); --외래키(foreign) 추가 ALTER TABLE EMPLOYEE ADD CONSTRAINT FK_DEPTNO FOREIGN..
-
DATABASE 16장 연습문제oracle/16장_분석함수 2022. 12. 13. 16:40
문제1] 분석함수 중에서 rank(), dense_rank()의 차이점을 쓰시오. rank() 함수는 데이터의 순위가 동일 한 경우 다음 순위를 건너뛰지만 dense_rank() 함수는 다음 순위를 연속적으로 출력한다 문제2] 학년별로 학생들의 생년월일을 기준으로 생일이 빠른 (내림차순) 학생부터 순위를 부여하여 출력하시오. 출력) name grade birthdate birthdate_rank --------------------------------------------- 서재진 1 85/11/29 1 박동진 1 85/11/24 2 하나리 1 84/12/18 3 조명훈 1 84/09/16 4 박미경 1 84/05/16 5 이동훈 1 83/12/10 6 김진경 2 83/02/28 1 임유진 2 83/..
-
분석함수(2)oracle/16장_분석함수 2022. 12. 13. 11:57
FIRST_VALUE 와 LAST_VALUE 분석 함수 - 윈도우에서 정렬된 값 중에서 첫 번째 값과 마지막 값을 반환 사용 예 학생의 생년월일을 기준으로 전, 후 2년간의 학생들 평균 키와 2년 전, 후의 처음과 마지막 키를 출력하라 SELECT studno, birthdate, height, round(AVG(height) over (order by birthdate range between interval '2' year preceding and interval '2' year following),2) grade2, FIRST_VALUE(height) OVER (order by birthdate range between interval '2' year preceding and interval '2'..
-
분석함수oracle/16장_분석함수 2022. 12. 13. 10:54
분석함수 - 대량의 데이터를 다차원적으로 분석하기 위한 함수 - 여러 SQL명령문을 사용하여야 하는 작업을 함수를 사용하여 하나의 SQL명령문으로 간결하게 표현 가능 분석함수의 종류 - RANK, DENS_RANK, ROW_NUMBER, FIRST_VALUE, LAST_VALUE 등 분석함수의 실행 단계 1) 일반 질의 처리 : 기존 질의문을 처리하는 단계로, SQL 명령문을 실행하여 출력 결과를 검색 2) 분석 함수 적용 : 일반 질의 처리 결과에 대해 다양한 분석함수를 적용하는 단계 3) 정렬(sorting) : order by 절에 의해 결과 집합 정렬 RANK 분석 함수 - 특정 칼럼 값에 의해 정렬된 결과에 순위를 부여하는 함수 RANK 함수 사용 예 - RANK 함수는 순위가 동일한 경우 다음..
-
DATABASE 15장 연습문제oracle/15장_사용자 권한 제어 2022. 12. 12. 18:21
문제1] 데이터베이스 보안을 위한 시스템 보안과 데이터 보안 방법을 간략히 설명하시오. 시스템 보안은 시스템 관리 차원에서 데이터베이스 자체에 대한 접근 권한을 관리하며 데이터 보안은 사용자별로 객체를 조작하기 위한 동작과 데이터베이스 객체에 대한 접근 권한을 관리 문제2] 권한에는 시스템 권한과 객체 권한이 있다, 각각 간략히 설명하시오. 시스템 권한은 시스템 차원의 자원, 사용자 스키마 객체 관리 등과 같은 데이터베이스 관리 작업을 할 수 있는 권한을 말하며, 객체 권한은 테이블,뷰,시퀀스, 함수 등과 같은 객체를 조작할 수 있는 권한을 말한다. 문제3] scott 사용자에게 함수 기반 인덱스를 생성할 수 있는 query rewrite권한을 부여하시오. SQL> GRANT query re..
-
동의어oracle/15장_사용자 권한 제어 2022. 12. 12. 17:47
동의어 - 하나의 객체에 대해 다른 이름을 정의하는 방법 동의어의 필요성 - 데이터 베이스 객체의 소유권은 해당 객체를 생성한 사용자에게 있으며 다른 사용자가 소유한 객체를 조회할 때에는 소유자의 아이디를 객체 이름 앞에 첨부해야 한다. 객체를 조회할 때마다 객체의 소유자를 일일이 지정하는 방법은 매우 번거로우므로 이런 번거로움을 최소화 하기 위해 주로 동의어를 사용 동의어와 별명(Alias)의 차이점 - 동의어는 데이터베이스 전체에서 사용할 수 있는 객체, 별명은 해당 SQL 명령문에서만 사용 동의어 생성 - 개별 사용자를 대상으로 한 전용 동의어, 전체 사용자를 대상으로 한 공용 동의어 존재 동의어의 종류 - 전용 동의어 (private synonym) : 객체에 대한 접근 권한을 부여 받은 사용자가..
-
롤(ROLE)oracle/15장_사용자 권한 제어 2022. 12. 12. 17:16
롤 개념 - 다수 사용자와 다양한 권한을 효과적으로 관리하기 위하여 서로 관련된 권한을 그룹화한 개념 - 일반 사용자가 데이터베이스를 이용하기 위한 공통적인 권한(데이터베이스 접속권한, 테이블 생성, 수정, 삭제, 조회 권한, 뷰 생성 권한)을 그룹화 - 이러한 권한을 그룹화하여 롤로 정의해서 사용자에게 롤에 대한 접근 권한을 부여하면 권한 관리를 효과적으로 함 롤 부여 - 활성화 또는 비활성화를 통한 일시적 권한 부여 철회 가능 - 암호 부여 가능 - 사용자 또는 다른 롤에 대한 접근 권한 부여 및 철회 가능 - 자신에 대한 롤 부여나 순환적인 부여는 불가능 - 롤은 특정 소유자나 특정 객체에 속하지 않음 사전에 정의된 롤 - 사용자 접속, 자원 생성, DBA 등과 같이 공통적으로 사용되는 권한은 사전..
-
객체 권한의 철회oracle/15장_사용자 권한 제어 2022. 12. 12. 16:39
객체 권한의 철회 사용자와 롤에 부여된 객체 권한은 데이터베이스 관리자나 객체 소유자가 철회 가능 REVOKE 명령문을 사용하여 철회 (CASCADE CONSTRAINTS : REFERENCES나 ALL 권한 철회시 관련 참조 무결성 제약조건도 함께 삭제) 객체 권한 철회 예시 --객체 권한 철회 예 -- tiger 사용자에게 부여된 student 테이블의 update,select 권한을 철회한다(scott 접속) revoke update ON student from tiger; revoke select ON student from tiger; --철회적용 확인 (tiger 접속) select * from scott.student;