기본속성
설계속성
파생속성 A+B=C 이런 느낌
Q. 두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것
A. 관계차수
ASC, DESC
select 선수명, 팀명, 연봉 from player order by 선수명 asc, 팀명 asc, 3 desc
Q. COMMIT을 하기 전 DML에 대한 설명으로 적절하지 않은 것은?
A. 다른 유저가 수정할 수 없음. (hang 걸림)
알아야죠
DML select delete update insert DDL create alter rename drop DCL grant revoke TCL commit rollback
알아야되는거 dense_rank > 밀도가 빡빡해!!!! 그러니까 > 11112.. 이렇게 꽉차서 순위 정렬함!
grant 관련 옵션
with grant option : 자신이 부여받은 권한에서 다른 사용자에게 권한 부여 가능, 권한을 회수할 경우 연쇄적으로 회수. restrict : 권한 제거 명령어로, 헤당 명령어로 인해 다른 사용자에게 영향이 갈 경우, 실패하도록 처리
합집합 union
교집한 intersect
NULL 이 있을 때 oracle 에서 정렬 순서 > oracle 은 ASC 에서 null 을 최상단에 정렬함.
(NULL을 가장 큰 값으로 인식함.)
뷰 : 실제 데이터가 존재하지 않지만, 논리적으로 존재!
엔터티의 분류
- 기본 엔터티, 중심 엔터티, 행위 엔터티
- 최빈 출제. (기본, 중심, 행위) 그냥 외워
주식별자에 대한 설명
-업무에서 자주 이용되는 속성 사용
속성 : 더이상 분리되지않는 최소의 데이터 단위
도메인 : 그 속성의 범위!!!
트랜잭션은 하나에서 처리되는 중이라면 다른 트랙잭션에서는 당연히 변경이 불가함.
데이터를 조회할 때 빠른 성능을 낼 수 있도록 하기 위해 > 파생속성. (원래 속성의 값을 계산하여 저장!)
하나의 속성에는 하나의 속성값을 갖는다.
엔터티에서 .. 주식별자가 두개 이상이면 복합식별자.
주식별자가 하나이면 단일식별자.
주식별자의 특징 네가지
- 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들을 유일하게 구분
- 최소성 : 주식별자가 지정되면 반드시 데이터 값이 존재
(식별자를 구성하는 속성에서 하나만이라도 제거되면, 유일성을 만족하지 못하는 특성)- 불변성 : 주식별자가 한번 특정 엔터티에 지정되면, 그 식별자의 값은 변하지 않아야 함.
- 존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재
관계차수 [주관식, 객관식 모두 다수 출제]
= 엔터티간의 관계에서 1:1, 1:M 과 같이 관계의 기수성을 나타내는 것
select 문장의 실행순서
from where group by having select order by
rollback 이 작동하는 기준
commit 되지 않은 상위의 모든 트랜잭션들을 롤백.
grant insert on T1 to test2;
테이블명 : on, 유저 : to.
cascade 도 나옴 > 유저에 속한 모든 object 삭제 구문.
??. rollback 됐을 때 취소 되는 것.
우선 commit 이 되지 않은. 이 포인트고,
DDL 은 수행과 동시에 auto commit 된다. 따라서 rollback 되는 것은 DML 언어인
select, delete, update, insert 일 것 같음
계층형 쿼리를 사용할 때 사용하는 조인 > self join
CTAS > 테이블 복사!! 이거 테스트 해봤잖앙.
테이블의 제약조건, 인덱스 등은 당연히 복사가 불가해.
ERD 그림에서 O = or 표시로 주문을 가질수도, 갖지 않을수도 있음
필수가 아님
SELECT SUBSTR('DATABASE',7)FROM DUAL;
SUBSTR('DATABASE',7)
--------------------
SE
1 row selected.
SQL> SELECT SUBSTR('DATABASE',-2)FROM DUAL;
SUBSTR('DATABASE',-2)
------------------------
SE
1 row selected.
SQL> SELECT SUBSTR('DATABASE',8,-2)FROM DUAL;
SUBSTR('DATABASE',8,-2)
-----------------------
1 row selected.
SQL> SELECT SUBSTR('DATABASE',INSTR('DATABASE','S'),2)FROM DUAL;
SUBSTR('DATABASE',INSTR('DATABASE','S'),2)
------------------------------------------
SE
1 row selected.
celi 올림 (천장)
round 반올림
floor 내림 (바닥)
ROUND 함수 > 반올림
예시/ select round(2.4735, 2)
from dual;
ROUND(2.4735,2)
---------------
2.47
FLOOR 함수 > 내림
예시/ SELECT FLOOR(10.4) , FLOOR(-2.4) FROM DUAL;
FLOOR(10.4) FLOOR(-2.4)
----------- -----------
10 -3
TRUNC 함수 > 소수점 버리기
예시/ select trunc(22.14) from dual;
TRUNC(22.14)
------------
22
(join)
(제약조건)
(엔터티관련)
NULL 관련
1. NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력한다.