본문 바로가기
컴퓨터과학[3-2]/D.B

데이터베이스 설계 및 구현 - [제1강] 데이터베이스 모델링의 개요

by boolean 2016. 7. 30.
728x90

데이터베이스 설계 및 구현 - [제1강] 데이터베이스 모델링의 개요

․데이터베이스 모델링의 개요 ․개념적 데이터베이스 모델링 ․논리적 데이터베이스 모델링 ․물리적 데이터베이스 모델링

데이터베이스 용어정리

  • 데이터베이스 모델링
    실세계의 데이터를 데이터베이스에 저장하기 과정으로 사용자 요구사항 분석, 개념적 데이터베이스 모델링, 논리적 데이터베이스 모델링, 물리적 데이터베이스 모델링 순으로 진행
  • ER 모델
    현실세계의 데이터를 추상화하여 개체로 분류하고 개체(entity)와 개체간의 관계(relationship)로 표현하는 그래프 기반 데이터 모델링 기법
  • 정규화
    관계형 데이터베이스 모델에서 정확한 위치에 정확한 데이터를 넣기위해 논리적 데이터베이스 스키마를 효과적으로 설계하는데 이용되는 기법
  • 인덱스
    요구되는 데이터를 데이터베이스로부터 빠르게 검색하기 위해 사용되며 레코드가 물리적 디스크상의 어느 블록에 저장되어 있는지 위치정보를 모아서 정렬한 것
  • 기반 테이블에서 자주 사용되는 정보를 모아 별도의 개체로 정의한 가상의 테이블
  • 요점정리

    1. 1. 데이터 모델링은 데이터 개체들을 분석하고, 데이터 개체들 사이의 관계를 정의하는 것이다. 데이터 모델링은 데이터의 합리적인 해석을 얻을 수 있는 데이터에 관한 모델화 작업으로서, 데이터 모델은 숲(데이터의 정보 내용)과 나무(데이터의 개개 값)의 대응 관계를 이해하기 쉽게 구성짓는 추상화 방법이다.
    2. 2. 데이터베이스 모델링의 단계는 사용자 요구사항 분석, 개념적 DB 모델링, 논리적 DB 모델링, 물리적 DB 모델링의 순으로 진행되며, 끝으로 갈수록 구체화되는 것이 특징이다.
    3. 3. 개념적 데이터베이스 설계 단계에서는 데이터베이스의 대상이 되는 현실세계의 사물에 대해 논리적으로 체계화하는 설계가 필요하며, 이 설계가 개체 관계 모델을 이용한 설계이다.
    4. 4. 정규화는 관계형 데이터베이스 모델에서 논리적 데이터베이스 스키마를 효과적으로 설계하는 데 이용되는 기법이다. 정규화 과정에서 설계자의 목표는 정확한 위치에 정확한 데이터를 넣는 것이다. 정규화의 종류에는 제1정규형(1NF), 제2정규형(2NF), 제3정규형(3NF), BC정규형(BCNF), 제4정규형(4NF), 제5정규형(5NF)이 있다.
    5. 5. 함수적 종속성(function dependency)이란 릴레이션에서 속성 간의 관계를 연관 관계로 표현한 것으로 일종의 제약조건을 의미한다.
    6. 6. 물리적 데이터베이스 설계 단계는 데이터베이스에 의해 사용되는 특정한 저장공간의 계산 또는 액세스 방법 등에 대한 정의를 표현하는 단계로, 개념적·논리적 설계 단계를 거친 데이터베이스가 저장될 공간에 중점을 둔다. 이 단계는 실제 데이터베이스 관리 시스템에 맞도록 정의된 개체를 구현하는 단계이고, 추상적인 것이 대부분 구현된다.
    7. 7. 인덱스는 데이터베이스에서 빠른 검색을 위해 사용되며 제약조건을 부여하여 유일성을 갖는 컬럼의 정의로도 사용된다. 그러나 인덱스는 추가 저장공간을 필요로 하며 검색효율은 높아지지만 데이터의 수정이나 삭제에는 시간이 좀 더 많이 걸린다. 또한 잘못 구현된 인덱스는 오히려 검색효율마저 떨어뜨리는 경우가 있다.
    8. 8. 뷰(view)는 기반 테이블에서 자주 사용되는 정보를 모아 별도의 개체로 정의한 가상의 테이블(virtual table)을 의미한다. 뷰를 물리적 데이터베이스 모델링에서 정의하는 이유는 사용자의 요구가 복잡한 질의를 자주 호출한다면 이를 단순화하여 뷰로 정의하면 데이터베이스의 복잡도를 줄일 수 있기 때문이다. 

    연습문제

    • 연습문제1

      한 릴레이션에서 다른 릴레이션을 참조할 때, 무결성을 유지하기 위한 수단으로 사용되는 키(key)는?

      답을 체크하세요
      정답 :
      ①은 릴레이션에서 두 투플이 서로 다르다는 것을 식별할 수 있는 키 속성의 집합
      ③은 둘 이상의 속성이 묶여서 기본키 역할을 수행하는 키
      ④은 후보키 중 릴레이션에 존재하는 투플을 식별하기 위해 지정된 키
    • 연습문제2

      속성 A가 속성 B를 결정하고 속성 B가 속성 C를 결정할 때 이를 무슨 종속성이라고 하는가?

      답을 체크하세요
      정답 :

      ①은 릴레이션의 속성 간의 관계로서 한 속성의 값에 대하여 다른 속성의 값이 하나씩만 연관되는 상태

      ②는 한 릴레이션에서 그의 프로젝션에 대하여 조인한 결과와 같아야 하는 제약조건

      ③은 한 릴레이션의 속성 A, B, C에 대하여 (A, C)값에 대응하는 B값이 A값에만 종속되고 C값과는 독립적인 상태

    • 연습문제3

      ER 모델에서 한 개체에 대한 속성값이 값들의 집합으로 표현되는 속성을 무슨 속성이라고 하는가?

      답을 체크하세요
      정답 :
      ②는 여러 속성으로 나뉠 수 있는 속성
      ③은 더 이상 작은 구성요소로 나눌 수 없는 속성
      ④다른 관련된 속성값으로부터 유도되어 속성값이 결정되는 속성
    • 연습문제4

      아래의 ER 다이어그램의 사상 원소수 표현에 대한 해석으로 올바른 것은?


      답을 체크하세요
      정답 :
      위 그림에서 위 두 개체(지점과 비디오)에 대하여 1대N의 관계를 갖는다. 지점개체에 속한 원소는 비디오 개체에 속한 한 개 이상의 원소에 대응된다는 의미, 즉 하나의 지점은 여러개의 비디오를 소유한다.
    • 연습문제5

      임의의 릴레이션에서 X → Y 형태의 모든 함수적 종속에 대하여 X가 릴레이션의 슈퍼키이면 이 릴레이션은 어떤 정규형에 속하는가?

      답을 체크하세요
      정답 :
      ①은 릴레이션의 모든 속성이 원자값을 갖는 상태
      ②는 릴레이션이 제1정규형이면서 모든 비주속성이 기본키에 완전히 종속하는 상태
      ③은 릴레이션이 제2정규형이면서 모든 비주속성이 어떤 키에도 이행적으로 종학하지 않는 상태
    • 연습문제6

      기반 테이블에서 자주 사용되는 정보를 모아 별도의 개체로 정의한 가상의 테이블(virtual table)을 무엇이라고 하는가?

      답을 체크하세요
      정답 :
      ①은 데이터 검색의 효율성을 위해 레코드가 물리적 디스크상의 어느 블록에 저장되어 있는지 위치정보를 모아서 정렬한 것
      ②은 E-R 다이어그램에서 개체의 구체적 구성요소를 나타낸 것
      ③은 동일한 속성의 값으로 이루어진 투플의 집합 

    댓글