DBMS 기본 개념과 데이터 저장 방식
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
소프트웨어 개발자, 데이터베이스 관리자, 시스템 설계자
- *난이도**: 초급~중급 (데이터베이스 기초 개념 설명)
핵심 요약
- DBMS(데이터베이스 관리 시스템)는 데이터의 효율적인 저장, 검색, 관리를 지원하며, 파일 시스템보다 데이터 무결성, 보안, 성능을 강화합니다.
- DBMS의 3가지 추상화 레벨은 물리적 레벨, 논리적 레벨, 외부 레벨로, 각 레벨 간 데이터 독립성(Logical/Physical Data Independence)이 유지됩니다.
- 데이터베이스 유형은 관계형(예: MySQL), 문서형(예: MongoDB), 벡터형(예: Pinecone) 등으로, 사용 사례와 데이터 구조에 따라 선택됩니다.
- ER 다이어그램은 엔티티, 속성, 관계를 시각적으로 표현하여 데이터베이스 설계에 활용됩니다.
섹션별 세부 요약
1. DBMS 기본 개념 및 목적
- 데이터는 무형의 원시 정보, 정보는 처리된 데이터, 데이터베이스는 구조화된 데이터 집합입니다.
- DBMS는 쿼리, 보고서, 분석 기능을 제공하며, 데이터 무결성, 보안을 보장합니다.
- 파일 시스템 대비 장점: 복잡한 데이터 관리, 빠른 검색, 확장성 제공.
2. 데이터 추상화 레벨과 데이터 독립성
- 물리적 레벨: 데이터의 저장 방식(파일, 인덱스)을 관리하며, 사용자에게 보이지 않습니다.
- 논리적 레벨: 데이터의 구조(테이블, 관계)를 정의하며, DBA가 관리합니다.
- 외부 레벨: 특정 사용자/앱의 데이터 요구사항에 맞춘 뷰(View)를 제공합니다.
- 데이터 독립성: 물리적/논리적 레벨 변경 시 상위 레벨에 영향 없음.
3. 데이터베이스 유형과 사용 사례
- 관계형(Relational): 테이블 기반, 예: MySQL, PostgreSQL. 사용 사례: 금융 시스템, e-commerce.
- 문서형(NoSQL): JSON/XML 형식, 예: MongoDB. 사용 사례: 실시간 분석, 웹 앱.
- 벡터형(Vector DB): 고차원 임베딩 저장, 예: Pinecone. 사용 사례: 세마틱 검색, AI 레트리브(RAG).
4. ER 다이어그램 및 데이터 모델링
- 엔티티(Entity): 실세계 객체(예: 학생, 강의), 속성(Attribute): 엔티티의 특성(예: 이름, 생일).
- 관계(Relationship): 엔티티 간 연결(예: 학생-강의 간 "수강" 관계).
- ER 다이어그램 구성 요소:
- 엔티티: 사각형, 속성: 타원, 관계: 다이아몬드.
- 관계 유형: 1:N, M:N, 1:1.
5. 속성의 유형과 데이터 모델링
- 단순 속성(Simple): 분할 불가능(예: 나이).
- 복합 속성(Composite): 분할 가능(예: 이름 → 이름, 성).
- 도출 속성(Derived): 다른 속성으로 계산(예: 나이 = 생일에서 계산).
- 키 속성(Key): 엔티티를 고유 식별(예: Student_ID).
결론
- DBMS 선택 시 데이터 유형, 사용 사례, 확장성 요구사항을 고려해야 합니다.
- ER 다이어그램은 데이터베이스 설계의 핵심 도구로, 엔티티-속성-관계를 명확히 정의하는 것이 중요합니다.
- 벡터형 데이터베이스는 AI/ML 분야에서 빠르게 확장되는 트렌드로, 세마틱 검색과 AI 레트리브에 강점을 가집니다.