- 정보시스템을 구축하거나 웹사이트 개발할 때 데이터베이스를 제외하고 생각하기 어려움
- 정보시스템이나 웹 사이트에서 필요로 하는 데이터를 데이터베이스에 저장하고나중에 다시 불러오는 형태로 개발
- 시스템 개발자들은 기본적으로 데이터베이스 연동 프로그래밍이 기본적인 지식으로 되어 있음
- 데이터베이스를 기반으로 시스템을 개발하기 위해서 먼저 데이터베이스가 구축되어야 함
데이터베이스 설계란
- 데이터베이스 안에 어떤 테이블들이 있어야 하고 각 테이블들은 어떤 컬럼이 있어야 하며, 기본키와 외래키는 어떤 것인지를 정하고, 응용프로그램에서 필요로 하는 뷰와 인덱스를 생성하는 일련의 과정
- 현실세계에 대한 분석이 있어야 함
- 데이터베이스 안에 테이블을 생성하는 과정뿐만 아니라 현실세계에 대한 분석, 논리적 설계, 물리적 설계, 데이터베이스 구축에 이르는 전 과정 포함
- 소프트웨어 개발 과정 중 일부
- 데이터베이스의 설계 역시 현실세계에 대한 모델링 과정 속함
- 구축된 데이터베이스 역시 현실세계의 어떤 부분을 반영한 것
- 데이터베이스가 구축되기 위해서 현실세계를 개념적 모델로 표현하는 단계를 거침
- 개념적 모델은 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 |