본문 바로가기
정처기 실기

2과목. 데이터베이스 구축 (24강 ~ 37강)

by moca7 2024. 4. 6.

1. 데이터베이스 구축

- 데이터베이스 개념 (24강)

- 데이터베이스 설계 (24강)

- 데이터 모델링 (25강)

- 논리 데이터베이스 설계 (26강)

- 물리 데이터베이스 설계 (27강)

- 데이터베이스 물리속성 설계 (28강)

- 관계 데이터베이스 모델 (29강)

- 키와 무결성 제약조건 (30강)

- 물리데이터 모델 품질 검토 (31강)

- 분산 데이터베이스 (31강)

2. SQL 활용

- 기본 SQL 작성 (32강)

- SELECT 쿼리 활용 (33강, 34강)

- 그룹함수와 윈도우 함수 (35강)

- 절차형 SQL (36강)

3. 병행제어와 데이터전환

- 병행제어와 회복 (37강)

- 데이터 전환 (37강)

 

 

24강. 데이터베이스 개념

 

ㅁ 데이터 베이스 개념

- 데이터와 정보. 나오는거 아님 시험. 

- 데이터베이스. 이런거를 써라고 나오진 않으니 그냥 읽어보세요. 

- 데이터베이스의 정의. 이게 중요. 공통저운.

- 데이터베이스의 특징. 그냥 함 읽어보심 되요.

- 데이터베이스 생명주기. 그냥 함 읽어보세요.

- 데이터 언어. 

DCL은 나누면 TCL로도 나눌 수 있는데 그것까진 몰라도 됨. COMMIT과 ROLLBACK도 DCL에 들어가게 됨. 

= 데이터베이스의 개념. 정의에 대해 말하라 하면 그냥 공통저운이다. 

 

ㅁ 스키마

- 스키마라는건 전체적인 구조와 제약조건이다. 이렇게 생각하시면 돼요. 

- 스키마에 대해 쓰시오 하면 데이터베이스의 전체적인 구조와 제약조건을 명세한 것이다 라고 쓰면 됨.

- 스키마 정의 3은 그렇다. 나중에 자세히 알아볼거에요. 

ㅁ 3계층 스키마 

- 외개내.

- 외부 스키마는 여러객 ㅏ존재할 수 있으며 여러분이 보는 화면이다.

- 개념 스키마는 데이터베이스의 전반적인 구조와 제약조건이다. 보통 데이터베이스의 스키마는 개념 스키마를 말함. 한개만 존재함.

- 내부 스키마는 물리적 저장장치에 저장. 이름은 몇글자, VARCHAR타입이냐.

 

- 그리고 각각의 스키마에는 독립성이 존재함.

외부 스키마와 개념 스키마 사이에 논리적 독립성. 

(개념 스키마가 변경되어도 외부 스키마에는 영향을 안 줌)

외부/개념 스키마와 내부 스키마 사이에 물리적 독립성.

(내부 스키마가 변경되어도 외부/개념 스키마에 영향을 안 줌)

이런거 괄호로 나올 수 있음 스키마와 독립성.

- 개념스키마 4번째줄은 그냥 읽어보셍.

 

ㅁ DBMS

- 기능. 가장 중요한건 정조제. 정의 조작 제어. 나머지는 다 곁가지.

- 종류. 특징들을 정확히 알아두셔야 해요.

계층형. 트리구조. 다 대 다 관계가 불가능.

네트워크형. 망형. 데이터 간의 다대다 관계 가능. 지문에 CODASYL나오면 네트워크형.

관계형. 지금 우리가 쓰는것들. 전부 표(테이블)로 만듦. 테이블 구조 밑줄. SQL 이란건 명령임.

객체 지향형. 비정형

객체 관계형. 둘째줄은 X. 종류만 알아두시면 돼요.

NoSQL. 

NewSQL. 이란것도 있어요 .이것도 종류만 알아두심 돼요. 

 

ㅁ 데이터베이스 설계

- 설계는 개념적 설계, 논리적 설계, 물리적 설계를 꼭 기억. 

개념적 설계. 사용자의 머리 속에 있는걸 다 끄집어내서 E-R다이어그램 만듦.

논리적 설계. 정규화, 트랜잭션 인터페이스 설계

물리적 설계. 반정규화(=역정규화)

- 설계 정의. 안 나옴.

- 설계 목적. 안 나옴.

