전체 글 (315) 썸네일형 리스트형 [복습] SQL | Oracle 계정 생성하기(USER) + 복습후기(20231116) DBMS네는 여러 계정이 존재하며, 계정별로 권한을 통제하고 있다. USER(계정)는 새로 생성, 변경, 삭제가 가능하다. 1. USER 생성 계정을 생성할 때에는 SYSTEM 계정에서 생성하도록 하며 NAME이라는 계정을 생성하여보자. 이렇게만 하고 세션에서 접속하려고 하면 다음과 같은 에러가 뜬다. 이는 필수 상식으로, 시험에도 나오는 내용이다. USER 생성 했다고 바로 접속이 가능한 게 아니라 CREATE SESSION 권한이 있어야 접속이 가능하다. 따라서 다음에 이런 내용도 덧붙여야 한다. 연습문제를 풀어보자 새로 생긴 NAME 계정에 다음의 권한 부여 1) emp, dept, student, professor 테이블에 대한 조회 권한 scott 소유의 모든 테이블에 대해 (BIN빼고) 조회 .. [복습] SQL | Oracle 권한에 대하여(GRANT, REVOKE) 일반적으로 본인(접속한 계정) 소유가 아닌 경우 원칙적으로 테이블 조회가 불가하다(권한이 통제되어 있음). 따라서 업무적으로 필요 시 소유자가 아닌 계정에 테이블 조회, 수정, 권한 부여가 가능하다. 권한 종류 1) OBJECT(오브젝트) 권한: 특정 테이블에 대한 권한 제어 예를 들면 테이블에 대한 SELECT, INSERT, UPDATE, DELETE, MERGE 권한이다(테이블 하나 당 두는 권한). 2) 시스템 권한: 시스템 작업(테이블 생성 등)등을 제어 예를 들면 테이블 생성 권한, INDEX 삭제 권한 등 1. 권한 부여 문법은 아래와 같다. 예) OBJECT(오브젝트) 권한 부여(어떤 테이블의 어떤 권한, 이런 정보가 들어가야 함) GRANT DBA TO SCOTT; 이런 ROLE을 통한 .. [복습] SQL | Oracle database간의 link인 DB Link DB Link란 database 끼리의 link로 DB간의 데이터 이동이나 다른 DB의 데이터 수정 등을 가능하게 한다. 사전에 DB와 DB가 통신할 수 있게 방화벽이 허용되어야 한다. 예를들어 SCOTT 소유의 EMP가 있는데 HR이 이 테이블을 조회하려고 한다. 그래서 HR이 EMP라는 이름으로 조회가 가능하게끔 경로를 만드는 것이 synonym이다. 이 때에는 타겟 테이블인 EMP가 로컬에 있는 상황이었다(같은 DB안에 있음). 그런데 다른 DB에 있는 A라는 계정 소유의 T1 테이블이 있다. HR이 T1을 조회하게 하고 싶을 때, 원칙적으로는 불가하나 이걸 허용하는 것이 DB Link이다. DB간의 연결 통로를 만드는 것이다. 이 때에는 SELECT문을 날리는 순간 다른 DB에 붙어서 테이블의 원.. [복습] SQL | Oracle 시노님(Synonym)이해하기 + 복습후기(20231115) Synonym 시노님은 테이블의 동의어이며, 목적으로 첫 번째는 보안(원본 테이블의 이름을 노출하지 않기 위함)이며 두 번째로는 편의성이 있다. 먼저 문법으로는 다음과 같다. OR REPLACE: 기존의 같은 이름의 SYNONYM이 있다면 대체할 것. 재생성 대신 이미 객체가 존재할 경우 대체하는 것이다. PUBPLIC: SYNONYM 생성자 외의 유저들도 사용 가능 (DEFAULT: PRIVATE) 예를들어 HR유저가 SCOTT유저의 EMP 테이블을 조회하려고 한다. 일반적으로는 조회 불가하다. HR유저에게 조회권한을 부여하게 되면 다음과 같이 조회하여야 조회 가능하다. SELECT * FROM SCOTT.EMP; 그냥 SELECT * FROM EMP; 하면 조회되지 않는다. 그런데 SYNONYM을 활.. [복습] SQL | Oracle 부서의 계층을 표시하기, 계층형 질의 계층형 질의 계층형 질의란 각 행들의 연결고리를 통하여 행과 행 사이의 계층(depth)를 표현하는 기법이다. dept2파일을 열어보면 PDEPT는 상위부서인데 그렇게되면 아래와 같이 연결하여 해석할 수 있는 게 계층형 질의이다. -- 사장실 ----경영지원부 ------재무관리팀 ------총무팀 ----기술부 ----영업부 먼저, 문법은 다음과 같다. 문법만 보면 잘 이해가 안가서 예시가 필요하다. 사장실은 PDEPT가 NULL이므로 START에 NULL인 PDEPT부터 시작하겠다고 명시한 후, CONNECT는 DCODE와 PDEPT가 같은 조건을 이어가달라고 하는 것이다. 여기서 PRIOR 위치가 중요한데 START WITH에 PDEPT부터 시작하라고 하였으니 다음 레벨을 찾기 위한 조건이 PDEP.. 이전 1 ··· 47 48 49 50 51 52 53 ··· 63 다음