본문 바로가기
자격증/정보처리기사 필기

정보처리기사 필기 요약 3과목 데이터 베이스 구축 - 1장 논리 데이터베이스 설계

by 리드민 2021. 7. 21.
반응형

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

SECTION 075 데이터베이스 설계

1. 데이터베이스 설계의 개념

데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다.

2. 데이터베이스 설계 시 고려사항

무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 한다.

일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 한다.

회복 : 시스템에 장애가 발생했을 때 장애 발생 직전의 상태로 복구할 수 있어야 한다.

보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 한다

효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 한다.

데이터베이스 확장 : 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 한다.

3. 데이터베이스 설계 순서

요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현

4. 요구 조건 분석

요구 조건 분석은 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것이다.

5. 개념적 설계

현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

6. 논리적 설계

논리적 설계 단계란 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping)시키는 과정이다.

논리적 설계에서는 개념 스키마를 평가 및 정제 하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계이다.

트랜잭션의 인터페이스를 설계한다.

관계형 데이터베이스라면 테이블을 설계하는 단계이다.

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

논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환

저장 레코드의 형식, 순서, 접근 경로, 조회

 

SECTION 76 데이터 모델의 개념

1. 데이터 모델의 정의

데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 해서 체계적으로 표현한 개념적 모형이다.

데이터 모델 구성 요소 : 개체, 속성, 관계

데이터 모델 종류 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델

데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건

2. 데이터 모델의 구성 요소

개체(Entitiy) : 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.

속성(Attribute) : 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.

관계(Relationship) : 개체 간의 관계 또는 속성 같의 논리적인 연결을 의미한다.

6. 데이터 모델에 표시할 요소

구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현한다.

연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터를 조작하는 기본 도구이다.

제약 조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건이다.

 

SECTION 077 데이터 모델의 구성 요소 - 개체(Entity)

1. 개체의 정의 및 특징

개체(Entity)는 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.

 

SECTION 079 데이터모델의 구성 요소 - 관계(Relationship)

1. 관계의 정의

관계는 개체와 개체 사이의 논리적인 연결을 의미한다.

2. 관계의 형태

일 대 일(1:1), 일 대 다(1:N), 다 대 다(N:M)

 

SECTION 080 식별자(Identifier)

1. 식별자의 정의 및 분류

식별자(Identifier)는 하나의 개체 내에서 각각의 인스턴스를 유일(Unique)하게 구분 할 수 있는 구분자

2. 주 식별자/보조 식별자

주 식별자(Primary Identifier)는 개체를 대표하는 유일한 식별자이다.
하나의 개체의 주 식별자는 한 개만 존재하지만 보조 식별자는 한 개 이상 존재한다.

업무에 가장 적합한 속성을 주 식별자로 지정하고, 나머지는 보조 식별자로 지정한다.

주 식별자는 기본키(Primary Key)로 지정되어 사용된다.

7. 후보 식별자(후보키)

후보 식별자는 개체에서 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합을 의미한다.

하나의 개체에는 한 개 이상의 후보 식별자가 있고, 이 중 개체의 대표성을 나나내는 식별자를 주 식별자(기본키)로, 나머지는 보조 식별자로 지정한다.

* 후보 식별자 조건

속성들을 직접 식별할 수 있어야 한다.

널 값(NULL Value)이 될 수 없다.(값이 없을 수 없다)

 

SECTION 081 E-R(개체-관계) 모델

E-R 모델은 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸(Peter Chen)에 의해 제안되고 기본적인 구성 요소가 정립되었다.

E-R 모델은 개체와 개체 간의 관계를 기본 요소로 이용하여 현실 세계에 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법으로 많이 사용되고 있다.

2. E-R 다이어그램(개념적 설계)

..

 

SECTION 082 관계형 데이터 모델

1. 관계형 데이터 모델(Relational Data Model)의 개요

관계형 데이터 모델은 가장 널리 사용되는 데이터 모델로, 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB 구조를 말한다.

파일 구조처럼 구성한 테이블들을 하나의 DB로 묶어서 테이블 내에 있는 속성들간의 관계(Relationship,테이블)를 설정하거나 테이브 간의 관계를 설정하여 이용한다.

 

