[DataBase] 데이터베이스 기초

 

데이터베이스


오늘날을 정보화 시대라고 부르는 만큼 사람들은 엄청난 양의 데이터 속에서 살아가고 있습니다.

 

이미지, 텍스트, 문서, 문자열, 숫자 등 데이터는 다양한 형태로 존재하며 각각 용도에 맞게 처리되어 사람들에게 보입니다.

 

많은 양의 데이터를 효율적으로 관리하고 처리하기 위해 고안한 것이 데이터베이스입니다.


(1) 데이터베이스

1-1. 데이터베이스 정의

  • 데이터베이스는 체계적으로 조직된 데이터의 집합

  • 가장 많이 사용되는 데이터 모델은 관계형 데이터 모델이며, 표 형식으로 구성

  • 데이터 구조화 > 사용자가 얻는 이점이 많고, 대량 데이터를 처리하는 여러 기관, 기업, 웹 사이트 등에서 필수적 사용

[표 1] 데이터베이스 예시

고객 아이디 주문번호 주문일자 결제완료일자 결제금액
100101 20200301-001 2020-03-01 2020-03-01 100,000
100102 20200301-002 2020-03-01 2020-03-01 70,000
100103 20200301-003 2020-03-01 2020-03-02 200,000
100104 20200302-001 2020-03-02 2020-03-02 50,000
100105 20200302-002 2020-03-02 2020-03-03 300,000
100106 20200303-001 2020-03-03 2020-03-03 10,000
100107 20200304-001 2020-03-04 2020-03-04 40,000
100108 20200304-002 2020-03-04 2020-03-05 150,000



[표 2] 주문일자가 2020-03-01인 데이터만 추출한 결과

고객 아이디 주문번호 주문일자 결제완료일자 결제금액
100101 20200301-001 2020-03-01 2020-03-01 100,000
100102 20200301-002 2020-03-01 2020-03-01 70,000
100103 20200301-003 2020-03-01 2020-03-02 200,000


위 결과를 보면 비슷한 유형의 데이터끼리 분류되어 있는 것을 알 수 있다.

 

데이터가 일정한 순서로 나열되어 데이터를 수정 및 검색하는 데에 걸리는 시간이 크게 줄어든다.

 

사용자는 SQL(Structured Query Language)이라는 쿼리 언어로 원하는 데이터만 추출이 가능하다.

 

위와 같이 주문일자가 2020-03-01인 정보만을 원한다면, 조건을 추가한 쿼리를 다음과 같이 입력한다.

 

SELECT * FROM 주문정보 WHERE 주문일자 = '2020-03-01'

 

  • 데이터 추출뿐만 아니라, 데이터 삭제 / 수정 / 추가할 때도 간단한 명령문을 입력

  • 일괄적 변경 가능, 표의 내용 일부 변경도 가능

  • 여러 표를 한데 묶어 출력하는 것도 가능

 

1-1-1. 데이터베이스에 어떻게 접근하는가?

  • 사내 네트워크망에 포함되지 않은 외부 사용자는 인터넷을 통해 공개된 웹 서버에 접속

  • 해당 서버는 필요한 데이터를 데이터베이스 서버로부터 불러옴

※ 데이터베이스 보안을 위해 외부 사용자가 데이터베이스 서버에 직접 접속하지 못하게 하는 것

(하지만 웹이나 애플리케이션 보안이 취약하면 공격자가 악의적인 SQL 구문을 입력하여 민감 정보 빼오기 가능)


1-2. 데이터베이스 특징

 

1) 데이터 중복 허용 X

  • DBA(Database Adminstrator)로 중앙 집중화되어 관리 > 불필요한 데이터 중복 피함

  • 저장하고 있는 데이터 총 용량도 줄어듦

  • 데이터 중복은 예기치 못한 상황을 만들 수 있어 허용하지 않는 것이 일반적 (몇몇 경우는 일부러 허용하기도 함)

 

2) 데이터 공유

  • 여러 사용자와 응용 프로그램이 데이터베이스 내의 데이터 공유 가능

 

3) 데이터 무결성

  • 데이터 일관성과 정확성 보장 > DB, RDBMS(Relational Database Management System)의 중요 특징

  • 중앙 집중화 된 관리 > 데이터 정확성, 일관성 유지

 

4) 데이터 보안

  • DBA는 사용자마다 데이터베이스 접근 권한 부여 > 허가받지 않은 접근 차단

  • 접근 권한 부여 및 회수 명령어는 SQL 중 DCL로 GRANT와 REVOKE가 있음

 

5) 데이터 독립성

  • 물리적 독립성과 논리적 독립성으로 나뉨

  • 물리적 독립성은 데이터를 담고 있는 저장장치가 바뀌어도 응용 프로그램까지 바꿀 필요 없음을 의미

  • 논리적 독립성은 데이터베이스 테이블에 데이터가 새로 추가/삭제 /갱신되어도 응용 프로그램을 바꿀 필요가 없음을 의미

  • 결론적으로, 데이터베이스 환경 변화는 해당 데이터베이스를 사용하는 응용 프로그램에 영향을 끼치지 않음


# Reference

 

http://www.yes24.com/Product/Goods/87579830

'DB' 카테고리의 다른 글

[DataBase]DCL (데이터 제어어)  (0) 2020.03.20
[DataBase] DML (데이터 조작어)  (0) 2020.03.20
[DataBase] DDL (데이터 정의어)  (0) 2020.03.20
[DataBase] DBMS(Database Management System)  (0) 2020.03.18
[DataBase] 데이터베이스 모델  (0) 2020.03.16

+ Recent posts