Chapter1 데이터베이스 시스템
이 글은 기초가 든든한 데이터 베이스를 참조하여 작성했습니다.
1 . 데이터베이스
- 데이터베이스란? 데이터들 중에서 필요에 따라 데이터를 수집하여 모아놓은 것을 의미
1.1 데이터와 정보
- 데이터 : 현실세계에서 사건이나 사물의 특징을 관찰하거나 측정하여 기술하는 가공되지 않는 사실(fact)이나 값(value)
- 정보 : 의미 있고 쓸모 있는 내용으로 가공하여 체계적으로 조직한 데이터
- 데이터를 처리(가공)하면 정보가 됨
1.2 데이터베이스의 정의와 특징
데이터베이스 : 어떤 특정한 조직에서 여러 명의 사용자 또는 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록 구조적으로 통합하여 저장한 운영 데이터 집합
함축적 의미
- 공유 데이터 : 다수의 사용자나 응용 시스템들이 공동으로 소유하고 유지
- 통합 데이터 : 데이터를 관리할 때 통합하여, 데이터의 중복을 최소화
- 운영 데이터 : 조직의 고유 업무를 위해 유지
- 저장 데이터 : 컴퓨터가 접근 가능
특징
- 실시간 처리
- 계속 변화
- 내용 기반 참조
- 동시 공유
2. 데이터베이스 관리(DBMS) 시스템
2.1 데이터베이스 관리 시스템의 필요성
- 데이터베이스 관리 시스템이 존재하기 전에는 각각의 응용 프로그램들이 데이터를 저장하고 관리하였는데, 데이터 종속성과 데이터 중복성 문제가 발생하였음
- 데이터 종속성 : 데이터와 응용 프로그램 간의 상호 의존 관계가 생김 → 프로그램 유지 보수에 불리
- 데이터 중복성 : 한 시스템 내에 같은 데이터가 중복되어서 저장
2.2 데이터베이스 관리 시스템 정의 및 장단점
- 데이터베이스 관리 시스템(Database Management System, DBMS)란? 사용자 또는 응용 프로그램과 데이터베이스의 사이에 위치하여 데이터베이스를 공유할 수 있도록 관리해 주는 소프트웨어를 의미
- 장점
- 데이터 중복을 최소화
- 데이터 공유 가능
- 데이터의 일관성 유지
- 데이터의 무결성(현실의 데이터와 저장된 데이터가 일치하는 정확성) 유지
- 데이터의 보안 보장
- 단점
- 비용 증가
- 응답시간 증가
구분 | DBMS | 파일 시스템 |
---|---|---|
데이터 종속성 | 독립성 보장 | 종속성 발생 |
데이터 중복성 | 중복 최소화 | 중복 발생 |
데이터 공유성 | 공유 가능 | 공유 불가 |
데이터 일관성 | 일관성 보장 | 일관성 불가 |
데이터 병행성 | 병행성 제공 | 병행성 불가 |
생산성 | 고 | 저 |
자원 수요 | 대 | 소 |
효율성 | 저 | 고 |
2.3 데이터베이스 관리 시스템 종류
- 네트워크 DBMS
- 계층 DBMS : 트리 구조, 빠른 속도와 높은 효율성, 데이터 접근하는 방법이 미리 정의 되어 있어야 함.
- 관계 DBMS : 테이블 기반, 간단하고 이해하기 쉬우며, 사용자는 자신이 원한는 것만 명시만 하면 된다. 나머지는 DBMS가 알아서 함.
3. 데이터베이스 시스템
3.1 데이터 베이스 시스템의 구성요소
- 사용자
- 일반 사용자(최종 사용자) : 응용 프로그램을 사용하는 사람
- 응용 프로그래머 : DBMS와 연동된 응용 프로그램 개발
- 데이터베이스 관리자 : DBMS 및 이와 관련된 하드웨어 또는 소프트웨어를 관리 감독하는 사람
- 언어
- 데이터 정의어(Data Definition Language, DDL) : 데이터베이스 스키마를 정의하거나 그 정의를 수행할 목적으로 사용하는 언어, 데이터베이스 관리자(DBA)가 주로 사용
- ex)
CREATE
,ALTER
,DROP
- ex)
- 데이터 조작어(Data Manipulation Language, DML) : 데이터를 검색, 삽입, 삭제, 변경하는데 사용
- ex)
INSERT
,UPDATE
,DELETE
- ex)
- 데이터 제어어(Data Control Language, DCL) : 데이터베이스를 올바르게 공용하게 하면서 정확성을 유지하는데 사용, DBA가 주로 사용
GRANT
,REVOKE
- 데이터 정의어(Data Definition Language, DDL) : 데이터베이스 스키마를 정의하거나 그 정의를 수행할 목적으로 사용하는 언어, 데이터베이스 관리자(DBA)가 주로 사용
- 관리 시스템
- 데이터베이스 관리 소프트웨어
- 데이터베이스
3.2 3단계 데이터베이스시스템 구조와 데이터 독립성
단계 | 설명 |
---|---|
외부 단계 | 개별 사용자의 입자에서 보는 데이터를 이용하는 각 개인의 견해 |
개념 단계 | 조직의 입장에서 보는 견해. 개인의 모든 견해가 종합된 전체의 견해 |
내부 단계 | 물리적 저장장치의 입장에서 보는 저장장치의 견해 |
- 스키마 : 데이터 구조와 그 제약조건에 대한 명세(specification)를 기술한 것으로 컴파일 되어 데이터 사전에 저장된 것
스키마 | 설명 |
---|---|
외부 스티마 | 개별 사용자 입장에서 데이터베이스 구조를 기술 여러 형태의 외부 스키마 존재 서브 스키마라고도 부름 |
개념 스키마 | 통합된 데이터베이스를 기술한 것 하나의 개념 스키마 존재 |
내부 스키마 | 저장장치 입장에서 데이터베이스가 저장되는 방법을 명세한 것 하나의 내부 스키마만 존재 |
- 사상(mapping) : 데이터베이스 관리 단계의 스키마 사이에 있는 대응관계
구분 | 설명 |
---|---|
외부/개념 사상(응용 인터페이스) | 외부 스키마와 개념 스키마 간의 대응 관계, 개념 스키마를 변경하더라도 응용 프로그램의 영향을 주지 않게 논리적 데이터 독립성을 제공해 주는 것 |
개념/내부 사상(저장 인터페이스) | 개념 스키마와 내부 스키마 간의 대응 관계, 물리적 구조(내부 스키마)를 변경하더라도 논리적 구조에 영향을 주지 않아서 물리적 데이터 독립성을 제공 |
내부/장치 사상(장치 인터페이스) | 내부 스키마와 물리적인 장치 간의 대응 관계 |
'CS > [DATABASE]' 카테고리의 다른 글
Chapter12 정규화 (0) | 2022.01.27 |
---|---|
Chapter11 ER모델(Entity-Relationship Model) (0) | 2022.01.25 |
Chapter4 관계 대수 (0) | 2022.01.20 |
Chapter3 관계 데이터 모델과 제약조건 (0) | 2022.01.18 |
Chapter2 데이터 모델 (0) | 2022.01.13 |