정보 출처 : CBT, https://computer-choco.tistory.com/440
* 정리는 안했지만 더욱 자세한 sql 설명은 여기에 = https://powerdev.tistory.com/category/2021%20%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0/7.%20SQL%20%EC%9D%91%EC%9A%A9
230122추가 : 다빈도 내용은 빨간글씨 처리합니다 (회색바탕은 개인적 중요도를 나타냄)
SQL
- 핵심 : Integrity | Lock(트랜잭션 발생시 테이블,행,열 잠가 무결성 방어) | Trigger(이벤트시마다 설정한 작업 자동 수행) | ROLLBAK
[ DDL ] 정의어
- CREATE / DROP / ALTER(컬럼의 추가, 객체 변경 권한) / TRUNCATE TABLE / RENAME TO
- 특징
- 제약조건 및 타입 등을 명시함
- Unique : 지정속성 중복불가
- No Action : 변화있어도 조치 없음
- Casecade : 참조테이블 튜플 삭제시 관련 튜플 한몸으로 삭제/변경
- Restrict : 관련 튜플이 없을 때만 처리
- Set Null : 참조테이블 변화시 기본 테이블 관련 속성값 Null 처리
- Set Default : 참조테이블 변화시 기본 테이블 관련 튜플 속성값 기본값처리
- Constraint : 제약 조건 이름 지정
[ DML ] manipulation = 조작어
- SELECT FROM / INSERT INTO VALUES(데이터 행 추가) / UPDATE SET(유저에 대한 권한) / DELETE FROM
- 특징
- 사용자 인터페이스를 제공함
- Distinct : SELECT 뒤에 사용, 중복 발생시 1개만 조회
- Intersect : 교집합만 추출
- Predicate : 검색할 튜플(행)수 제한, AS 정의
- Group By : Having절과 한몸
[ DCL ] 제어어
- GRANT ON TO / REVOKE ON FROM / COMMIT / ROLLBACK(부분롤백은 SAVE POINT)
- 특징
- 데이터 보안, 무결성 유지, 병행수행 제어, 논리/물리적 데이터 구조 정의
- 권한을 타유저에게 허용 = GRANT 권한 <컬럼 리스트> ON 객체 TO {사용자|역할} WITH GRANT OPTION
KEY
- 조건에 맞는 튜플(행)을 찾는 기준
- 기본키 : 후보키 중 선별된 NULL이아니고 중복값이 아닌 키
- 후보키 : 튜플 식별 속성의 집합, Minimality 최소성 + 유일성 보유
- 대체키 : 후보키가 둘 이상이면 기본키를 제외한 나머지를 통칭하는 키
- 외래키 : 타 릴레이션이 참조하는 속성
- 슈퍼키 : 릴레이션 내 속성의 집합, 유일성만 보유
트랜잭션
- 쪼갤 수 없는 DB 업무 처리 최소 단위
[ 성공적 트랜잭션을 위한 속성 ] A C I D
- Atomicity 원자성 : 연산관해서 ALL성향, 관련 키워드 = ROLLBACK , COMMIT
- Consistency 일관성 : 일관성 있게 DB상태 변환
- Isolation 독립(격리)성 : 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 안됨
- Durability 지속(영속)성 : 고장나도 영구 반영됨
[ 트랜잭션 도구 (미들웨어) ]
- TP Monitor = 감시
- MOM = 비동기형 메세지 전달
- RPC = 원격 프로시저 호출
- ORB = 브로커를 통한 타 프로그램 호출
분산DB의 목표
- 분산DB는 논리상 1개지만 물리적으로 분산되어 네트워크로 연결됨
- Location 위치 투명성 : 실제 위치를 몰라도 논리적 명칭으로 엑세스
- 지역사상 투명성 : 지역DBMS와 물리적 DB사이 매핑 보장, 무관한 이름 사용
- Division 분할 투명성 : 논리 릴레이션은 단편 분할을 인식하지 않음
- Concurrency 병행 투명성 : 다수 트랜잭션 동시 실현해도 서로 영향 없음
- Failure 장애 투명성 : 장애있어도 무결하게 정확 처리함
- Replication 중복 투명성 : 중복 위치여도 1개 데이터만 있는 것처럼 사용 가능, 자동 여러자료 수행
병행제어
- 병행제어 = 공유도 제어
- 여러 트랜잭션 실행시 일관성 파괴없이 타 트랜잭션에 영향을 주지않고 제어하는 것
- 기법
- 로킹 = 대상 객체 크기 : 트랜잭션이 접근하려는 데이터를 잠가 그 트랜잭션 연산만 허용함
- 로킹 단위 큼 = 공유도 감소 + 오버헤드 감소 + 로크수 감소 + 병행도 감소 + 병행제어 단순화
- 타임스탬프
- 다중버전
관계 데이터 모델 속성
1) 에트리뷰트 | 원자값만 허용하는 가장 작은 논리적 단위 , 도메인(속성집합)은 도메인끼리 비교 가능, 1도메인 n애트리뷰트 가능, 이름 모두 다름
2) 튜플 | 릴레이션을 구성하는 컬럼, 튜플(행)의 수 = 카디널리티/기수/대응수
3) 릴레이션 | 릴레이션의 차수 = 속성 수
4) 다형성 | 한개 객체가 여러 유형을 보유
5) 엔티티 | DB의 논리적 구성 요소, 무형 개체, 정보의 단위
관계 대수 연산
- 관계 대수 : DBMS가 원하는 정보 검색을 유도하는 기술의 절차적 언어
[ 순수 관계 연산자 ]
- Select σ : 릴레이션에서 조건을 만족하는 튜플 반환
- Project π : 릴레이션에서 주어진 속성들의 값으로만 구성된 튜플 반환
- Join ⋈ : 공통 속성을 이용해 두개의 릴레이션 튜플들을 연결해 만들어진 튜플 반환
- Division ÷ : [R%S] 릴레이션S의 모든 튜플과 관련있는 릴레이션R의 튜플 반환
[ 일반 집합 연산자 ]
- Union ∪ : 합집합 (중복은 제거됨)
- Intersection ∩ : 교집합
- DIFFERENCE - :차집합
- CARTESIAN PRODUCT × : 교차곱 (순서쌍을 도출)
모듈 연계 솔루션
[ EAI ]
- 어플리케이션 중심 통합 지향, 기업 내 각종 연동으로 큰 확장성과 큰 효율성
- 대표적 유형 4가지
- Point To Point (1:1이라 재사용성x)
- Hub Spoke : 그룹 내 통합 방식
- MessageBus(미들웨어로 대용량 처리) : 그룹 외 통합 방식
- Hybrid(병목 최소화)
[ ESB ]
- 서비스 중심 통합을 지향, 표준 기반 인터페이스 제공
- 관리 용이, 큰 범용성(낮은 결합도) , 고품질 유지 가능
테스트
- 테스트 케이스 : 구현된 SW가 사용자 요구사항을 정확히 준수했는지 확인하는 명세서
- 테스트 오라클 : 결과의 참/거짓 판단을 위한 기법, 제한적인 검증
- Heuristic 추정(샘플링개선버전) , 참(모든 오류검출가능), 샘플링, Consistent 일관성 검사(변경발생 시 수행전후 비교)
- 테스트 시나리오 : 케이스 적용 순서에 따른 케이스 집합
빌드 자동화 도구
- 빌드 : 소스 코드 파일을 컴파일 한 뒤 여러개의 모듈을 묶어 실행 파일로 만드는 과정
- 빌드 자동화 도구 : 빌드, 테스트, 배포를 자동화하는 도구
- ANT, Maven
- Gradle : GROVVY 기반 오픈소스 , DSL을 스크립트어로 사용 , 명령을 TASK로 묶고 단위 실행 , 안드용 개발 환경
- Jenkins는 배포도구로 JAVA 기반 오픈소스, 서버기반, 친숙한 GUI 제공, 분산 빌드 가능
'관련 도서 및 지식 > 자격증' 카테고리의 다른 글
[ 정보처리기사 필기 ] 4파트 요약 (2) : 모듈 , 프로세스 , OSI 7 , 프로토콜 , 프로세스 (1) | 2023.01.16 |
---|---|
[ 정보처리기사 필기 ] 4파트 요약 (1) : 운영체제(OS) , 언어 , 배열 선언 (1) | 2023.01.16 |
[ 정보처리기사 필기 ] 1~2파트 요약 (2) : 알고리즘, 객체 지향 구성, UML, 코드, 품질 분석, 설계 (0) | 2023.01.14 |
[ 정보처리기사 필기 ] 1~2파트 요약 (1) : 데이터베이스 언어, 데이터베이스 설계 , DB 회복 , 국제 프로세스 품질 표준 , 테스트 (0) | 2023.01.14 |
[ 정보처리기사 ] 2020 CBT 개념 공부 - 언어 활용 (0) | 2023.01.13 |