Oracle(오라클)

001 - Database란?

나른한 노치 2020. 7. 7. 00:31

[데이터베이스의 정의]

데이터베이스 : 데이터의 집합, 데이터의 저장공간

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