차근차근

[2020 정보처리기사 필기] 논리 데이터베이스 설계 (2) 본문

대학교/자격증

[2020 정보처리기사 필기] 논리 데이터베이스 설계 (2)

SWKo 2020. 8. 6. 22:33

75. 식별자(Identifier)

1. 식별자의 정의 및 분류

- 식별자는 하나의 개체 내에서 각각의 인스턴스를 유일(Unique)하게 구분할 수 있는 구분자로, 모든 개체는 한 개 이상의 식별자를 가져야함

- 식별자의 분류 : 대표성 여부(주, 보조), 스스로 생성 여부(내부, 외부), 단일 속성 여부(단일, 복합), 대체 여부(원조, 대리)

 

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

- 주 식별자(Primary Identifier)는 개체를 대표하는 유일한 식별자

- 보조 식별자(Alternate Identifier)는 주 식별자를 대신하여 개체를 식별할 수 있는 속성

- 주 식별자의 4가지 특징 : 유일성, 최소성, 불변성, 존재성

- 두 식별자 모두 개체를 유일하게 식별할 수 있어야 함.

- 주 식별자는 한 개만, 보조 식별자는 한 개 이상 존재

- 식별할 수 있는 속성이 두 개 이상인 경우 가장 적합한 것을 주 식별자, 나머지는 보조 식별자

- 물리적 테이블에서 주 식별자기본키(Primary Key)로, 보조 식별자유니크 인덱스(Unique Index)로 지정되어 사용됨.

 

3. 내부 식별자/외부 식별자

- 내부 식별자(Internal Identifier)는 개체 내에서 스스로 만들어지는 식별자

- 외부 식별자(Foreign Identifier)는 다른 개체와의 관계(Relationship)에 의해 외부 개체의 식별자를 가져와 사용하는 식별자

- 외부 식별자는 자신의 개체에서 다른 개체를 찾아가는 연결자 역할

 

4. 단일 식별자/복합 식별자

- 단일 식별자(Single Identifier)는 주 식별자가 한 가지 속성으로만 구성된 식별자

- 복합 식별자(Composit Identifier)는 주 식별자가 두 개 이상의 속성으로 구성된 식별자

 

5. 원조 식별자/대리 식별자

- 원조 식별자(Original Identifier)는 업무에 의해 만들어지는 가공되지 않은 원래의 식별자

- 대리 식별자(Surrogate Identifier)는 주 식별자의 속성이 두 개 이상인 경우 속성들을 하나의 속성으로 묶어 사용하는 식별자, 인조 식별자라고도 함.

 

6. 대리 식별자의 조건

- 최대한 범용적

- 편의성과 단순성, 의미의 체계화를 위한 대리 식별자 사용

- 내부적으로만 사용하는 대리 식별자 사용 가능

 

7. 후보 식별자

- 후보 식별자는 각 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 집합

- 하나의 개체에는 한 개 이상의 후보 식별자가 있고 대표적인 식별자를 주 식별자, 나머지는 보조 식별자로 지정

- 후보 식별자 조건 : 인스턴스 유일하게 식별가능해야함, 널(NULL)값이 될 수 없음, 개념적으로 유일해야 함, 데이터가 자주 변경되면 안됨.

 

핵심

- 주 식별자, 보조 식별자

- 주 식별자 특성: 유일성, 최소성, 불변성, 존재성

- 주 식별자는 한 개, 보조 식별자는 한 개 이상

- 후보 식별자는 NULL값 될 수 없음


76. E-R(개체-관계) 모델

1. E-R(Entity-Relationship, 개체-관계) 모델의 개요

- 데이터 모델의 가장 대표적인 것, 피터 첸(Peter Chen)에 의해 제안

- 개체와 개체 간의 관계를 기본 요소로 이용, 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법

- 개체 타입(Entity Type)이들 간의 관계 타입(Relationship Type)을 이용해 현실 세계를 개념적으로 표현

- 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사

- 특정 DBMS를 고려한 것은 아님

- 1:1, 1:N, N:M 등의 관계 유형을 제한 없이 나타낼 수 있음

 

2. E-R 다이어그램

- E-R 모델의 기본 아이디어를 이해하기 쉽게 기호를 사용하여 시각적으로 표현한 그림