- 설계 시 고려사항. 당연한거라 한번만 읽어보심 기억 나실거에요.

 

ㅁ 요구 조건 분석. 그렇다.

ㅁ 개념적 설계

E-R 다이어그램이 중요. 다 필요없고 E-R 다이어그램. 이것만 아세요. 그래도 개념적 스키마는 아는게 좋지 않을까.

ㅁ 논리적 설계

이게 시험에서 되게 애매하게 나옴. 목표 DBMS, 특정 DBMS 말장난. 이런 문제 안냈으면 좋겠는데 필기에선 가끔 나옴. 

이건 필기 말인듯. 목표 DBMS(네트워크형, 계층형)에 맞는 설계. 정규화, 트랜잭션 인터페이스 설계

특정 DBMS는 오라클 같은거.

ㅁ 물리적 설계

- 저장장치 입장으로 보는 거. 성능을 높이는거.

ㅁ 구현은 DDL.

 

 

25강. 데이터 모델링

 

ㅁ 데이터모델 개념

그림 그리는거.

ㅁ 종류. 알거 없음.

ㅁ 구분

설계를 알면 되는거. 개념적 설계를 하면 개념적 데이터 모델이 나오는 거고. 

ㅁ 데이터모델 구조

그림은 관계형 데이터베이스 논리적 설계 했을 때 나오는거.

이거 설명은 했는데 외워야 하나. 일단 패스.

ㅁ 데이터모델 표시해야할 요소. 이거 기억해야 해요.

구연제. 

 

ㅁ 개체-관계 모델

ER다이어그램이다.

쭉 다 설명함. 다 외워야 할듯아마..

세발표기법. 이건 나올건 아님.

E-R 다이어그램 기호. 가끔가다 밑줄 타원, 이중 타원 이런거 나올 수도 있으니 기억해주세요. 허를 찌르는 문제. 나온 적은 없나. 그럼 안해야지. 

 

ㅁ 데이터 모델의 품질 기준

정완일 준최활. 

 

 

26강. 논리 데이터베이스 설계

 

ㅁ 논리적 모델링

- 정규화 밑줄. 다른 건 필요 없고.

ㅁ 논리적 데이터 모델 종류. 안 나옴.

 

ㅁ 데이터베이스 정규화(Normalization)

ㅁ 목적. 읽어보심 되는거

ㅁ 장단점. 읽어보심ㅁ 되는거.

 

ㅁ 이상현상

3가지만 있다.

이상현상(중복때매 발생)을 없애기 위해서 함수적 종속 관계를 이용해 정규화를 수행함.

삽입이상, 삭제, 갱신이상에 대해 쓰시오. 나왓었음. 특징을 정확히.

삽입이상. 불필요한 데이터.

삭제이상. 연쇄 삭제 현상.

갱신이상. 모순.

 

ㅁ 정규화 과정

- 제1정규형.

원자값은 하나만 드러가 있어야 한다.

- 1,2,3정규형은 어떻게 분리되는지도 알아두셔야.

그 뒤는 그냥 이론적인거. 외우셈.

조인종속이용=제거

- 정규화는 쪼개는 거다.

 

 

27강. 물리 데이터베이스 설계

 

ㅁ 물리 데이터베이스 설계

실제 저장장치에 들어가는 구조를 만드는거. 성능이라든지 용량이라든지.

 

ㅁ 설계 과정. 나중에 공부할거니까 그냥 넘어감.

ㅁ 설계 특징. 얘도 그냥 읽어보심 되는거에요. 

ㅁ 설계 시 고려사항. 전에 했었죠. 모든 데이터베이스에 다 그런거에요. 그냥 함 읽어보세요.

ㅁ 논리-물리 데이터 모델 변환. 모르셔도 됨.

 

ㅁ 반정규화

- 실기에서 반정규화에 대해 쓰시오. 나왔었음. 무조건 쓸 수 있어야 함. 

- 이게 들어가야댐. 성능 향상이나 개발 및 운영의 편의성. 뒤는 생각 안나도 성능 향상은 꼭 들어가야 함.

ㅁ 고려사항. 읽어보면 됨.

ㅁ 적용순서. 순서는 그냥 한번 보세요.

ㅁ 반정규화의 유형. 한번쭉 읽긴 했음.

 

ㅁ 테이블 저장 사이징. 이건 나올만한게없음.

 

ㅁ 데이터베이스 이중화

