정의
여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터
운영 데이터(Operational Data)
조직의 고유한 업무를 수행하는 데 반드시 필요한 자료
DBMS
사용자의 요구에 따라 정보를 생성하고, 데이터베이스를 관리하는 소프트웨어
기존의 파일 시스템의 데이터 종속성과 중복성 문제를 해결하기 위해 제안됨
필수 기능
- 정의(Definition) : 데이터 Type과 구조, 이용방식, 제약 조건을 정의하는 기능
- 조작(Manipulation) : 데이터 검색, 갱신, 삽입, 삭제를 위해 인터페이스 수단을 제공하는 기능
- 제어(Control) : 데이터 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능
독립성
논리적 독립성 | 물리적 독립성 |
응용 프로그램과 데이터베이스를 독립 데이터 논리적 구조 변경에도 응용 프로그램은 영향 X |
응용 프로그램과 보조기억장치같은 물리적 장치를 독립 디스크 추가/변경에도 응용 프로그램은 영향 X |
스키마(Schema)
외부 스키마 | 개념 스키마 | 내부 스키마 |
개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 | 데이터베이스 전체적인 논리적 구조 필요로 하는 데이터베이스를 종합한 하나만 있는 조직 전체의 데이터베이스 |
저장장치 입장의 데이터베이스 구조 저장될 레코드 형식, 저장 데이터 항목 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄 |
설계
고려사항
항목 | 내용 |
무결성 | 연산 후에도 데이터가 정해진 제약조건을 항상 만족하는가 |
일관성 | 데이터들의 사이, 특정 질이에 대한 응답이 쭉 일정한가 |
회복 | 시스템 장애가 발생했을 때 발생 직전 상태로 복구 가능한가 |
보안 | 불법적인 데이터 노출/변경/손실을 보호할 수 있는가 |
효율성 | 응답시간 단축, 생산성 증가, 저장 공간 최적화가 가능한가 |
데이터베이스 확장 | 데이터베이스에 영향 없이 지속적인 데이터 추가가 가능한가 |
순서
개체-관계(E-R) 모델
1976년 피터 첸이 제안한 개체와 개체 간 관계를 기본 요소로 이용해 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 가장 대표적인 개념적 데이터 모델
개체 타입과 관계 타입을 이용해 현실 세계 데이터를 개념적으로 표현
데이터를 개체, 관계 속성으로 묘사함
E-R다이어그램으로 표현하고, 1:1, 1:N, N:N 다 가능
E-R 다이어그램 기호
관계형 데이터베이스(RDBMS)
1970년대 IBM의 E.F.Codd가 제안한 2차원적인 표로 데이터 상호 관계를 정의하는 데이터베이스
개체와 관계 모두 릴레이션이라는 표로 표현하기 때문에 개체 릴레이션과 관계 릴레이션이 존재함
장점 : 간결해서 보기 편하고, 다른 데이터베이스로의 변환이 용이
단점 : 성능이 다소 떨어짐
구조
- 튜플(레코드) : 각각의 행 한 줄. 튜플 수를 카디널리티, 기수, 대응수라고 함
- 속성(디그리, 차수) : 각 열의 특성을 기술한 열 이름(데이터베이스를 구성하는 가장 작은 논리적 단위)
- 도메인 : 각각의 열한 줄(하나의 속성이 취할 수 있는 원자 값들의 집합)
- 릴레이션 : 표 하나. 릴레이션 스키마는 속성 전체, 릴레이션 인스턴스는 값 전체 둘이 합치면 릴레이션
릴레이션 특징
- 튜플들은 안 겹치고 다 다르며, 순서가 없음
- 튜플들의 삽입, 삭제로 릴레이션은 시간에 따라 변함
- 속성 순서는 중요하지 않고, 명칭은 유일해야 하고, 구성하는 값은 중복 가능하고 원자 값만 가짐
- 튜플들을 유일하게 식별할 수 있는 속성들을 Key로 설정함
관계형 데이터 모델
계층 모델, 망 모델의 복잡한 구조를 단순화시켜 2차원적인 표로 데이터 상호 관계를 정의하는 데이터베이스의 구조
테이블들을 하나의 DB로 묶어서 속성 간 관계를 설정하거나 테이블 간 관계를 설정
기본 키(Primary Key)와 이를 참조하는 외래 키(Foreign Key)로 관계를 표현
트랜잭션(Transaction)
데이터베이스 상태를 변환시키는 하나의 논리적인 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미
특성
특성 | 의미 |
Atomicity(원자성) | 트랜잭션 연산은 모두 반영되게 Commit되든지 아예 반영되지 않게 Rollback되어야 함 |
Consistency(일관성) | 실행을 성공적으로 완료하면 일관성 있는 데이터베이스 상태로 변함 |
Isolation(독립성, 격리성, 순차성) | 둘 이상의 트랜잭션이 동시 실행될 경우 다른 트랜잭션 연산에 끼어들 수 없음 |
Durability(영속성, 지속성) | 트랜잭션 결과는 시스템이 고장나도 영구적으로 반영되어야 함 |
CRUD 분석
프로세스와 테이블 간에 CRUD 매트릭스를 만들어서 트랜잭션을 분석하는 것
많은 트랜잭션이 몰리는 테이블을 파악할 수 있어 디스크 구성 시 유용한 자료로 활용 가능
트랜잭션 분석
CRUD 매트릭스를 기반으로 테이블에 발생하는 트랜잭션 양을 분석해 테이블에 저장되는 데이터양을 유추하고 이를 근거로 DB 용량 산정 및 구조의 최적화를 목적으로 함
프로세스가 과도하게 접근하는 테이블을 확인해 집중 접근 테이블을 여러 디스크에 분산 배치해 성능 향상 가능
구성 요소 : 단위 프로세스, CRUD 연산, 테이블명, 컬럼명, 테이블 참조 횟수, 트랜잭션 수, 발생 주기 등
'시험공부 > 2022 정보처리산업기사' 카테고리의 다른 글
[실기] 04.인터넷 - 2 (TCP/IP, 네트워크 관련 장비) (0) | 2022.04.04 |
---|---|
[실기] 03.인터넷 -1 (IP, OSI 참조 모델) (0) | 2022.03.21 |
[실기] 01.운영체제 (0) | 2022.03.17 |