728x90
2. 데이터베이스 관리 시스템 (Database Management System, DBMS)
DBMS 란?
파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어로, 조직에서 필요한 데이터를 통합하여 저장 및 관리
DBMS의 주요 기능
기능 | 설명 |
데이터 정의 (Definition) | 데이터 구조 정의 및 삭제, 변경 가능 |
데이터 조작 (Manipulation) | 데이터를 삽입, 수정, 삭제하는 기능 |
데이터 검색 (Retrieve) | 사용자가 원하는 데이터를 조회하는 기능 |
데이터 제어 (Control) | 접근 제어, 백업 및 복구, 동시성 제어 기능 |
DBMS의 장단점
장점 👍🏻
- 데이터 중복 최소화
- 데이터 독립성 확보
- 동시 접근 가능
- 보안 강화
- 데이터 무결성 유지
- 표준화 가능
- 장애 발생 시 복구 가능
- 응용 프로그램 개발 비용 절감
단점 👎🏻
- 비용 부담
- 백업 및 복구 방법 복잡
- 중앙 집중 관리로 인한 보안 취약점 존재
3. 데이터 모델 (Data Model)
데이터베이스 시스템에서 현실 세계를 표현하는 방식
주요 데이터 모델 종류
- 계층 데이터 모델 (Hierarchical Data Model)
- 네트워크 데이터 모델 (Network Data Model)
- 객체 데이터 모델 (Object Data Model)
- 관계 데이터 모델 (Relational Data Model) → 가장 많이 사용
- 객체-관계 데이터 모델 (Object-Relational Data Model)
세대별 데이터 모델
1세대 : 초기 데이터 모델
- Network DBMS (그래프 구조) → 예) IDS (Integrated Data Store)
- Hierarchical DBMS (트리 구조) → 예) IMS (Information Management System)
2세대 : 관계형 데이터 모델 (RDBMS)
- Relational DBMS (테이블 형태)
- 예) MySQL, MS SQL, PostgreSQL
- 속성 값을 사용
- Object-Relational DBMS
- 객체 식별자를 이용
4. 데이터베이스 사용자 (Database Users)
데이터베이스를 이용하기 위해 접근하는 모든 사람을 지칭하며, 이용 목적에 따라 다음과 같이 분류
- 일반 사용자
- 은행 창구 직원, 민원 접수 담당자 등 데이터를 다루는 업무를 하는 사람
- 프로그래머가 개발한 프로그램을 사용하여 데이터베이스에 접근
- 응용 프로그래머
- 일반 사용자가 사용할 수 있는 프로그램 개발
- Java, C, JSP 등 프로그래밍 언어 + SQL 사용
- UI 및 응용 로직 개발
- SQL 사용자
- SQL을 직접 사용하여 업무 처리 (ex. IT 부서 담당자)
- 응용 프로그램이 구현되지 않은 업무를 SQL을 통해 직접 수행
- 데이터베이스 관리자 (DBA, Database Administrator)
- 데이터베이스 운영 및 유지보수 총괄
- 데이터 설계, 보안, 성능 최적화, 백업 및 복구 담당
📌 데이터베이스 사용자 별로 갖추어야 할 지식 수준 (✕ : 없음, ○ : 보통, ◎ : 높음)
SQL 언어 | 프로그래밍 능력 | DBMS 지식 | 데이터 구성 | |
일반 사용자 | ✕ | ✕ | ✕ | ✕ |
SQL 사용자 | ◎ | ✕ | ○ | ○ |
응용 프로그래머 | ◎ | ◎ | ○ | ○ |
데이터베이스 관리자 | ◎ | ○ | ◎ | ◎ |
5. 데이터 언어 (Data Language)
사용자와 데이터베이스 관리 시스템 간의 통신 수단
- 데이터 정의어 (DDL, Data Definition Language)
- 데이터베이스의 구조 및 객체 생성, 수정, 삭제
- 예) CREATE, ALTER, DROP
- 데이터 조작어 (DML, Data Manipulation Language)
- 데이터를 삽입, 수정, 삭제, 조회
- 예) SELECT, INSERT, UPDATE, DELETE
- 데이터 제어어 (DCL, Data Control Language)
- 사용자 권한 관리 및 트랜잭션 제어
- 예) GRANT, REVOKE, COMMIT, ROLLBACK
728x90
'CS > Database' 카테고리의 다른 글
[DB] 03. 데이터 모델링 (Data Modeling) - (2) 요구 사항 분석 (0) | 2025.03.14 |
---|---|
[DB] 03. 데이터 모델링 (Data Modeling) - (1) 데이터 모델 (0) | 2025.03.14 |
[DB] 02. 데이터베이스 시스템 - 1 (0) | 2025.03.12 |
[DB] 01. 데이터베이스를 왜 사용할까? (0) | 2025.03.12 |
[DB] 00. 데이터베이스(Database)란? (0) | 2025.03.12 |