정보보안의 3요소. 기밀성(함부로 보면 안된다) 무결성(아무나 데이터를 바꾸면 안된다) 가용성(내가 쓰고싶을때 언제든지 쓸 수 있어야 한다)

고가용성. 사람 몰려서 렉 걸릴까봐 db를 여러개.

= 이중화고가용성을 위해 하게 된다.

ㅁ 분류, 종류. 다 설명은 함.

 

ㅁ 데이터베이스 백업

ㅁ 백업방식. 같은 경우는 구분을 좀 해주셔야 해요.

다 함. 합성 백업 - 증분백업 밑줄. 기억해주세요.

 

ㅁ 복구 시간 목표(얼마나 빨ㄹ ㅣ복구)/복구 시점 목표(허용되는 손실량)

 

ㅁ 데이터베이스 암호화 방식. 이게 중요한거죠. 요 3개를 꼭 기억.

api 방식은 프로그램단에서 함. 

plug-in방식은 돈내고 사서 db에 플러그인 시키고 이용.

tde 기본적 dbMS가 제공해주는거.

나머진 그냥 보심돼요. 

 

ㅁ 국정원

암호통신. 네트워크에서 데이터를 주고받을 때 암호화 해줘야 하는 거죠. 

IPSec, SSL, SHTTP를 이용해서 전송된 데이터 암호화. <- 이것도 나올 수 있어요

권고사항이니까 걍 읽어보세요. 

 

 

28강. 데이터베이스 물리속성 설계

 

ㅁ DB 물리속성 설계라는건 DDL을 이용해서 구조를 만들었는데 성능향상을 위해 여러 기법을 쓰게 됨. 

파티셔닝, 클러스터링, 인덱스, 뷰 등을 하게 되는게 이걸 물리속성이라 함. 다 조회를 위한거.

 

ㅁ 파티셔닝 

-1~20중 18을 ㅁ찾을때 4분할 해놓으면 16부터 찾는다. 더 빨ㄹ ㅣ찾음.

ㅁ 샤딩

- 샤딩도 나누는거. 셋째줄은 필요 없음. 파티셔닝은 한 컴퓨터, 한 DB에서, 샤딩은 분산 데이터베이스에서 쓰는거

ㅁ 파티셔닝 장단점. 그냥 읽어보세요. 파티셔닝이 뭐다만 정확히.

 

ㅁ 파티셔닝의 종류

- 수평 분할.

스키마를 복제했다는 건 똑같은 구조라는 거고, 샤드키는 중간에 어떻게 짜를거냐.

- 수직 분할.

둘째줄 밑줄. 

 

ㅁ 분할 기준 - 종류들 기억해쥬셔야해요

- 범위 분할. 둘째줄 X

- 목록 분할. 둘째줄 X. 어떤 목록들을 정해놓고 거기다 분할해놓은거.

- 해시 분할. 해시함수. 해시라는건 암호화에서 사용되는데 단방향임. 

해시라는건 어떤 값이 들어오면 그거에 대한 키값을 돌려주는거를 말 함. 

- 라운드 로빈 분할

- 합성분할

 

ㅁ 파티션 생성 - 사실 이거까진 나오지 않을거 같아요

- 범위분할은 PARTITION BY (RANGE)

목록분할은 PARTITION BY (LIST) 이렇게 낭로 수 있겠죠 나온다면.

 

ㅁ 클러스터

특징은 읽어보심 대요. EOTKD XPDLQMFEH.

 

ㅁ 인덱스

- 목차가 인덱스다. 

= 인덱스 생성하면 HINT가 생김. DBMS상에. 이거 검색할땐 이 인덱슬 ㅗ검색하는게 좋다.

- 이유. 첫줄만 중요. 빠른 데이터 추출. 

ㅁ 인덱스 종류 다 읽음

ㅁ 인덳 ㅡ구조

이건 진짜로 이런 종류가 있다만 알아두심 돼요. 

비트배열 나오면 비트맵 인덱스가 되는거에요. 이정도만 알아두심 되는거에요 두셋째줄은 ㄴㄴ.

조인연산을최적화. 비트맵 조인 인덱스.

 

ㅁ 인덱스 컬럼의 선정 그냥 읽어보세요

ㅁ 고려사항 읽어보세요

오버헤드 = 일처리가 많다는거

 

ㅁ 인덱스 생성/삭제

리빌드 나올 수 있음. 

 

ㅁ 뷰

- 뷰라는건 가상테이블

