302. 클린코드 작성 원칙
- 가독성
- 이해하기 쉬운 용어 사용
- 코드 작성 시 들여쓰기 기능 사용
- 단순성
- 한번에 한 가지 처리만 수행
- 클래스, 메소드, 함수를 최소 단위로 분리
- 의존성
- 영향도를 최소화
- 코드의 변경이 다른 부분에 영향이 없게 작성
- 중복성
- 중복된 코드 제거
- 공통된 코드 사용
- 추상
- 클래스, 메소드, 함수에 대해 동일한 수준의 추상화를 함
- 상세 내용은 하위 클래스, 메소드, 함수에서 구현
303. McCabe의 cyclomatic
- 회전복잡도, 순환복잡도
- 프로그램의 복잡도를 나타내는데 사용되는 척도
- 프로그램에 분기(반복문, 조건문)가 많다면 Node에 비해 Edge(선)이 많아지고, 이에 따라 프로그램이 얼마나 복잡한지를 판단할 수 있는 방법
- 회전 복잡도 계산방법
- 방법 1
- Edge수 - Node수 + 2P
- P는 단일 프로그램일 때 항상 1
- 방법 2
- 분기 수 + 1
- 그래프를 그리기 힘들어 프로그램 상에서 파악할 때 사용 (소스코드로 제시되었을 경우)
- 방법 3
- 폐구간 수 + 1
- 폐구간 : Edge로 사방이 막힌 영역을 의미
- 방법 1
304. 분기 수 측정 방법
구문 | 분기 수 | 설명 |
if | +1 | if 하나에 1 증가 |
else if | +1 | else if 하나에 1 증가 |
else | 0 | else 문은 복잡도에서 제외 |
switch문의 case | +1 | case문 하나에 1 증가 |
switch문의 default | 0 | default문은 복잡도에서 제외 |
for | +1 | for 하나에 1 증가 |
while | +1 | while 하나에 1 증가 |
do while | +1 | do while 하나에 1 증가 |
try문의 catch | +1 | try문의 catch 하나에 1 증가 |
try문의 finally | 0 | finally문은 복잡도에서 제외 |
Boolean연산 | +1 | Boolean연산 하나에 1 증가 |
306. AJAX
- AJAX의 특성
- Asynchronous JavaScript and XML의 약자
- JavaScript를 이용하여 비동기적으로 서버와 브라우저가 데이터를 주고 받는 방식
- 서버와 클라이언트 간 XML 또는 JSON을 주고 받으며, XMLHttpRequest 객체를 이용
- 페이지의 일부만 갱신하기 때문에 기존의 방식보다 속도가빨라 사용자에게 즉각적인 응답을 제공
- 기존 웹과 Ajax의 동작 비교
구분 | 예전 방식의 웹 서비스 | AJAX를 이용한 웹 서비스 |
개념도 | ![]() |
![]() |
요청 객체 | HttpRequest | XMLHttpRequest |
수신 데이터 | HTML + Resource (이미지 등) | XML (최근에는 JSON을 많이 이용) |
특징 | 페이지 전체 새로고침 : 느림 | 페이지 일부만 갱신 : 빠름 |
308. 화이트 박스 검사 유형
- 기본 경로
- Tom McCabe가 제안한 대표적인 화이트 박스 테스트 기법
- 수행 가능한 모든 경로 검사 (회전 복잡도)
- 반복경로 검사 (루프 검사) : 프로그램의 반복 구조에 초점을 맞추어 검사
- 제어 구문 검사 : 프로그램의 조건문에 초점을 맞추어 검사
- 데이터 흐름 검사 : 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞추어 검사
312. 소프트웨어공학의 3R
- 역공학 Reverse-Engineering
- 기존에 개발된 시스템을 CASE(자동화 도구)를 이용하여, 사양서, 설계서 등의 문서로 추출하는 작업
- 개발단계를 역으로 올라가 기존 개발된 시스템의 코드, 데이터로부터 설계명세서나 요구분석서를 도출하는 작업
- 재공학 Re-Engineering
- 기존 시스템을 널리 사용되는 프로그램 표준에 맞추거나 고수준의 언어로 재구성하여 타 하드웨어에서 사용할 수 있도록 변환하는 작업
- 재사용 Re-Use
- 이미 개발되어 기능, 성능, 품질을 인정받았던 소프트웨어 전체 또는 일부분을 다시 사용하는 기법
318. 소프트웨어 형상관리도구 기능
- 체크아웃 Checkout : 형상관리 저장소로부터 최신 소프트웨어 형상을 개발자 PC로 다운로드 받는 기능
- 체크인 Checkin : 개발자가 수정한 소스를 형상관리 도구 Repository로 업로드 하는 기능
- 커밋 Commit : 개발자가 소스를 형상관리 도구 Repository에 업로드 한 후 최종적으로 업데이트가 되었음을 때에 형상관리 서버에서 반영하도록 하는 기능
320. 네트워크 영역에 적용되는 보안 프로토콜
- IPSec
- IPses (Internet Protocol Security)은 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜 IP 통신을 위한 인터넷 프로토콜 스위트
- 이 보안은 통신 세션의 개별 IP 패킷을 인증하고 암호화함으로써 처리
- TLS (SSL)
- 3.0 버전부터 SSL은 TLS (Transport Layer Security)로 표준화되었음
- 전송 계층 보안 (Secure Sockets Layer)은 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약
- 인터넷 같이 TCP / IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해줌
- 현재 TLS 1.3 버전
- S-HTTP
- 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나
322. 스택
- 연산 명령어
- Push : 새로운 데이터를 삽입
- Pop : 데이터를 삭제
- 스택의 입력방향 : 항상 가장 위에서 push나 pop 연산이 수행
324. 스택
- 한쪽 끝에서만 자료를 삽입하고 삭제할 수 있는 LIFO (후입선출) 형식의 자료 구조
- 스택에서 가장 위의 데이터를 가리키고 있는 변수 (Top)이 필요
- 연산 명령어
- Push : 새로운 데이터를 삽입
- Pop : 데이터를 삭제
- 활용분야 : 컴파일러의 괄호 짝 맞추기, 미로찾기, 트리의 노드 방문, 그래프의 깊이우선탐색, 인터럽트 수행 시 복귀 주소 저장, 수식 연산 등에 사용
- 스택의 오류
- 언더플로우 Underflow : 데이터가 없는 상태에서 데이터를 삭제하면 발생
- 오버플로우 Overflow : 데이터가 꽉 찬 상태에서 데이터를 입력
326. DRM의 기술 요소
- DRM의 개념
- 디지털 콘텐츠의 생성에서 이용까지 유통 전 과정에 걸쳐 디지털 콘텐츠를 안전하게 관리/보호하고, 부여된 권한 정보에 따라 디지털 콘텐츠의 이용을 제어/통제하는 기술
- 각종 미디어의 접근 및 사용 권한을 서버 인증을 통해 중앙집중식으로 통제
- DRM의 기술 요소
구분 | 세부요소 기술 | 내용 |
콘텐츠 패키징 기술 | 콘텐츠 패키징 구조 | 패키징된 콘텐츠의 내부 구조를 표현하는 기술 |
콘텐츠 파일 포멧설계 | 패키징된 콘텐츠의 포멧에 대한 기술 규격 설계 | |
복합 콘텐츠 패키징 | 여러 개의 콘텐츠를 묶어서 패키징하는 기술 | |
콘텐츠 암호화 | 콘텐츠의 기밀성, 무결성 보장을 위한 기술 | |
권리표현기술 | 권리 데이터 사전 | 권리요소에 대한 정의 |
XML기반 권리 표현언어 | 구문과 스키마 설계 | |
다이나믹 사용규칙 표현 | 다양한 비즈니스 모델을 지원하는 라이선스 생성기술 | |
저작권 관계표현 | 가치사슬 관계의 저작권 정보 표현기술 | |
워터마킹 / 핑거 프린팅기술 | 워터마킹 | 다양한 공격에도 충분한 강인성을 유지하는 기술 |
핑거프린팅 | 불법 추적을 위한 핑거프린팅 정보 삽입 침추출 | |
공격 및 평가 | 기술의 강인성을 검증하기 위한 공격 및 평가기술 | |
복제방지기술 | 디바이스 인증 | 콘텐츠의 전송단과 수신단 간의 상호 인증 처리 |
비밀키 교환 | 콘텐츠 전송 수단과 수신단 간의 안전한 비밀키 교환 기술 | |
디바이스 폐기/회복 | 훼손된 디바이스의 폐기 및 회복 기술 | |
암호화 | 콘텐츠 전송단과 수신단 간의 안전한 콘텐츠 전송을 위해 암호화하는 기술 | |
콘텐츠 식별체계 | 식별자 구문 구조 | 식별자 구문 구조에 대한 기술규격 정의 |
식별자 변환 | 식별자의 실시간 변환기술 | |
식별 메타데이터 관리 | 공통으로 사용되는 기본 메타 데이터 구조 설계 | |
DRM 도메인간 상호연동 | DRM간 상호인증 처리 | DRM 시스템 간 상호인증 처리기술 |
DRM adaptation | 상이한 DRM 기술간의 콘텐츠 및 권리정보 변환기술 | |
훼손된 DRM 모듈 폐기처리 | 훼손된 DRM 시스템의 인증폐기 처리기술 |
327. 화이트 박스 테스트 / 블랙 박스 테스트
- 화이트 박스 테스트 기법
- 기본 경로 테스팅
- 프로그램 흐름, 논리적 경로 기반으로 테스트 케이스를 식별하는 테스팅 기법
- McCabe에 의해 제안된 대표적 화이트 박스 테스트 기법
- 루프 테스팅
- 프로그램의 루프 구조에 국한해서 실시하는 기법
- 루프의 유형 : 단순루프, 중첩루프, 연결루프, 비구조적 루프
- 데이터 흐름 테스팅
- 프로그램 내에서 변수들이 값을 할당 받은 지점이나 사용된 지점에 따라 프로그램의 테스트 경로들을 선택하는 방법
- 기본 경로 테스팅
- 블랙 박스 테스트 기법
- 동등 분할 테스팅 Equivalence Partitioning Testing
- 입력 값 범위를 유사한 특징을 갖는 동등 그룹으로 분리한 후, 대표값을 선정하여 테스트하는 기법
- 하나의 값으로 분할 내의 모든 값을 대표하는 것으로 간주하는 테스트 기법
- 경계값 분석 Boundary Value Analysis
- 주어진 입력값 혹은 출력값의 경계값을 기준으로 테스트 케이스를 선정하는 기법
- 결함 발견율이 높고, 적용하기 쉬움
- 의사 결정 테이블 테스팅 Decision Table Testing
- 주요한 의사결정 요소를 표로 만들고, 요소들 간의 결합에 의해 TC 설계
- 요구사항 명세를 분석하고 시스템의 조건과 동작에 대해 식별함으로서 테스트 케이스를 설계
- 페어와이즈 테스팅 Pairwise Testing
- 대부분 결함이 2개의 요소 Pair의 상호 작용에 기인한다는 것에 착안
- 각 값들이 다른 파라미터의 값과 최소 한번씩은 조합을 이루도록 구성하는 테스트 기법
- 유즈케이스 테스팅 Use-Case Testing
- 유즈케이스나 비즈니스 시나리오를 기반으로 테스트 케이스를 설계하는 기법
- 분류 트리 테스팅 Classification Tree Testing
- 입력값과 출력값을 트리 형태로 만들어서 특정 입력값에 따라서 결정되는 출력값이 정해지도록 만든 테스트 기법
- 상태 전이 테스팅 State Transition Testing
- 상태 전이 다이어그램 기반으로 상태 - 이벤트 기반의 시스템 동작을 확인하는 테스트 기법
- 동등 분할 테스팅 Equivalence Partitioning Testing
329. 제품 소프트웨어 사용자 매뉴얼 항목
- 제품 소프트웨어 사용자 매뉴얼의 개념
- 개발이 완료된 소프트웨어를 고객에게 전달하기 위한 형태로 패키징
- 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함
- 제품 소프트웨어에 대한 패치 개발과 업그레이드를 위해 버전 관리를 수행
- 제품 소프트웨어 사용자 매뉴얼의 특성
- 화면 캡처를 최대한 활용하여 사용자가 이해하기 쉽도록 구성
- 주요 기능을 설명할 화면을 첨부
- 제품 소프트웨어 동작 시 함께 동작하는 Application이나 설치되어 충돌될 수 있는 응용 프로그램에 대해 보여줌
- 제품 소프트웨어 동작 시 사전에 실행해야 할 Application이 있으면 기술
- 제품 소프트웨어가 Embedded 관련된 제품일 경우 해당 Device에는 어떤 것이 있는지, 연동되는 Device에는 무엇이 있는지 설
- 제품 소프트웨어 사용자 매뉴얼 항목
작성항목 | 설명 | |
목차 및 개요 | • 매뉴얼 전체 내용을 순서대로 요약 • 제품 소프트웨어의 주요 특징에 대해 정리 • 사용자 매뉴얼에서의 구성과 실행 방법, 메뉴에 대한 설명, 사용법 |
|
문서 이력 정보 | 버전, 작성자, 작성일, 검토자, 일시, 검수인 등을 일자별로 기록 | |
기록 항목 | 제품 명칭 | 제품 소프트웨어의 명칭 기재 |
모델명 | 버전을 포함한 제품 소프트웨어의 자체 모델명을 기재 : SS-SPM-258901567 | |
문서번호 | 제품 소프트웨어 Rev. 버전 날짜 등 고유한 문서번호 기재 | |
제품 번호 | 고유한 제품의 시리얼 넘버 기재 | |
기본 사항 | 개요 | • 제품 소프트웨어의 주요 기능 및 UI 설명 • UI 및 화면 상의 버튼, 프레임 등을 도식화하여 설명 |
사용 | • 제품 소프트웨어를 사용하기 위한 최소 환경 설명 • Pc 사양 (CPU, Memory 등), OS 버전 명시 • 제품 소프트웨어 최초 동작을 위한 설명 |
|
관리 | 제품 소프트웨어의 사용 종료 및 관리 등에 대한 내용 기재 | |
구동 환경 | • 개발 언어 및 호환 OS • 설치 마법사 이후 사용자가 구동하기까지의 과정 요약 |
332. 제품 품질 국제 표준
표준 | 세부내용 | 설명 |
ISO / IEC 9126 | 9126 - 1 : 품질모델 | • 소프트웨어 품질을 측정, 평가하기 위해서 소프트웨어의 품질요소와 특성을 정의 • 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 |
9127 - 2 : 외부품질 | ||
9128 - 3 : 내부품질 | ||
9129 - 4 : 사용 품질 | ||
ISO / IEC 14598 | 14598 - 1 : 개요 | • 개발자에 대한 소프트웨어 제품 품질 향상과 구매자의 제품 품질 선정 기준을 제공하는 표준 • 패키지 소프트웨어와 SI 개발 소프트웨어에 있어서 개발 과정 또는 개발 완료된 제품의 품질에 대한 평가 표준과 프로세스를 제공 |
14598 - 2 : 계획과 관리 | ||
14598 - 3 : 개발자용 프로세스 | ||
14598 - 4 : 구매자용 프로세스 | ||
14598 - 5 : 평가자용 프로세스 | ||
14598 - 6 : 평가모듈 | ||
ISO / IEC 12199 | 소프트웨어 패키지 - 제품 설명서 - 사용자 문서 - 프로그램과 데이터 |
소프트웨어 패키지 제품에 대한 품질 요구사항 및 테스트 국제 표준 |
ISO / IEC 25000 (SQuaRE) |
2500n (9126 - 1) : SQuaRE | ISO / IEC 9126과 ISO / IEC 14598, ISO / IEC 12119를 통합하고, ISO / IEC 15288을 참고한 소프트웨어 제품 품질에 대한 통합적인 국제 표준 |
2501n (9126 - 2) : 품질 모형, 모델 | ||
2502n (9126 - 3) : 품질 메트릭 | ||
2503n (9126 - 4) : 품질 요구사항 | ||
2504n (9126 - 5) : 품질 평가 |
334. 소프트웨어 형상 관리
- 소프트웨어 형상 관리의 개념
- SDLC 전 단계의 산출물을 체계적으로 관리하여, 소프트웨어 가시성 및 추적성을 부여하여 품질보증을 향상시키는 관리적 활동
- 소프트웨어 구현이 진행되는 동안 소스 코드 및 문서에 대한 형상은 지속적으로 변함, 이에 대한 관리를 위하여 형상관리 도구를 활용
- 형상관리는 소프트웨어 변경사항을 관리하기 위해서 형상 식별, 형상 통제, 형상 감사, 형상 기록을 수행
- 소프트웨어 형상 관리의 대상
- 소스 코드와 실행 파일 (바이너리 파일), 각종 설계 문서 등
- 각종 프로그램 개발과 관련된 회의록 등 문서화된 자료
- 소프트웨어 형상 관리 절차
- 형상 식별 : 형상 관리 대상을 구분하고, 관리 목록에 대한 번호를 부여하는 단계
- 형상 통제 : 소프트웨어 형상 변경 제안을 검토 승인하여 현재 SW 베이스라인에 반영될 수 있도록 통제하는 단계
- 형상 감사 : 소프트웨어 Baseline의 무결성을 평가하는 단계, 검증 / 확인
- 형상 기록 : 소프트웨어 형상 및 변경 관리에 대한 각종 수행 결과를 기록하고 보고서를 작성하는 단계
335. 소프트웨어 빌드 자동화 도구
- 소프트웨어 빌드 자동화 도구의 개념
- 빌드 : 소프트웨어를 생성하고 테스트하고 검사하여 배포하기 위해 수행하는 행위의 집합
- 빌드 자동화 도구 : 제품 소프트웨어 실행파일 생성을 자동화하기 위해서 저장소에 있는 소스를 자동으로 읽어서 빌드한 후 테스트하고 검사하여 실행 파일을 만드는 도구, 지속적인 통합과도 일맥상통
- 소프트웨어 빌드 자동화 도구 프로세스
- 컴파일 : 소스 코드를 바이너리 파일로 컴파일
- 패키징 : 바이너리 파일을 배포 형태로 패키징
- 단위테스트 : 단위 테스트 (커버리지 포함) 수행
- 정적분석 : 정적분석을 수행
- 리포팅 : 분석결과 리포팅
- 배포 : 패키징한 파일을 테스트 서버에 배포
- 최종 빌드 : 최종 빌드
336. 단위 모듈 테스트 방법
- 화이트 박스 테스트
- 단위 모듈 테스트의 가장 기본적인 방법은 모듈 내부의 소스를 보면서 수행하는 화이트박스 테스트
- 소스 코드를 보면서 테스트 케이스를 다양하게 만들어서 테스트할 수 있음
- 메소드 기반 테스트
- 단위 모듈의 외부에 공개된 메소드 기반 테스트
- 메소드에 파라미터 값을 다르게 호출하면서 다양한 테스트를 수행
- 화면 기반 테스트
- 사용자용 화면이 있는 경우 각각의 화면 단위로 단위 모듈 개발 후 화면에 직접 데이터를 입력하여 테스트를 수행
- 화면 기반 테스트는 화면과 연계된 서비스 컴포넌트, 비즈니스 컴포넌트 및 공통 컴포넌트를 한꺼번에 단위 테스트에 참여시킬 수 있음
- 사용자 시나리오에 기반한 단위 모듈 테스트를 할 수 있음
- 스텁과 드라이버 활용
- 사용자용 화면, 하위 모듈 (서비스 컴포넌트, 비즈니스 컴포넌트) 등과 같이 테스트 수행에 필요한 다른 모듈 개발이 안 된 경우 스텁과 드라이버를 활용하여 단위 테스트를 함
340. 소프트웨어 버전 관리 도구
- 소프트웨어 버전 관리 도구의 개념
- 컴퓨터에서 사용하는 파일들의 변화를 시간에 따라 기록함으로서 소프트웨어의 버전과 변경, 개선 내역을 관리하는 도구
- 소프트웨어 버전 관리 도구 유형
- 로컬 버전 관리 Local
- 담당자 한 명이 매일 공유 폴더의 파일을 자기 PC로 복사하고 컴파일하여 에러 확인과 정상 동작 여부 확인
- RCS, SCCS
- 중앙집중식 버전 관리 Centralized
- 모든 파일을 관리하는 서버가 중앙에 있고, 클라이언트(개발자)가 중앙 서버에서 파일을 받아서 사용
- CVS, Subversion, Perforce
- 분산형 버전 관리 Distributed
- 원격 저장소의 파일을 공유하는 형태가 아니라 로컬 저장소에 파일을 전부 복제하여 사용하는 방식
- 로컬 저장소에서 작업이 완료되면 커밋하여 원격 저장소에 반영하는 방식
- Git, Bitkeeper
- 로컬 버전 관리 Local
- 소프트웨어 버전 관리 도구별 특징
- RCS
- Revision Control System
- CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일을 잠금하는 방식으로 버전 컨트롤을 수행
- CVS
- Concurrent Versions System
- 서버와 클라이언트로 구성되어 다수의 인원이 동시에 범용적인 운용체제로 접근 가능하여 버전관리를 가능하게 함
- 클라이언트가 개발도구에 내장되어 있음
- SVN
- Subversion
- GNU의 버전 관리 시스템
- CVS의 장점은 이어받고 단점은 개선하여 2000년에 발표
- Git
- 기존 리눅스 커널의 버전 컨트롤을 하는 Bitkeeper를 대체하기 위해서 나온 새로운 버전 컨트롤로 현재의 리눅스는 이것을 통해 버전 컨트롤이 되고 있음
- 속도에 중점을 둔 분산형 버전 관리 시스템 DVCS이며, 대형 프로젝트에서 효과적인 도구
- SVN과 다르게 Commit은 로컬 저장소에서 이루어지고 push라는 동작으로 원격 저장소에 반영됨
- 원격 저장소로부터 소스를 받을 때도 pull 또는 fetch로 서버에서 변경된 내역을 받아 올 수 있음
- Clear Case
- IBM에서 제작된 버전관리 도구
- 복수 서버, 복수 클라이언트 구조
- 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 기할 수 있음
- RCS
342. 데이터베이스의 정의
- 공용 데이터 Shared : 동일 데이터에 대한 중복 최소화
- 저장 데이터 Stored : 컴퓨터가 접근할 수 있는 기억장치에 저장된 데이터
- 운영 데이터 Operational : 존재 목적이 명확하고 유용성을 지닌 데이터
- 통합 데이터 Integrated : 여러 사용자가 다른 목적으로 사용하는 공유 가능한 데이터
343. DBMS의 필수 기능
- 조작 기능 Manaipulation Facility : 사용자가 데이터를 검색하고 삽입, 삭제, 갱신 등 데이터 처리를 할 수 있는 인터페이스 기능
- 정의 기능 Definition Facility : 데이터베이스에 저장된 데이터의 타입과 구조, 제약조건 등을 명시하는 기능을 제공
- 제어 기능 Control Facility : 데이터의 정확성과 안전성을 유지하기 위한 무결성 관리와 병행제어, 접근 제어 등의 기능을 제공
344. DDL과 SQL의 종류
- DDL의 명령어
구분 | 명령어 | 설명 |
생성 | CREATE | 데이터베이스 객체 생성 |
변경 | ALTER | 객체 변경 |
삭제 | DROP | 객체 삭제 |
TRUNCATE | 객체 내 튜플(행) 삭제 |
- SQL의 종류
구분 | 설명 | 명령어 |
데이터 질의어 DQL | 데이터 베이스에 저장된 데이터를 검색하는데 사용하는 질의어 | SELECT |
데이터 조작어 DML | 데이터 베이스에 저장된 데이터를 수정, 삭제, 추가하는 명령어 | INSERT, UPDATE, DELETE |
데이터 정의어 DDL | 데이터 베이스 객체를 생성하고 수정, 삭제하는 명령어 (데이터베이스의 스키마를 정의, 스키마에 대한 명세는 시스템 카탈로그에 저장) | CREATE, ALTER, DROP |
데이터 제어어 DCL | 데이터 베이스의 규정이나 기법을 정의하고 제어하는 언어, 사용자 권한 부여 및 취소, 트랜잭션 제어 | CRANT, REVOKE, COMMIT, ROLLBACK |
346. SELECT와 SQL의 종류
- 데이터를 검색하는 SELECT 명령문은 데이터 질의어로 분류하거나 데이터 조작어에 포함하기도 함
구분 | 설명 | 명령어 |
데이터 질의어 DQL | 데이터 베이스에 저장된 데이터를 검색하는데 사용하는 질의어 | SELECT |
데이터 조작어 DML | 데이터 베이스에 저장된 데이터를 수정, 삭제, 추가하는 명령어 | INSERT, UPDATE, DELETE |
데이터 정의어 DDL | 데이터 베이스 객체를 생성하고 수정, 삭제하는 명령어 (데이터베이스의 스키마를 정의, 스키마에 대한 명세는 시스템 카탈로그에 저장) | CREATE, ALTER, DROP |
데이터 제어어 DCL | 데이터 베이스의 규정이나 기법을 정의하고 제어하는 언어, 사용자 권한 부여 및 취소, 트랜잭션 제어 | CRANT, REVOKE, COMMIT, ROLLBACK |
347. DELETE 명령어
- DML에 해당
- 한 테이블로부터 한 개 이상의 레코드(튜플)들을 삭제할 때 사용
- WHERE 조건절이 없는 DELETE 명령을 수행하면 모든 튜플(행)이 삭제
- DROP TABLE과의 차이점 : 스키마가 삭제되면서 저장되어 있는 모든 튜플(행)이 함께 삭제
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 기출문제 - 401 ~ 450. 오답노트 (2) | 2025.03.11 |
---|---|
[정보처리기사 필기] 기출문제 - 351 ~ 400. 오답노트 (0) | 2025.03.10 |
[정보처리기사 필기] 기출문제 - 251 ~ 300. 오답노트 (0) | 2025.03.06 |
[정보처리기사 필기] 기출문제 - 201 ~ 250. 오답노트 (1) | 2025.03.05 |
[정보처리기사 필기] 기출문제 - 151 ~ 200. 오답노트 (2) | 2025.03.04 |