SECTION 083 관계형 데이터베이스의 구조

2. 관계형 데이터베이스의 Relation 구조

* 튜플(Tuple)

튜플은 릴레이션을 구성하는 각각의 행을 말한다.

튜플의 수를 카디널리티(Cardinality) 또는 기수, 대응수라고 한다.

* 속성(Attribute)

속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.

* 도메인(Domain)

도메인은 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합이다.

성별 애트리뷰트의 도메인은 '남'과 '여'로 그외의 값은 입력될 수 없다.

3. 릴레이션의 특징

한 릴리에션에는 똑같은 튜플이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 상이하다.

한 릴레이션에 포함된 튜플 사이에는 순서가 없다(무순서).

튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.

릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.

속성의 명칭은 유일, 속성을 구성하는 값은 동일한 값이 있을 수 있다.

속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자값만을 저장한다.

 

SECTION 084 관계형 데이터베이스의 제약 조건 -키(Key)

1. 키(Key)의 개념 및 종류

2. 후보키(Candidate Key)

 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.

- 유일성(Unique) : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 한다.

- 최소성(Minimality) : 모든 레코드들을 유일하게 식별하는 데 꼭 필요한 속성으로만 구성되어야 한다.

3. 기본키(Primary Key)

기본키는 후보키 중에서 특별히 선정된 주키(Main Key=Major Key)로 중복된 값을 가질 수 없다.

* 기본키는 NULL 값을 가질 수 없다.

4. 대체키(Alternate Key)

기본키를 제외한 나머지 후보키를 의미한다.

5. 슈퍼키(Super Key) -학번, 주민번호

속성들의 집합

유일성은 만족, 최소성은 불만족

6. 외래키(Foreign Key)

외래키는 다른 릴레이션의 기본키를 참조하는 속성

* 외래키는참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구이다.

Null 값이 올 수 있다.

 

SECTION 085 관계형 데이터베이스의 제약 조건 - 무결성

1. 무결성(Integrity)의 개념 및 종류

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

2. 개체 무결성(Entity Integrity, 실체 무결성)

개체 무결성은 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정(제약조건)이다.

3. 도메인 무결성(Domain Integrity, 영역 무결성)

도메인 무결성은 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정이다.

4. 참조 무결성(Referential Integrity)

참조 무결성은 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정이다.

 

SECTION 086 관계대수 및 관계해석

1. 관계대수의 개요

절차적인 언어이다.

2. Select

수평 연산이다.

3. Project

수직 연산자

4. Join

Join은 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산이다.

5. Division

R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산이다.

7. 관계해석(Relational Calculus)

관계해석은 비절차적 특징을 지닌다.

 

SECTION 087 정규화(Normalization)

1. 정규화의 개요

정규화란 함수적 종속성 등의 종석성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어(분해) 바람직한 스키마로 만들어 가는 과정이다.

하나의 종속성이 하나의 릴레이션에 표현

정규형에는 제1정규형(1NF), 제2정규형(2NF), 제3정규형(3NF), BCNF형, 제4정규형(4NF), 제5정규형(5NF)이 있다.

정규화된 데이터 모델은 일관성, 정확성, 단순성 등을 보장한다.

2. 정규화의 목적

이상(Anomaly)의 발생 방지 및 자료 저장 공간의 최소화

3. 이상(Anomaly)의 개념 및 종류

정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데, 이를 이상(Anomaly)이라 하며 삽입 이상, 삭제 이상, 갱신 이상이 있다.

 

SECTION 088 반정규화(Denormalization)

1. 반정규화의 개념

반정규화란 시스템의 성능 향상등을 위해 정규화된 데이터 모델을 통합, 종복, 분리하는 과정. 정규화 원칙을 위해.

* 반정규화 방법에는 1. 테이블 통합 2.테이블 분할 3.중복 테이블 추가, 중복 속성 추가

 

SECTION 089 시스템 카탈로그

1. 시스템 카탈로그의 의미

시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.

카탈로그들이 생성되면 데이터 사전(Data Dictionary)에 저장

시스템 카탈로그 -> 데이터 사전

2. 시스템 카탈로그 저장 정보

시스템 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.(data of data)

반응형