가. 데이터 베이스란?
데이터를 체계적으로 저장하고 관리하는 시스템이며 데이터를 효율적으로 저장하고 검색한다.
데이터베이스는 다음과 같은 구성 요소로 이루어져 있다.
- 데이터: 데이터베이스에 저장되는 정보
- 테이블: 데이터를 저장하는 구조
- 레코드: 테이블에 저장되는 데이터의 단위
- 필드: 레코드의 구성 요소
데이터베이스는 크게 관계형 데이터베이스와 비관계형 데이터베이스로 나눌 수 있으며
1. 관계형 데이터베이스는 데이터를 테이블로 구성하여 저장하는 방식으로 테이블은 서로 관계를 맺고 있어,
데이터를 쉽게 조회하고 분석할 수 있다.
2. 비관계형 데이터베이스는 데이터를 테이블이 아닌 다른 구조*로 저장하는 방식으로 데이터 관계가 복잡하거나,
대량의 데이터를 저장해야 하는 경우에 사용된다.
* 키(Key)와 값(Value)형태로 저장되고 키를 사용해 데이터 관리 및 접근
나. DBMS란?
데이터베이스를 효율적으로 관리하고 활용하기 위한 필수적인 소프트웨어로 데이터베이스의 생성, 유지 관리,
사용을 지원
- 데이터베이스 생성 및 관리: DBMS를 사용하여 데이터베이스를 생성하고, 테이블, 레코드, 필드를 정의하고,
데이터를 입력하고, 데이터를 백업하고 복원 - 데이터베이스 보안: DBMS를 사용하여 데이터베이스에 대한 액세스를 제어하고, 데이터를 보호
- 데이터베이스 성능 최적화: DBMS를 사용하여 데이터베이스의 성능을 최적화
DBMS는 크게 **관계형 데이터베이스 관리 시스템(RDBMS)**과 **비관계형 데이터베이스 관리 시스템(NoSQL)**으로 나눌 수 있다.
RDBMS는 데이터를 테이블로 구성하여 저장하는 방식이며 테이블은 서로 관계를 맺고 있어, 데이터를 쉽게 조회하고 분석할 수 있다. RDBMS는 데이터의 관계가 복잡하지 않은 경우에 사용되며 대표적인 RDBMS로는 오라클(Oracle), MySQL, Microsoft SQL Server 등이 있다.
NoSQL은 데이터를 테이블이 아닌 다른 구조로 저장하는 방식이고 NoSQL은 데이터의 관계가 복잡하거나,
대량의 데이터를 저장해야 하는 경우에 사용된다. 대표적인 NoSQL로는 MongoDB, Cassandra, Redis 등이 있다.
RDBMS와 NoSQL의 차이점

DBMS 선택 방법
- DBMS를 선택할 때는 다음과 같은 요소 고려
- 데이터의 종류: 데이터의 종류에 따라 적합한 DBMS가 다르다.
- 데이터 관계: 데이터의 관계가 복잡한 경우 NoSQL을 고려.
- 데이터 처리량: 대용량 데이터를 처리해야 하는 경우 NoSQL을 고려.
- 비용: RDBMS는 NoSQL보다 일반적으로 비싸다.
DBMS의 종류와 특징을 이해하여, 비지니스 요구에 적합한 DBMS를 선택하는 것이 중요하다.
다. 데이터베이스와 DBMS의 차이
데이터베이스와 DBMS는 밀접한 관련이 있지만, 역할과 기능에서 차이가 있고 데이터베이스는 DBMS에 의해
관리되고, DBMS는 데이터베이스를 생성하고 관리하기 위해 사용된다.
1. 데이터베이스는 데이터를 체계적으로 저장하고 관리하는 시스템이며 데이터베이스는 데이터를 효율적으로 저장하고 검색할 수 있도록 한다.
2. DBMS는 데이터베이스를 생성하고 관리하는 소프트웨어이며 데이터베이스를 효율적으로 저장하고 검색할 수 있도록 제공한다.
데이터베이스와 DBMS의 차이점
역할 | 데이터를 저장하고 관리 | 데이터베이스를 생성하고 관리 |
구성 요소 | 데이터, 테이블, 레코드, 필드 | 데이터베이스, 테이블, 레코드, 필드 |
기능 | 데이터 저장, 검색, 관리 | 데이터베이스 생성, 관리, 보안, 성능 최적화 |
사용 방법 | SQL을 사용하여 데이터베이스와 상호 작용 | SQL을 사용하여 데이터베이스와 상호 작용 |
출처: 바드가 제공하는 정보(가 - 다)를 확인 후 편집
바. SQL(Structured Query Language) 이란?
데이터베이스와 상호 작용하기 위한 표준 언어이며 SQL을 사용해 데이터베이스를 생성, 관리, 조회할 수 있다.
SQL은 다음과 같은 네 가지 영역으로 나눌 수 있다.
1. DDL(Data Definition Language): 데이터베이스 구조를 정의하거나 테이블, 인덱스, 제약 조건 등을 생성,
수정, 삭제 하는데 사용
- 주로 DB관리자 또는 설계자가 사용
- CREATE : 데이터베이스, 테이블, VIEW, 인덱스, 저장 프로시저, 함수, 트리거를 생성
- DROP : 존재하는 데이터베이스, 테이블, 뷰, 인덱스, 저장 프로시저, 함수, 트리거를 삭제
- ALTER : 존재하는 데이터베이스, 테이블, 뷰등의 개체에 대해 변경
2. DML(Data Manipulation Language): 데이터베이스에 데이터를 조작(검색, 추가, 수정, 삭제)하는 데 사용되는 언어
- SELECT : 테이블에 저장된 데이터를 검색
- INSERT : 테이블에 데이터를 추가
- UPDATE : 테이블에 저장된 데이터를 수정
- DELETE : 테이블에 저장된 데이터를 삭제
3. DCL(Data Control Language): 데이터베이스 보안과 권한 설정 및 관리하는 언어
- GRANT : 권한을 할당
- REVOKE : 권한을 해제
- COMMIT : 실행된 명령어를 적용
- ROLLBACK : 실행된 명령어를 취소
'정보 보안 수업 > Lab 구성' 카테고리의 다른 글
정보 보안 랩(Lab) 파트 IV: 네트워크 실습 구성 (2) | 2023.10.28 |
---|---|
정보 보안 랩(Lab) 파트 III: Oracle DB 11g XE 설치 (0) | 2023.10.27 |
정보 보안 랩(Lab) 파트 III: MariaDB 설치 (0) | 2023.10.27 |
정보 보안 랩(Lab) 파트 II: 서버 필수 패키지 설치 (2) | 2023.10.26 |
정보 보안 랩(Lab) 파트 I: 랩(Lab) 구성도 및 서버 설정하기 (0) | 2023.10.25 |