1. 데이터 모델링의 이해
틀린 문제
데이터베이스 모델링 관점 중에서 CRUD 메트릭스와 관련있는 것
옵티마이저 조인 기법 중 Hash Join 기법에 대한 설명
- 해시 조인은 선행 테이블로 작은 테이블이 선정되어야 한다.
- A Table: 100건, B Table: 1000건 => 이 같은 경우에는 A Table을 선행 테이블로 해야 한다.
카디널리티 계산 식
맞은 문제
분산 데이터베이스에 대한 설명
해당 속성은 속성의 종류 중 어떤 속성에 속하는가
테이터베이스 3층 스키마
반정규화를 적용하는 이유
Super type과 Sub type 변환 방법 종류
ERD 관계(1:1, 1:N, M:N, 선택, 필수)
2. SQL 기본 및 활용
틀린 문제
Mytest 테이블 칼럼을 데이터 타입 조건으로 not null을 기본으로 수정하기
alter table Mytest modify (칼럼명 default not null)
계층형 쿼리
- CONNECT BY
- PRIOR
- START WITH
- ORDER SIBLINGS BY : 조회된 데이터에 대해서 정렬 진행
계층형 쿼리문의 내장 함수
- LEVEL
- CONNECT_BY_ROOT
- CONNECT_BY_ISLEAF
- SYS_CONNECT_BY_PATH
- NOCYCLE
- CONNECT_BY_ISCYCLE
WITH GRANT OPTION
- 권한 부여 옵션
- 연쇄적으로 권한 부여가 연결되어 있는 경우, 가장 권한을 부여받은 사용자의 권한이 취소되면 연쇄적으로 모두 취소된다.
CASCADE CONSTRAINT
- Oracle에서만 옵션으로 존재(SQL server에는 존재하지 않음)
- PK 및 FK로 다른 테이블과 참조 관계가 얽혀있어도 제거 및 변경이 되도록 일시적으로 참조 관계를 끊는 옵션
DDL, DCL, DML, TCL
- DML : Data Manipulation Language
- SELECT, INSERT, UPDATE, DELETE
- 데이터 조작어, 테이블의 Records를 조작함(CRUD)
- DDL : Data Definition Language
- CREATE, ALTER, DROP, RENAME
- 데이터 정의어, DB 객체의 구조를 정의
- DCL : Data Control Language(접근 권한 변경)
- GRANT, REVOKE
- 데이터 제어어, DB나 Table의 접근권한이나 CRUD 권한을 정의
- TCL : Transaction Control Language
- COMMIT, ROLLBACK
집계 함수와 NVL의 사용
- 집계 함수는 NULL을 취급하지 않지만, NVL과 같이 사용하면 하나의 데이터 개수에 포함시킨다.
Union, Union ALL => GROUPING SETS과 같이 알아두기
- UNION : 중복을 제거하고 결과를 결합함. 중복된 행은 한 번만 표시
- UNION ALL : 중복을 제거하지 않고 결과를 결합함. 중복된 행도 모두 표시
조건문의 조건을 NULL 로 잡은 경우
- 조건이 NULL인 경우는 알 수 없음으로 인식
데이터 타입에 따른 입력(INSERT)
- varchar : ''를 붙이거나 안붙여도 상관없음
- date : 'yyyymmdd'를 사용하거나 특정 일자 키워드 사용(''없이는 오류 발생)
정렬
- null 은 정렬 시 가장 작은 값으로 취급
- 여러 컬럼을 동시에 정렬할 때에는 정렬시키는 컬럼 순으로, 같은 경우에는 다음 컬럼의 기준으로 정렬하는 식
JOIN 종류
- INNER JOIN : 교집합
- LEFT OUTER JOIN : 교집합 + LEFT 만의 요소
- RIGHT OUTER JOIN : 교집합 + RIGHT 만의 요소
- FULL OUTER JOIN : 교집합 + RIGHT 만의 요소 + LEFT 만의 요소
- CROSS JOIN : LEFT * RIGHT
- Oracle에서 JOIN 할 때에는 (+)를 붙인 테이블의 반대로 LEFT/RIGHT OUTER JOIN 이라고 생각할 것
- Oracle <=> ANSI 표준 SQL로 변경하는 JOIN 문제
맞은 문제
DDL 문이 아닌 것
Mytest 테이블에 JOB 칼럼을 추가하기
alter table Mytest add column JOB
CREATE table, INSERT INTO VALUES, UPDATE, SAVEPOINT, ROLLBACK TO 를 이용한 SQL문의 실행 결과
union(합집합), minus(여집합)의 실행 결과
SQL문의 실행 순서
분산 테이터베이스의 투명성
DISTINCT와 GROUP BY의 사용 결과
Memo (자주 나오는 것들)
GROUPING SETS, CUBE, ROLLUP 외우기
Create table 구조 알아두기
계층형 쿼리 공부해두기
WINDOW 함수 공부해두기