목록DB/Oracle (20)
개발자 항해
1. 순위 함수 종류 - rank( ) : 순위를 구하기 위한 함수 - row_number( ) : 순위를 구하되 동일 값에 대해서도 고유한 순위를 부여함. 2. 순위 함수 문법 - rank( ) over (order by 컬럼명 asc | desc) - row_number( ) over (order by 컬럼명 asc | desc) salary 를 내림차순으로 먼저 정렬하고나서 department_id를 오름차순으로 정렬한후 rank()를 매기고 그결과 값을 salary 를 내림차순으로 먼저 정렬=> department_id를 오름차순으로 정렬후 출력
EMPLOYEES 테이블과 DEPARTMENTS 테이블을 사용하여 최상위 소득자 순으로 10위에서 20위에 해당하는 사원들의 정보를 출력하시오. 처음에는 무조건 1이 반환됨 1. 1위에서 20위 추출 2. 10위에서 20위 추출 3. 부서 테이블과 조인 1. 1위에서 20위 추출 2. 10위에서 20위 추출 3. 부서 테이블과 조인
Default DB 에 접속 리스너로 시작 default DB 확인(echo : 운영체제 단에 저장되어어있는 변수명을 확인하는 명령어) Sqlplus 실행 ORCL이라는 DB가 default로 잡혀있어 거기로 접속됨. DB끄는 명령어 exit 명령어를 주면 Oracle 프로그램을 나옴 Default DB 변경해서 접속 설정 파일로 들어간다. i 를 누르고 변수값을 바꿔주면 default 디비가 바뀐다. 나오고 싶으면 esc + :wq(저장하고나옴) 으로 나오면된다. (:q 로 나오면 저장 안하고 나옴) 주의 할점은 지금 방식으로 변경하는 것은 전체로 바꾸는것. 광역변수의 느낌이고 아래 처럼 밖에서 export 로 default DB로 바꾸는건 해당 터미널 창에서만 바꾸는것이다. 지역변수의 느낌. .bas..
mysql 에서는create schema shopdb; 라는 명령어로 DB를 생성하면 되는데 oracle은 다르다. oracle은 DBCA를 이용하여 생성한다. (리눅스 터미널에서 명령어를 입력했다.) dbca라고 치면 데이터베이스 생성프로그램이 뜬다. 고급구성으로 해봄,. 일반구성이 생성하기 더 쉽다. 세부정보를 볼수있다. 보고 괜찮으면 닫고 다음 다음 포트번호는 1000번이상으로 주면되고 EM은 데이터베이스관리툴로 개발자가 쓸일은 거의 없고 디비관리자가 주로 쓴다. 체크하고 다음 비밀번호 설정 한번에 비밀번호를 주려고 두번째꺼 선택하고 입력했다. 비밀번호가 쉬워서 권장하는 표준은 아니지만 그냥 다음. 별로 바꿀게 없어서 다음 복구영역크기를 작게줘서 경고창 뜨는데 그냥 예 하고 넘어감. 상세 정보뜨고 ..
Oracle 프로그램 설치 및 DB생성 1. 운영체제 깔기 (Window나 Linux등.. 이미 설치되어있어서 생략 ) 2. Oracle DBMS 설치 ( 운영체제에 맞는 오라클 프로그램 깔기 - 나는 리눅스 버전 12C로 설치할것임 ) 3. DB 생성 DBCA를 이용해서 (이번에는 RESP라는 이름의 DB를 생성해 볼것이다.) 1) 오라클 프로그램 깔기 (리눅스 기준- 터미널환경에서 실행했다 ) - 프로그램이 깔려있는 폴더 찾아가기 및 실행 (본인기준 프로그램을 깔아 놓은 폴더를 찾아가면 된다.) 나는 oracle 폴더 - ora12c폴더-database폴더에 압축이 풀려있었다. 명령어 실행시 공백,대소문자에 유의 실행하면 위와같이 뜬다. 굳이 메일 안써도 되서 생략하고 다음을 눌렀다. 알람을 안받는걸..
1. Top_N 분석이란? Top-N 질의는 column에서 가장 큰 n개의 값 또는 가장 작은 n개의 값을 요청함. 예를 들어 ‘가장 적게 팔린 제품 10가지는?’, 또는 ‘회사의 최상위 소득자 3명은?’ 등.. 2. Top-N분석 구조 SELECT [column_list], ROWNUM FROM (SELECT [column_list] FROM table ORDER BU TOP-N_column) WHERE ROWNUM EMP테이블에서 최상위 소득자 3명의 이름과 급여를 표시한다면? select ROWNUM as RANK, last_name, salary from (select last_name, salary from employees order by salary DESC) where ROWNUM
1. USER_USERS : 자신의 계정에 대한 정보를 보여줌 2. USER_SYS_PRIVS : 사용자에게 부여된 시스템 권한을 보여줌 3. USER_TAB_PRIVS : 사용자에게 부여된 object 권한을 보여줌 4. USER_COL_PRIVS : 사용자에게 부여된 column 레벨의 오브젝트 권한에 대한 정보를 보여줌 5. ROLE_SYS_PRIVS : 롤에게 부여된 시스템 권한 6. USER_ROLE_PRIVS : 사용자에게 부여된 롤에 대한 정보를 보여줌 1. USER_USERS : 자신의 계정에 대한 정보를 보여줌 DESC로 테이블 구조 먼저 확인 2. USER_SYS_PRIVS : 사용자에게 부여된 시스템 권한을 보여줌 DESC로 테이블 구조 먼저 확인 CREATE SESSION : DB에..
1. User 생성 - create user 권한 소유자가 DB에 User를 생성할 수 있다. sys로 사용자를 바꾸고 create로 ID : demo, PASS:demo로 user를 만듦. 방금 만든 demo로 접속을 해본다. 에러가 뜬다. 왜냐하면 demo는 아무런 권한이 없기 때문. 접속할수 있는 권한 조차 없다. 2. 권한 유형 - System 권한 : DB를 조작할 수 있는 권한 -Object 권한 : Object를 조작할 수 있는 권한 1) System 권한 (1) System 권한 부여(소유자 : DBA) (create session - DB에 session 을 만들수 있는 권한을 DBA가 부여함. create user - DB에 session 을 만들수 있는 권한을 DBA가 부여함. cre..