뷰가 뭐인지만 알면 됨. 장단점보단. 

- CREAT VIEW _ AS 만 아세요. 쿼리는 담시간에

OR REPLACE는 없어도 댐.

 

ㅁ 시스템 카탈로그

- 데이터베이스 관리시스템이 데이터를 관리하기 위해서 지가 알아성 만드는거

데이터 들에 대한 데이터.

- 내용.  읽음.

- 특징. 사용자는 조회는 가능. 갱신은 불가.

- 종류. 오라클에서만 쓰는거라 X.

 

 

29강. 관계 데이터베이스 모델

 

ㅁ 관계 데이터 모델

- 개념. 테이블 밑줄. 

관계데이터베이스를 표현한게 관계 데이터 모델이 되는거. 표형태로.

- 구조.

속성이 정보 표현의 가장 작은 단위다.

- 릴레이션

표 형태를 말함. 릴레이션 스키마, 릴레이션 인스턴스 용어 기억. 

 

ㅁ 관계 데이터 언어

SQL문 말고. 

관계대수는 절차적. 관계해석은 비절차적.

ㅁ 순수관계 연산자

- 셀렉트는 기호를 시그마. = 아톰.

관계 대수에서는 ≤, ≥지만 SQL문에서는 <=, >= 이렇게 써야함. 서로 다른거. 

셀렉트 예시2 등호는 잘못된 거. 

- 디비젼 연산자 얘가 잘나와요.

R나누기S2하면 다 연관이 있는거여야 함. 

 

ㅁ 일반집합 연산자

- 합집합. 결과 순서는 의미 없음. 표기법 알아주세요.

ㅁ 관계해석

- 비절차적이다. 이것만 중요. 나머지는 다 필요 없음. 내가 원하는 것만 정의한다.

- 연산자만 기억해주세요. 필기에선 종종나왔는데 실기에서 나올수도. 

정량자. 이게 가끔 나와요. FOR ALL, 어떤거 하나라도.

 

 

30강. 키와 무결성 제약조건

 

ㅁ 키라는 건 어떤 테이블이 있으면 거기서 나를 특정할 수 있는 것. 아니면 어떤 연관관계를 맺고 있을 때 그것도 키라고 함. 기본키, 외래키.

 

ㅁ 속성

- 속성명 부여 원칙은 필기에서만.

ㅁ 키 종류

- 슈퍼키. 나를 특정할 수 있으면 다 됨. 

학번과 주민번호만 식별 가능. 나머진 불가.

근데 학번과 주민번호를 조합해서 하나의 행을 특정할 수 있죠. 슈퍼키가 됨. 

학번과 이름도 되고, 학번과 이름과 학년도 됨. 

- 기본키와 대체키도 유일성 + 최소성 만족함.

 

ㅁ 데이터베이스 무결성

- 종류가 중요. 

- 개체 무결성 제약 조건. 

- 참조 무결성 제약조건. 이건 NULL 허용. 

참조 무결성 제약조건에서 제한을 둘 수 있음. 

RESTRICT CASCADE 이 두개가 중요.

- 도메인 무결성 제약조건. 

나머지는 곁가지. 위 3ㅓ개는 쓸줄도 알아야. 

어떤 컬럼에 UNIQUE 주면 걘 유일해야함 그 칼럼 중에서.

 

 

31. 물리데이터 모델 품질 검토

 

ㅁ CRUD 매트릭스라는 걸 그리게 됨. CRUD라는건 업무와 테이블의 상관관계를 분석하는게 CRUD 매트릭스다.

업무와 테이블의 상관관계를 분석한 표다.

ㅁ 필요성. 그렇다 읽어보세요.

 

ㅁ 옵티마이저

- 옵티마이저는 최적의 실행결과를 주게 도와주는 거.

- 아직까지 시험에 나오진 않았지만 옵티마이저의 처리 절차.  꼭 기억해주셨음.

구문 분석 > 실행 > 인출=추출

데이터 버퍼 캐시를 실행 단계에서 쓰는구나.

 

ㅁ 튜닝

- 튜닝은 성능을 업그레이드하는거. 

- 접근방법은 필요 없고 튜닝이라는 용어만 기억. SQL문을 최적화. 성능 개선.

- 튜닝 영역. 보통은 SQL문장을 튜닝함.

- 튜닝절차 외울거 아님.

(5) 필요없음

