SQLD 자격증 요약 공부

eungjj·2024년 6월 16일

📍SQL

목록 보기
1/6

~❥ 주요 문제 정리,,

기본속성
설계속성
파생속성 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 표시로 주문을 가질수도, 갖지 않을수도 있음

필수가 아님

SUBSTR 결과가 다른 것 고르기.

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

  • COALESCE 함수는 첫 번째 NULL이 아닌 값을 반환한다.
  • SQL은 구조적(structured)이고, 집합적(set-based)이고, 선언적(declarative)인 질의(Query) 언어이다.'

(join)
(제약조건)
(엔터티관련)


NULL 관련
1. NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력한다.

0개의 댓글