DB

DB/Oracle

13. DCL

constraint 와 dcl 차이점 dcl : 사용자 접근 제한 constraint : data를 작성하는 부분에서의 제약 Grant : 권한 주기 Role : 권한 주기 역할 효과적으로 하는 방법 revoke : 권한 뺏기

DB/Oracle

11. meta 정보 - dictionary

dictionary read only로만 제공되는 view, table 집합 dictionary view total 종류 user all dba v$ ind dictionary table privileges dictionary view 종류 4가지 - 접두어 user 사용자가 소유한 객체에 관한 정보 저장 all_ 사용자에게 액세스가 허용된 객체에 관한 정보 저장 dba_ DBA 권한을 가진 사용자가 액세스 할 수 있는 정보 저장 v$ 서버의 성능과 locking에 관한 정보 저장 - DBA에게만 허용 dictionary view 종류 3가지 - 동의어 dictionary : 모든 데이터 사전 테이블, 뷰, 동의어 table_privileges : 권한을 부여했거나 부여받은 object에 대한 권한 in..

DB/Oracle

10. meta 정보 - transaction Control (tx)

tx( transaction control ) - 마리오 게임 명령어 commit : 저장 savepoint : rollback 할 위치 - 임시저장 savepoint를 만들어 두면 rollback을 할 위치를 설정 가능 하지만 commit을 한 상태는 아니므로 문제 발생시 직전 commit 단계로 rollback 된다. rollback : 저장 전으로 돌아감 implicit 제어 명령어 자동 commit : DDL, DCL 수동 commit : DML rollback : 비정상 종료 속성 atomic: 원자성 consist: 일관성 isolation: 독립성 수정 중에는 다른 사용자 접근 안된다. rollback, commit 2개중 하나를 수행해야 lock이 풀린다. duration: 지속성

DB/Oracle

9. meta 정보 - constraint

constraint = 제약 조건 db 보호가 목적 table과 관계없이 따로 만들어짐 참고. index도 따로 만들어짐 적용 범위 column level table level: not null 빼고 다 종류 pk : not null + unique fk : on delete cascde not null unique check: 반드시 참이여야 하는 조건 무결성 제약 조건 상식적으로 pk와 fk의 연관성 생각하기 primary key 제약 조건 한행을 구별해주는 column null 허용 안함 테이블에 단 하나의 primary key만 허용 unique 인덱스 자동 생성 pk도 수정이 가능하다. 대신 unque와 not null을 지키는 선에서 수정 가능 참고 super key : all key 후보 k..

DB/Oracle

8. select 심화 - subQuery

subquery 순서 : sub query(1) -> main query(2) 종류 single row : 1개 = 스칼라 서브쿼리 multi row : 한 종류 column type 해당 값 여러개 || 복합 multi 연산자 : in, not in, any, exists, not exists - 고급 sql multi column : 여러종류 colum type 해당 값 한개 || 복합 위치 where절 -> 비교 대상 in (서브쿼리문) from절 having절 select 절 상관쿼리 create 절 insert 절 update 절 --1. single row -- 김정미와 같은 직책을 가지는 사람의 이름, 직책, 급여, 부서번호 SELECT se.NAME , se.TITLE , se.DEPT_I..

DB/Oracle

7. select 심화 - set연산자

set select 구문 들끼리 연결 개수와 타입이 일치 필요 종류 union 합 union all 중복 포함 합 intersect 교집합 minus 차집합 -- set 연산자 -- union(합), intersect(교), unionAll(합), MINUS(차) -- 첫번째 select 구문에서 기술된 칼럼들과, 2번째 select 기술된 칼럼들은 개수와 타입이 일치해야함 -- 규칙을 지키려면 select 다음에 나오는 column명 순서를 일치 시켜주면 된다. SELECT NAME , DEPT_ID , TITLE from STUDENT.S_EMP se WHERE DEPT_ID = 110 UNION SELECT NAME , DEPT_ID , TITLE from STUDENT.S_EMP se WHERE ..

DB/Oracle

6. select 심화 - join

join == 이중 for 문 사용 위치 : where절 equijoin non-equijoin : 등급 outer join : (+), data가 부족한 쪽 self join : 계층구조, alias 필요 -- 이중 for문 SELECT * FROM STUDENT.S_EMP, STUDENT.S_DEPT; -- 275개 생성. for문처럼 개수 내려옴. where -- 을 써야지 필요한 경우의 내용만 추려서 나온다. ; 1. equijoin -- 1. equijoin -- 직원(s.emp)테이블과 부서(s.dept)테이블을 join하여 사원의 이름,부서,부서명 나타내시오. SELECT se.NAME , se.DEPT_ID , sd.NAME from S_EMP se , S_DEPT sd WHERE se.D..

DB/Oracle

5. select 심화 - subGroup

select 2가지 분류 -- 부서별 직원 평균 연봉 SELECT DEPT_ID, AVG(SALARY) as AvgSalary FROM STUDENT.S_EMP group by DEPT_ID order by DEPT_ID ; -- 각 부서별로 직책이 사원인 직원들의 평균 급여 SELECT DEPT_ID , AVG(se.SALARY) FROM S_EMP se WHERE TITLE ='사원' group by se.DEPT_ID ; -- 각 지역별 부서가 몇개인지 SELECT REGION_ID , COUNT(NAME) FROM S_DEPT sd group by REGION_ID ; -- 각 부서별로 평균 급여를 구하되, 평균 급여가 2000 이상 -- 각 부서별 : group, 평균 급여 조건문 : group..

wooweee
'DB' 카테고리의 글 목록 (2 Page)