득이공간

[데이터베이스] 1장. 데이터베이스 시스템 본문

CS/DB

[데이터베이스] 1장. 데이터베이스 시스템

쟁득 2024. 2. 26. 22:06
해당 게시물은 김태연 교수님의 '데이터베이스' 강의를 수강하며
학습한 내용을 개인적으로 정리한 글입니다.

📌 목차 - 1장. 데이터베이스 시스템

1-1. 데이터베이스 시스템 개요
1-2. 파일 시스템 vs DBMS
1-3. DBMS 언어
1-4. DBMS 사용자
1-5. ANSI/SPARC 아키텍처와 데이터 독립성
1-6. 데이터베이스 시스템 아키텍처


📌 1-1. 데이터베이스 시스템 개요

* 데이터베이스

- 조직체의 응용 시스템들이 '공유'해서 사용하는 운영 데이터들이 '구조적'으로 '통합'된 모임


* 데이터 vs 정보

- 정보: 목적이나 의도에 따라 데이터를 처리하고 분석한 것


* DBMS

- 데이터베이스 관리 시스템


* 데이터베이스 스키마

- 내포, 데이터베이스의 모든 가능한 상태를 미리 정의


* 데이터베이스 상태

- 외연, 특정 시점의 데이터베이스 내용


* DBS

- 데이터베이스 시스템


* 시스템 카탈로그

- 저장된 데이터베이스의 스키마 정보를 유지


📌 1-2. 파일 시스템 vs DBMS

* 파일 시스템 vs DBMS
- 파일 > 레코드 > 필드
- 하나의 레코드는 한 명의 데이터를 뜻함.


* 파일 시스템의 단점
- 동시성 제어가 제공 안된다.
- 질의어가 제공되지 않는다.
- 보안 조치가 미흡하다.


* DBMS의 장점
- 프로그램-데이터 독립성 : 프로그램에 영향을 주지 않으면서 데이터베이스 구조를 변경할 수 있다.


* DBMS의 단점
- 비용이 많이 든다.
- 데이터가 노출될 확률이 높아진다.


* 데이터 모델의 분류
- 고수준 또는 개념적 데이터 모델
- 표현(구현) 데이터모델
- 저수준 물리적인 데이터 모델


📌 1-3. DBMS 언어

* 데이터 정의어 (DDL: Data Definition Language)

-데이터 스키마 구조 정의
- CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX


* 데이터 조작어 (DML: Data Manipulation Language)

- 데이터 상태 조작, 비절차적 언어
- SELECT, UPDATE, DELETE, INSERT


* 데이터 제어어 (DCL: Data Control Language)

- 트랜잭션 명시, 권한


📌 1-4. DBMS 사용자

* 데이터베이스 사용자
- 관리자 (DBA: Database Administrator) / 스키마 생성 & 유지
- 응용 프로그래머 / 인터페이스 구현, 기작성 트랜잭션(canned transaction)
- 사용자 (end user) / 질의어 사용 - 캐주얼 사용자, 기작성 트랜잭션 사용 - 초보 사용자
- 설계자 (database designer)
- 오퍼레이터 / 컴퓨터 시스템, 전산실 관리


📌 1-5. ANSI/SPARC 아키텍처와 데이터 독립성

* ANSI/SPARC 아키텍처의 3단계
- 외부 단계 : 데이터베이스의 각 사용자가 갖는 뷰
- 개념 단계 : 데이터베이스에 대한 사용자 공동체의 뷰
- 내부 단계 : 실제의 물리적인 데이터 구조에 관한 스키마


* 스키마 간의 사상
- 외부/개념 사상 : 외부 단계의 뷰를 사용해서 입력된 사용자의 질의를 개념 단계의 스키마를 사용한 질의로 변환
- 개념/내부 사상 : 이를 다시 내부 단계의 스키마로 변환하여 디스크의 데이터베이스를 접근


* 데이터 독립성 : 데이터 맵핑
- 논리적인 데이터 독립성
- 물리적인 데이터 독립성


📌 1-6. 데이터베이스 시스템 아키텍처

* 데이터베이스 시스템 아키텍쳐
- 중앙 집중식
- 분산
- 클라이언트-서버


* 2층 모델

- 클라이언트(응용 논리) - 데이터베이스 서버(응용 논리)


* 3층 모델

- 클라이언트 - 응용 서버(응용 논리) - 데이터베이스 서버