본문 바로가기

자격증/정보처리기사 4과목

4-10강. 논리 데이터베이스 설계-데이터 모델(1)

과목4. 데이터베이스 구축, 10강. 논리 데이터베이스 설계-데이터 모델(1)

 

[ 목차 ]

1. 데이터모델

2. 데이터베이스의 구성(관계형 데이터 모델 구성 요소) - (기출)

3. 개념적 데이터 모델

4. 논리적 데이터 모델

5. 논리적 데이터 모델 - 계층 데이터 모델

6. 논리적 데이터 모델 - 네트워크 데이터 모델

7. 논리적 데이터 모델 정리

8. 물리적 데이터 모델

9. 개체-관계 모델 정의(Entity-Relationship)

10. 개념적 설계

11. 개체

12. 개체 타입

13. 속성

14. 속성의 종류

15. 도메인

16. 관계 

 

1. 데이터모델

1) 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형

2) DB내에 존재하는 데이터를 정의하고 데이터들 간의 관계를 규정, 데이터의 의미, 데이터에 대한 제약 조건을 나타내는 개념적인 도구

3) 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델, 관계 데이터 모델(11강)

 

2. 데이터베이스의 구성(관계형 데이터 모델 구성 요소) - (기출)

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

2) 연산 operation : db에 저장된 실제 데이터를 처리하는 작업에 대한 명세로 db를 조작하는 기본도구

3) 제약조건 constraint : db에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

ex. ER 다이어그램을 관계형 모델로 변환하는 과정은 매우 중요하며, 관계형 데이터 모델을 구성하는 요소는 S O C 이다.

    structure는 릴레이션에 해당하는 것으로 데이터를 원자값으로 갖는 이차원의 테이블로 표현된다.

    operation은 릴레이션을 조작하기 위한 관계연산을 나타내며 관계연산에는 select, project, join 등이 있음

    constraint는 데이터 무결성 유지를 위한 db의 보편적 방법으로 릴레이션의 특정 칼럼에 설정하는 제약을 의미하며, 개체무결성과 참조무결성 등이 있음

 

3. 개념적 데이터 모델

1) 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

2) 사용자가 데이터를 인식하는 방식에 가까운 개념을 제공하며 개체 기반 또는 객체 기반 데이터모델이라고도 부름

3) 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 정보모델이라고도 함

  - 개념적 모델 : 높은 수준의 추상화 단계에서 실세계를 표현하기 위한 도구

  - 논리적 모델 : 컴퓨터에 의해 수행될 수 있도록 데이터를 기술하기 위한 도구

4) 대표적으로 E-R모델이 있으며 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현

그 외 개념적 데이터 모델의 종류(각 종류와 키워드 정도만 기억)

1. 시멘틱 네트워크 데이터 모델 : 인공지능, 노드와 아크로 구조를 표현

2. 의미 객체 모델sementic object model : 의미 객체, 속성 유형

3. OMT 모델 : 관계 DB에 적합한 E-R 모델을 객체지향 데이터베이스를 위해 확장한 형태

4. 논리적 데이터 모델

1) 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환

2) 필드로 기술된 데이터 타입과 데이터 타입들 간의 관계를 이용하여 현실세계를 표현

3) 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미

4) 특정 DBMS는 특정 논리적 데이터 모델 하나만 선정하여 사용

5) 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분

 

5. 논리적 데이터 모델 - 계층 데이터 모델

1) DB의 논리적 구조가 트리 형태

2) 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않음

3) 개체 간에 상하 관계가 성립(부모-자식)하며 이를 족보라 지칭

4) 부모와 자식은 일대다 관계(1:n)만 허용

5) 두 개체 사이에 하나의 관계만 정의 가능

6) 다대다 관계직접 표현 불가능

7) 개념적 구조를 모델링하기 어려워 구조가 복잡해질 수 있음

8) 데이터의 삽입, 삭제, 수정, 검색이 쉽지 않으며 개체 삭제 시 연쇄 삭제 발생

개체 = 노드 = 레코드 = 튜플
관계 = 링크

6. 논리적 데이터 모델 - 네트워크 데이터 모델

1) db의 논리적 구조가 네트워크, 즉 그래프 형태로 사이클을 허용

2) 개체 간에는 일대다 관계만 허용되며 오너, 멤버의 관계

3) 두 개체 사이에 여러 관계를 정의할 수 있으며 이름으로 구별

4) 다대다 관계를 직접 표현 불가능

5) 구조가 복잡하고 데이터의 삭제, 수정, 삽입, 검색이 쉽지 않음

 

7. 논리적 데이터 모델 정리

 

8. 물리적 데이터 모델

