ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020 정보처리기사 필기 : 3과목 : 1장
    Study/정보처리기사 2020. 5. 27. 00:46
    728x90

    1장 : 논리 데이터베이스 설계


    1.     데이터베이스 설계 ★★★

    • 특정 DBMS로 데이터베이스를 구현하는 것
    • 고려사항
      • 무결성
      • 일관성
      • 회복
      • 보안
      • 효율성
      • 데이터베이스 확장
    • 순서
    순서 과정
    1 요구 조건 분석
    2 개념적 설계
    3 논리적 설계
    4 물리적 설계
    5 구현

    2.     개념적 설계 ( =정보 모델링 ) ★★★

    • 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정이다. 
    • 추상적인 개념으로 표현하는 과정이다. 
    • 개념 스키마 모델링트랜잭션 모델링병행 수행한다. 
    • DBMS에 독립적인 개념 스키마를 설계한다.
    • DBMS에 독립적E-R 다이어그램을 그린다.

     

     

    ** 정보 모델링 (Information Modeling) : 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정


    3.     논리적 설계 ( =데이터 모델링 ) ★★★

    • 컴퓨터가 이해하고 처리할 수 있는 논리적 자료 구조로 변환시키는 과정이다. 
    • 트랜잭션의 인터페이스를 설계한다. 
    • 목표 DBMS에 일치하는(=종속적인) 논리 스키마를 설계한다.
    • 스키마의 평가와 정제를 한다. 

     

     

    ** 개념적 설계 vs 논리적 설계

    개념적 설계 (=정보 모델링) 논리적 설계 (=데이터 모델링)
    인간이 이해할 수 있는 구조 컴퓨터가 이해할 수 있는 구조
    추상적인 개념 표현 논리적인 구조 표현
    개념 스키마 모델링
    트랜젝션 모델링
    트랜잭션 인터페이스 설계
    DBMS에 독립적인 개념 스키마 설계 DBMS에 종속적인 논리 스키마 설계

    4.     물리적 설계 ( =데이터 구조화 )

    • 물리적 저장장치에 저장할 수 있는 물리적 구조의 뎅이터로 변환하는 과정이다.

    5.     구현 단계 ★★★

    • 데이터베이스 스키마를 파일로 생성하는 과정이다. 
    • 목표 DBMS의 DDL 스키마 작성한다. 
    • 트랜잭션 작성한다.

    6.     데이터 모델

    • 현실 세계의 정보를 단순화, 추상화하여 체계적으로 표현한 개념적 모형

    7.     데이터 모델의 구성 요소 ★★★

    • 개체 (Entity) : 대상체
    • 속성 (Attribute) : 가장 작은 논리적 단위
    • 관계 (Relationship) : 논리적 연결

    8.     데이터 모델의 종류 ★★★

    • 개념적 데이터 모델 : 인간의 이해를 돕기 위해
    • 논리적 데이터 모델 : 컴퓨터가 이해하기 위해
    • 물리적 데이터 모델 : 컴퓨터에 데이터가 저장되는 방법을 정의하기 위해

    9.     데이터 모델의 표시할 요소 ★★★

    • 구조 (Structure) : 개체간의 관계
    • 연산 (Operation) : 데이터베이스를 조작하는 도구
    • 제약 조건 (Constraint) : 논리적인 제약 조건

    10. 개체 (Entity)

    • 데이터베이스에서 표현하려고자 하는 것
    • 대상체이다. 
    • 독립적으로 존재하는 유형이다.
    • 속성으로 구성된다. 
    • 레코드에 대응된다. 
    • 정보를 제공한다. 
    • 영속적으로 존재한다. 
    • 그 자체로 구별이 가능하다. 
    • 유일한 식별자(Unique Identifier)에 의해 식별이 가능하다. 
    • 다른 개체와 하나 이상의 관계(Relationship)가 있다.

    11. 속성 (Attribute)

    • 가장 작은 논리적 단위이다. 
    • 필드에 대응된다. 
    • 개체를 구성하는 항목이다. 
    • 개체의 특성을 기술한다. 
    • 속성의 수를 디그리(Degree) 또는 차수라고 한다. 
    • 속성으로 지정할 후보는 최대한 많이 선택하는 것이 좋다. 
    • 개체명은 속성명으로 사용할 수 없다.

    12. 속성의 특성에 따른 분류

    • 기본 속성 : 업무 분석을 통해 정의한 속성, 일반적이다. 
    • 설계 속성 : 설계 과정에서 도출해내는 속성
    • 파생 속성 : 다른 속성으로부터 영향을 받아 발생하는 속성, 적을수록 좋다.

    13. 속성의 개체 구성 방식에 따른 분류

    • 기본키 속성 : 개체를 식별할 수 있는 속성
    • 외래키 속성 : 다른 개체와의 관계에서 포함된 속성
    • 일반 속성

    14. 관계

    • 개체간의 논리적인 연결을 의미한다. 
    • 형태
      • 1 : 1
      • 1 : N
      • N : M
    • 종류
      • 종속 관계 (Dependent Relationship) : 주, 종 관계
      • 중복 관계 (Redundant Relationship) : 2번 이상의 종속 관계
      • 재귀 관계 (Recursive Relationship) : 자기 자신과 관계
      • 배타 관계 (Exclusive Relationship)

     

    14-1. 식별 관계 (Identifying Relationship) ★★★

    • 개체 A, B 사이의 관계에서 A 개체의 기본키가 B 개체의 외래키이면서, 동시에 기본키가 되는 관계를 말한다.

    15. 식별자 (Identifier)

    • 하나의 개체에서, 각각의 인스턴스를 유일(Unique)하게 구분할 수 있는 구분자이다. 
    • 모든 개체는 한 개 이상의 식별자를 반드시 가져야 한다.

     

     

    ** 인스턴스 : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것


    16. 주 식별자 (Primary Identifier)

    • 개체를 대표하는 유일한 식별자이다. 
    • 1개만 존재한다. 
    • 특징
      • 유일성
      • 최소성
      • 불변성
      • 존재성 : 주 식별자가 지정되면, 반드시 데이터 값이 존재해야 한다. 즉, NULL값이 불가능하다. 

    17. 보조 식별자 (Alternate Identifier)

    • 주 식별자를 대신하여 개체를 식별할 수 있는 속성이다. 
    • 1개 이상 존재한다.

    18. 내부 식별자 (Internal Identifier)

    • 개체 내에서 스스로 만들어지는 식별자

     

    19. 외부 식별자 (Foreign Identifier)

    • 관계(Relationship)에 의해, 외부 개체의 식별자를 가져와 사용하는 식별자

    20. 단일 식별자 (Single Identifier)

    • 한 가지 속성으로만 구성된 식별자

    21. 복합 식별자 (Composit Identifier)

    • 두 개 이상의 속성으로 구성된 식별자

    22. 원조 식별자 (Original Identifier)

    • 가공되지 않은 원래의 식별자

    23. 대리 식별자 (Surrogate Identifier)


    24. 후보 식별자

    • 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성의 집합을 의미한다. 
    • 하나의 개체에서, 한 개 이상의 후보 식별자가 있고, 이 중 개체의 대표성을 나타내는 식별자를 주 식별자로, 나머지는 보조 식별자로 지정한다. 
    • Null 값은 불가능하다.

    25. E-R 모델 (Entity-Relationship Model, 개체-관계 모델) ★★★

    • 피터 첸에 의해 제안되고 정립되었다. 
    • 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법이다. 
    • 특정 DBMS만을 고려한 것이 아니다. 

     

    25-1. E-R 다이어그램 ★★★

    • E-R 모델의 기본 아이디어를 쉽게 기호를 사용하여 시각적으로 표현한 그림
    • 개발자, 관리자, 사용자들이 서로 다르게 인식하고 있는 뷰(View)들을 하나로 단일화시킨다. 
    • 다이어그램 표기법 종류
      • 피터 첸 표기법
      • 정보 공학 표기법 
      • 바커 표기법

     26. 피터 첸 표기법


    27. 관계형 데이터 모델 (Relational Data Model)

    • 가장 많이 사용되는 데이터 모델이다. 
    • 표(Table)에 표현한다. 
    • 기본키와 이를 참조하는 외래키로 데이터 간의 관계를 표현한다. 
    • 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다. 
    • 예 : SQL

    28. 관계형 데이터베이스

    • 개체(Entity)나 관계(Relationship)를 모두 릴레이션(Relation)이라는 표(Table)로 표현한다.
    • 간결하고, 보기 편하고, 변환이 용이하다. 
    • 성능이 떨어진다.

    29. 튜플 (Tuple) 

    • 표의 행을 의미한다. 
    • 속성의 모임이다. 
    • 레코드와 대응된다. 
    • 튜플의 수 : 카디널리티(Cardinality) = 기수 = 대응수

    30. 속성 (Attribute)

    • 표의 열을 의미한다. 
    • 가장 작은 논리적 단위이다.
    • 개체의 특성을 기술한다. 
    • 속성의 수 : 디그리(Degree) = 차수

    31. 도메인 (Domain)

    • 하나의 속성이 취할 수 있는, 같은 타입의 원자값들의 집합이다.

    32. 릴레이션 (Relation)

    • 똑같은 튜플은 존재할 수 없다. 
    • 튜플 간의 순서가 없다. 
    • 시간에 따라 변한다. 
    • 속성의 명칭은 유일하다. 
    • 속성의 값은 일한 값이 존재할 수 있다.

    33. 제약 조건 ★★★

    • 데이터의 정확성을 보장하기 위해, 키(Key)를 이용하여 입력되는 데이터에 제한을 주는 것을 말한다. 
    • 예 : 개체 무결성 제약, 참조 무결성 제약 등

    34. 키 (Key) ★★★

    • 튜플들을 서로 구분할 수 있는 기준이 되는 속성을 말한다. 
    • 종류 : 후보키, 기본키, 대체키, 슈퍼키, 외래키 등

    35. 후보키 (Candidate Key)

    • 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합. 
    • 기본키로 사용할 수 있는 속성들의 집합. 
    • 하나의 릴레이션에는 하나 이상의 후보키가 존재한다. 
    • 유일성과 최소성을 만족시킨다.

    36. 기본키 (Primary Key)

    • 후보키 중, 특별히 선정된 메인 키(Main Key) 
    • 중복된 값을 가질 수 없다. 
    • 유일성과 최소성을 만족시킨다. 
    • Null 값을 가질 수 없다.

     

    ** Null 값은 아무 것도 없는 값을 의미한다. 공백이나 0을 의미하지 않는다. 


    37. 대체키 (Alternate Key)

    • 후보키 중, 기본키를 제외한 나머지 후보키

    38. 슈퍼키 (Super Key)

    • 한 릴레이션 내에 있는 속성들의 집합. 
    • 유일성을 만족시킨다. 
    • 최소성은 만족시키지 않는다.

    39. 외래키 (Foreign Key)

    • 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합.

     40. 무결성 (Integrity)

    • 데이터베이스에 저장된 값과 현실 세계의 실제 값이 일치하는 정확성을 의미한다. 

     

    40-1. 무결성의 종류

    구분 이름 설명
    1 개체 무결성

    (=실체 무결성)

    어떤 속성도 Null 값이나 중복값을 가질 수 없다. 

    2 도메인 무결성

    (=영역 무결성)

    정의된 도메인에 속한 값이어야 한다. 

    3 참조 무결성 릴레이션은 참조 할 수 없는 외래키 값을 가질 수 없다. 
    4 사용자 정의 무결성  

     

     

    40-2. 무결성의 강화 방법

    • 애플리케이션
    • 데이터베이스 트리거
    • 제약 조건

    41. 관계대수 ★★★

    • 관계형 데이터베이스에서, 원하는 정보를 얻기 위해 기술하는 절차적인 언어이다. 
    • 릴레이션을 처리하기 위한 연산을 제공한다. 
    • 따라서 피연산자도 릴레이션, 그 결과도 릴레이션이다. 
    • 종류
    구분 종류
    1 순수 관계 연산자 Select, Project, Join, Division
    2 일반 집합 연산자 UNION, INTERSECTION, DIFFERENCE,
    CARTESIAN PRODUCT

     

     

    ** Degree와 Cardimality의 cartesian product 계산 예

    구분 Relation R Relation S R cartesian product S
    Degree 3 4 7
    Cardinality 3 4 12

    42. 관계해석 (Relational Calculus)

    • 관계 데이터의 연산을 표현하는 방법
    • 비절차적 특성을 지닌다. 

     

     

    42-1. 관계대수 vs 관계해석

    구분 관계대수 관계해석
    공통점

    관계 데이터베이스를 처리하는 기능과 능력면에서
    관계대수와 관계해석은 동등하다. 

    차이점 절차적 특성을 지닌다.  비절차적 특성을 지닌다. 

    43. 정규화 (Normalization)

    • 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어, 바람직한 스키마로 만들어 가는 과정
    • 논리적 설계 단계에서 수행한다. 
    • 정규화 수준이 높을수록,
      • 유연한 데이터의 구축이 가능하고, 정확성 높아진다. 
      • 접근이 복잡하고, 성능 저하를 초래한다.
    • 안정성과 무결성을 유지한다. 
    • 데이터 중복을 배제한다. 
    • 데이터 모형의 단순화가 가능하다.

    44. 이상 (Anomaly)

    • 데이터의 중복으로 인해 발생하는 오류
    • 삽입 이상
    • 삭제 이상
    • 갱신 이상

     

    ** 이상 현상은, 데이터의 "중복"으로 인한 오류이다. 데이터의 "종속"으로 인한 오류가 아니다. 


    45. 정규화 과정 (도부이결다조) ★★★

    이름 약어 설명
    제1정규형 1NF 메인이 모두 원자값으로 되어있다. 
    제2정규형 2NF 분적 함수 종속을 제거한다.
    제3정규형 3NF 행적 함수 종속을 제거한다. 
    Boyce-Codd 정규형 BCNF 정자이면서, 후보키가 아닌 것을 제거한다. 
    제4정규형 4NF 치 종속을 만족한다. 
    제5정규형 5NF 인 종속성이 성립한다. 

    46. 반정규화 (Denormalization)

    • 성능 향상, 개발 및 운영을 위해, 의도적으로 정규화 원칙을 위배하는 행위
    •  반정규화로 인해, 
      • 성능이 향상되고, 효율성을 증가한다. 
      • 일관성 및 정합성이 저하될 수 있다. 

     

    46-1. 반정규화의 방법 ★★★

    • 테이블 통합
      • 두 테이블이 조인(Join)되는 경우가 많은 경우 사용
    • 테이블 분할
      • 수평 분할 : 사용빈도에 따라 나누어야 할 경우 사용
      • 수직 분할 : 속성이 너무 많을 경우 사용
    • 중복 테이블 추가
      • 다른 서버의 테이블을 이용하는 경우 사용
      • 많은 양의 범위를 자주 처리해야 하는 경우 사용
      • 특정 범위의 데이터만 자주 처리해야 하는 경우 사용
    • 중복 속성 추가
      • 조회 경로를 단축해야 하는 경우 사용
      • 기본키의 형태가 부적절한 경우 사용
      • 기본키의 형태가 여러 개의 속성으로 구성된 경우 사용
      • 액세스의 조건으로 자주 사용되는 속성인 경우 사용
      • 조인이 자주 발생하는 속성인 경우 사용

    47. 시스템 카탈로그 (System Catalog) ★★★

    • 시스템의 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
    • 데이터 사전이라고도 한다.
    • INSERT, DELETE, UPDATE문으로 갱신하는 것이 허용되지 않는다. 
    • SQL을 이용하여 검색은 가능하다.
    • 카탈로그는 DBMS가 스스로 생성하고 유지한다. 
    728x90

    댓글

kxmjhwn@gmail.com