데이터베이스 03-02 (DBMS 설계, ER Model)

데이터베이스설계

  • 데이터베이스 전체에 대한 체계를 확립하는 일
  • 데이터베이스 설계자는 기획, 디자인, 구현책임, 유지보수 역량을 가짐
  • 업무나 일의 환경을 이해하고 적용하는 능력
  • 데이터베이스 시스템 환경 구축 능력
  • 능숙한 데이터베이스 프로그래밍 능력

ER[Entity-Relationship] Model?

  • 초기, 고수준(개념적) database 설계를 표현하는데 사용하는 Model
  • ER Model은 실 세계를 ① Entity, ② Attribute, ③ Entity들 간의 관계성으로 표현
  • ER Model의 특징 : 그림으로 표현함 (정형화된 도형으로 표현 , 정형화된 도형→스키마) 즉 그림 자체가 스키마가 됨. 도형 간의 관계성
  • ER Model은 ER Diagram으로 표현한다.
    (① 엔티티 타입, ② 관계 타입, ③ 이들의 애트리뷰트들을 그래픽하게 표현 )
  • 최종적으로, ER Model은 관계 Data Model로 쉽게 바꿀 수 있다.
  • ER Diagram은 Relational Schema (Relation table)로 바꿀 수 있음.

📌장점

a. 개념적 설계를 위한 인기 있는 Model
b. 높은 수준으로 추상화함
c. 이해하기 쉬움.
d. 구문들의 표현력이 뛰어남
e. 사람들이 응용에 대해 생각하는 방식과 가까움
f. 많은 CASE 도구들에서 지원됨
(* ER모델로 표현하면 스키마를 자동으로 만들어줌)


개념적 설계와 물리적 설계


◾ 개념적 database 설계

특정 Data model과 독립적으로 응용세계를 모델링할 수 있도록 하는 일반적 방법론
  • 실제로 데이터 베이스를 ”어떻게 구현할 것인가” 와는 독립적으로, 정보 사용의 모델을 개발하는 과정

  • 개념적 Database 설계 과정에서 조직체(실세계)의 엔티티, 관계, 프로- 세스, 무결성, 제약조건 등을 나타내는 추상화 Model을 구축

  • 인기있는 개념적 수준의 Model에는 ER Model(엔티티- 관계)이 있음

  • Database 구조나 Schema를 하향식으로 개발할 수 있기 위한 framework를 제공.

  • 컴퓨터에서 data를 표현하거나 검색하는 것과 같이 구체적인 것은 거의 고려하지 x

  • ER (개념적 데이터 모델)을 구현(관계 data model/ 계층 datamodel(ex.tree조직도 모델)/ 네트워크 data model)으로 바꿔주는 Model이 존재함

    	- 엔티티 : 서로 구분이 되면서 실 세게에서 Database에 나타내려는 객체(사람, 장소, 사물 등)를 의미→ 구조 
    	- 관계 : 두개 이상의 엔티티들 간의 연관을 나타냄 → 연산
    	- 프로세스 : 관련된 활동을 나타냄 → 연산
    	- 무결성 제약조건 : Data의 정확성과 비즈니스 규칙을 의미 → 제약조건

◾ 물리적 database설계

물리적인 저장 장치(disk등)와 접근 방식(access path)을 다룸

개념적 설계의 최종 산출물 = 물리적인 구현을 고려하지 않는, 한 조직의 개념적 schema


Database 설계 개요

Database를 생성하는 과정 (=schema 설계)

  • 목적
    Data 간의 관계를 표현하는 것 !

훌륭한 Database 설계란 ?

  1. 시간의 흐름에 따른 Data의 모든 측면을 나타냄
  2. Data 항목의 중복을 최소화
  3. Database에 대한 효율적인 접근(access path)을 제공 (ex.인덱스파일만 참조해서 찾기)
  4. Database의 무결성을 제공한다 → 명확하고 일관성 있게 정리
    이해하기 쉬워야 함

데이터베이스 개발 라이프 사이클

Database 설계 단계


  1. 요구사항 수집 및 분석
    (Entity) 관련있는 엔티티들을 선정
    (Attribute) 엔티티들의 속성들이 무엇인가를 결정
    (Relationship) 엔티티들 간의 관계가 무엇인가를 파악하고 적용
    적합한 연산
    연산들의 의미가 명확한 지 재분석
    데이터 양, 타입, 사용자, 결과, 예상되는 이상치 등을 분석

  2. 개념적 설계

    • 설계 결과는 ER Diagram으로 표현
    • 대표적 데이터 모델이 ER Model
    • 엔티티 타입 결정. 관계 타입 결정. 애트리뷰트들 결정, 애트리뷰트들의 도메인 결정, 기본키와 후보키 애트리뷰트 결정
    • 완성된 개념적 Schema는 ER Diagram으로 표현됨!!!
  1. DBMS 선정
    '기술적 / 정치적 / 경제적' 요인을 고려해 DBMS 선정

  2. 논리적 설계
    논리적 Schema 생성

  3. 물리적 설계

    • 성능 향상을 위함 (disk, access path, 질의어)
    • 응답 시간 / Transaction 처리율 / 확장성 / 유연성
  4. Transaction설계(응용 프로그래밍 고려 단계)

    • 프로그램 계획서 생성
    • 🎇완성될 Database에서 동작할 응용프로그램
    • '고객의 최종 필요성을 중심'으로 프로그래밍 고려하는 레벨
    • 검색, 갱신, 입력, 출력 등의 유형으로 구분
  5. 튜닝

좋은 웹페이지 즐겨찾기