[2023 정보처리기사] 3과목 – 22. 프로시저, 트리거, 사용자 정의 함수

1. 프로시저(Procedure) : 특정 기능에 대해 SQL을 미리 저장하고, 호추를 통해 실행하는 일종의 트랜잭션 언어. – 처리 결과로 한 개 이상의 값을 반환하거나, 아무것도 반환하지 않을 수 있다. – 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용. – 여러 프로그램에서 호출하여 사용 가능. 2. 트리거(Trigger) : 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 … Read more

[2023 정보처리기사] 3과목 – 21. SQL – DML(Data Manipulation Language)

1. DML(Data Manipulation Language)의 정의 : 데이터 조작어로서 DB사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어. – 종류: INSERT, DELETE, UPDATE, SELECT 등.   2. INSERT ★ : 테이블에 데이터를 삽입할 때 사용. – 구조: INSERT INTO 테이블이름([속성명]) VALUES(데이터); Ex1.) INSERT INTO 학생(이름, 학과) VALUES(‘김민수‘, ’컴퓨터공학‘); -> “학생”테이블에 “이름, 학과“속성에 ”김민수, 컴퓨터공학“을 … Read more

[2023 정보처리기사] 3과목 – 20. SQL – DCL(Data Control Language)

1. DCL(Data Control Language)의 정의 : 데이터 정의어로서 데이터 보안, 무결성, 회복, 병행제어 등을 정의하는 데 사용하는 언어.   2. GRANT ★ : DB관리자가 사용자에게 접근 권한을 부여하는 명령어. – 구조: GRANT [*권한] ON 테이블 TO 사용자 [*WITH GRANT OPTION]; *권한: ALL, SELECT, INSERT, DELETE, UPDATE, ALTER 등. *WITH GRANT OPTION: 부여받은 권한을 다른 사용자에게도 … Read more

[2023 정보처리기사] 3과목 – 19. SQL – DDL(Data Define Language)

1. DDL(Data Define Language)의 정의 : 데이터 정의어로서 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어. – 명령어: CREATE, ALTER, DROP 등   2. CREATE : 테이블, 스키마, 도메인, 인덱스, 뷰를 생성할 때 사용. 테이블의 생성: CREATE TABLE 테이블이름; 스키마의 생성: CREATE SCHEMA 스키마이름; 도메인의 생성: CREATE DOMAIN 도메인이름; 인덱스의 생성: … Read more

[2023 정보처리기사] 3과목 – 18. SQL(Structured Query Language)

1. SQL(Structured Query Language)의 개념 : 데이터베이스 시스템에서 데이터를 처리하는 용도로 사용되는 구조적 데이터 질의 언어. 데이터베이스 언어라고도 한다.   2. SQL의 분류 2. 1. DDL(Data Define Language, 데이터 정의어) ★ : 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용. – 명령어: CREATE, ALTER, DROP 등 2. 2. DML(Data Manipulation Language, 데이터 … Read more

[2023 정보처리기사] 3과목 – 17. 스토리지(Storage)

1. 스토리지의 개념 : 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술. – 스토리지의 종류: DAS, NAS, SAN   2. DAS(Direct Attached Storage) : 서버와 저장장치를 직접 연결하는 방식. 일반 가정에서 컴퓨터에 외장하드를 연결할때 사용. 장점 – 저장장치를 직접 서버에 연결하므로 속도가 빠르고, 설치 및 운영이 간편. – 초기 구축 비용 및 유지보수 비용이 저렴. … Read more

[2023 정보처리기사] 3과목 – 16. 데이터베이스 보안 – 접근통제

1. 접근통제

: 데이터 객체와 데이터에 접근하는 주체 사이의 정보 흐름을 제한하는 것.

 

2. 접근통제 정책

  2. 1. 임의 접근 통제(DAC; Discretionary Access Control)

: 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여.

– 통제 권한이 주체에게 있어, 주체가 접근통제 권한 지정⋅제어 가능.

– SQL 명령어: GRANT, REVOKE

  2. 2. 강제 접근 통제(MAC; Mandatory Access Control)

: 주체와 데이터 객체의 등급을 비교하여 접근 권한을 부여.

– 주체보다 보안등급이 낮은 데이터 객체: 읽기만 가능

– 주체와 보안등급이 같은 데이터 객체: 읽기, 수정, 등록 가능

– 주체보다 보안등급이 높은 데이터 객체: 읽기, 수정, 등록 불가

  2. 3. 역할 기반 접근 제어(RAAC; Roll Based Access Control)

: 사람이 아닌 직책에 대해 접근 권한 부여.

 

3. 접근통제 매커니즘

  3. 1. 접근통제 목록(ACL; Access Control List)

: 데이터 객체를 기준으로  특정 객체에 대한 주체의 권한을 기록한 목록

  3. 2. 능력 리스트(CL; Capability List)

: 주체를 기준으로 주체에게 허가된 권한을 기록한 목록

 

4. 접근통제 모델

  4. 1. 기밀성 모델

: 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호.

– 자신의 권한보다 낮은 수준의 문서만 읽을 수있음.

벨라파듈라 모델(BLP; Bell-Lapadula Confidentiality Model)

  4. 2. 무결성 모델

: 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지

비바 모델(BIBA)

  4. 3. 접근통제 모델

: 접근통제 메커니즘을 보안 모델로 발전시킨 것

[2023 정보처리기사] 3과목 – 15. 데이터베이스 보안 – 암호화(Encryption)

1. 암호화의 정의 : 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문로 변환하는 것. ※암호화(Encryption): 평문 → 암호문 ※복호화(Decryption): 암호문 → 평문   2. 암호화의 방식(기법) ★   2. 1. 개인키 암호화(Private Key Encryption, 대칭키) – 암호화키와 복호화키가 동일. – 종류(알고리즘) ★ DES: 블록 크기 64bit, 키 길이 56bit … Read more

[2023 정보처리기사] 3과목 – 14. 병행제어, 회복

1. 병행제어(Concurrency Control)   1. 1. 병행제어의 뜻 : 동시에 수행되는 트랜잭션들을 일관성 있게 처리하기 위해 제어하는 것.   1. 2. 병행제어의 목적 – 데이터베이스의 공유, 일관성을 최대화. – 시스템 활용도 최대화. – 사용자에 대한 응답시간을 최소화. 1. 3. 병행제어의 문제점 갱신 분실(Lost Update): 두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 … Read more

[2023 정보처리기사] 3과목 – 13. 트랜잭션, 물리데이터 모델 품질검토(CRUD분석, SQL 성능 튜닝)

1. 트랜잭션(Transaction) ★★   1. 1. 트랜잭션의 개념 : 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업 단위.   1. 2. 트랜잭션의 성질 ★★ ※ACID 원자성(Atomicity): 모두 반영되거나 모두 반영되지 않아야 한다. 일관성(Consistency): 실행이 완료되면 언제나 일관성있는 DB상태로 변환. 독립성(Isolation): 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다. 영속성(Durability): 트랜잭션의 결과는 시스템이 고장나도 … Read more