(6) 이건 함. 이건 나올 수도.

 

ㅁ 분산 데이터베이스

 

ㅁ 논리적으론 하난데 물리적으로 분산되어 있음.

ㅁ 분산 데이터베이스 구성요소. 구성요소만 알아두심 되는거에요.

ㅁ 장단점과 적용기법은 나올건 아니에요. 안나옴.

ㅁ 투명성 조건. 이게 나와요. 분산데이터베이스는. 영어로도.

- 투명성은 몰라도 된다라는 거. 

 

ㅁ CAP 이론

- 혹시라도 나온다면 CAP이론 이게 나올거에요. CAP이론만 알아두심 되요.

 

ㅁ 트랜잭션

- 하나의 일처리 단위.

- 성질. 영어로도. 서술형도 가능성있음. 

- 상태. 부분완료가 잘나옴. 

 

 

32강. 기본 SQL 작성

 

ㅁ SQL은 데이터베이스에 명령을 내려서 뭔가 구조를 만들고 그 구조에 데이터를 넣고 빼고 제어도 하고 그런겁니다.

 

ㅁ 시험에 가장 많이 나오는건 SELECT.

요즘 시험유형이 어떻게 바뀌었냐면 옛날엔 INSERT (INTO), UPDATE ~ (SET) 이렇게 나왔는데

23년부터 어떻게 바뀌었냐면 그냥 써라. DELETE, INSERT를 써라. 로 나옴. 

 

ㅁ SQL 개념 안나옴

ㅁ 특징도 실기에선 별ㄹ ㅗ출제 안됨. 그냥 읽어보심 됨.

ㅁ 종류

TCL은 그냥 DCL에 들어간다 생각하면 됨. 3가지만 앎녀되는거 상암 DMC

 

ㅁ DDL

- 유형. 외우는건 아님. 

- AUTO_INCREMENT는 모르셔도 돼요.

- 어떤 것에 대해서는 다 ON. NAME은 기준. 어떤 칼럼을 기준으로 인덱스를. 두개 쓸 수도 있고. 

- AS 기억

- ALTER TABLE은 붙여 써야함. 

ADD MODIFY DROP RENAME TO, REBUILD, UNUSABLE

- INDEX 변경. 이게 기능사에 나왔었음 REBUILD. 중요.

 

- DROP은 테이블 자체를 지움.

TRUNCATE는 데이터를 지움. 복구 불가능.

DELETE는 데이터를 지움. 복구 가능. 커밋 전이라면 롤백 가능 커밋 후에는 롤백 불가능.

 

ㅁ 제약 조건 적용

- 무조건 기본키를 참조하는 건 아님. 기본키 아닌 것도 참조할 순 있지만 기본적으론 기본키 참조.

- ON DELETE CASCADE 안하면 제약조건은 안해놓는거. 안하면 RESTRICT가 기본.

- NULL하고 공백은 다름. NULL은 아예 없다는거. 

- CHECK라는건 도메인 무결성 제약조건을 주기 위해서. 이 도메인에 해당하는 값의 범위를 표현하기 위해서 CHECK 사용.

 

ㅁ DML

ㅁ INSERT

- 문자에 홑따옴표 붙여야 함. 숫자는 붙여도 되고 안붙여도 되고. 

- INSERT INTO 이렇게 붙여쓴다. 

- 뒤에 세미콜론 ; 이거 써야되나요? 써도 되고 안써도 되요. 그래도 혹시 모르니까 써주시는게 좋아요. 

명령어 끼리 구분하기 위해서 쓰는건데 보통 시험에선 한줄만 나와요.

 

ㅁ 

SELECT A, B, C

FROM TABLE

WHERE 나이 > 20

AND/OR 조건2

GROUP BY 

HAVING

ORDER BY __ ASC, DESC

 

- WHERE 조건절 없이 그냥 GROUP BY 써도 됨.

 

ㅁ SELECT

- 오타. ORDER BY : 반환되는 '행'의 순서를 지정

 

ㅁ %는 없어도 되고 여러개있어도 됨. _는 무조건 하나.

ㅁ NULL은 IS NULL과 IS NOT NULL만.

ㅁ BETWEEN A AND B는 이상과 이하다.

 

ㅁ 부서별 인원수 출력

- GROUPY BY로 묵었을 때는 GROUP BY 하고 다음에 나온 속성만 SELECT에 나올 수 있다. 

안묶은 속성은 못나옴. 집계함수(다른속성)은 가능.

