정보처리기사(14)

서창민·2024년 1월 23일
0

자격증

목록 보기
50/70
post-thumbnail

정보처리기사

SQL응용과 소프트웨어 개발보안 구축

SQL(Structured Query Language)정의

DB를 조작하여 원하는 자료를 추출하거나 필요한 데이터를 추가, 삭제, 수정하기 위한 비절차적 프로그래밍 언어

관계형 DB를 조작하는 프로그래밍 언어
관계대수과 관계해석을 기초로 한 혼합데이터 언어

SQL 명령어 분류

데이터 정의어 (DDL)
- 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경/제거 할 때 사용
종류
- Create : DB, 테이블, 뷰를 생성하는 명령어
- Alter : DB, 테이블 구조를 변경하는 명령어
- DROP : DB, 테이블, 뷰 등을 삭제하는 명령어

데이터 조작어(DML)
- 테이블 내의 레코드를 추가, 제거, 변경, 검색하기위한 언어
종류
- SELECT : 테이블에서 필요한 레코드를 검색하는 명령어
- INSERT : 테이블에 새로운 레코드를 추가하는 명령어
- DELETE : 테이블에서 레코드를 삭제하는 명령어
- UPDATE : 테이블에서 레코드의 일부분을 수정하는 명령어

데이터제어어 (DCL)
- DB 보안, 무결성을 유지하기 위한 언어
종류
- GRANT : 권한 부여 명령
- REVOKE : 권한 회수(박탈) 명령

스키마 정의/설정

형식
: CREATE SCHEMA 스키마명 AUTHORIZATION 사용자ID;
정의
: 스키마의 식별을 위한 스키마 이름과 해당 스키마의 소유권자 혹은 허가권자를 정의

도메인 정의

형식
CREATE DOMAIN 도메인명 데이터타입
 [DEFAULT 기본값]
 [CONSTRAINT 제약조건명 CHECK (범위값)]

테이블 정의

CREATE TABLE 기본테이블 명
	(속성기술...
     PRIMARY KEY (기본키 속성명),
     UNIQUE(대체키 속성명)
     FOREIGN KEY(외래키 속성명)
      REFFERENCES 참조테이블(기본키 속성명)
      [ON DELETE 옵션]
      [ON UPDATE 옵션]
      [, CONSTRAINT 제약조건명] [CHECK(조건식)]);

옵션사항

NO ACTION
: 참조 테이블의 참조 속성 값이 변경 시 기본테이블에 아무조치 취하지 않음
CASCADE 
: 참조 테이블의 튜플 삭제시 그와 관련한 기본 테이블의 튜플도 연쇄적으로 삭제(변경시도 동일)
SET NULL
: 참조 테이블에 변화가 있으면 기본테이블의 관련 튜플의 속성 값을 NULL로 변경
SET DEFAULT
: 참조 테이블에 변화가 있으면 기본 테이블의 관련 튜플의 속성 값을 기본값으로 변경

예시

인덱스 정의

- 검색을 신속하게 수행할 수잇도록 한 데이터 구조
UNIQUE
: 중복되지 않는 인덱스 구조를 생성(생략시 중복허용)
정렬
: ASC(오름차순), DESC(내림차순)

형식
CREATE [UNIQUE] INDEX 인덱스명
	ON 테이블명 ({속성명[ASC|DESC]})

뷰 정의

- 하나 이상의 기본 테이블로부터 유도되는 가상 테이블
- SELECT 문을 서브쿼리로 사용하여 SELECT문의 결과로 뷰를 생성

형식
CREATE VIEW 뷰 이름[(속성기술...)]
		AS SELECT 명령구문;

뷰 예시

체크포인트

문제 1

정답) 
CREATE UNIQUE INDEX stud_idx
	on Student(ssn ASC);

문제 2

정답
CREATE INDEX 직원_IDX
ON 직원(이름);

문제 3

정답
1. DEFAULT "사원"
2. CONSTRAINT
3. CHECK(VALUE IN ("사원", "대리", "과장", "부장", "이사", "사장"));

문제 4

정답
1. PRIMARY KEY
2. NOT NULL
3. FOREIGN 
4. REFFERENCES
profile
Back-end Developer Preparation Students

0개의 댓글