coding base/DataBase

[DB] 데이터베이스 설계

ddo04 2024. 4. 10. 23:54
  • 정보시스템을 구축하거나 웹사이트 개발할 때 데이터베이스를 제외하고 생각하기 어려움
  • 정보시스템이나 웹 사이트에서 필요로 하는 데이터를 데이터베이스에 저장하고나중에 다시 불러오는 형태로 개발
  • 시스템 개발자들은 기본적으로 데이터베이스 연동 프로그래밍이 기본적인 지식으로 되어 있음
  • 데이터베이스를 기반으로 시스템을 개발하기 위해서 먼저 데이터베이스가 구축되어야 함
 데이터베이스 설계란
  • 데이터베이스 안에 어떤 테이블들이 있어야 하고 각 테이블들은 어떤 컬럼이 있어야 하며, 기본키와 외래키는 어떤 것인지를 정하고, 응용프로그램에서 필요로 하는 뷰와 인덱스를 생성하는 일련의 과정
  • 현실세계에 대한 분석이 있어야 함
  • 데이터베이스 안에 테이블을 생성하는 과정뿐만 아니라 현실세계에 대한 분석, 논리적 설계, 물리적 설계, 데이터베이스 구축에 이르는 전 과정 포함

  • 소프트웨어 개발 과정 중 일부
  • 데이터베이스의 설계 역시 현실세계에 대한 모델링 과정 속함
  • 구축된 데이터베이스 역시 현실세계의 어떤 부분을 반영한 것
  • 데이터베이스가 구축되기 위해서 현실세계를 개념적 모델로 표현하는 단계를 거침

 

  • 개념적 모델은 ERD(Eelationship - Relationship Diagram)을 이용하여 표현
  • 현실세계를 분석하여 개념적 모델로 표현하고, 데이터베이스를 구축하는 과정을 데이터베이스 설계

  • 현실세계에 존재하는 개체와 관련된 정보나 데이터는 나타나 있지만 그러한 행위나 발생한 사건은 나타나 있지 않음
  • 데이터베이스가 현실세계를 컴퓨터세계로 추상화할 때 정보나 데이터 부분을 표현하는 데  목적이 있기 때문임
  • 프로그램과 데이터베이스가 합쳐질 때 비로소 현실세계가 온전히 표현될 수 있음

 

  • 데이터베이스 설계는 논리적 데이터베이스 설계(logical database design)와 물리적 데이터베이스 설계(physical database design) 구분
논리적 데이터베이스 설계(logical database design)
  • 현실세계를 관찰/분석하여 ERD로 불리는 개념적 모델을 만드는 과정
  • 설계과정을 데이터 모델링이라고 부르기도 함
  • 실제 데이터베이스를 구축하기 위한 테이블, 인덱스. 뷰 등 설계하고 반정규화를 시행하는 과정을 물리적 데이터베이스 설계
  • DBMS 제품 상관없이 진행되나 물리적 설계는 특정 DBMS 제품을 염두에 두고 진행하며, 데이터베이스 운영 시의 성능 고려
  • 물리적 설계의 결과는 DB설계도구나 DB 관리도구를 이용하여 DBMS에 연결한 후 자동으로 데이터베이스를 구축
  • 데이터베이스 설계의 관점에서 보았을 때 논리적 설계가 시간도 많이 걸리고 어려운 부분

 

사용한 책 : 데이터베이스 설계 및 구축

 

'coding base > DataBase' 카테고리의 다른 글

[DB] 데이터 모델링  (0) 2024.04.14
[DB] 정보시스템 구축 & 데이터베이스 설계  (0) 2024.04.11
[DB] 추상화(abstraction) & 모델링(modeling)  (0) 2024.04.10
[DB] SQL 언어  (0) 2024.04.10
[DB] 뷰 (View)  (0) 2024.04.10