COUNT는 집계함수여서 가능. 

- AS 안쓰면 COUNT(*)로 나옴 칼럼명이.

= 집계함수는 딱 두군데만 사용 가능. WHERE에 못씀. HAVING과 SELECT에 가능. 

 

ㅁ UPDATE

-

UPDATE 테이블명

SET 칼럼1 = '값',

칼럼2 = '값',

칼럼3 = '값

WHERE 조건

 

UPDATE 테이블명

SET 칼럼1 = '값'

WHERE 조건

- 개발팀의 부서명을 개발지원팀으로 변경.

이거 WHERE 없으면 모든 직원의 부서가 다 개발지원팀이 됨.

- DELETE FROM 테이블명 붙여서 쓴다.

 

ㅁ DCL

- 원래 시험에선 (TO)이렇게 나왔었는데 이제부턴 다 쓰라 함. 

ㅁ TCL

- 부분완료 상태임. 

- SAVEPOINT 첫줄만 알면 됨. 

 

 

33강. SELECT 쿼리 활용 (1)

 

ㅁ 내부 조인

- ON 대신 WHERE 써도 됨. 

ㅁ 내츄럴 조ㅗ인

- 조건같은거 까지 나오진 않음.

- 내츄럴 조인만 조인조건이 없고 중복된 열도 합쳐.

= CROSS JOIN도 조인조건 없음. 중복된 열 표시.

 

- 내츄럴 조인시 같은 이름 같은 타입 칼럼이 2개 이상이면 AND로 묶이게 됨.

(강의엔 없었고 Q&A)

 

 

34강. SELECT 쿼리 활용 (2)

 

ㅁ 서브쿼리

- SELECT문 안에 또 다른 SELECT문이 포함된 형태의 쿼리

- 스칼라 서브쿼리, 인라인뷰 서브쿼리 이런게 나오는데 그걸 구분하라고 하진 않음. 

쿼리문이 나오고 결과값을 내라 나옴.

ㅁ 스칼라 서브쿼리

- 단일 행 또는 단일 값이 반환되어야 한다. 라는 뜻은 예를 들어 O_04의 회원번호가 003이면, 서브쿼리에서 반환되는게 두 개라 오류가 남. 

- 단일 행 이 단일 값을 말함.

 

ㅁ 다중행 서브퀄 ㅣ연산자

- IN, EXISTS 똑같은데 IN은 값을 확인함. EXISTS는 행이 있는지 확인함. 

 

ㅁ EXISTS

- IN은 앞에 컬럼이 있었는데 EXISTS는 앞에 칼럼이 없음. WHERE EXISTS ()

왜냐. 컬럼의 값을 보는게 아니라 행의 존재여부를 보는거라. 

- 만약 SELECT DISTINCT 과목이름 이었으면 

과목이름

------------

DB

운영체제

만 나왔을거임.

- EXISTS를 쓰면 행의 존재여부만 알게 됨.

 

 

35강. 그룹함수와 윈도우 함수

 

ㅁ 지금까진 그룹함수는 나왔는데 윈도우함수는 아직까진 안나왔음. 

윈도우함수는 다른 데서도 고난이도 문제라서 여기서는 간단히만 알아보기로 하고 그룹함수 집중함. 

 

ㅁ 그룹함수는 아까 했던 GROUP BY 얘기하는 거에요. 

ㅁ CUBE랑 GROUPING SETS는 실기에 나오기 힘듦. ROLLUP만 알아볼거.

나중에 특강으로 1강정도 구성하긴 할건데 안봐도 됨.

왜냐면 시험에 나오는게 거의 표준 SQL인데 셀렉프롬웨어앤드 그룹바이 해빙 오더바이 정도거든.

정처기에서 낼만한 수준은 아님. 그럼 그냥 어떤식인지만 알아야 겠다. 단답식 나오면 쓰게.

지금까진 큐브 롤업 그루핑세트 다 출제되진 않았어요.

ㅁ 집계함수 5개만 나옴. 

 

- 그룹으로 먼저 묶고, 집계함수를 처리한다 생각. 

학번으로 묶고, 집계함수

학번으로 묶고 또 학기로 묶고, 집계함수

 

ㅁ 윈도우 함수

- 시험에서 그렇게 나올만한 부분은 아님. 그래서 간단하게만 알아보고 넘어감.

- 비율함수 경우에는 아예 안할거. 

