H_Develop

고정 헤더 영역

글 제목

메뉴 레이어

H_Develop

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (221)
    • DataBase (37)
      • CUBRID (1)
      • MSSQL (5)
      • Oracle (26)
      • Linux, MySQL (2)
      • JDBC (2)
    • FrontEnd (100)
      • react (2)
      • JSP (JavaServerPage) (17)
      • Servlet (3)
      • HTML (23)
      • HTML 반응형 웹 (9)
      • JavaScript (24)
      • JQuery (21)
      • CSS (1)
    • BackEnd (48)
      • project (1)
      • JAVA (34)
      • JAVA_Collection (2)
      • PHP (11)
    • Framework (16)
      • Spring (14)
      • SpringBoot (2)
    • 개념정리 (7)
    • 각 언어 별 사용 이유 (1)
    • OS (4)
      • 리눅스 (3)
    • 보안 (1)
    • TDD (0)
    • Git (5)

검색 레이어

H_Develop

검색 영역

컨텐츠 검색

DataBase/Oracle

  • SYNONYM 동의어

    2022.06.13 by H_Develop

  • ROLE / 사용자 생성, 삭제, 권한 부여

    2022.06.13 by H_Develop

  • INDEX 인덱스

    2022.06.13 by H_Develop

  • View 가상테이블

    2022.06.12 by H_Develop

  • Transaction, lock, Rollback, View, Compile

    2022.06.09 by H_Develop

  • 계층적 질의

    2022.06.09 by H_Develop

  • GROUP BY 함수 확장(group by rollup, group by cube)

    2022.06.09 by H_Develop

  • 집합 연산자 (합집합, 차집합, 교집합 등)

    2022.06.08 by H_Develop

SYNONYM 동의어

테이블 이름을 별칭으로 다르게 만들어 주는 것. Paul 사용자가 hr.employees 처럼 이름 작성이 불편하다면, Synonym을 이용하여 HR_EMP로 변경하여 사용 가능하다. CREATE SYNONYM HR_EMP for hr.employees; // synonym으로 hr.employees를 HR_EMP로 이름을 또 만듦 select last_name, salary from HR_EMP;

DataBase/Oracle 2022. 6. 13. 16:13

ROLE / 사용자 생성, 삭제, 권한 부여

Oracle 에서는 Role-based 로 관리한다고 한다. 1. ROLE 생성 2. ROLE 권한부여 3. 해당 ROLE 사용자 CONNECT C:\Windows\System32>sqlplus hr SQL> conn sys /as sysdba 암호 입력: 연결되었습니다. SQL> show user; USER은 "SYS"입니다 SQL> create user tester1 identified by tester1; 사용자가 생성되었습니다. select * from user_users; USERNAME USER_ID ACCOUNT_STATUS ------------------------------ ---------- -------------------------------- LOCK_DAT EXPIRY_D D..

DataBase/Oracle 2022. 6. 13. 01:30

INDEX 인덱스

VIew table 생성(create or replace view view_name) 하는 것 처럼 create or replace UNIQUE index emp_id_idx on employees (employee_id); employees 테이블의 employee_id 항목에 대한 emp_id_idx라는 인덱스를 생성한다. 다른 사용자의 테이블 가져오기 / 제약 조건 확인 SQL> grant select on employees to sh; 권한이 부여되었습니다. SQL> commit; 커밋이 완료되었습니다. select * from hr.employees // 이렇게 권한을 부여해준 사용자(hr.)의 이름을 붙여주어야 받은 table을 사용할 수 있다. --------------------------..

DataBase/Oracle 2022. 6. 13. 00:23

View 가상테이블

View 자주 사용하는 쿼리로 JOIN 하는 테이블 수가 늘어나면 질의문이 길고 복잡해지고 유지보수도 어려울 수 있다. 필요한 항목만 각 테이블에서 추출하여 JOIN하고, VIEW 테이블로 저장하면 일반 테이블 처럼 사용할 수 있다. 이를 뷰를 가상 테이블이라고 한다. 뷰는 JOIN 하는 과정을 스크립트를 만들어 두거나 STORED PROCEDURE를 사용해서 데이트베이스 서버에 저장한다. VIEW에서 몇 가지 주의점은 a) 쿼리 시 맨 끝에 where read only를 붙이면 읽기 전용 뷰가 된다. b) view 테이블에서의 데이터 변경은 * 단순 뷰인 경우 하나의 테이블에서 필요한 항목들만 추출해서 만드는데 INSERT, UPDATE, DELETE가 자유로우며 ( NOT NULL 컬럼 주의 ) * ..

DataBase/Oracle 2022. 6. 12. 09:51

Transaction, lock, Rollback, View, Compile

Transaction cmd 로 내용(createm update 등)을 작업하고, localhost:5560이나 Oracle sqlplus 등 다른 프로그램에서 select * from ..처럼 값을 불러도 출력되지 않는다 작업하던 프로그램에서 작업완료, COMMIT; 을 해줘야 저장이 되며, 다른 프로그램에서 출력 또는 작업이 가능하다. Lock cmd에서 (update employees1set salary = salary * 1.1where employee_id = 110;) 를 하고, COMMIT을 안하고, 다른 프로그램(localhost:5560)에서 동일한 조건의 작업을 하면 lock이 걸려, 페이지 또는 다음 단계로 진행이 되지 않는다. cmd에서 COMMIT을 해주면 LOCK이 풀리고, lo..

DataBase/Oracle 2022. 6. 9. 20:13

계층적 질의

계층적으로 데이터 상호간의 관계를 표시 LEVEL로 표시 select LPAD(employee_id, level*3, '-') AS EMP_LEVEL, employee_id, last_name, manager_id from employees START WITH employee_id = '100' CONNECT BY PRIOR employee_id = manager_id EMP_LEVELEMPLOYEE_IDLAST_NAMEMANAGER_ID 100100King ---101101Kochhar100 ------108108Greenberg101 ---------109109Faviet108 ---------110110Chen108 ---------111111Sciarra108 ---------112112Urman..

DataBase/Oracle 2022. 6. 9. 19:45

GROUP BY 함수 확장(group by rollup, group by cube)

group by 함수 확장. select department_name, job_title, round(avg(salary),2) AS SVG_SAL from employees e JOIN departments d on d.department_id = e.department_id JOIN jobs j on e.job_id = j.job_id group by department_name, job_title // round 함수가 집함 함수이기에 group by를 사용하지 않으면 단일함수가 아니라는 오류가 뜸 // select 문에서 개인(department_name, job_title)인 것을 group by 에 묶어주면 됨 group by rollup 그훕화 할 조건이 있으면, 우측부터 하나씩 제외하며 결..

DataBase/Oracle 2022. 6. 9. 19:38

집합 연산자 (합집합, 차집합, 교집합 등)

두테이블에서 select 문의 컬럼_명, 컬럼_위치, 컬럼_수가 동일해야한다. 컬렴_명이 같지 않다면, alios를 활용하여 억지로라도 같게 해주어야 한다. INION(합집합), UNION ALL, MINUS(차집합), INTERSECT(교집합) UNION 합집합 select employee_id, department_id from employees where salary > 10000 UNION select employee_id, department_id from employees where department_id = 100 // 합집합을 얘기함, salary 10000이상인 사람들과 department_id=100인 사람들 모두 // 두 조건중 하나라도 충족하면 출력 // select 와 from ..

DataBase/Oracle 2022. 6. 8. 22:48

추가 정보

인기글

최신글

페이징

이전
1 2 3 4
다음
TISTORY
H_Develop © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바