데이터베이스
: 업무를 수행하는데 필요한 데이터의 체계적인 집합으로 데이터의 중복성과 종속성 문제를 해결하고 데이터의 무결성을 보장하는 서비스. 사용자 간 데이터 공유가 가능하고 다양한 인터페이스를 제공한다.
데이터베이스 시스템의 정의
- 통합 데이터 Integrted Data : 검색의 효율성을 위해 불필요한 데이터를 제거하고 중복이 최소화된 데이터들의 집합
- 저장 데이터 Stored Data : 컴퓨터 시스템이 접근할 수 있는 저장 매체에 저장된 데이터이다.
- 운영 데이터 Operational Data : 조직의 목적을 위해 반드시 필요한 모든 데이터와 데이터들의 관계 집합이다.
- 공유 데이터 Shared Data : 여러 응용 프로그램들이 공통으로 필요로 하는 데이터를 공유한다.
데이터베이스 시스템의 특징
- 실시간 접근성 Real Time Accessibility : 사용자의 질의에 대하여 실시간으로 처리하여 응답한다.
- 계속적인 진화 Continuous Evolution : 새로운 데이터의 생성이나 기존 데이터의 변경, 삭제 등을 통해 항상 최근의 데이터를 정확하게 유지한다.
- 동시 공유 Concurrent Sharing : 여러 사용자가 동시에 원하는 데이터를 이용할 수 있다.
- 내용에 의한 참조 Content Reference : 데이터가 저장된 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 데이터를 참조한다.
- 데이터 논리 독립성 Independence : 응용 프로그램과 데이터베이스를 분리하여 서로의 변경에 영향을 주지 않는다.
스키마
: 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것이다. 외부, 개념, 내부의 3단계 논리적 구조를 가진다.
1) 외부 스키마
: 프로그래머나 사용자의 입장에서 본 데이터베이스의 모습을 나타낸 것이다.
- 일반적으로 View를 통해서 데이터베이스 내용 중 사용자가 필요한 정보만 볼 수 있도록 구현한다.
2) 개념 스키마
: 모든 응용 프로그램과 사용자들이 필요로 하는 데이터베이스 전체를 정의한 것이다.
- 데이터에 대한 접근 권한, 보안 정책, 무결성 규칙들이 포함 된다.
- 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것이다.
3) 내부 스키마
: 물리적인 저장 장치의 입장에서 본 데이터베이스의 모습을 나타낸 것이다.
- 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등의 데이터 처리에 대한 제약사항을 정의한다.
데이터베이스 관리 시스템 DBMS, DataBase Management System
: 응용 프로그램을 사용하는 사용자와 데이터베이스 사이에서 데이터를 저장하고 분석하기 위해 상호작용하는 응용 프로그램
- 데이터 관리의 복잡성을 해결하고 관련된 대부분의 기능을 지원한다.
장점 ) 데이터의 중복을 최소화하고 일관성을 유지한다, 보안을 강화하여 무결성을 유지시킨다.
단점 ) 데이터의 규모가 크고 복잡하여 구축 자체가 어렵다. 훼손된 데이터에 대한 복구가 매우 어렵다.
DBMS의 특징 - "무일회보효"
- 무결성 : 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
- 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정하게 유지되는 성질
- 회복성 : 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질
- 보안성 : 노출, 변경 손실로부터 보호되어야 하는 성질
- 효율성 : 사용자, SW, 시스템 등의 요구 조건을 만족하도록 하는 성질
데이터베이스의 기본 용어
DBMS 기본 용어
- 속성 Attribute : 개체 정보의 특성을 나타내며 파일 시스템에서 필드에 해당된다. DB를 구성하는 가장 작은 단위
- 도메인 Domain : 하나의 속성에 입력될 수 있는 값들의 집합이다.
- 튜플 Tuple : 개체 내에서 하나의 완벽한 정보를 나타낸다. 튜플 사이에는 순서가 없다.
- 릴레이션 Relation : 하나 이상의 속성들의 집합으로 이루어진 표
- 차수 Degree : 릴레이션에서 정의된 속성의 개수
- 기수 Cardinality : 릴레이션에서 생성된 튜플의 개수
- 정보의 부재 Null : 값이 비어있다는 것을 명시하며, 숫자 0과 공백 문자가 아니다.
키 (Key)
1) 후보키(Candidate Key) : 릴레이션에 있는 모든 튜플에 대해 유일성과 최소성을 모두 만족시키는 속성
- 유일성 : 튜플을 유일하게 구분할 수 있는 성질
- 최소성 : 가장 적은 수의 속성으로 구성되는 성질
ex ) 학생 테이블이 있다면 주민번호, 학번, 이름, 연락처 속성이 후보키이다.
2) 기본키(Primary Key) : 후보키들 중 튜플의 식별을 위해 지정된 키이다. 중복이나 Null 값을 가질 수 없다.
3) 대체키(Alternate Key) : 기본키로 지정된 키를 제외한 후보키이다.
4) 슈퍼키(Super Key) : 튜플을 식별하기 위해 두 개 이상의 속성들의 집합으로 이루어진 키
- 유일성은 만족시키지만, 최소성은 만족시키지 못한다.
5) 외래키(Foreign Key) : 관계된 다른 릴레이션의 기본키를 참조하는 속성이다.
- 외래키는 제약사항에 따라 중복과 Null 값이 허용된다.
무결성(Integrity) 제약사항
- 도메인 무결성 : 하나의 속성에 입력되는 값이 지정된 도메인의 범위를 벗어나지 않는 성질이다.
- 개체 무결성 : 기본키로 지정된 속성은 중복 값과 Null 값이 있어서는 안 된다
- 참조 무결성 : 외래키로 지정된 속성은 참조하는 기본키에 존재하지 않는 값을 입력할 수 없다는 성질
논리 데이터 모델링
개체
: 현실 세계의 식별 가능한 대상을 추상화하여 표현하는 단위
속성
: 개체 정보의 특성을 나타내며 파일 시스템에서 필드에 해당된다. 개체를 구성하는 가장 작은 단위
식별자
: 개체 타입에서 각각의 개체를 유일하게 식별할 수 있는 결정자의 역할
- 모든 개체 타입에는 반드시 하나 이상의 식별자가 존재해야 한다.
- 식별자가 지정되면 변경할 수 없으며, 주 식별자의 경우 반드시 값이 존재해야 한다.
데이터 모델링의 정의
: 현실 세계의 데이터 구조를 디지털 세계의 데이터 구조로 변환하는 과정이다. 개체와 관계를 중심으로 분석하여 명확하고 체계적으로 설계한다.
- 논리적 구조 : 논리적으로 표현된 데이터 구조
- 연산 : 데이터 구조에서 삽입, 삭제, 변경하는 기능
- 제약 조건 : 데이터 구조에서 허용할 수 있는 관계를 명세
절차 ) 개념적 설계 > 논리적 설계 > 물리적 설계
- 개념적 설계 : 정보 내용에 대한 요구 조건을 만족시키면서 쉽게 이해할 수 있는 정보 구조를 설계하는 단계. E-R 모델로 표현하는 방법이 대표적이다. 개념적 스키마 모델링, 트랜잭션 모델링
- 논리적 설계 : 개념 데이터 모델을 상세화 하여 논리적인 데이터 집합, 관리 항목, 관계 등을 정의하는 단계이다. DBMS에 맞는 데이터베이스 스키마 및 트랜잭션 인터페이스를 설계한다.
- 물리적 설계 : 논리 데이터 모델을 DBMS의 특성 및 성능을 최대한 고려하여 구체화시키는 단계이다. 레코드 양식, 데이터 구조, 응답 시간, 저장 공간 등을 설계한다.
E-R 다이어그램
: 1976년에 피터 첸(Peter Chen)에 의해서 최초로 제안되었다. 개체와 실체 간의 관계를 그림 형태로 묘사한 것이다.
- 논리적인 그림이기에 시스템에 아무런 영향을 받지 않는다.
- 기본키, 외래 키, 성능, 시스템 구조 등 물리적 시스템 환경은 고려하지 않는다.
관계 스키마
: 현실 세계를 데이터베이스에 정확하게 표현하기 위한 논리적 구조를 결정한다.
- E-R 모델에 기초하여 릴레이션을 구성한다.
- 중복 및 불필요한 데이터가 발생하지 않도록 설계한다.
이상 현상 Anomaly
: 잘못된 스키마 설계로 인해 릴레이션에 예기치 못한 현상이 발생하는 것을 의미한다
- 삭제 이상 : 특정 튜플을 삭제할 때, 관련된 정보도 함께 삭제하지 않으면 삭제가 불가능한 상태
- 삽입 이상 : 특정 튜플을 삽입할 때, 관련되지 않은 정보도 함께 삽입하지 않으면 삽입이 불가능한 상태
- 갱신 이상 : 특정 데이터를 갱신할 때, 데이터의 불일치가 발생하는 상태
정규화
함수 종속
: 관계형 모델을 설계할 때 가장 중요한 요소로서 개체 내에 존재하는 속성 간의 종속성을 의미한다.
결정자 : 관계된 속성의 종속성을 규명할 때 기준이 되는 속성이다.
종속자 : 결정자에 의해 값이 정해지는 속성이다.
관계 대수
: 연산자 또는 연산 규칙을 사용하여 기술하는 절차식 언어
- 주어진 관계로부터 원하는 데이터와 그 데이터를 유도하는 연산자이다.
일반 집합 연산자
1) 합집합(Union) : 두 릴레이션을 합치며 중복된 내용은 하나로만 출력된다.
2) 교집합(Intersection) : 두 릴레이션 사이에 공통 된 부분을 추출할 때 사용한다.
3) 차집합(Difference) : 두 릴레이션 중 공통된 부분을 제거하고 추출할 때 사용한다.
4) 곱집합(Cartesian Product) : 두 릴레이션 튜플을 합쳐서 순서쌍의 집합을 만드는 연산이다.
순수 관계 연신자
1) Select : σ (조건)(R)
: 하나의 릴레이션에서 조건에 맞는 튜플(수평적)을 분리하는 연산
2) Project : π (속성 리스트)(R)
: 하나의 릴레이션에서 조건에 맞는 속성(수직적)을 분리하는 연산이다.
3) Join : (R)⋈<조건>(S)
: R과 S속성이 포함 된 조건을 성립하는 요소
4) Natural Join : (R)⋈N(S)
: 두 릴레이션 공통으로 포함되는 속성값이 동일한 요소
5) Division : R ÷ S
: 릴레이션 R에서 S의 속성의 데이터와 일치하는 요소중 S의 속성을 제외한 요소
정규화
: 데이터 모델링의 단계 중 가장 중요한 단계로써 논리 데이터 모델링을 상세화 하는 단계
- 정확성, 일치성, 단순성 ,비중복성, 안정성이 보장된다.
- 중복되는 튜플이 없어 효과적인 데이터 표현 및 저장이 가능하다
- 비교적 간단한 연산자로 효과적인 연산이 가능하도록 구성한다
제1 정규형 : 도메인이 원자 값만 가지도록 분해한다.
제2 정규형 : 부분 함수 종속을 제거한다. [ 부분 함수 종속 = 기본키만으로는 해당 데이터를 식별할 수 없는 종속관계 ]
제3 정규형 : 이행적 함수 종속을 제거한다.
보이스 코드 정규형 : 결정자가 후보 키가 아닌 종속을 제거한다. [ 후보키 = 결정자가 유일성과 최소성을 만족시키는 키]
제4 정규형 : 다치 종속을 제거한다.
제5 정규형 : 후보키를 통하지 않은 조인 종속을 제거한다.
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 2021년 1회 분석 및 합격률 (0) | 2022.10.15 |
---|---|
[ 정보처리기사실기요약 Ch. 3 - 2 ] SQL (1) | 2022.10.14 |
[ 정보처리기사실기요약 Ch. 2 - 2 ] 어플리케이션테스트 (0) | 2022.10.13 |
[ 정보처리기사실기요약 Ch. 2 - 1 ] 통합 구현 (0) | 2022.10.13 |
[ 정보처리기사실기요약 Ch. 1 - 3 ] 애플리케이션 설계 (0) | 2022.10.13 |