본문 바로가기
목차훔치기/면접을 위한 CS 전공지식 노트

데이터베이스의 기본(면접을 위한 CS 전공지식 노트)

by 해삼2 2023. 9. 26.
728x90
반응형
데이터베이스의 기본

데이터베이스의 기본

데이터베이스(Database)는 데이터를 체계적으로 저장, 관리, 검색 및 조작하기 위한 체계적인 방법을 

제공하는 시스템입니다. 

데이터베이스는 정보 시스템 및 소프트웨어 애플리케이션에서 핵심적인 역할을 하며, 

데이터의 효율적인 관리를 가능하게 합니다.

 

데이터베이스 주요 특징

데이터 중심: 

데이터베이스는 데이터를 중심으로 구성되며, 데이터의 정확성, 일관성, 완전성을 유지하기 위한 메커니즘을 제공합니다.


구조화된 데이터: 

데이터베이스는 테이블, 열, 행과 같은 구조를 가지며, 

각 데이터 유형에 대한 스키마(구조 정의)를 갖고 있습니다.


공유 및 동시 액세스: 

여러 사용자가 동시에 데이터베이스에 접근하고 데이터를 공유할 수 있으며, 

동시성 제어 메커니즘을 통해 데이터의 일관성을 보장합니다.


데이터 무결성: 

데이터베이스는 데이터의 무결성을 유지하기 위한 규칙과 제약 조건을 정의하고 이를 강제합니다.


데이터베이스 관리 시스템(DBMS):
DBMS는 데이터베이스를 관리하기 위한 소프트웨어입니다. 

주요 DBMS 시스템에는 Oracle, MySQL, PostgreSQL, Microsoft SQL Server 등이 있습니다.

 

DBMS는 데이터베이스를 만들고 유지하며, 데이터의 삽입, 갱신, 삭제, 검색 등의 작업을 수행합니다.
보안, 권한 관리, 백업 및 복원 등 데이터베이스 관리에 필요한 기능을 제공합니다.


데이터 모델:
데이터베이스는 데이터를 어떻게 구성하고 조직할지를 정의하는 데이터 모델을 기반으로 합니다. 

대표적인 데이터 모델에는 관계형 데이터 모델, 객체 지향 데이터 모델, NoSQL 데이터 모델 등이 있습니다.


SQL (Structured Query Language):
SQL은 데이터베이스에서 데이터를 조작하기 위한 표준 질의 언어입니다. 

SQL을 사용하여 데이터 검색, 삽입, 갱신, 삭제 등을 수행할 수 있습니다.


트랜잭션(Transaction):
트랜잭션은 데이터베이스에서 원자성, 일관성, 고립성, 지속성 (ACID)의 속성을 보장하기 위한 

작업의 논리적 단위입니다. 

트랜잭션은 성공적으로 완료되거나 실패할 수 있으며, 실패 시 롤백하여 데이터 일관성을 유지합니다.


데이터베이스 설계:
데이터베이스 설계는 데이터를 어떻게 구조화할지, 

어떤 테이블과 관계를 정의할지를 결정하는 과정입니다. 

이는 데이터베이스의 효율성과 성능에 큰 영향을 미칩니다.


정규화(Normalization)와 역정규화(Denormalization):
정규화는 데이터 중복을 최소화하고 데이터 일관성을 유지하기 위한 프로세스입니다. 

역정규화는 성능을 향상시키기 위해 데이터를 중복 저장하는 반대 개념입니다.


데이터베이스 보안:
데이터베이스는 중요한 정보를 저장하므로 데이터 접근 제어, 권한 관리, 

암호화 등의 보안 기능이 중요합니다.


이러한 기본 개념과 특징을 이해하면 데이터베이스를 효과적으로 설계, 관리 및 활용할 수 있습니다. 

데이터베이스는 다양한 업무 분야와 응용 프로그램에서 핵심적인 역할을 하며, 

데이터 중심 시스템의 기반을 이룹니다.

 

데이터베이스 사용 예시

엔터프라이즈 데이터베이스:
기업에서는 고객 정보, 주문 내역, 재고 관리, 인사 관리 등과 같은 다양한 비즈니스 데이터를 

저장하고 관리하기 위해 엔터프라이즈 데이터베이스를 사용합니다. 

관계형 데이터베이스 시스템(예: Oracle, SQL Server)이 주로 사용됩니다.


웹 애플리케이션 데이터베이스:
웹 애플리케이션은 사용자 정보, 게시물, 댓글 등의 데이터를 데이터베이스에 저장하고 관리합니다. 

주로 MySQL, PostgreSQL, MongoDB와 같은 데이터베이스가 사용됩니다.


빅데이터 저장 및 분석:
대용량 데이터를 저장하고 분석하기 위해 빅데이터 데이터베이스 및 분석 도구

(예: Hadoop, Spark)를 사용합니다.


관리 정보 시스템 (MIS):
기업의 의사 결정을 지원하기 위해 경영자 및 의사 결정자에게 보고서와 데이터를 제공하는 데 

데이터베이스를 사용합니다.


지리 정보 시스템 (GIS):
지도 및 공간 데이터를 저장하고 공간 분석을 수행하기 위해 GIS 데이터베이스가 사용됩니다.


소프트웨어 개발:
소프트웨어 개발자는 애플리케이션에서 사용할 데이터를 저장하고 관리하기 위해 내장 데이터베이스(예: SQLite)를 사용하거나 클라우드 데이터베이스 서비스(예: Amazon RDS, Azure SQL Database)를 

활용할 수 있습니다.


로그 및 이벤트 추적:
서버 및 애플리케이션에서 발생하는 로그 및 이벤트 정보를 수집하고 분석하기 위해 데이터베이스를

사용합니다.


연구 및 학문:
학술 연구 및 과학 연구 분야에서 실험 결과, 조사 데이터, 연구 결과를 저장하고 분석하기 위해 

데이터베이스를 활용합니다.


게임 개발:
온라인 게임은 사용자 정보, 게임 상태, 리더보드 등을 데이터베이스에 저장하여 

멀티플레이어 게임 경험을 제공합니다.


데이터베이스는 데이터 중심 시스템의 핵심 요소로서 다양한 분야에서 중요한 역할을 합니다. 

데이터의 정확성, 일관성, 안정성을 유지하고 데이터에 대한 효율적인 액세스 및 분석을 지원합니다. 

데이터베이스를 효과적으로 설계하고 관리하면 조직의 의사 결정 및 비즈니스 프로세스를 

개선하는 데 도움이 됩니다.

 

 

*바쁜 사람을 위한 깜찍한 정리

데이터베이스는 데이터를 체계적으로 저장, 관리, 검색 및 조작 하기 위한 시스템이며 줄임말로 DBMS로 불린다. DBMS에는 많이 사용되는 Oracle, MySQL 등이 있습니다. 사용처에는 웹 애플리케이션에서 사용자의 정보나 상품 구매 같은 정보를 관리하는데 많이 사용됩니다. 쉽게 말해 우리가 엑셀이나 메모장 같은 원하는 내용을 정리하는 것을 더욱 편리하고 쉽게 만든 것이 데이터베이스라고 생각하면 된다.
728x90
반응형