데이터 베이스란?
- 특정 업무프로세스 등에 대해서 여러 명의 사용자가 공유하며 데이터를 사용하도록 통합하여 저장한 데이터들의 집합이다.
※ 데이터 베이스의 특징으로는 실시간 접근, 계속변화, 동시공유, 내용으로 참조가능이 있다.
- 실시간 접근 : 실시간으로 데이터의 접근이 가능해야 한다.
- 계속변화 : 데이터를 정확하게 반영해야 한다.
- 동시공유 : +10과 - 10이 동시에 이루어졌는데 둘 다 같은 데이터를 받아(원본 100이라 가정) 110과 90으로 결과가
엉뚱한 값이 나오지 않아야 한다.
- 내용으로 참조가능 : 주소 말고 값으로 참조가 가능해야 한다는 의미.
데이터 베이스 설계란?
- 업무 프로세스나 사용자의 요구를 분석하여 데이터를 일정한 양식으로 작성한 뒤 데이테베이스에 기록하는 일련의 과정
데이터베이스 설계순서
- 요구조건 분석 : 사용자의 요구사항이나 업무 프로세스를 분석 후 명세서 작성
- 엔티티와 속성등을 뽑아낸다.
- 사용자의 요구사항을 정리한다.
- 개념적 설계 : 개념적 스키마, 트랜잭션 모델링, E-R 모델
- 요구사항을 바탕으로 개념 스키마를 만든다.
- E-R모델을 설계한다.
- 논리적 설계 : 논리 스키마를 설계하고, 트랜잭션 인터페이스 설계를 한다.
- E-R모델을 구체화해 E-R다이어그램을 설계한다.
- 제약조건등을 설정한다.
- 물리적 설계 : 논리적 구조로 표현된 데이터를 물리적 저장장치에 저장할 수 있는 데이터로 변환하는 과정이다.
- 트랜잭션처리량, 응답시간, 디스크 용량등을 고려해야 한다.
- 컬럼명이나 타입을 구상한다.
- 데이터베이스 구현 : 도출된 데이터베이스 스키마를 파일로 생성하는 과정이다.
- 데이블 생성, 응용프로그램 개발등
데이터베이스 설계 시 고려사항
- 제약조건
- 무결성
- 일관성
- 회복
- 보안
- 효율성
- 확장성
데이터베이스의 장단점
장점 | 단점 |
데이터 중복을 통제할 수 있다. | 비용이 많이든다. |
데이터 독립성이 확보된다. | 백업과 회복방법이 복잡하다. |
데이터를 동시공유 할 수 있다. | 데이터가 집중화되어있다보니 취약점이 존재한다. |
데이터 보안이 향상된다 | |
데이터 무결성을 유지할 수 있다. | |
표준화 할 수 있다. | |
장애가 발생시 회복이 가능하며 응용 프로그램 개발비용이 줄어든다 |