반응형
데이터베이스 설계
데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다.
1. 데이터베이스 설계 시 고려사항
- 무결성 : 삽입, 삭제, 갱신 등 연산 후에도 저장된 데이터가 정해진 제약조건 항상 만족해야 함
- 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 일정
- 회복 : 장애 발생 시 복구 가능
- 보안 : 데이터 노출 또는 손실로부터 보호
- 효율성 : 응답시간 단축, 시스템 생산성, 저장 공간의 최적화 등이 가능 해야함
- 데이터베이스 확장 : 데이터베이스 운영에 영향 주지 않으면서 지속적으로 추가 가능
2. 데이터베이스 설계 순서
요구 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 구현 순으로 이루어진다
요구 조건 분석
- 요구 조건 분석은 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것
- 사용자에 따른 수행 업무와 필요한 데이터의 종류, 용도, 처리형태, 흐름, 제약 조건 등 수집
개념적 설계(정보 모델링, 개념화)
정보의 구조를 얻기 위해 현실세계의 무한성과 계속성을 이해하고, 다른사람과 통신하기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
- 개념 스키마 모델링과 트랜잭션 모델링을 병행수행
- 요구 분석 단계에서 나온 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
- DBMS에 독립적인 개념 스키마 설계
논리적 설계(데이터 모델링)
현실세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping)시키는 과정
- 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화
- 개념적 설계가 개념 스키마를 설계하는 단계라면 논리적 설계에서는 개념 스키마를 평가 및 정제, DBMS에 따라 서로 다른 종속적인 논리적 스키마를 설계하는 단계.
- 트랜잭션 인터페이스 설계
- 관계형 데이터베이스라면 테이블을 설계하는 단계
물리적 설계(데이터 구조화)
논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
- 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정
- 저장 레코드의 형식, 순서, 접근 경로, 조회가 집중되는 레코드와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법 묘사
- 물리적 설계시 고려할 사항 : 트랜잭션 처리량, 응답 시간, 디스크 용량 등
데이터베이스 구현
데이터베이스 구현 단계란 논리적 설계 단계와 물리적 설계 단계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정
- 사용하려는 특정 DBMS의 DDL(데이터 정의어)을 이용하여 데이터베이스 스키마를 기술한 후 컴파일하여 빈 데이터베이스 파일을 생성
- 빈 데이터베이스 파일에 데이터 입력
- 응용 프로그램을 위한 트랜잭션 작성
- 데이터베이스 접근을 위한 응용 프로그램 작성
시스템 카탈로그
1. 시스템 카탈로그(System Catalog)의 의미
시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
- 카탈로그 내 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.
- 카탈로그들이 생성되면 데이터 사전(Data Dictionary)에 저장되기 때문에 좁은 의미로는 카탈로그를 데이터 사전이라고도 한다.
2. 시스템 카탈로그 저장 정보
시스템 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.
- 메타 데이터의 유형
- 데이터베이스 객체 정보 : 테이블(Table), 인덱스(Index), 뷰(View) 등의 구조 및 통계 정보
- 사용자 정보 : 아이디, 패스워드, 접근 권한 등
- 테이블의 무결성 제약 조건 정보 : 기본키, 왜래키, NULL 값 허용 여부 등
- 함수, 프로시저, 트리거 등에 대한 정보
3. 카탈로그의 특징
카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색 가능
- INSERT, UPDATE, DELETE 문으로 갱신은 허용하지 않음
- DBMS가 스스로 생성 유지
- 카탈로그의 갱신 : 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화 주면 시스템이 자동으로 갱신
- 분산 시스템에서 카탈로그 : 보통의 릴레이션, 인덱스, 사용자 등의 정보 + 위치 투명성, 중복 투명성 제공하기 위해 필요한 모든 제어 정보 가져야 함
4. 카탈로그/데이터 사전 참조 위한 DBMS 내의 모듈 시스템
- 데이터 정의어 번역기(DDL Complier)
- 데이터 조작어 번역기(DML Complier)
- Data Directory
- 질의 최적화기
- 트랜잭션 처리기
출처
자료 참고:
시나공 정보처리기사 필기 2022를 참고하여 작성되었습니다
[1] https://bazingzinga.blogspot.com/2019/02/6-db.html
반응형
'정보처리기사 > 3과목' 카테고리의 다른 글
[정보처리기사 필기] 데이터베이스 저장 공간 테이블, 컬럼, 테이블 스페이스 개념 (0) | 2022.02.17 |
---|---|
[정보처리기사 필기] 정규화(Normalization) 와 반정규화(Denormalization) (0) | 2022.02.16 |
[정보처리기사 필기] E-R(개체-관계) 모델이란? (0) | 2022.02.16 |
[정보처리기사 필기] 데이터 모델 (0) | 2022.02.15 |
[정보처리기사 필기] 관계형 데이터 모델/관계형 데이터 베이스 정리 (0) | 2022.02.14 |
댓글