본문 바로가기

728x90
반응형

분류 전체보기

(315)
[복습] SQL | Oracle 문자열의 규칙 찾기, 문자열의 일반화인 정규식 표현식 + 복습후기(20231117) 정규식 표현식이란 문자열의 일반화 규칙을 표현하는 방법으로, 오라클에서는 정규식 표현식 사용가능한 문자함수를 제공하고 있다( REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_INSTR,... 이런 식으로) 정규식 표현식의 종류 1) 데이터 타입 관련 \d: 숫자 \w: (공백을 제외한)글자(문자와 숫자) → 여기서는 언더바(_)까지 포함한다. \W: 글자가 아닌 공백과 특수기호 → 여기서는 (_)언더바를 제외한다. \s: 한글자 이상의 공백(그러므로 탭도 포함됨) [[:alpha:]]: 글자 [[:digit:]]: 숫자 [[:alnum:]]: 글자(문자+숫자) [[:punct:]]: 특수기호 2) 한 글자의 특수기호 형태 ★ ^: 시작 예를 들어 ^a\w+ 하면 a로 시작하는 단어들이..
[복습] SQL | Oracle GROUP BY 의 함수 종류(GROUPING SETS, ROLLUP, CUBE) GROUP BY 절에서 가능한 함수를 알아보겠다. 부분합 출력이 목적이며, GROUP BY 결과에 추가적으로 요약된 값을 출력한다. 1. GROUPING SETS(A, B,...) → (A별) + (B별) A별 + B별 합집합을 출력한다(각각 그룹핑 연산 결과를 UNION ALL로 표현이 가능하다). 나열 순서는 중요하지 않으며, ()를 쓰지 않고는 전체 통계가 출력되지 않는다. ()나 NULL로 전달하여야 출력된다. 먼저 우리가 기존에 그룹연산을 하는 방법이다. 예) DEPTNO, JOB 별 GROUPING SETS를 이용하면 아래와 같다. DEPTNO별 JOB별 각각 출력된다. 이것을 SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO; SELECT JOB, SUM..
[복습] SQL | Oracle 사용자 정책 만들기 PROFILE PROFILE은 사용자 정책을 만드는 것으로, 로그온 정책 / 리소스 정책 으로 나뉜다. 로그온 정책은 패스워드 정책이라고도 하며, 사용자가 로그인 할 때 유효기간이라든가 하는 것들을 정하는 것이다. 리소스(자원) 정책은 예를 들어 접속한 지 한 시간 반이 지났을 때 세션이 완료되도록 정하거나(IDLE 타임, 휴면시간), CPU타임 등도 리소스 정책에 들어간다. 1. 조회 위와 같이 조회할 수 있으며, 대충 이해할 수 있을 만한 걸 밑줄쳐보았다. PROFILE 이름에 DEFAULT 보이는 게 DEFAULT PROFILE이다. 2. 생성 이렇게 생성하며, 아래와 같이 생성할 것들을 나열할 수 있다. 그리고 이렇게 만든 프로파일을 계정에 다음과 같이 적용할 수 있다. 3. 변경 LINE 1이 문법이며, LI..
[복습] SQL | Oracle 계정 생성하기(USER) (2) 이어서 지난 수업시간에 이어서 사용자 계정에 대하여 추가로 공부했다. https://metime.tistory.com/86 [복습] SQL | Oracle 계정 생성하기(USER) + 복습후기(20231116) DBMS네는 여러 계정이 존재하며, 계정별로 권한을 통제하고 있다. USER(계정)는 새로 생성, 변경, 삭제가 가능하다. 1. USER 생성 계정을 생성할 때에는 SYSTEM 계정에서 생성하도록 하며 NAME이라는 계 metime.tistory.com 지난 수업 시간 관련 유저생성 등은 위 링크에서 확인이 가능하다. 누적하여 계속 작성하겠다. [사용자 계정] DBMS는 업무별로 여러 유저들이 존재하며, 각 계정별로 권한이 분리되어 있다. 각 계정 소유의 여러 객체(스키마)들이 존재할 수 있다. (계정 ..
[복습] SQL | Oracle 뷰(VIEW) 정리하기 뷰(VIEW)란 테이블처럼 사용 가능한 객체(조회, 입력, 수정, 삭제 가능)로, 테이블처럼 사용이 가능하니 JOIN도 가능하다. 데이터가 따로 저장공간에 저장되지 않는다(데이터가 저장되는 것이 아니라 객체 이름이 저장됨). WITH문에서의 임시 테이블과 유사하나 영구적으로 사용 가능하도록 객체를 사용한다. QUERY의 별칭(ALIAS)같은 느낌이며(쿼리 자체에 하나의 이름을 부여), 뷰를 조회하면 뷰와 연결된 쿼리를 그때그때 실행하기 때문에 원본 테이블이 변경되어도 변경된 결과를 그대로 조회할 수 있다. WITH/뷰/테이블 공통점과 차이점 WITH문 뷰 테이블 임시적 영구적 영구적 (객체명 저장X) (CREATE 생성) (CREATE함) 데이터 저장X 데이터 저장X 데이터 저장O 1. 뷰 생성 **(컬..
[복습] 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..

728x90
반응형