1) 논리적 데이터 모델에서 레코드의 상세 스펙 등을 기술한 모델로 실제 컴퓨터가 데이터에 저장되는 방법을 정의

2) dbms 설계 및 관리 메뉴얼에 따라 정의

 

9. 개체-관계 모델 정의(Entity-Relationship)

1) E-R모델은 개념적 데이터 모델의 가장 대표적인 것으로 1970년 피터 첸에 의해 개발

2) 개체 타입과 이들 간의 관계 타입을 이용하여 현실 세계를 개념적으로 표현하는 방법

3) 개체, 속성, 관계 등에 대하여 용이하게 표현할 수 있는 E-R 다이어그램을 정의

4) 데이터를 개체, 관계, 속성으로 묘사하며 1:1, 1:N, N:M 등의 관계 유형을 제한 없이 나타낼 수 있음

5) 최초에는 엔터티, 관계, 속성과 같은 개념들로 구성되었으나 후에 일반화 계층 같은 복잡한 개념들이 첨가되어 확장

E-R 다이어그램 : E-R모델의 기본 아이디어를 시각적으로 표현하기 위한 그림

10. 개념적 설계

1) 개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로 표현

2) 개체 entity : db에 표현하려고 하는 현실 세계의 대상체

3) 속성 attribute : 개체의 성질, 분류, 식별, 수량 상태 등을 표현

4) 관계 relationship : 두 개체 간의 의미 있는 연결

개체-사각형, 관계-마름모, 속성-타원, 기본키-밑줄

 

11. 개체

1) DB에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체

2) 실세계에 독립적으로 존재하는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성

3) 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행

4) 독립적으로 존재하거나 그 자체로서도 구별 가능

 

12. 개체 타입

1) 동일한 속성들을 가진 개체들의 틀을 의미 

2) 개체 집합은 동일한 속성들을 가진 개체들의 모임

3) E-R 다이어그램에서 개체 타입은 직사각형으로 표현

4) 강한 개체 타입 : 키 속성을 사용하여 고유하게 개체들을 식별할 수 있는 개체 타입

5) 약한 개체 타입 : 키를 형성하기에 충분한 속성을 보유하지 못한 개체 타입

 

13. 속성

1) 하나의 개체는 연관된 속성들의 집합으로 설명 가능(ex. 사원 개체는 사원번호, 이름,직책, 급여 등의 속성 보유)

2) 개체는 독립적인 의미를 갖지만 속성은 독립적인 의미를 갖지 않음

3) 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당

4) E-R 다이어그램에서 타원형으로 나타내고 개체 타입과 실선으로 연결

5) 개체를 고유하게 식별할 수 있는 속성, 속성들의 집합을 주식별자 또는 기본키라 명명하며 E-R다이억르매에서 밑줄로 표현

 

14. 속성의 종류

1) 단순속성 simple : 더 이상 다른 속성으로 나눌 수 없는 속성 / 성별

2) 복합속성 composite : 두 개 이상의 속성으로 구성된 속성 / 주소

3) 단일 값 속성 single-valued : 각 개체마다 하나의 값을 갖는 속성

4) 다중 값 속성 multi-valued : 각 개체마다 여러 개의 값을 갖는 속성 / 취미

5) 저장된 속성 stored : 다른 속성과 독립적으로 존재하며 e-r에서 단순 속성과 동일하게 표현되고 대부분 속성이 해당

6) 유도된 속성 derived : 다른 속성 값으로부터 획득한 속성 / 나이

7) 키 속성 : 개체를 구성하는 속성 중 특별한 역할을 하는 속성으로 밑줄로 표현

 

15. 도메인

1) 속성이 가질 수 있는 모든 가능한 값들의 집합

2) 여러 속성들이 동일한 도메인을 공유할 수 있으며 이를 통해 DB는 속성 값을 표준화해서 관리 가능

 

16. 관계 

1) 개체들 사이에 존재하는 연관을 의마하며 두 개 이상의 개체 타입들 사이의 사상

2) 다이아몬드로 표기하며 관계 타입이 서로 연관시키는 개체 타입들을 관계 타입에 실선으로 연결

3) 관계의 틀징을 나타내는 속성을 가질 수 있으나 키 속성을 갖지 않음

4) 관계로 연결된 개체 타입들의 개수를 관계의 차수라고 표현하며 가장 흔한 관계는 두 개의 개체 타입을 연결하는 2진관계

5) 카디널리티 : 한 개체가 관계에 참여할 수 있는 관계의 수(튜플의 수)

6) 대응카디널리티 : 관계에 참여하는 개체의 어커런스 개수를 의미하며 이에 따라 관계의 형태(일대일, 일대다, 다대다)가 형성

 

<개발 순서>

요구사항 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - db 구축