-
2020 정보처리기사 필기 : 3과목 : 1장Study/정보처리기사 2020. 5. 27. 00:46728x90
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'Study > 정보처리기사' 카테고리의 다른 글
2020 정보처리기사 필기 : 3과목 : 3장 (0) 2020.05.28 2020 정보처리기사 필기 : 3과목 : 2장 (0) 2020.05.27 2020 정보처리기사 필기 : 2과목 : 5장 (0) 2020.05.27 2020 정보처리기사 필기 : 2과목 : 4장 (0) 2020.05.26 2020 정보처리기사 필기 : 2과목 : 3장 (0) 2020.05.26