[데이터베이스의 정의]
데이터베이스 : 데이터의 집합, 데이터의 저장공간
DBMS : 데이터베이스를 관리·운영하는 역할.
[데이터베이스의 특징]
1) 데이터 무결성
: 오류가 있어서는 안 된다. //제약조건 필요
2) 데이터 독립성
: 데이터베이스의 크기, 저장소 변경 시 기존 작성된 응용 프로그램은 전혀 영향이 없어야 한다.
3) 보안
: DB 내부 데이터에 데이터를 소유한 사람이나 데이터의 접근이 허가된 사람만 접근 가능.
4) 데이터 중복의 최소화
: 동일 데이터가 여러 개 중복되어 저장되는 것을 방지
5) 응용프로그램 제작 및 수정이 쉬워짐
: 통일된 방식으로 응용프로그램을 작성 가능, 유지보수 또한 쉬움.
6) 데이터의 안정성 향상
: 백업·복원 기능을 이용함으로써, 데이터가 깨질 경우, 복원 또는 복구하는 방법이 명확.
[데이터베이스의 역사]
오프라인 관리 -> 파일시스템의 사용 -> 데이터베이스 관리시스템(DBMS)
[개념과 특징]
1) 통합된 데이터(integrate data) : 여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터
2) 저장된 데이터(stored data) : 컴퓨터 저장장치에 저장된 데이터
3) 운영 데이터(operational data) : 조직의 목적을 위해 사용되는 데이터
4) 공용 데이터(shared data) : 공동으로 사용되는 데이터.
[데이터 베이스의 특징]
1) 실시간 접근성(Real Time Accessibility)
: 사용자가 요청하는 순간에 실제 데이터를 서비스하는 것.
2) 계속적인 변화(Continuous Change)
: 데이터 값은 시간에 따라 항상 바뀐다. / 삽입, 삭제, 수정 등의 작업으로 바뀐 데이터 값을 저장한다.
3) 동시 공유 (Concurrent Sharing)
: 데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시에 공유된다.
4) 내용에 따른 참조(Reference by Content)
: 데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아닌 데이터 값에 따라 참조된다.
[데이터베이스 시스템의 구성]
데이터베이스 시스템 : 각 조직에서 사용하던 데이터를 모아서 통합하고 서로 공유하여 생기는 장점을 이용하는 시스템.
데이터베이스 관리 시스템(DBMS), 데이터베이스, 데이터 모델 세 가지로 구성되어 있음.
- DBMS는 사용자와 데이터베이스를 연결시켜주는 소프트웨어로 주기억장치에 상주.
- 데이터베이스는 데이터를 모아둔 토대로 물리적으로 하드디스크에 저장.
- 데이터 모델은 데이터가 저장되는 기법에 관한 내용으로, 눈에 보이지 않는 논리적인 개념.
[데이터베이스의 장점]
- 데이터의 정의나 데이터 값을 DBMS에서 관리하여 프로그램의 데이터 구조가 바뀌어도 다시 컴파일할 필요가 없음.
- 프로그램의 생산성이 높음.
[파일 시스템과 DBMS의 비교]
DBMS는 파일 시스템에 비해 CPU와 주기억장치 등 컴퓨터 자원을 많이 사용하지만 SQL 언어로 응용 프로그램이 데이터에 쉽게 접근할 수 있도록 한다.
[DBMS의 분류]
계층형 DBMS
: 트리 형태(1:N관계)
망형 DBMS
: (1:1, 1:N, N:N 관계)
관계형 DBMS
- 쉽게 변화에 순응
- 유지보수 측면에서 편리함.
- 대용량 데이터의 관리와 데이터 무결성의 보장을 잘해줌.
- 시스템 자원을 많이 차지하여 전박적으로 시스템이 느려짐.
[SQL]
Structured Query Language
- DBMS 제작회사와 독립적이다.
- 다른 시스템으로 이식성이 좋다.
- 표준이 계속 발전한다.
- 대화식 언어이다.
- 분산형 클라이언트/서버 구조이다.
데이터 정의어(DDL : Data Definition Language) : CREATE, ALTER, DROP // DBMS에 저장된 테이블 구조를 정의.
데이터 조작어(DML : Data Manipulation Language) : SELECT, INSERT, DELETE, UPDATE // 데이터를 삽입, 삭제, 수정
데이터 제어어(DCL : Data Control Language) : GRANT, REVOKE // 데이터 사용권한.
[데이터베이스 사용자]
응용 프로그래머 : 데이터베이스 문제를 해결하는 프로그램을 작성하는 사람
일반 사용자 : 응용 프로그래머가 작성한 프로그램을 이용하는 사람
SQL 사용자 : SQL 질의를 작성하거나 SQL로 프로그램을 작성하는 사람
데이터베이스 관리자(DBA) : 조직의 데이터베이스 운영을 총괄하는 사람
[DBMS]
사용자와 데이터베이스를 연결시켜주는 소프트웨어.
데이터베이스 사용자가 DB생성, 공유, 관리할 수 있도록 지원해주는 총체적인 역할.
데이터 정의(Definition | 데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행함 |
데이터 조작(Manipulation) | 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원함 |
데이터 추출(Retrieval) | 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함 |
데이터 제어(Control) | 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어함. 백업과 회복, 동시성 제어 등의 기능을 지원함. |
[데이터 모델]
데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정한다.
가장 많이 사용되는 데이터모델 : 관계 데이터 모델(Relational Data Model)
[데이터 독립성]
논리적 데이터 독립성(Logical data independence)
: 외부 단계와 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원한다. 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 하는 개념이다.
물리적 데이터 독립성(Physical data independence)
: 개념 단계와 내부 단계 사이의 독립성으로, 저장 장치 구조 변경과 같이 내부 스키마가 변경 되어도 개념 스키마에 영향을 미치지 않도록 지원한다.
'Oracle(오라클)' 카테고리의 다른 글
데이터 모델링 (0) | 2020.07.27 |
---|---|
004 - SQL 기초 (0) | 2020.07.15 |
003 - 관계 데이터 모델 (0) | 2020.07.14 |
002 - 요구분석과 시스템 설계 그리고 모델링 (0) | 2020.07.07 |