본문으로 바로가기

[정보처리기사] 데이터베이스 정리 (2)

category CS/데이터베이스 2018. 5. 21. 10:55

글에 앞서...


이 글은 정보처리기사의 데이터베이스 과목에서의 내용을 키워드 중심으로 정리한 글입니다. 해당 과목의 내용을 다시 상기시키고 앞으로 볼 필기 시험 전에 내용을 정리하고자 작성합니다. DB 과목 관련 2번째 정리글이고,  시험이나 면접에 출제될 만한 내용을 바탕으로 하나의 주제를 선정하여 작성할 예정입니다. 저처럼 키워드 중심으로 내용을 정리하고 싶은 분들에게 도움이 되었으면 좋겠습니다.


아래 언제나 휴일 블로그에서 제가 생각하는 중요내용에 살을 붙여 정리했습니다.

출처 http://ehpub.co.kr/ (언제나 휴일)



1. 데이터 모델

  • 데이터 모델 : 현실 세계의 정보를 추상화, 단순화 과정을 통해 표현한 개념적 모델
  • 정보 모델링 : 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정
  • 데이터 모델의 구성 요소
    1. 개체(Entity) : ER 모델에서 표시하는 기본적인 Object로 파일의 레코드에 대응하며 어떤 정보를 제공하는 역할을 수행한다.
    2. 속성(Attribute) : 데이터 항목 또는 필드에 해당된다.
    3. 관계(Relation) : 계체 간의 관계 또는 속성 간의 관계를 의미한다. 

2. 관계형 데이터 모델

  • 관계형 데이터 모델 : 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다.
  • 표를 이용해서 데이터 상호 관계를 정의한 DB 구조이다.
  • 대표적인 DBMS : Oracle, MS-SQL ... 등이 있다.
  • 1:1, 1:N, M:N 모두 표현 가능하다.
  • 장점 : 간결하고, 보기 편리하고, 다른 데이터베이스로의 변환이 용이하다.
  • 단점 : 성능이 다소 떨어진다.

3. 계층형 데이터 모델

  • 정의 : 데이터의 논리적 구조도가 트리 형태이며, 개체가 트리를 구성하는 노드 역할을 한다.
  • 1:N 관계만 표현할 수 있다. (개체간의 상위와 하위 관계만 존재하기 때문입니다.) (관계형 데이터 모델과의 차이점)
  • 개체 타입들 간에는 사이클이 허용되지 않는다.
  • 대표적인 DBMS : IMS

4. 망(그래프, 네트워크) 데이터 모델

  • 정의 : 그래프를 이용해서 데이터 논리 구조를 표현한 데이터 모델이다.
  • 상위와 하위 레코드 사이에서 N:M 관계를 만족하는 구조이다.
  • 개체 타입들 간에는 사이클이 허용되지 않는다.
  • 상위의 레코드를 Owner, 하위의 레코드를 Member라 하여 Owner -Member 관계라고도 한다.
  • 레코드 타입 간의 관계는 1:1, 1:N, N:M이 될 수 있다.
  • 대표적인 DBMS : DBTG, EDBS, TOTAL 등....이 있다.

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


 아이디

이름 

학년 

학과 

 20180001

 홍길동

 1

 A

 20180002

 길동홍

 2

 B

 20180003

 동홍길

 3

 C

  • 릴레이션은 데이터들을 표(Table)의 형태를 표현한 것이다.
  • 릴레이션 스키마 : 구조를 나타낸다.
  • 릴레이션 인스턴스 : 실제 값들을 나타낸다. 
  • 튜플
    1. 릴레이션을 구성하는 각각의 행
    2. 튜플의 수 = 카디널리티(Cardinality) = 기수 = 대응 수
    3. 위 테이블은 3개의 튜플이 존재한다.
  • 속성
    1. 릴레이션을 구성하는 각각의 열
    2. 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
    3. 개체의 특성을 나타낸다.
    4. 속성의 수 = 디그리(Degree) = 차수
    5. 위 테이블은 4개의 속성이 존재한다.
  • 도메인
    • 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
    • 예를 들어 성별 애트리뷰트가 있다면 M, F로 표시하고 그 외의 값은 입력하지 못할 때를 말한다.

6. 무결성 (Integrity)

  • 개체 무결성 : 릴레이션에서 기본키를 구성하는 속성은 널(NULL)값이나 중복값을 가질 수 없다.
  • 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다. (릴레이션은 참조할 수 없는 외래키를 가질 수 없다.)
  • 도메인 무결성 : 특정 속성의 값이 그 속성의 정의된 도메인에 속한 값이어야한다는 규정입니다.

7. 뷰 (View)

  • 하나의  이상의 기본 테이블로부터 유도된 가상 테이블이다.
  • 물리적으로 존재하지 않지만 사용자에게 논리적으로 제공된다.
  • 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용된다.
  • 뷰의 특징
    1. 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능하다.
    2. 뷰를 기초로 다른 뷰를 만들 수 있다.
    3. 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
    4. 필요한 데이터로만 뷰로 정의해서 처리하기 때문에 관리가 용이하고 명령문이 간단하다.
    5. 뷰를 통해서만 데이터에 접근이 가능하므로 뷰에 나타나지 않는 데이터를 안전하게 보호할 수 있다.
  • 뷰의 장점
    1. 논리적 데이터 독립성을 제공한다.
    2. 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원한다.
    3. 접근 제어를 통한 자동 보안이 제공된다.
  • 뷰의 단점
    1. 독립적인 인덱스를 가질 수 없다.
    2. 뷰의 정의를 변경할 수 없다.
    3. 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따른다. (기본키를 사용해야만 변경 가능하다.)




댓글을 달아 주세요