🍏 DataBase
조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임이다. 데이터베이스의 구조는 사용되는 데이터 모델에 의해 결정된다.
✅ DataBase의 특징
- 데이터의 대규모 저장소, 여러 부서에 속하는 여러 사용자에 의해 동시에 사용된다.
- 모든 데이터가 중복을 최소화하면서 통합된다
- 데이터베이스는 한 조직체의 운영 데이터뿐만 아니라 그 데이터에 관한
설명(데이터베이스 스키마 또는 메타데이터(metadata))까지 포함.
- 프로그램과 데이터 간의 독립성이 제공됨
- 효율적으로 접근이 가능하고 질의를 할 수 있음
✅ DBMS
= Database Management System
= 데이터베이스 관리 시스템
- 데이터베이스를 정의하고, 질의어를 지원하고, 리포트를 생성하는 등의 작업을 수행하는 소프트웨어
- DBMS 선정 시 고려 사항
- 기술적 요인 : 데이터 모델 / UI / 언어 등
- 경제적 요인
- 컴퓨터 시스템에서 DBMS 위치

- 장점
- DB의 공유와 동시 접근 가능
- 중복성, 불일치 감소
- 유지 비용 감소 / 보안 향상
- 무결성 향상 / 회복 기능
- 단점
- 비용 ( HW 구입비, DBMS 구입비, 직원 교육 )
- 프라이버시 노출
✅ DataBase 스키마
- 전체적인 데이터베이스 구조
- 모든 가능한 상태를 미리 정의
- 내포(intension)
✅ DataBase 상태
- 특정 시점의 DB 내용
- 시간이 지남에 따라 계속 바뀐다
- 외연(extension)
✅ DBS의 구성요소
- DBS = Database System
- 시스템 카탈로그 : 저장된 데이터베이스의 스키마 정보를 유지


✅ DBS의 요구사항
- 데이터 독립성
- 효율적인 데이터 접근
- 데이터에 대한 동시 접근
- 백업과 회복
- 중복을 줄이거나 제어하며 일관성 유지
- 데이터 무결성
- 데이터 보안
- 쉬운 질의어
- 다양한 사용자 인터페이스
✅ File System vs DBMS

File System
- 데이터 관리
- 기본적 구성요소 : 순차적 레코드들
- 레코드 : 연관된 필드들의 모임
- 데이터에 대한 응용프로그램의 의존도가 높다
파일에 접근하는 방식이 응용 프로그램 내에 상세하게 표현되어 있어서
- 단점
- 데이터가 많은 파일에 중복되어 저장된다
- 다수 사용자들을 위한 동시성 제어가 제공 XX
- 질의어 제공 X
- 보안 X / 회복 기능 X
- 프로그램-데이터 독립성 X -> 유지보수 비용

DBMS
- 데이터 관리
- 프로그램 - 데이터 독립성
- 여러 사용자와 응용 프로그램들이 DB 공유
- 사용자의 질의를 빠르게 수행할 수 있도록 함
- 보안 / 다양한 인터페이스 / 회복 기능
- 무결성 제약 조건 자동 유지

🍏 데이터 모델
- 데이터베이스의 구조(데이터 타입과 관계) + 연산자들 + 무결성 제약조건들
- 사용자에게 내부 저장 방식의 세세한 사항은 숨기면서 데이터에 대한 직관적인 뷰를 제공하는 동시에 이들 간의 사상을 제공
✅ 데이터 모델 - 분류
- 고수준 또는 개념적 데이터 모델
사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적 구조를 명시
ex) 엔티티-관계(ER) 데이터 모델
- 표현(구현) 데이터 모델
최종 사용자가 이해하는 개념
ex) 관계 데이터 모델
DB에 데이터가 어떻게 저장되는가를 기술
- 저수준 또는 물리적인 데이터 모델
✅ DBMS 발전 과정


- 관계 DBMS
모델이 간단하여 이해하기 쉽다
ex) 오라클, MS SQL Server, Sybase, DB2, Informix

-
객체 지향 DBMS
ex) ONTOS, OpenODB, GemStone, ObjectStore, Versant, O2
-
객체 관계 DBMS
ex) 오라클, Informix Universal Server
✅ 현대의 관계 DBMS

🍏 DBMS 언어

✅ 데이터 정의어(DDL)
- 데이터 스키마 정의
- 기능

✅ 데이터 조작어(DML)
- 데이터베이스 내의 원하는 데이터를 검색 / 수정 / 삽입 / 삭제
- SQL : 비절차적 언어
- 기능

✅ 데이터 제어어(DCL)
- 데이터베이스 트랜잭션을 명시하고 권한을 부여하거나 취소
🍏 DBMS 사용자

🍏 ANSI/SPARC 아키텍처
✅ ANSI/SPARC 3단계 아키텍처
- 외부 단계 : 각 사용자 뷰
- 개념 단계 : 사용자 공동체의 뷰
- 내부 단계 : 물리적 또는 저장 뷰

✅ 외부 단계
- 각 사용자가 갖는 뷰
- 최종 사용자와 응용 프로그래머들은 데이터베이스의 일부분에만 관심을 가진다.
✅ 개념 단계
- 사용자 공동체의 뷰
- 물리적인 구현은 고려 X
- 조직체 전체에 관한 스키마 포함
- 어떤 데이터가 저장되어있고, 데이터 간의 관계와 무결성 제약조건들을 기술
✅ 내부 단계
- 실제의 물리적인 데이터 구조에 관한 스키마
- 어떤 데이터가 어떻게 저장되어 있는가
- 개념 스키마에는 영향을 미치지 않으면서 성능을 향상시키기 위해 내부 스키마를 변경하는 것이 바람직
- 내부 단계 아래 : 물리적 단계 (OS가 관리)
🍏 데이터 독립성
= 상위 단계의 스키마 정의에 영향을 주지 않고 스키마를 변경 가능한 것
✅ 논리적인 데이터 독립성
개념 스키마 <-> 외부 스키마
- 개념 스키마의 변화로부터 외부 스키마가 영향 받지 않는 것
- 외부 스키마에 영향을 미치지 않고, 응용 프로그램을 다시 작성할 필요 없이 개념 스키마에 대한 변화가 가능해야 한다
✅ 물리적인 데이터 독립성
개념 스키마 <-> 내부 스키마
- 내부 스키마로부터 개념 스키마가 영향 받지 않는 것. 외부 스키마도 영향 X
- 내부 스키마 변화 ex)
파일의 저장구조를 바꾸거나 인덱스 생성 및 삭제

🍏 DBS 아키텍쳐

✅ 중앙 집중식 DBS
DBS가 하나의 컴퓨터 시스템에서 운영

✅ 분산 DBS
네트워크로 연결된 여러 사이트에 데이터베이스 자체가 분산 / 사용자는 다른 사이트에 저장된 데이터베이스도 접근할 수 있다

✅ 클라이언트-서버 DBS
- DB가 하나의 DB서버에 저장되어 있다
- DBS의 기능이 서버와 클라이언트에 분산된다
- 장점 : 보다 넓은 지역에서 접근 가능 / 다양한 컴퓨터 시스템 사용 가능
- 단점 : 보안 취약
![업로드중..]()