SQL문
INSERT INTO 튜플 삽입
INSERT INTO 데이블명 (속성,속성...) VALUES (123,'VARCHAR') ;
트랜잭션 특징 ACID
원자성 Atomicity : All or nothing
일관성 Consistency:트랜잭션 실행 후 저장 결과가 일관적이어야 함
고립성 Isolation : 트랜잭션 실행 중 다른 트랜잭션의 접근 불가
영속성 Durability: 성공적 실행시 물리적 저장
DBMS의 특징 :
무결성: 동일 내용에 대한 다른 내용 저장 불가
일관성: 작업 후에도 저장 데이터 변함 없어야
회복성 : 장애 발생 시 특정한 상태로 복구
보안성:
효율성 : 요구사항 만족
네트워크 보안솔루션:
방화벽 :트래픽 모니터링, 시스템 접근 허용 차단
웹 방화벽: 웹 어플리케이션에 특화된 보안 장비 sql injection, xss등을 탐지, 차단
네트워크 접근 제어: 단말기의 네트워크 접속을 제어 통제. 바이러스 웜 등의 통제 기능
침입 탐지 시스템: 이벤트 모니터링, 비인가 사용자에 대한 자원 접근과 보안 정책 위반 행위를 실시간 탐지
침입 방지 시스템: 공격을 실시간으로 차단. 유해 트래픽에 대한 조치를 능동적으로 실행
무선 침입 방지 시스템: 비인가 무선 단말기의 접속을 자동으로 탐지, 무선 공유기 탐지
통합 보안 시스템: 방화벽, 침입 방지 시스템, VPN 등 다양한 보안장비의 기능을 통합
VPN 가상 사설망: 공용망을 전용망 사용하듯이
Secure SDLC:
Seven Touch Point : 실무적
Ms SDL: Ms 사에서 개발. 자사에 적용
OWASP CLASP: 이미 운영중인 시스템에 적용 용이
회복 기법:
로그 기반 회복 기법 - 지연 갱신: 트랜잭션 완료까지 데이터베이스에 저장하지 않음
즉각 갱신 : 트랜잭션 수행 중 갱신 결과를 바로 데이터 베이스에 저장
체크 포인트 회복 기법: 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서민 장애 발생 이전에 상태로 복원
그림자 페이징 회복 기법 : 트랜잭션 수행 시 복제본 생성, 장애시 이를 사용해 복구
- 키 종류
기본 키 Primary key: 튜플을 고유하게 식별하는 컬럼
대체 키 Altermate key: 후보 키 중 기본 키로 선택되지 않은 키
후보 키 Cadidate key: 테이블 서 튜플을 구별하는 데 기준이 되는 컬럼. 기본키+ 대체키
슈퍼 키 Super key: 유일성은 만족하나 최소성은 만족하지 않음
외래 키 Forgin key: 무결성을 위한 제약 조건
-절차형 SQL:
프로시저 Procedure: 일련의 쿼리들을 하나의 함수처럼 실행하기 위한 쿼리의 집합
트리거 Trigger: 데이터 베이스 시스템에서 이벤트 발생 시마다 관련 작업이 자동으로 실행
사용자 정의 함수 : 일련의 sql 처리 실행. 수행 결과를 단일 값으로 반환 가능한 절차형 SQL
- 테이블 수정
ALTER TABLE 테이블 명 MODIFY 컬럼명 데이터 타입 [ 제약조건 ];
alter table nameoftable modify grade number(1) default; //grade에 값을 넣지 않을 시 기본 값 1 적용
-공개키 알고리즘 :
디피 헬만: 최조의 공개키 알고리즘, 유한 필드 내에서 이산대수의 계산이 어려운 문제를 기본 원리로 둠
RSA: MIT 교수 세 명이 고안
ECC: 코블리치와 밀러가 RSA 암호방식에 대한 대안으로 제안
ElGamal: 전자서명, 암복호화에 사용
- 배치 프로그램 유형
이벤트 배치: 사전 정의 도구 충족시
온디멘드 배치 : 명시적 요구
정기 배치: 정해진 시점에 실행
- 디자인 패턴 유형: 행위
Medator: 중재자에게 모든것 요구. 통신 빈도 낮음. 상호작용의 유연한 변경
Interpreter: 문법 자체를 캡슐화. 분리된 구문의 해석을 맡는 클래스 작성
Iterator: 컬렉션 구현 방법을 노출하지 않음. 모든 항목에 접근할 방법 제공. 내부주소 노출하지 않음
Template Method: 상위 작업의 구조를 바꾸지 않음. 서브 클래스로 작업의 일부분 수행. 코드의 양을 줄이고 유지보수 용이하게
Obsever: 일대다 의존성. 느슨한 결합. 감시자. 상태변경시 다른 객체에게 알림
State: 객체 상태 캡술화. 그것을 참조하게. 원시 코드 수정 최소화. 유지 보수 편의성 증가. 객체 상태에 따라 행위 내용 변경
Visitor: 메서드가 각 클래스를 돌아다니며 특정 작업을 수행
Command: 재사용성이 높은 클래스를 설계. 요구사항을 객체로 캡슐화
Strategy: 알고리즘 군을 정의. 행위 객체를 클래스로 추상화. 동적행위 자유화.
Memento: Undo작업취소 기능 개발 시 사용
Chain of resposibility: 한 요청을 2개 이상의 객체에서 처리
- JOIN
SELECT B.상품코드 AS 상품코드 , A.상품명 AS 상품명, B.상품가격 AS 상품 가격
FROM 상품 A RIGHT JOIN 가격 B ON A.상품코드 = B.상품코드;
RIGHT JOIN = B테이블 기준 정렬
-DRS 유형
Mirror site: 주 센터, 복구 센터 모두 운영. 실시간 동시 서비스가 가능한 재해복구센터 RTO = 0, 즉시
Hot site: 동기, 비동기 방식의 미러링을 사용해 최신상태 유지. RTO = 4시간 이내
Warm site: 중요한 것만 보유. 데이터의 백업 주기 =수시간, 수일. RTO = 수일 수주
Cold site: RTO = 수주 수개월. 비용 저렴하나 복구 소요 시간이 길고 신뢰성이 낮음
-관계대수 : 정보 정의. 유도하기 위한 절차적 언어
관계 해석: 비절차적 언어
이름 | 학번 | 학년 |
김 | 2023 | 1 |
이 | 2022 | 2 |
스키마 릴레이션: 속성의 집합 (이름, 학번, 학년)
릴레이션 인스턴스: 실제로 저장된 데이터의 집합. (김이박,20232322,1,2)
튜플: 테이블 내의 행 레코드, 어떤 요소의 집합, 중복 허용. 2개
카디널리티: 특정 데이터의 집합. 유니크한 값의 개수 3개,
- DELETE FROM 학생 WHERE 이름 = '김':
- DELETE FROM TABELNAME WHERE 조건;
- DELETE FROM 행성 WHERE 무게 >=10 거리 5>=;
- SELECT 과목 MIN(과목 ) AS 최소점수, MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목
HAVING AVG(과목) >=90;
- SELECT B.상품코드 AS 상품코드 , A.상품코드 AS 상품코드 B. 상품가격 AS 상품가격
FROM 상품 A JOIN 가격 B ON A. 상품코드 = B.상품코드;
- SELECT NAME FROM EXAM WHERE WRITE IN NULL OR 필기 =0;
- SELECT 과목 MIN(점수 ) AS 최소점수, MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목
HAVING 점수>=90;
- ALTER TABLE 학생 ADD 성별 CHAR(1) CHECK (성별 IN ('M','F');
- ALTER TABLE TABLENAME ADD COLNAME DATATYPE[];
- ALTER TABLE 급여 ADD 연차 INTEAGER NOT NULL; //연차 추가, NULL값 안됨
- REVOKE DELETE ON SCORE FROM DOUM CASCADE CONSTRAINTS; //CASCADE CONTRAINTS = 연쇄적 권한 해제;
- INSERT INTO TABLE (COLNAME) VAULES();
- UPDATE SET A=1 WHERE AND;
- DELETE FROM TABLE NAME WHERE;
- SELECT DISTINCT FROM WHERE GROUP BY ORDER BY ; //DISTINCT: 컬럼중복제거
-스키마
외부 스키마: 개발자 관점, 사용자 뷰, 논리적 구조
개념 스키마: DB의 논리적 구조, 전체적인 뷰
내부 스키마: 물리적 저장 장치, 실제 DB에 저장된 레코드의 형식 정의,물리적 순서
-병행제어 : 다수의 사용자 환경에서 여러 트랜잭션 수행시 DB의 일관성을 유지하기 위해 상호작용을 제어하는 기법
-병행제어 기법:
로킹: 다중 트랜잭션 상황에서 DB의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
낙관적 검증: 어떠한 검증도 하지 않고 트랜잭션 종료시 검증 수행, DB반영
타임스탬프: 트랜잭션 실행 전 타임 스탬프 부여, 부여된 시간에 따라 트랜잭션 실행
다중버전 동시성 제어: 트랜잭션의 타임 스탬프와 접근 하려는 데이터의 타임 스탬프를 비교해 직려루 가능성이 보장되는 적잘한 버전을 선택해 접근하도록 하는 기법
-고가용성 유형
HOT STAND BY 상시대기 방식: 가동, 백업 시스템으로 구성. 평상시 대기 상태 장애시 전환
MUTUAL TAKE OVER 상호인수: 2개의 시스템이 평상시엔 각각의 업무를 수행하다가 한 서버에 장애 발생 시 상대 시스템 자원을 페일오버해 동시에 2개의 업무 처리
CURRERNT ACCESS 동시적 접근: 여러개의 시스템이 동시에 업무를 나눠 병렬 처리, 페일오버 X 가용성 보장
- SW보안 3요소
Confidentiality 기밀성: 인가받지 않은 사용자으 접근, 정보공개 차단
Integrity 무결성: 정당한 방법을 따르지 않고서는 데이터의 변경을 하지 못함
Availabilty 가용성: 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있게 보장
-SW 아키텍쳐 패턴 유형
계층화 패턴: 시스템을 계층으로 구성, 구분해 하위의 모듈들은 특정한 수준의 추성화 제공. 각 계층은 다음 상위 계층에 서비스 제공. 서로 마주보는 두개의 계층 사이에서만 상호 작용
클라이언트 서버: 하나의 서버, 다수의 클라이언트. 사용자는 클라이언트를 통해 서버에 서비스 요청
MVC: 대화형 어플리케이션
브로커: 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용. 이 컴포넌트들은 원격 서비스 실행을 통해 상호 작용
- 유스케이스 다이어그램: 기능, 외부 요소를 사용자 관점에서 표현
-DBMS 특징
데이터 무결성: 동일 내용 다른 데이터 저장 안됨
일관성 : 삽삭갱생 후에도 일관
회복성: 장애 발생 시 특정 상태로 회복
보안성: 불법적 손실로부터 보호
효율성: 요구조건 만족
-어플리케이션 공격 기법
HTTP GET FLOODING : HTTP 캐시 옵션 조작. 웹 서버 자원 소진
Slowloris: 개행 문자열 전송하지 않음
RUDY: 요청헤더의 content length를 비정상적으로 크게 설정
Slow read Attack: tcp 윈도 크기, 데이터 처리율 감소. 다수의 HTTP패킷 전송
Hulk Dos: 공격 대상 웹페이지주소를 지속적으로 변경, 다량으로 get 요청
Hash Dos: 해시충돌 발생
-BGP: 가장 짧은 경로를 경로벡터 알고리즘을 통해 선정. TCP 연결(179). 자치 시스템으로 라우팅 정보 전달
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 정리 (0) | 2023.09.28 |
---|---|
정보처리기사 (0) | 2023.09.24 |
정보처리기사 필기 : 오답노트, 자주 나오는 (1) | 2023.09.11 |
정보처리기사 : 자주나오는 (0) | 2023.07.20 |
정보처리기사 : DB (0) | 2023.07.19 |