- OVER 외울까

 

- RANK는 1 2 3 3 5

DENSE_RANK는 1 2 3 3 4

ROW_NUMBER는 1 2 3 4 5 무조건 그냥.

 

- FIRST_VALUE, LAST_VALUE

파티션별이라는건 그룹으로 묶은거 내에서 처음거, 마지막거

- 래그 리드 이런것도 정처기에서 나올건 아니라서.

 

36강. 절차형 SQL

 

ㅁ 절차형 SQL은 뭔가 프로그램을 DB에 집어넣었다. 라고 생각해주시면 될것같아요. 

종류와 특징만. 이걸 프로그램으로 만들어도 되지만 DB 안에서 작동. 

 

ㅁ 저장 프로시저(Stored Procedure)

- 하나의 함수라고 보심 돼요. 일처리를 하는. DB 내부에서 돌아가는. 

- 저장 함수랑 차이점은 입력값도 여러개 출력값도 여러개가 될 수 있음. 출력값이 없을 수도 있음.

저장 함수는 리턴값이 하나다.

- 장단점은 필없는듯.  구조도 안나올거에요.

 

ㅁ 트리거

- 에 대해 써라. 나온적있었음. 연쇄적인 반응이다.

- 행 트리거. FOR EACH ROW 밑줄.

- 문장 트리거.가 있다.

- 실행 시기. 별 의미 없는듯. 생성 예도 필없음.

 

ㅁ 사용자 정의 함수 STORED FUNCTION

- RETURN이 있다는것만 다른데 의미없은듯.

 

 

37강. 병행제어와 데이터전환

 

ㅁ 병행제어

- 개념 둘째줄은 읽어보심 됨.

- 목적도 일겅보세요. 공유도를 최대화하면서 DB 일관성 유지하는게 목적

 

ㅁ 병행제어를 하지 않았을 때의 문제점 4가지 꼭 기억

- 갱신 분실 

- 비완료 의존성 

완료안했는데 읽어버림.

- 모순성

이건 여러 데이터. 갱신분실은 하나. 이건 종류만 알아두심 되요. 여러데이터는 모순성.

- 연쇄복귀

트랜잭션1 롤백했는데 트랜잭션2도 롤백이 되버림. 

- 공무원은 몰라도 정처기에선 표까진 안나오고 이게 뭔지 물어보기만 할듯. 특히 갱신분실. 

 

ㅁ 병행제어 기법

- 로킹 LOCKING

로킹 단위 이런건 필기에서 나온느 거고 

이걸 이해해야함. 표를. 로크 수는 자물쇠 수. 오버헤드는 일처리.

- 2단계 로킹 규약

직렬가능성부턴 걍 읽어보세요

- 타임스탬프

걍 이런 종류가 있다.

- 낙관적 병행제어

- 다중 버전 병행제어

 

ㅁ 회복

- UNDO 취소 REDO 재실행

- 로그파일까지는 이런게 있구나 하심 되고.

ㅁ 회복기법

- 지연 갱신 회복 기법

로그파일에만 저장한다는건 DB엔 저장 안한다는거. REDO는 해줘야함

- 즉시 갱신 회복 기법

UNDO와 REDO.

- 검사적 회복 기법

- 그림자 페이징 회복 기법 SHADOW PAGING RECOVERY

- 미디어 회복 기법

그냥 저장장치에 담아두는거. 백업을 한다

- ARIES 회복 기법

설명은 됐고 그냥 이런게 있다. 그것만.

회복기법의 종류만 외워라.

 

ㅁ 데이터 전환

- 데이터 전환은 시험에 나올게 별로 없어요. 데이터 전환은 보통 MIGRATION이라 함. 

 

ㅁ ETL

- 추출, 변환, 적재

ㅁ 데이터 전환 절차 - 별거없음. 계획분석설계

ㅁ 필요한 이유 - 안나옴.

 

ㅁ ETL 개념

- 둘째, 셋째줄은 필요 없음. 추출 변환 로딩만 알면 됨. 

- 기능, 작업단계 이런건 안나옴.

 

ㅁ 데이터 정제

- 데이터 정제도 안나옴. 근데 데이터 품질 관리 대상은 좀 알아두세요. 

데이터 값, 데이터 구조, 데이터 관리 프로세스 이렇게 3가지다. 

- 품질지표. 안나옴

- 프레임워크. 얘도 안나옴. 다 안나옴.