[정보처리기사]1단원 데이터베이스 오답노트


1단원 데이터베이스 오답노트

1장. 데이터베이스

  • 데이터베이스의 정의

    ID SOS (Integrated-Database(Define)-Stored-Operational-Shared) : 아이디 긴급구조
    
    • 통합된 데이터 (Integrated Data)
    • 저장된 데이터 (Stored Data)
    • 운영 데이터 (Operational Data)
    • 공용 데이터 (Shared Data)
    • 배타적 데이터 (Exclusive Data) 는 데이터베이스 정의에 해당하지 않음

  • 논리적 독립성

    논리적 구조를 변경


2장. 스키마

img

  • 데이터 조작언어 (DML : Data Manipulation Language)

    • 데이터 처리

    • 응용프로그램 - DBMS

    • 인터페이스 제공

    • SQL 유형 SUIDE

      조회, 삽입, 갱신, 삭제
      
      • Select
      • Insert
      • Update
      • Delete (!= DROP)

  • 데이터 정의 언어 (DDL : Data Definition Language)
    • 데이터(스키마, 도메인, 테이블, 뷰) 생성 및 삭제
    • SQL 유형 CAD
      • CREATE
      • ALTER
      • DROP
  • 데이터 조작 언어 (DCL : Data Control Language)
    • 보안(권한), 무결성, 회복 및 복구
    • 병행제어
    • 종류 CRGR
      • COMMIT
      • ROLLBACK
      • GRANT
      • REVOKE

  • 내부 스키마 (Internal Schema)

    • 실제로 저장되는 것

    • 물리적 저장장치

    • 내부 레코드

      - If defines how the data are physically arranged on a storage device
      - as seen by a system programmer or system designer
      
    • 시스템 디자이너 및 시스템 프로그래머 관점

  • DELETE 는 SUIDE 의 DML 부문

  • 데이터 정의 언어 (DDL : Data Definition Language)
    • 데이터(스키마, 도메인, 테이블, 뷰) 생성 및 삭제
    • SQL 유형 CAD
      • CREATE
      • ALTER
      • DROP

  • 개념 스키마 (Conceptual Schema)

    the overall logical structure
    

4장. 데이터베이스의 구성요소

  • 데이터베이스 설계 중 물리적 설계
    • 저장 레코드 (파일 접근, 저장 방법)
    • 옵션 선택시 고려사항
      • 응답시간
      • 저장공간 효율화
      • 트랜잭션 처리도

  • 데이터베이스 설계 순서 개논물 CLP
    1. 요구 분석 (Requirement Formulation)
    2. 념적 설계 (Conceptual Schema)
    3. 리적 설계 (Logical Schema)
    4. 리적 설계 (Physical Schema)
    5. 데이터베이스 구현

  • 설계
  • 무결성, 보안성
    • 념적 설계 개모독
      • 트랜잭션 델링 수행
      • 립적인 개념 스키마 설계
    • 리적 설계 논인종
      • 트랜잭션 터페이스
      • 속적인 논리적 스키마 설계
    • 물리적 설계
      • 저장 레코드 (파일 접근, 저장 방법)
      • 옵션 선택시 고려사항
        • 응답시간
        • 저장공간 효율화
        • 트랜잭션 처리도

  • E-R 다이어그램

    all the entities(organizations, departments, users, programs, and data) that play roles in the system, as well as the relationships between those entities.
    
    • 사각형 (Rectangle) : 개체 (Entity)
    • 타원 (Ellipse) : 속성 (Attribute)
    • 마름모 (Diamond) : 관계 (Relationship)

5장. 관계 데이터 구조

  • 후보키 (Candidate Key) : 유일성과 최소성을 모두 만족
    • minimal subset of attributes
    • uniquely identifies each tuple in the relation
    • designated as the primary
    • 예를들어 사원번호주민등록번호
  • 기본키 (Primary Key) : 유일한 구분자
  • 대체키 (Alternative Key) : 후보키들 중 기본키 제외한 나머지 후보키들
    • 사원번호기본키일때, 주민등록번호
  • 외래키 (Foreign Key) : 기본키와 대응되어 참조관계 표현
  • 슈퍼키 (Super Key) : 유일성은 만족하나 최소성은 만족하지 않음
    • 복합키(Composite Key) 라고도 불림

  • Security (보안)
    • 권한이 없는 사용자로부터 데이터베이스를 보호
    • 사용자들이 데이터베이스를 사용하고자 할 때 언제든지 사용할 수 있도록 보장
    • Security involves ensuring that users are allowed to do the things they are trying to do.
  • Integrity (무결성)
    • 권한이 있는 사용자로부터 데이터베이스를 보호
    • 데이터베이스를 정확하게 사용할 수 있도록 보장
    • Integrity involves ensuring that the thing they are trying to do are correct.

  • 무결성
    • 개체 무결성
      • 기본키의 속성은 NULL이나 중복값을 가질 수 없음
    • 참조 무결성
      • 외래키는 반드시 해당 릴레이션에 존재해야 함
      • 속성명은 다를 수 있음

  • 릴레이션 특징
    • 원자 값
    • 튜플은 서로 다른 값
    • 튜플은 순서 없음
    • 순서 중요 X
    • 속성은 유일한 이름

