데이터베이스

DB와 DBMS (20220308)

땅콩콩 2022. 3. 8. 15:35

데이터베이스란 관련된 데이터들의 집합을 의미한다.

 

 

데이터베이스의 조건

 

1. 공용데이터(Shared data)

 

나 혼자사용하는 데이터를 데이터베이스라고 하지는 않는다. 여러사람이, 혹은 한 조직에서 여러부서가 사용하기 위해 데이터를 모아뒀을때 그것을 데이터베이스라고 한다.

 

2. 통합데이터(Integrated data)


중복된 데이터를 철저히 제거해야 한다. 어떤 사정이나 의도에 의해 중복을 유지해야할 경우에는 어디에 어떻게 중복되어있는지를 시스템이 인지하고, 이것에 대한 컨트롤이 가능해야 한다.


3. 저장데이터(Stored data)


종이에 모은 데이터는 데이터베이스가 아니다. 모아진 데이터는 반드시 컴퓨터가 접근가능한 저장매체에 저장되어져야한다. (테이프, 디스크등) 또한 24시간 365일 온라인상에서 접근이 가능해야 한다.


4. 운영데이터(Operational data)


모아놓고 사용하지 않는 데이터는 데이터베이스라고 하지않는다. 데이터를 모아놓는 이유는 이것들을 지속적으로 사용하기 위해서이고, 그렇게 모아진 데이터는 계속 내용이 변경되며 사용된다. (폐기처분하기 전까지)

위의 네가지조건을 모두 만족해야만 데이터베이스라고 할 수 있다.

 

 

 

 

데이터베이스의 특징

 

1. 실시간 접근성: 질의에 대한 실시간 처리 및 응답


2. 계속적인 변화: 갱신(삽입, 삭제, 수정) = 동적 특성


3. 동시사용: 여러 사용자가 동시에 사용


4. 내용에 의한 참조: 값을찾을때는 데이터의 주소가 아니라 값을 가지고 찾는다.

 

 

 

데이터베이스의 구조

관계형 데이터베이스 = 테이블들의 집합


테이블 = 같은 레코드타입을 따르는 레코드 인스턴스의 집합

 

 

 

데이터베이스의 구성요소

 

1. 개념적 구성요소


DB설계자의 관점. 
현실세계의 데이터를 컴퓨터에 저장하기 위해서는 현실세계의 데이터가 어떻게 생겼는지 파악하는 방법이 필요하다. 
결국 현실세계의 데이터는 전부 개체 인스턴스(entity instance), 관계 인스턴스(relationship instance)로 간주된다.
다시말해, 세상의 모든 데이터는 개체이거나, 관계이다. (아직까지는 추상적인 개념)

2. 논리적 구성요소


DB사용자의 관점.
우리는 데이터들을 테이블로 저장하고 그 테이블들의 집합이 관계형 데이터베이스이다.
위에서 설명한 개체 인스턴스(entity instance), 관계 인스턴스(relationship instance)를 정형화하여
레코드 인스턴스(record instance)라는 개념으로 저장

3. 물리적 구성요소


저장장치의 관점.
저장장치의 데이터베이스 = 파일
실제로 저장되는 곳은 파일이다.

 

 

파일 시스템의 문제점

 

1. 데이터종속성

 

응용프로그램과 데이터사이의 의존관계에서 오는 문제점.
만약 데이터쪽에서 데이터포맷이나 데이터에 접근하는 방식을 바꾸면 응용프로그램도 바뀌어야함

 


2. 데이터중복성


한 시스템 내에 내용이 같은 데이터가 중복되게 저장, 관리되는 문제점
무결성(무결성+일관성)이 깨질수도 있다.

이런 문제를 극복하기위한 방법이 DBMS를 사용하는 것.

 

DBMS

DBMS = DB Management System
DB는 데이터베이스, DBMS는 소프트웨어.
데이터의 입출력을 전담하는 별도의 시스템이며 데이터의 종속성과 중복성의 문제를 해결하는 방법.
관련 데이터를 통합하여 데이터를 공용할 수 있도록 관리하는 소프트웨어.

데이터의 물리적인 구조를 바꿔도 논리적인 데이터의 구조가 영향을 받지않고/ 논리적인 데이터의 구조를 바꿔도, 그것과 연결된 응용프로그램들이 영향을 받지않는 일들이 가능해짐

 

DBMS의 필수기능

1. 데이터 정의 기능(data definition)


데이터베이스 설계자가 사용
다양한 형태의 데이터처리 요구를 지원할 수 있도록 적절한 데이터베이스 구조(테이블)를 정의할수있는 기능

2. 데이터 조작 기능(data manipulation)


DBMS 응용 프로그래머가 사용
사용자의 요구에 따라, 체계적으로 데이터베이스를 접근하고 조작하는 기능
크게 두가지로 나뉨
데이터 검색(retrieval, query)
데이터 갱신(update): 삽입(insert), 삭제(delete), 수정(modify)

3. 데이터 제어 기능(data control)


DBA(database administrator)가 사용
저장된 데이터의 무결성과 보안성을 유지하는 기능

 

 

DBMS의 장단점

장점


데이터통합을 통한 데이터 중복 최소화
데이터의 공용
데이터의 무결성 유지
데이터의 보안 보장
전체 데이터 요구의 조정, 표준화

단점


운영비 증대
자료 처리의 복잡화
복잡한 백업과 복구
시스템의 취약성(중앙집중식이다보니 DBMS에 대한 공격이 있을 경우에 전체 데이터가 위험해짐)

'데이터베이스' 카테고리의 다른 글

생활코딩 mySQL의 CRUD  (0) 2022.02.18
생활코딩 mysql 데이터베이스 테이블생성  (0) 2022.02.17
생활코딩 Database1  (0) 2022.02.07