코딩공작소

데이터베이스 설계 본문

어플리케이션개발/DB

데이터베이스 설계

안잡아모찌 2018. 10. 5. 16:13

DB design


 - 현실세계의 어플레케이션을 위한 DB스키마를 결정해야 한다.

 - SW의 실질적인 성능을 좌지우지 한다.


DB design 의 목표

 - 측정과 성취가 매우 어려운 현실세계의 데이터들을 정확성, 효율성 그리고 자연스러운 표현으로 표현하는것


DB design procedure (6단계의 실행 절차)

  1. 요구집합을 분석하고 모은다
  2. Conceptual DB design
  3. DBMS 선택
  4. Logical design ( data model mapping이라고도 불린다. )
  5. Physical design ( hardward )
  6. System implementation and tuning

--> DBMS와 무관하게 현실세계를 conceptual DB로 디자인 하는것 : 2번

--> 3 level architecture ! conceputal schema는 DBMS가 2번을 hanling 할 수 있어야 함 : 4번






<Phase 1 : Requirement analysis >


요구사항을 분석해서 정리한다.



<Phase 2 : Conceptual DB design>


Conceptual schema design

 - ER DM과 같은 conceptual high-level DM을 사용하는 것이 중요하다.


접근법 : Centralized schema design approach , View integration approach


Schema design을 위한 전략 : Top-down 전략 , Bottom-up 전략


Schema(view) integration : 스키마들의 일치성/충돌여부를 확인한다 . 뷰를 수정한다. 뷰와 구조를 합친다.


Transaction design : conceptual DB design 과 같은말, 트랜잭션을 개념수준으로 설계한다. 입출력과 함수기능을 확인한다.



<Conceptual DB의 결과>




<Phase 3 : Choice of DBMS>

기술적인 부분, 경제적인 부분을 고려해서 DBMS를 선택한다.



<Phase 4 : Logical design ( DM mapping ) >

Conceptual schema 와 external schema를 만든다.

System-independent mapping.

특정 DBMS맞춤 스키마 설정





<Phase 5 : Physical design >

특정한 파일저장구조를 고르고 DB 경로에 접근한다 : 좋은 성능을 위해

피지컬 DB 디자인의 옵셜의 가이드를 선택하기 위한 기준 : 응답시간, 공간효율 , 트랜잭션 처리량



<Phase 6 : System implementation and tuning >

전형적으로 DBA의 응답성 : DDL의 구성, DB loading , 시스템으로부터 데이터로의 전환




DB Tool


Many CASE(Computer -aided software engineering ) tools for DB design

 - Diagramming

 - Model mapping

 - Design normalization

좋은  툴의 조건 : 

 - 쉬운 인터페이스

 - 분석적인 구성요소

 - 발견적 구성요소

 - Trade-off 분석

 - 디자인 결과의 진열

 - 디자인 검증

 - Forward/Backward engineering

'어플리케이션개발 > DB' 카테고리의 다른 글

관계형 데이터모델  (0) 2018.10.07
ER Model  (0) 2018.10.05
DBMS  (0) 2018.10.02
DataModel & DBMS Architecture  (0) 2018.10.02
DB접근의 특성  (0) 2018.09.30