데이터베이스(Database) 학습

1. 데이터베이스란?

thespeace 2021. 9. 29. 20:46

데이터(DATA)

관찰 결과로 나타난 정량적 혹은 정성적인 실제 값

 

 

정보

데이터를 기반으로 의미를 부여한 것

*에베레스트의 높이 : 8848m -> 데이터(Data)
 에베레스트는 세계에서 가장 높은 산이다. -> 정보

 

 

 

데이터베이스(Database)

한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복되는 데이터를 최소화하여 구조적으로 통합/저장해놓은 것

왜 만들어졌을까?

더보기

데이터베이스는 이전에 데이터를 저장하기 위해서 사용했던 파일 시스템에 다음과 같은 파일 시스템의 문제점이 대두되면서 새로운 시스템에 대한 요구가 생기면서 등장하였다.

 

파일 시스템의 문제점

1) 일관성 : 여러 개의 데이터가 모두 하나의 사실을 나타낸다면 논리적으로 그 내용이 모두 동일하나, 데이터 중복이 있으면 그 동일성을 유지하기가 어렵다. 이것을 데이터의 불일치성, 모순성이라고 한다.
2) 보안성 : 동일 수준의 보안이 유지되어야 함에도 같은 데이터가 중복되어 있다면 모두 똑같은 수준의 보안을 유지한다는 것이 현실적으로 어렵다.
3) 경제성 : 데이터를 중복해서 저장하기 위해서는 추가적으로 저장 공간에 대한 비용이 더 들게 된다.
4) 무결성 : 데이터가 만족해야 할 제약조건이 정확성을 유지해야 한다.

 

데이터베이스(Database)의 정의

1. 공용 데이터(shared data) : 여러 사용자들이 서로 다른 목적으로 사용, 공유(주고받는 것)가 가능한 데이터를 말합니다.
2. 통합 데이터(integrated data) : 데이터의 중복은 일반적으로 관리상의 복잡한 부작용을 초래합니다. 따라서, 중복 최소화로 중복으로 인한 데이터 불일치 현상이 제거되어야 합니다.
3. 저장 데이터(stored data) : 컴퓨터가 접근할 수 있는 기억장치(저장장치)에 저장된 데이터를 말합니다.
4. 운영 데이터(operational data) : 존재 목적이 명확하고 유용성을 지니고 있는 데이터를 말합니다. 즉 단순히 데이터를 모아둔 개념이 아닌 조직의 목적을 위해 사용되는 데이터를 말합니다.

한마디로 유용한 데이터의 집합체라고도 한다.

더보기

데이터베이스는 유용한 데이터의 집합이라고도 한다.

 

데이터는 저장만 해두면 아무 의미가 없다. 사용자가 원하는 데이터를 쉽게 찾을 수 있어야 유용한 데이터이다.

검색에 용이하게 저장하도록 하는 것, 유용한 데이터의 집합이 바로 데이터 베이스이다.

뿐만 아니라 수정, 삭제까지도 용이해야 한다.

 

데이터베이스(Database)의 특징

1. 실시간 접근성(Real-time accessability) : 다수의 사용자의 데이터 요청 시 실시간으로 결과를 보여주는 서비스
2. 지속적인 변화(Continuos evolution) : 데이터는 최신의 정보가 정확하게 저장되어 처리됨으로 데이터 값은 시간에 따라 항상 바뀝니다.
3. 동시 공유(Concurrent sharing) : 서로 다른 업무 또는 여러 사용자에게 동시 공유됩니다.
4. 내용에 대한 참조(Content Reference) : 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

 

 

데이터베이스 관리 시스템(DBMS)

데이터베이스 관리 시스템(DBMS)의 위치

DBMS는 데이터베이스를 관리하기 위해 필요한 수행과정인 데이터의 "추출, 조작, 정의, 제어" 등의 기능을 집대성한 데이터베이스 전용 관리 프로그램으로 데이터를 공유하며 데이터의 체계적인 활용을 가능하게 합니다.

 

데이터 추출
(Retrieval)
사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터 추출
데이터 조작
(Manipulation)
데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터 삽입, 수정, 삭제 작업 지원
데이터 정의
(Definition)
데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능 수행
데이터 제어
(Control)
데이터베이스 사용자를 생성하고 모니터링하며 접근 제어
백업과 회복, 동시성 제어 등의 기능 지원

 

 

DBMS 종류와 특징

  Access SQL Server Oracle MySQL MariaDB SQLite
제조사 MS MS Oracle Oracle MariaDB
재단
리처드 힙
(오픈 소스)
운영체제
기반
윈도우 윈도우 윈도우
유닉스
리눅스
윈도우
유닉스
리눅스
윈도우
유닉스
리눅스
모바일OS
(안드로이드,
iOS등)
용도 개인용 윈도우기반
기업용
대용량
데이터베이스
소용량
데이터베이스
소용량
데이터베이스
모바일전용
데이터베이스

 

 

DBMS 변천 과정

데이터 모델 1960년대
이전
1970년대 1980년대 1990년대 2000년대 2010년대
제품 종류
파일시스템 O          
계층 데이터 모델   O O      
네트워크 데이터 모델   O O      
관계 데이터 모델     O O O O
객체 데이터 모델       O    
객체-관계 데이터 모델         O O

 

 

데이터베이스(Database) 유형

1. 계층형(Hierarchical) 데이터베이스

트리 형태의 계층적 구조를 가진 데이터베이스로 최상위 계층의 데이터부터 검색하는 구조

 

2. 네트워크형(Network) 데이터베이스

하위 데이터들끼리의 관계까지 정의할 수 있는 구조로 설계 및 구현이 복잡하고 어렵다.

 

 

 

 

 

 

3. 관계형(Relational) 데이터베이스(RDBMS)

모든 데이터를 2차원 테이블 형태로 표현하고 테이블 사이의 비즈니스적 관계를 도출하는 구조,
데이터의 중복을 최소화할 수 있으며 업무 변화에 대한 적응력이 우수하다.

* 오라클이 대표적이다.