6장. 관계대수

  • Select : 수평적 부분집합 (시그마 이용) = SELECT
  • Project : 수직적 부분집합 (파이 이용) = WHERE
  • Join
  • Division : 두 릴레이션에서 모든조건을 만족하는 튜플들을 릴레이션 A에서 분리

  • 관계대수
    • 릴레이션을 처리하기 위한 연산의 집합
    • 피연산자가 릴레이션 결과도 릴레이션
    • 기술적인 절차적 특성
    • 연산의 집합

  • 정규화
    • 속성 간 중복성, 종속성을 피하기 위함
    • 중복을 최소화, 삽입, 삭제, 갱신 이상의 발생을 방지
    • 연산시간이 감소되진 않음
    • 하나의 릴레이션을 여러개의 릴레이션으로 분해
    • 효과적인 검색 알고리즘 생성
    • 어떤 릴레이션이라도 데이터베이스에 표현

  • SELECT 속성명
  • FROM 테이블 이름
  • WHERE 조건
  • GROUP BY 속성명
  • HAVING 그룹에 대한 조건
  • ORDER BY 정렬
  • DISTINCT : 중복제거
  • IS NULL

  • 이상 (Anomaly)

    데이터의 중복으로 인하여 관계연산을 처리할 때 곤란한 현상이 발생
    여러 종속 관계를 하나의 릴레이션에 표현하기 때문에 발생
    
    • 삽입 이상
    • 삭제 이상
    • 갱신 이상

7장. 뷰

    • 가상 테이블
    • 검색은 동일
    • 논리적 데이터 독립성 제공
    • 연쇄 작용으로 삭제
    • 보안 (접근제한)
    • 실제 데이터 저장 X
    • 독립적인 인덱스 X
    • 뷰를 이용한 또 다른 뷰 생성 가능
    • 사용자 관리 용이 (필요한 데이터만 뷰로 정의)
    • 뷰는 변경 X - 지우고 다시 만들어야함
    • 제약이 없는 것 X

9장. 트랜잭션

  • 병행제어의 목적
    • 데이터베이스 공유 최대화
    • 시스템 활용도 최대화
    • 데이터베이스 일관성
    • 사용자에 대한 응답시간 최소화
  • 병행제어의 기법 낙타로
    • 로킹
      • 로킹 단위가 작아지면 로크수가 많아짐
      • 오버헤드가 커지고 관리하기는 복잡하지만
      • 공유도(병행성) 수준이 높아짐
      • 데이터베이스, 파일, 레코드, 필드가 로킹단위가 될 수 있음
      • 상호배타적
    • 낙관적
    • 타임스탬프

  • 트랜잭션 특성
    • 원자성 (Atomicity)
      • 모두 반영되든지 안되든지
      • 일부수행 X
      • 송금하는 도중 장애가 발생하였을 경우 부작용을 방지하는 특성
    • 일관성 (Consistency)
      • 실행을 성공하면 언제나 일관성있는 데이터베이스로
      • 수행전이나 수행후나 일관적이여야 함
    • 격리성, 독립성 (Isolation)
      • 연산이 실행중 다른 연산이 접근할 수 없음
      • 각 트랜잭션은 다른 트랜잭션을 인식하지 못함
    • 영속성, 지속성 (Durability)
      • 완료되면 무조건 지속되어야 함

  • 분산 데이터베이스

  • Recovery

    장애로 인해 손상된 데이터베이스를 복구하는 작업
    
    • 연기 갱신 기법 (Deferred Modification)
    • 즉각 갱신 기법 (Immediate Update)
    • 그림자 페이지 대체 기법 (Shadow Paging)
    • 검사점 기법 (Check Point)

9장. 자료구조의 분류

  • 터미널(끝) 노드 : 자식이 없는 노드
    • d, i, j, f, g, h
  • Tree의 Degree 차수 : 가장 자식이 많은 노드의 간선 수

  • 스택
    • 한쪽 끝에서 삽입과 삭제가 일어나는 자료구조
    • FILO, LIFO

10장. 수식의 표기법

  • 전위 표기법 (Polish notation, Prefix)
    • 괄호 순으로 부호를 앞으로 전부 빼서 처리
  • 중위 표기법 (Infix notation)
  • 후위 표기법 (Reverse Polish notation)
    • 괄호 순으로 부호를 뒤로 전부 빼서 처리

12장. 이분 검색(이진 검색)

  • 해싱
    • DAM(직접 접근 방법) 파일을 구성할 때 사용
    • 접근속도는 빠르나, 많은 기억공간을 요구
    • 키 값으로부터 레코드가 저장되어 있는 주소를 직접 계산해 산출된 주소로 바로 접근
    • 종류가 아닌것은 d 가 안들어가 있는것을 찾으면 됨
  • Collision 충돌
    • 서로 다른 키가 동일한 홈 주소를 가짐
  • Synonym
    • 동일한 홈 주소로 인해 충돌이 일어난 레코드 집합

  • 카르노맵에 따라서

    x, yz00011110
    00132
    14576
    z, xy00011110
    00264
    11375






© 2018. by HYEON

Powered by HYEON