[데이터베이스구축] 데이터베이스 설계

thingzoo·2024년 2월 7일
0
post-thumbnail

데이터베이스 설계

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

  • 무결성: 데이터 삽입/삭제/갱신 후에도 데이터값은 제약조건을 만족해야하는 조건
    • 제약조건: 저장된 데이터값이 만족해야 할 주어진 조건
    • 권한이 있는 사용자로부터 데이터베이스 보호
  • 일관성: 저장된 데이터값 또는 특정 질의에 대한 응답은 모순없이 일치하는 특성
  • 회복성: 시스템 장애 발생 시, 직전 일관된 데이터 상태로 복구하는 기법
  • 보안: 불법적인 데이터 변경, 손실, 노출에 대한 보호 기능
    • 권한이 없는 사용자로부터 데이터베이스 보호
  • 효율성: 시스템 응답시간 단축, 저장공간 최적화, 시스템 생산성 향상
  • 확장성: 시스템 운영에 영향을 주지 않고 새로운 데이터를 계속적으로 추가할 수 있는 기법

데이터베이스 설계 단계⭐️⭐️

1. 요구사항 수집 및 분석

  • 데이터베이스의 사용자, 사용 목적, 사용 범위, 제약조건 등을 정리해 명세서 작성
  • 트랜잭션의 유형과 실행 빈도 같은 동적 데이터베이스 처리 요구조건 정의

2. 개념적 설계

  • 현실 세계의 요구사항과 데이터를 추상적인 관점에서 표현
  • DBMS에 독립적으로 데이터베이스 설계 진행
  • 개념적 스키마 모델링(예: ERD)
  • 트랜잭션 모델링 및 정의

3. 논리적 설계

(20.6)

  • 목표 DBMS에 맞는 (종속적인) 논리 스키마 설계
  • 목표 데이터모델을 기반으로 설계
  • 트랜잭션의 인터페이스 설계 수행
  • RDB의 경우 테이블 설계 및 정규화
  • 논리적 데이터베이스 구조로 매핑
  • 스키마의 평가 및 정제
  • 산출물: 릴레이션 스키마

4. 정규화

5. 물리적 설계

  • 목표 DBMS에 맞는 (종속적인) 물리적 구조의 데이터로 변환
  • 저장 레코드, 접근 경로 설계
  • 트랜잭션의 세부 설계 수행
  • 산출물: 인덱스 구조

6. 구현

  • 목표 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성

7. 데이터베이스 튜닝

관계형 데이터베이스 관리 시스템

RDBMS 종류

Oracle

  • 미국 Oracle 사에서 개발
  • 대규모 데이터베이스 환경에 적합, 많은 정보 처리 시 우수한 성능
  • 고성능 트랜잭션 처리 기능 포함으로 데이터 처리 속고 빠름

MSSQL

  • 미국 Microsoft 사에서 개발
  • 주로 Windows 환경과 함께 사용, IIS(Internet Information Serices) 서버와의 호환성이 좋음

MySQL

  • 오픈소스 RDBMS 중 가장 널리 사용됨
  • 다양한 운영체제와 프로그래밍 언어 지원하여 범용성이 높음
  • 대용량 데이터 처리에도 빠르고 효과적인 성능

DB2

  • IBM에서 개발
  • 다중 스레드 기반 아키텍처를 통해 안정적이고 뛰어난 성능
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글