[#91][자격증] 정보처리기사 데이터베이스 기출 답안 정리
17년 2회
1. 이상현상의 발생 원인, 종류 3가지 (10점)1) 원인 : 릴레이션에서 일부 속성들의 종속으로인해 데이터의 중복이 발생
2) 종류 : 삽입(insert), 삭제(delete), 갱신(update)
2. SQL문 짜기 (5점)
: DELETE FROM 사원 WHERE 이름 = 'scott';
3. DB설계 순서 (3점)
: 요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
4. Commit에 대해 서술 (3점)
: 트랜잭션 수행 후 성공했을 경우 그 결과를 DB에 적용하여 완료시키는 것
* Rollback : 트랜잭션 처리가 비정상적으로 종료되어 DB일관성을 깨뜨렸을 때, 모든 연산을 취소하는 것
5. MDR (4점)
: 메타데이터의 등록과 인증을 통해 메타데이터를 유지,관리하며 메타데이터의 명세를 공유하는 레지스트리.
* Metadata 메타데이터 : 일련의 데이터를 정의하고 설명해주는 데이터. 빠른 검색과 내용을 간략하고 체계적으로 하기 위해 사용됨.
17년 1회
1. SQL문 짜기 (3점): INSERT INTO 학생 Values(98170823, '한국산', 3, '경영학개론', '?-1234-1234');
INSERT INTO 테이블이름 (COLUMN_LIST) VALUES (COLUMN_LIST에 넣을 VALUE_LIST);
INSERT INTO 테이블이름 VALUES (전체 COLUMN에 넣을 VALUE_LIST);
2. SQL 문장에서 괄호 채우기 (4점)
: Cascade
* Foreign key 옵션
1) NO ACTION : DB엔진에서 오류 발생, 부모 테이블의 행에 대한 삭제/ 업데이트 동작이 롤백됨.
2) CASCADE : 부모테이블에서 해당 행이 삭제/업데이트 되면 참조 테이블에서도 해당 행이 삭제/ 업데이트됨. INSTEAD OF DELETE트리거가 있는 경우에는 ON DELETE CASCADE 사용 불가.
3) SET NULL : 부모 테이블에서 행을 삭제/ 업데이트 하면 해당 외래키를 구성하는 모든 값이 NULL로 설정됨. 외래키 열이 NULL을 허용해야함. INSTEAD OF UPDATE트리거 있는 경우 지정 불가.
4) SET DEFAULT : 부모 테이블에서 해당 행을 삭제/ 업데이트하면 외래키를 구성하는 모든 값이 기본값으로 설정됨. INSTEAD OF UPDATE트리거 있는 경우 설정 불가.
5) RESTRICT : 자식테이블에 데이터가 남아있는 경우 부모테이블의 데이터는 수정/삭제 불가.
3. OLAP (Online Analytical Processing)
- 최종 사용자가 다차원 정보에 직접 접근, 대화식으로 정보를 분석하고 의사결정에 활용하는 과정을 지원하는 기술.
- 빠르고 일관된 대화식 접근을 통하여 분석가, 관리자, 임원 등이 데이터에 대해서 통찰력을 얻을 수 있도록 해주는 소프트웨어 기술의 한 범주.
1) Drill down
: 요약된 형태의 데이터 수준에서 보다 구체적인 내용의 상세데이터로 단계적으로 접근하는 분석기법.
2) Pivoting
: 보고서의 행, 열, 페이지 차원을 무작위로 바꾸어볼 수 있는 기능
3) Roll up
: 분석할 항목에 대해 한 차원의 계층구조를 따라 단계적으로 구체적인 내용에서 상세 데이터로부터 요약된 형태의 데이터로 접근하는 기능
4) Slicing/Dicing
: 주요 비즈니스 항목들을 다양한 각도에서 조회, 자유롭게 비교하는 기능
4. 트랜잭션의 특징 (A/C/I/D)
1) 원자성 : All or Nothing, 트랜잭션은 더이상 쪼개지지 않으므로 연산 전체가 처리되거나 처리되지 않아야함. (Commit, Rollback)
2) 일관성 : 트래잭션을 성공하면 언제나 모순없이 일관된 DB상태를 보존해야함.
3) 고립성 : 한 트랜잭션이 동시에 수행되는 다른 트랜잭션에 의해 간섭받아서는 안됨.
4) 영속성 : 성공적으로 수행된 트랜잭션은 영원히 반영되어야함. 시스템문제, DB일관성 체크 등을 하더라도 유지되어야함.
5. 트리거 (Trigger)
: 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업. 데이터 조작 언어(DML)로 데이터 상태 관리의 자동화에 사용됨.
16년 3회 ~ 중요한 내용 정리
1. SQL의 키워드 함수SELECT SUM(컬럼명) FROM 테이블이름 WHERE 조건 : 특정 컬럼 값 모두 더하기
SELECT AVG(컬럼명) FROM 테이블이름 WHERE 조건 : 특정 컬럼 값의 평균
SELECT MIN(컬럼명) FROM 테이블이름 WHERE 조건 : 특정 컬럼 값 중 최소
SELECT MAX(컬럼명) FROM 테이블이름 WHERE 조건 : 특정 컬럼 값 중 최대
SELECT COUNT(컬럼명) FROM 테이블이름 WHERE 조건 : 특정 컬럼의 수
2. Key 종류
1) Primary key : 관계형 DB에서 튜플의 식별자로 이용하기에 적합한 것을 후보키 중에 하나 선택 한 것
2) Foreign key : 관계형 DB에서 한 테이블의 키 중 다른 테이블의 튜플을 식별할 수 있는 키
3. 데이터베이스 무결성
: DB에 저장된 데이터 값과 실제 값이 일치하는 정확성
1) 참조무결성 : 외래키 값은 NULL이거나 참조 테이블의 PK값과 동일해야함.
2) NULL 무결성 : 특정 Attribute 값이 NOT NULL
3) 도메인 무결성 : 특정 Attribute 값이 Domain에 속한 갓
4) Key 무결성 : 하나의 테이블에는 적어도 하나의 Key가 있어야함.
5) 관계 무결성 : 테이블에서 튜플의 삽입 가능 여부, 서로 다른 테이블의 튜블들 사이 관계에 대한 적절성 여부
6) 개체 무결성 : PK를 구성하는 Attribute는 NOT NULL
4. 관계 연산자
: 관계형 DB에서 원하는 정보와, 그 정보를 어떻게 유도하는지 기술하는 절차적 언어
1) SELECT σ : 조건에 만족하는 튜플의 부분집합으로 릴레이션을 만듦
2) PROJECT π : 주어진 Attribute 값만을 추출하여 릴레이션을 만듦
3) JOIN ▷◁ : 공통 Attribute를 중심으로 2개의 릴레이션을 하나로 합쳐 새로운 릴레이션을 만듦
4) DIVISION ÷ : 한 릴레이션에서 다른 릴레이션의 Attribute를 제외한 속성만 선택
5. 집합 연산자
1) 합집합 (union) : A ∪ B, A + B
2) 교집합 (intersection) : A ∩ B
3) 차집합 (difference) : A - B
4) 카테시언 곱 (cartesian product) : A X B
6. 정규화 (Nomalizaion)
: 관계형 데이터베이스의 설계에서 중복이 최소화되도록 데이터를 구조화 하는 작업
=> 불필요한 데이터 제거, 데이터의 논리적 저장
1) 1NF : (원자값만 가짐) 각 튜플마다 컬럼의 값이 1개씩만 있어야함.
반복되는 그룹속성이 존재할 경우, 그 그룹을 분리. 1 : N 관계형성
2) 2NF : (부분적 종속 제거) 기본 키 중에 특정 컬럼에만 종속된 컬럼이 없어야함.
기본키가 하나인 경우는 2NF PASS.
3) 3NF : (이행적 함수 종속 제거) 기본 키 외의 다른 컬럼이 그 외 다른 컬럼을 결정할 수 없어야함.
4) BCNF : (모든 결정자가 후보키 집합에 속함)
* 후보키 = 수퍼키 중 최소성을 만족
5) 4NF : (다치종속 제거)
6) 5NF : (조인종속 제거)
7. 제약조건 (CONSTRAINT)
: 테이블에 올바른 데이터만 입력받고 잘못된 데이터는 들어오지 못하도록 컬럼마다 정하는 규칙. 데이터의 정확성 향상.
1) NOT NULL : NULL 값 입력 불가
2) UNIQUE : 중복값 입력 불가
3) PRIMARY KEY : NOT NULL + UNIQUE로 데이터끼리의 유일성을 보장하는 컬럼에 설정
4) FOREIGN KEY : 다른 테이블의 컬럼을 참조해 있는 데이터만 받음
5) CHECK : 뒤에 나오는 조건으로 설정된 값만 입력 허용
댓글
댓글 쓰기