데이터베이스 설계

0

정보처리기사

목록 보기
31/100

데이터베이스 설계


1. 데이터베이스 설계란?

  • 정의: 데이터를 효율적으로 저장, 관리, 활용하기 위해 데이터베이스를 설계하고 구현하는 과정.
  • 목적: 사용자의 요구사항을 분석하고 이를 컴퓨터 시스템에서 관리 가능한 데이터베이스 구조로 변환.
  • 활용 예시:
    • 쇼핑몰 회원 정보 저장.
    • 자동차 보험 정보 관리.
    • 은행 및 신용카드 회사의 데이터 처리.

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

  1. 무결성 (Integrity):
    • 데이터베이스 내 데이터가 제약 조건을 항상 만족해야 함.
    • 오류나 비정상적 데이터 변경이 없도록 보장.
  2. 일관성 (Consistency):
    • 데이터 간의 관계가 처음부터 끝까지 일치.
    • 동일 질의에 대한 응답이 변하지 않아야 함.
  3. 회복성 (Recoverability):
    • 시스템 장애 발생 시 데이터베이스를 복구할 수 있어야 함.
    • 백업 및 복원 절차 고려.
  4. 보안 (Security):
    • 데이터 불법 접근, 변경, 삭제로부터 보호.
    • 권한 부여 및 해킹 방지 설계.
  5. 효율성 (Efficiency):
    • 데이터 검색 및 처리가 빠르고 효율적이어야 함.
    • 저장 공간 및 시스템 성능 최적화.
  6. 확장성 (Scalability):
    • 데이터 양이 증가할 때 시스템의 확장성이 뛰어나야 함.
    • 저장 장치 추가 시 운영에 영향이 없어야 함.

3. 데이터베이스 설계 절차

  • 데이터베이스 설계는 총 5단계로 이루어짐.

1) 요구조건 분석

  • 목적: 사용자 요구사항 수집 및 분석.
  • 내용:
    • 필요한 데이터, 형태, 제약 조건 등을 파악.
    • 사용자 요구사항을 명세서로 작성.
  • 결과물: 요구조건 명세서.

2) 개념적 설계

  • 목적: 사용자 요구를 추상적 개념으로 표현.
  • 내용:
    • ER 모델 작성 (엔터티, 관계, 속성 정의).
    • 개념 스키마 설계.
    • 트랜잭션 모델링 수행.
  • 결과물: 개념 스키마.

3) 논리적 설계

  • 목적: 개념적 설계를 특정 DBMS가 이해할 수 있는 논리적 구조로 변환.
  • 내용:
    • 테이블 설계: 필드, 데이터 타입 정의.
    • 데이터 간의 관계 정의.
    • 트랜잭션 인터페이스 설계.
  • 결과물: 논리적 스키마.

4) 물리적 설계

  • 목적: 논리적 설계를 컴퓨터의 물리적 저장 장치에 맞게 변환.
  • 내용:
    • 파일 저장 구조, 데이터 접근 경로 정의.
    • 저장 레코드 형식 및 순서 결정.
  • 결과물: 물리적 스키마.

5) 구현

  • 목적: 설계된 데이터베이스를 실제 시스템으로 생성.
  • 내용:
    • DDL(Data Definition Language)을 사용하여 데이터베이스 생성.
    • 트랜잭션 프로그램 작성.
  • 결과물: 운영 가능한 데이터베이스.

4. 데이터베이스 설계 순서 외우기

  • 암기법: 요-개-논-물-구 (요구조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현)
  • 예시 암기법: "요게 놈 물고"
    • 요구조건 분석 → 개념 설계 → 논리 설계 → 물리 설계 → 구현

5. 단계별 설계의 핵심

단계주요 작업
요구조건 분석사용자 요구사항 수집, 요구조건 명세 작성.
개념적 설계ER 모델 작성, 개념 스키마 설계, 트랜잭션 모델링.
논리적 설계테이블 설계, 데이터 타입 정의, 논리 스키마 설계.
물리적 설계데이터 저장 구조, 파일 구조, 접근 경로 설계.
구현DDL을 사용하여 데이터베이스 생성, 트랜잭션 작성 및 테스트.

6. 학습 포인트

  1. 데이터베이스 설계의 목적필요성 이해.
  2. 설계 순서와 각 단계의 주요 작업 암기.
  3. 무결성, 일관성, 회복성 등 설계 시 고려 사항 이해.
  4. 개념적/논리적/물리적 설계의 차이점 숙지.

데이터베이스 설계는 시스템의 성능과 데이터 관리 효율성을 좌우하는 핵심입니다. 각 단계와 개념을 명확히 이해하고 실제 문제에 적용할 수 있도록 준비하세요!

0개의 댓글