1-0 서론
1. 데이터 베이스란?
: 조직체의 응용 시스템들이 공유하는 운영 데이터들이 구조적으로 통합된 모임.
2. 데이터 베이스의 특징(5)
- 여러 사용자가 동시에 사용
- 증복을 최소화하며 통합됨
- 데이터에 관한 설명까지 포함.(데이터베이서 스키마 or 메타데이터)
- 프로그램과 데이터 간의 독립성 제공
- 효율적 접근과 질의가 가능
3. 데이터 베이스 시스템이란?
(Database System): db 정의, 질의어 지원, 리포트 생성 등을 수행하는 소프트웨어
1-1 데이터베이스 시스템 개요
1. 데이터 베이스 스키마와 상태
데이터베이스 스키마 | 데이터베이스 상태 | |
의미 | 데이터베이스의 전체적인 구조. 데이터베이스의 모든 가능한 상태를 미리 정의. |
특정 시점의 데이터베이스 내용. |
변경 | 자주 변경 X | 시간이 지남에 따라 계속 바뀜. |
별칭 | 내포(intension)라고 부름 | 외연(extension)이라고 부름 |
2. 데이터베이스 시스템(DBS) 구성요소(4)
(1) 데이터베이스
- 데이터베이스 구성요소(2): 데이터베이스(데이터 자체), 시스템 카탈로그(= 데이터 베이스 스키마)
(2) 사용자(응용 프로그램)
(3) DBMS
- 정의: 여러 작업을 제공하는 소프트웨어 패키지.(db 생성, 구조 명시, 동시접근제어/ 데이터 질의, 수정, 보호)
- 데이터베이스 언어를 한 개 이상 제공(SQL은 DBMS에서 제공되는 사실상의 표준 데이터 베이스 언어)
(4) 하드웨어
- 데이터베이스는 보조기억장치(디스크)에 저장됨
- DBMS에서 원하는 정보를 찾기위해 주기억장치(RAM)로 읽어야함. DBMS 자체도 주기억장치에 있어야함.
- 계산이나 비교 연산을 수행하기 위해 중앙처리장치(CPU)가 사용됨.
3. 데이터베이스 시스템의 요구사항(9)
- 데이터 독립성
- 효율적인 데이터 접근
- 데이터 동시 접근
- 백업과 회복
- 중복 최소화 및 일관성 유지
- 데이터 무결성
- 데이터 보안
- 쉬운 질의어
- 다양한 사용자 인터페이스
1-2 화일 시스템 vs. DBMS
1. 화일 시스템의 데이터 관리
- 역사: DBMS 등장 전인 1960년대 부터 사용됨.
- 기본 구성요소: 순차적인 레코드(레코드: 연관된필드들의 모임)
- 특징: 응용 프로그램으로부터의 독립성이 약함.(화일 접근 방식이 응용 프로그램 내에 상세히 표현됨)
2. 화일 시스템의 단점(8)
- 데이터가 많은 화일에 중복 저장됨.
- 동시성 제어 제공 X
- 보안 미흡
- 회복 기능 X
- 프로그램-데이터 독립성X → 유지보수 비용↑
- 프로그래머의 생산성이 낮음.(화일 검색, 갱신 절차 복잡)
- 데이터 공유와 융통성 부족
3. DBMS의 데이터 관리(7)
- 다수 사용자가 데이터베이스 공유
- DBMS가 인덱스 등의 접근 경로를 자동적으로 선택.(사용자의 질의 속도↑)
- 데이터베이스 보호(권한 없는 사용자로부터)
- 다양한 인터페이스 제공
- 데이터 간의 복잡한 관계 표현, 무결성 제약조건을 자동적으로 유지
- 시스템이 고장나면 고장 전의 상태로 회복시킴
- 프로그램-데이터 독립성 O
4. DBMS의 장점(8)
- 중복성과 불일치 감소
- 개발 유지 비용 감소
- 표준화 시행에 용이
- 보안 향상
- 무결성 향상
- 조직체의 요구사항 식별 가능
- 고장으로부터 회복 가능
- 동시 접근 및 공유가 가능
5. DBMS의 단점(4)
- 추가적인 하드웨어 구입 비용과, DBMS 자체 구입 비용이 듦.
- 직원들 교육비용이 듦
- 프라이버시 노출이 존재할 수도 있음
- DBMS 추천 안하는 경우(5): 초기 투자비용 클 때, 오버헤드가 클 때, 응용이 단순하고 변경되지 않을 때, 엄격한 실시간 처리 요구사항이 있을 때, 다수 사용자 접근이 필요 없을 때
1-3 DBMS 발전과정
1. 데이터 모델 구성 요소(3)
: 데이터베이스 구조 개념들의 집합/ 이 구조 위의 연산자들/ 무결성 제약 조건들
2. 데이터 모델의 분류(3)
- 고수준 또는 개념적 데이터 모델: 사람이 인식하는 것과 유사하게. ex. 엔티티 관계 데이터 모델, 객체지향 데이터 모델
- 표현(구현) 데이터 모델: 최종 사용자가 이해하는 개념. ex. 계층 데이터 모델, 네트워크 데이터 모델, 관계 데이터 모델
- 저수준 또는 물리적인 데이터 모델: db에 데이터가 어떻게 저장되는가를 기술. ex. Unifying, ISAM, VSAM4
3. DBMS의 발전 과정(5)
① 계층 DBMS
- 등장: 1960년대 후반 등장.(IBM사의 IMS)
- 특징(3): 트리 구조 기반/ 네트워크 데이터 모델의 특별한 사례로 볼 수 있음./ 계층 데이터 모델 사용.
- 장점(1): 어떤 유형의 응용에 대해서는 빠른 속도와 높은 효율성을 제공
- 단점(3): 데이터 접근 방법을 미리 응용 프로그램에 정의해야함/
데이터베이스가 생성될 때 각각의 관계를 명시적으로 정의해야함/ 레코드 구조 변경 어려움.
② 네트워크 DBMS
- 등장: 1960년대 초 등장(Charles Bachman이 하니웰 사에서 IDS 개발)
- 특징(2): 그래프 기반(각 노드들은 부모를 하나 이상 가짐)/ 레네트워크 데이터 모델 사용
- 단점(1): 레코드들이링크로 연결되어있어 레코드 구조 변경이 어려움.
③ 관계 DBMS
- 등장: 1970년 등장(E.F.Codd가 IBM연구소에서 관계 데이터 모델 제안: System R)(버클리대: Ingres 프로젝트)
- 장점(2): 모델이 간단함/ 사용자는 원하는 것만 명시하고, 데이터가 어디 있는지, 어떻게 접근하는 지는 DBMS가 결정.
- 예(5): My SQL Server, Oracle, Sybase, DB2, MySQL 등
④ 객체 지향 DBMS
- 등장: 1980년대 객체 지향 데이터 모델 등장
- 장점(2): 데이터와 프로그램을 그룹화하기 쉬움/ 복잡한 객체들 이해하기 쉬움/ 유지와 변경이 용이함.
- 예(6): ONTOS, OpenODB, GemStone, ObjectStore, Versant, O2 등
⑤ 객체 관계 DBMS
- 등장: 1990년대 객체 관계 데이터 모델이 제안됨.
- 예(3): 오라클, Infomic, Universal Server
⑥ 새로운 데이터 베이스 응용
: CAD db, 소프트웨어 공학 db, 게놈 db, 데이터 웨어하우스, 데이터 마이닝, OLAP, 멀티미디어 db, 웹 db등
Simple data | Complex data | |
Query | 관계 DBMS | 객체 관계 DBMS |
No Query(질의어 x: 큰약점) | 화일 시스템 | 객체 지향 DBMS |
4. 현대 관계 DBMS 기능(7)
- OLAP과 데이터 웨어하우스 지원
- 데이터 마이닝 연산들 지원
- 효율적인 질의 처리 지원: 질의 최적화, 인덱싱
- 고급 사용자 인터페이스 지원: SQL, 자연어, 폼 기반 등
- 트랜잭션 개념 지원: 여러 트랜잭션 동시실행, 백업과 회복을 수행
- 특별한 데이터 타입 지원: 긴 필드, 이미지, HTML 링크, 공간 정보 등
- 객체 지향 개념 지원
5. DBMS 분류(4)
기준 | 종류 |
데이터 모델에 따른 분류(5) | • 계층 DBMS • 네트워크 DBMS • 관계 DBMS • 객체 지향 DBMS • 객체 관계 DBMS |
사용자 수에 따른 분류(2) | • 단일 사용자 DBMS (주로 PC용) • 다수 사용자 DBMS |
사이트 수에 따른 분류(2) | • 중앙 집중식 DBMS • 분산 DBMS |
접근 방법에 따른 분류(2) | • 범용 DBMS • 특별한 DBMS (예: 공간 DBMS) |
'Computer Science > DataBase' 카테고리의 다른 글
[데이터베이스] 5장 데이터베이스 설계와 ER모델 (1) (0) | 2023.11.25 |
---|---|
[데이터베이스] 4장 관계 대수와 SQL (0) | 2023.11.03 |
[데이터베이스] 3장 오라클 (0) | 2023.11.02 |
[데이터베이스] 2장 관계 데이터 모델과 제약 조건 (0) | 2023.10.12 |
[데이터베이스] 1장 데이터베이스 시스템 (2) (0) | 2023.10.10 |