- 시스템 내에서 역할을 가진 모든 실체들을 표현

- 개발자, 관리자, 사용자들이 서로 다르게 인식하고 있는 뷰(View)들을 하나로 단일화

- 피터 첸 표기법, 정보 공학 표기법, 바커 표기법 등이 있음

 

3. 피터 첸 표기법

- 사각형 : 개체(Entity) 타입

- 마름모 : 관계(Relationship) 타입

- 타원 : 속성(Attribute)

- 이중 타원 : 다중값 속성(복합 속성)

- 밑줄 타원 : 기본키 속성

- 복수 타원 : 복합 속성

- 관계 : 개체 관계에 대한 대응수를 선 위에 기술

- 선, 링크  개체 타입과 속성을 연결

 

4. 정보 공학 표기법(Information Engineering Notation)

- 클리프 핀켈쉬타인, 제임스 마틴이 공동 개발

- 개체는 사각형 박스, 개체명은 박스 바깥쪽 위

- 속성은 기본키 속성과 일반 속성을 분리하여 표시

- 관계는 관계 표기 기호를 사용하여 표시

 

5. 바커 표기법(Barker Notation)

- 바커에 의해 정립

- 개체는 모서리가 둥근 박스에 표시, 개체명은 박스 안 가장 위에 표시

- 속성은 *(Mandatory), O(Optional) 로 표시

- 관계는 관계 표기 기호를 사용하여 표시한 후 해당 개체의 역할을 동사적 단어로 입력

 

핵심

- E-R 다이어그램 도형마다의 의미


77. 관계형 데이터 모델

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

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

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

- 기본 키(Primary Key)와 이를 참조하는 외래 키(Foreign Key)로 데이터 간의 관계를 표현

- 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델

- 관계형 모델의 대표적인 언어는 SQL이다.

- 1:1, 1:N, N:M 관계를 자유롭게 표현 가능

 

핵심

- 기본키, 외래키


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

1. 관계형 데이터베이스의 개요

- 코드(Codd)에 의해 처음 제안

- 관계형 데이터베이스를 구성하는 개체(Entity)나 관계(Relationship)를 모두 릴레이션(Relation)이라는 표(Table)로 표현

- 릴레이션은 개체 릴레이션, 관계 릴레이션으로 구분 가능

 

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

- 릴레이션은 데이터를 표(Table)의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.

- 튜플(Tuple) : 튜플은 릴레이션을 구성하는 각각의 행을 말함, 속성의 모임으로 구성, 파일 구조의 레코드와 같은 의미, 튜플의 수카디널리티(Cardinality) 또는 기수, 대응수라고 함.

- 속성(Attribute) : 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위, 파일 구조의 데이터 필드에 해당, 속성은 개체의 특성을 기술, 속성의 수 디그리(Degree) 또는 차수라고 함.

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

 

3. 릴레이션의 특징

- 릴레이션에 포함된 튜플들은 모두 상이하다.

- 튜플 사이에는 순서가 없다.

- 삽입, 삭제로 인해 릴레이션은 시간에 따라 변한다.

- 속성들 간의 순서는 중요하지 않다.

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

- 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키(Key)로 설정한다.

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

 

핵심

- 튜플의 수 = 카디날리티 = 기수 = 대응수

- 속성의 수 = 디그리 = 차수

- 속성의 명칭은 유일


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

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

- 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트

- 키의 종류 : 후보키, 기본키, 대체키, 슈퍼키, 외래키

 

2. 후보키(Candidate Key)

- 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재

- 유일성과 최소성

 

3. 기본키(Primary Key)

- 중복된 값을 가질 수 없다.

- 기본키는 후보키의 성질을 갖는다. 유일서으 최소성을 가진다.

- NULL값 불가능. 

 

4. 대체키(Alternate Key)

- 대체키는 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미

 

5. 슈퍼키(Super Key)

- 한 릴레이션 내의 속성들의 집합으로 구성된 키로서, 릴레이션을 구성하는 모든 튜플에 대한 유일성은 만족시키지만 최소성은 만족시키지 못한다.

 

6. 외래키(Foreign Key)

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

- 참조 관계를 표현하는데 중요

 

핵심

- 후보키 = 기본키 + 대체키

- 외래키 : 참조 관계 표현

0 Comments
댓글쓰기 폼