정보처리기사
1. 데이터베이스 개념
nayeonee__
2023. 4. 6. 08:34
https://www.njobler.net/product/lecture/show/prod/10810
1억뷰 N잡
[연장 미포함] 흥나게 합격달성! 정보처리기사 실기
www.njobler.net
본 강의를 듣고 내용을 정리하며 적은 게시글 입니다.
- 데이터베이스 개념
- 데이터와 정보
- 데이터
- 정보
- 데이터베이스
- 여러 사람들이 공유하고 사용할 목적으로 통합관리되는 데이터들의 모임
- 정의
- 통합데이터
- 검색의 효율성을 위해 중복이 최소화된 데이터의 모임
- 저장 데이터
- 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터
- 운영 데이터
- 조직의 목적을 위해 존재가치가 확실하고 반드시 필요한 데이터
- 공유 데이터
- 여러 응용 프로그램들이 공동으로 사용하는 데이터
- 통합데이터
- 특징
- 실시간 접근성
- 사용자의 질의에 대해 즉시 처리하여 응답
- 계속적인 변화
- 삽입, 삭제, 갱신을 통하여 항상 최신의 데이터를 유지
- 동시 공유
- 내용에 의한 참조
- 데이터베이스에 있는 데이터를 주소가 아닌 내용에 따라 참조
- 데이터의 독립성
- 논리적 독립성
- 물리적 독립성
- 실시간 접근성
- 데이터베이스 생명주기
- 분석 → 설계 → 구현 → 운영 → 감시 및 개선
- 데이터 언어
- DDL( Data Definition Language : 데이터 정의어 )
- DB의 구조, 데이터 형식, 접근 방식 등 DB 의 구축과 변경 목적으로 사용하는 언어
- 스키마에 사용되는 제약조건을 정의
- 데이터베이스의 논리적, 물리적 구조를 정의 및 변경
- DML( Data Manipulation Language : 데이터 조작어 )
- 데이터의 검색, 삽입, 삭제, 갱신 연산등을 포함한 집합
- DCL ( Data Control Language : 데이터 제어어 )
- 보안 및 권한 제어, 무결성, 회복, 병행 제어를 위한 언어
- DDL( Data Definition Language : 데이터 정의어 )
- 스키마
- 정의
- 데이터베이스의 구조와 제약 조건에 관해 전반적인 명세를 기술 한 것
- 개체, 속성, 관계에 대한 정의와 이들이 유지해야할 제약조건들을 기술한 것
- 스키마는 데이터 사전에 저장
- 3계층 스키마
- 외부 스키마 - 사용자 뷰
- 데이터베이스의 논리적 구조 정의, 사용자 뷰
- 하나의 데이터베이스에는 여러 개의 외부 스키마가 존재 가능
- 전체 데이터베이스의 한 논리적 부분으로 서브 스키마라고도 한다.
- 하나의 외부스키마를 여러 개의 응용 프로그램이나 사용자가 공유 가능
- 질의어(SQL)를 이용하거나 C, JAVA 등 언어를 사용하여 DB 에 접근
- 개념 스키마 - 전체적인 뷰
- 데이터베이스의 전체적인 논리적 구조
- 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재
- 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 개념 스키마를 의미
- 데이터의 접근 권한, 보안 정책. 무결성 규칙에 대한 명세를 정의
- 내부 스키마 - 저장 스키마
- 물리적 저장 장치의 입장에서 본 데이터베이스 구조
- 등등
- 외부 스키마 - 사용자 뷰
- 데이터 독립성
- 논리적 독립성
- 응용프로그램에 영향을 주지않고 데이터베이스 논리적 구조를 변경할 수 있는 능력
- 개념 스키마가 변경되어도 외부스키마에는 영향을 미치지 않도록 지원
- 물리적 독립성
- 응용프로그램에 영향을 주지않고 데이터베이스 물리적 구조를 변경할 수 있는 능력
- 내부 스키마가 변경되어도 외부/개념 스키마가 영향을 받지 않도록 지원
- 논리적 독립성
- 정의
- 데이터와 정보
- 데이터베이스 관리 시스템 - DBMS
- 정의
- 데이터베이스를 조작하는 별도의 소프트웨어
- 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공
- 등등
- 기능
- 데이터 정의
- 데이터 조작
- 데이터 제어
- 데이터 공유
- 데이터 보호
- 데이터 구축
- 유지보수
- 장점
- 데이터 중복 최소화
- 독립성 확보
- 동시 공유
- 보안이 향상
- 무결성이 유지
- 장애 발생시 회복이 가능
- 단점
- 비용이 많이 든다
- 백업과 회복 방법이 복잡
- 종류
- 계층형
- 데이터간의 관계가 트리 형태의 구조
- 구조가 간단하고 구현, 수정, 검색이 쉽지만 부모 자식간에 N:N 다대다 관계처리가 불가능하고 구조 변경이 어렵다.
- 네트워크형
- 계층형 데이터베이스의 단점을 보완하여 데이터 간 N:N 다대다 구성이 가능한 망형 모델
- 계층 구조에 링크를 추가하여 유연성과 접근성을 높였다.
- 구조가 복잡해 유지보수가 어렵다.
- CODASYL 이 제안한 것으로, CODASYL DBTG 모델이라고도 한다.
- 관계형
- 키와 값으로 이루어진 데이터들을 행과 열로 구성된 테이블 구조로 단순화시킨 모델
- SQL 을 사용하여 데이터를 처리
- 객체 지향형
- 객체지향 프로그래밍 개념에 기반하여 만든 데이터베이스 모델
- 정보를 객체의 형태로 표현
- 객체 관계형
- 관계형 데이터베이스에 객체 지향 개념을 도입하여 만든 데이터베이스 모델
- 객체지향 개념을 지원하는 표준 SQL 을 사용할 수 있고, 데이터 타입도 관계형 데이터베이스보다 더 다양하게 추가
- NoSQL
- Not Only SQL 의 줄임말로 SQL 뿐만 아니라 다양한 특성을 지원한다는 의미
- 데이터 간에 관계를 정의하지 않는 데이터베이스 모델로 기존의 RDBMS 의 복잡도와 용량의 한계를 극복하기 위한 목적으로 만들어졌다.
- 비정형 데이터 처리에 유리하지만 스크마 변경이 불가능 해 데이터 값에 문제가 발생하면 감지가 어렵다.
- NewSQL
- RDBMS의 SQL과 NoSQL의 장점을 결합한 관계형 모델
- 트랜잭션 지원 및 확장성과 고가용성을 모두 만족시키려는 목적에서 만들어진 데이터베이스 모델
- 계층형
- 정의