Computer Science 기본 지식/데이터 베이스

DB (1) 기초 용어

로파이 2021. 5. 8. 21:27

데이터 베이스 Database

파일 시스템의 파일은 응용 프로그램에 의해 정의되고 사용되므로 프로그램 의존도가 높다. 또한 데이터가 많은 파일에 저장되어 중복 데이터에 대한 처리가 어렵고 기억 공간이 낭비된다. 

 

데이터베이스 시스템은 파일 시스템이 갖는 문제를 해결하기 위해 제안된 시스템으로 모든 응용프로그램이 데이터베이스를 공용할 수 있도록 관리해준다.

 

DBMS의 필수 기능

1) 정의 기능 Definition

응용 프로그램이 요구하는 데이터 구조를 지원하기 위해 저장될 데이터의 행과 구조에 대한 정의, 이용 방식, 제약 조건등을 명시한다.

 

2) 조작 기능 Manipulation

데이터 검색, 갱신, 삽입, 삭제 등을 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공한다.

 

3) 제어 기능 Control

데이터 베이스에 관한 조작이 정확히 이루어져 데이터 무결성이 이루어 진다.

 

데이터의 독립성

1) 논리적 데이터 독립성

- 응용 프로그램과 데이터 베이스를 분리 시켜 데이터 논리 구조를 바꿔도 응용 프로그램은 바뀌지 않는다.

 

2) 물리적 데이터 독립성

- 응용 프로그램과 저장 장치를 분리 시켜 저장 장치를 교환해도 응용 프로그램에 양향을 주지 않고 데이터의 물리적 구조만 변경한다.

 

데이터의 중복성

1) 일관성

- 중복된 데이터는 논리적 일관성을 유지하기 어렵다.

2) 보안성

- 중복된 데이터에 똑같이 보안을 유지해야 한다.

3) 경제성

- 중복 데이터를 추가적으로 저장하여 비용이 들게 된다.

4) 무결성

- 데이터가 중복되면 제어가 분산되어 정확성을 유지하기 어렵다.

 

데이터의 무결성

데이터 베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 값이 일치해야한다는 정확성을 의미한다.

무결성 제약 조건은 데이터 베이스에 저장된 데이터의 정확성을 보장하기 위해 정확하지 않은 데이터가 저장되는 것을 방지하기 위한 제약 조건을 말한다.

 

데이터 베이스의 일반적인 특징

 

1) 실시간 접근성: 수시적이고 비정형적인 질의에 대해 실시간 응답이 가능해야한다.

2) 계속적인 변화: 동적으로 상태가 변하며 삽입, 삭제, 갱신으로 최신 데이터를 유지해야한다.

3) 동시 공유: 여러 사용자가 동시에 사용할 수 있어야한다.

4) 내용에 의한 참조: 데이터를 참조할 때 주소나 위치를 사용하는 것이 아닌 사용자가 요구하는 데이터 내용으로 질의한다.

 

데이터 모델링

 

데이터 모델의 종류 (추상화 수준)

1) 개념적 데이터 모델: 현실 세계에 대한 인식을 추상화 시킨다.

2) 논리적 데이터 모델: 데이터 베이스의 전체적인 논리 구조를 말한다.

3) 물리적 데이터 모델: 데이터 베이스 응용 처리를 위해 저장되는 구조와 액세스 경로를 말한다.

 

데이터 표현 방식에 대한 분류

 

1) 관계형 데이터 모델: 관계형 데이터 모델은 가장 많이 쓰이며 계층형과 네트워크 모델을 단순화 시킨 것이다. 논리적 데이터 모델로 관계형 데이터 모델을 많이 쓰며 논리적 구조가 2차원 테이블 형태이다.

 

2) 객체지향 데이터 모델: 객체/식별자/메서드/클래스 상속 등을 지원하는 데이터 모델이다. 의미적으로 관계가 있는 데이터 베이스 구조를 표현하기 위한 설계 기능을 제공한다.

 

3) 계층형 데이터 모델: 데이터베이스의 논리적 구조가 트리 형태로 데이터 상호관계를 계층적으로 정의한 구조이다.

 

4) 네트워크 데이터 모델: 데이터베이스의 논리적 구조가 그래프 또는 네트워크 형태로 구성된다.

 

스키마와 인스턴스

스키마란 데이터베이스의 논리적 정의를 의미하며 데이터베이스를 구성하는 데이터 구조와 제약조건에 대한 명세를 상세히 기술한 것을 의미한다.

 

3단계 스키마 구조

종류 설명
외부 스키마 사용자가 접근할 수 있는 가상적인 구조
개념 스키마 데이터베이스의 전반적인 논리 구조
내부 스키마 데이터베이스를 디스크에 구현하기 위한 물리 구조

외부 스키마

- 사용자가 꼭 사용할 데이터베이스 자료만 정의한다.

 

개념 스키마

- 응용 업무를 위한 데이터 베이스를 설계하기 위해 데이터 전반적인 구조를 설계한다.

 

내부 스키마

- 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

 

인스턴스

데이터 객체를 구성하는 속성과 데이터 값을 가지고 있는 것을 말한다. Relation instantce 인스턴스는 데이터 베이스에 존재하는 튜플들의 집합이다.


데이터 모델링의 구성

1) 구조: 논리적으로 표현된 개체 타입들 간의 관계로 데이터 구조 및 정적 성질을 표현한다.

2) 연산: 데이터베이스에 저장될 실제 데이터를 처리하는 작업을 의미한다.

3) 제약조건: 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건이다.

 

데이터 모델의 종류

- 개념적 데이터 모델

- 논리적 데이터 모델

 

논리적 데이터 모델의 종류

데이터 간의 관계를 어떻게 표현하느냐로 나뉜다.

종류 테이블 연결 설명
네트워크 데이터 모델 그래프 그래프를 이용하여 데이터 논리구조를 표현한다.
상위와 하위 레코드 사이에서 다대다 대응 관계를 만족한다.
계층 데이터 모델 트리 트리 구조를 이용하여 데이터의 상호관계를 계층적으로 정의한다. 각 개체가 트리를 구성하는 노드 역할을 한다.
관계 데이터 모델 테이블 구조 관계 데이터베이스라고도한다.
2차원적인 표를 이용하여 상호관계를 정리하는 DB 구조를 말한다. 대표적인 언어로 SQL을 사용한다.
객체지향 데이터 모델 그래프 복잡한 현실 세계를 있는 그대로 표현하기 위해 개발된 모델이다.

 

'Computer Science 기본 지식 > 데이터 베이스' 카테고리의 다른 글

DB (6) 정규화  (0) 2021.05.13
DB (5) SQL 언어  (0) 2021.05.12
DB (4) 관계 데이터베이스  (0) 2021.05.09
DB (3) 개체-관계 모델링  (0) 2021.05.09
DB (2) 데이터베이스 시스템  (0) 2021.05.09