ㅁ 파일 처리 시스템 사용의 문제
- 데이터 독립성의 문제
- 데이터 중복성의 문제
- 무결성 보장 문제
- 동일 액세스 문제 : 동일 데이터의 다수 사용자 접근 허용
ㅁ DBMS의 사용
- 매개체의 역할 + @
- 데이터의 사용과 데이터의 관리를 분리시킴
ㅁ 용어정리
- 데이터(data) : 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 설명
- 데이터베이스 : 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
- DBMS : DB에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패캐지
ㅁ DBMS의 특징
- 자기 기술성(self-describing)
- 데이터의 격리 및 추상화 : 사용자에게 데이터에 대한 개념적인 표현을 제공
- 다중 뷰 제공 : 각 사용자에게 관심을 가지는 데이터베이스의 일부만을 표현하는 뷰 제공
- 데이터 공유와 다수 사용자 트랜잭션 처리
ㅁ DBMS의 구조
- 개념적 단계, 논리적 단계, 물리적 단계
ㅁ 인스턴스와 스키마
- 인스턴스 : 특정 시점에서 DB에 저장된 정보 집합, 시간에 따라 변화
- 스키마 : 데이터 저장 형식을 결정하는 전반적인 구조, 시간지나도 드물게 변경
ㅁ 데이터 모델
- 사용가능한 데이터만을 선별하여 구조화된 DB에 저장, 사용 할 방법이 필요
- 의미, 데이터 타입, 연산 및 제약조건을 명시하기 위해 사용할 수 있는 개념들의 집합
- 데이터 모델링 : 실세계의 일부분을 DBMS가 지원하는 데이터 모델로 나타냄
ㅁ ER 모델
- 실세계 인식에 기초하여 객체를 나타내는 개체(entity)들과 개체들 간의 관계로 구성
ㅁ 관계형 모델
- 릴레이션이라 하는 표 형태의 데이터 구조를 사용하여 데이터를 저장
ㅁ 객체지향적 모델
- 상위클래스, 하위클래스
ㅁ 연습문제 풀이
1. DBMS 사용 이전의 데이터 관리 방식으로 운영체제의 지원으로 여러 파일에 나누어 데이터를
영구 저장하고 운영하는 시스템을 무엇이라고 하는가?
-> 파일 처리 시스템
2. 다음 중 파일 처리 방식의 데이터 관리가 갖는 문제점으로 볼 수 없는 것은?
-> 데이터의 독립
3. 데이터베이스 시스템이 데이터베이스 자체뿐만 아니라 데이터베이스에 대한 정의나 설명에
대한 것까지 포함하고 있는 특성을 무엇이라 하는가?
-> 자기 기술성
4. 데이터베이스를 체계적인 구조로 표현하기 위해 사용하는 개념의 집합으로 데이터 타입, 데이터의 연산,
데이터의 의미 및 일관성 제약조건을 명시하기 위해 사용하는 도구를 무엇이라고 하는가?
-> 데이터 모델
5. DBMS는 3단계 구조로 나뉘어 단계 간 사상을 통해 논리적 데이터 독립성과 물리적 데이터 독립성이 확보된다.
이 때 물리적 데이터 독립성이 확보되는 사상은 무엇인가?
-> 논리-물리 사상
6. 데이터베이스 언어의 한 영역으로 데이터베이스에 의해 구조화된 데이터에 사용자가 접근 및
사용 할 수 있도록 지원하는 언어를 무엇이라고 하는가?
-> 데이터 조작어(데이터 저장, 수정 삭제 수행)
ㅁ 정리하기
데이터베이스는 ‘한 조직의 여러 응용 시스템을 다수의 사용자가 공용(shared)으로 사용하기 위해 통합(integrated),
저장(stored)된 운영(operational) 데이터의 집합’이라고 정의된다.
파일 처리 시스템의 문제점으로는 데이터의 중복성, 데이터의 종속성, 데이터의 무결성 훼손, 그리고 동시 접근 이상을 들 수 있다.
데이터의 중복은 데이터 간에 불일치가 발생할 가능성을 높이기 때문에 데이터의 일관성을 유지시키기가 어려워진다.
또한 동일한 수준의 보안 유지 및 중복된 데이터의 갱신 비용이 커지는 문제를 일으킬 수 있다.
데이터베이스 시스템의 특징으로는 자기 기술성과 프로그램–데이터 독립성 및 프로그램–연산 독립성과 자료의 추상화,
사용자를 위하여 제공되는 다중 뷰와 트랜잭션 처리를 들 수 있다.
데이터 모델은 데이터베이스의 구조를 명시하기 위한 것으로서 개념적 데이터 모델로 대표적인 것은 ER 모델이다.
그리고 논리적 데이터 모델로는 관계형 모델, 객체지향 모델, 객체 관계형 모델, 계층형 모델, 망형 모델 등이 있는데,
이 중에서 현재 가장 널리 사용되는 모델은 관계형 모델이다.
데이터 모델링이란 실세계 데이터를 데이터 모델상의 데이터베이스 구조로 변환하는 과정을 의미한다.
이것은 어떤 데이터 모델을 지원하는 DBMS를 사용하느냐 하는 문제와 연관된다.
데이터베이스의 사용은 기존의 파일 처리와 비교하여 백업과 회복, 표준화의 용이, 애플리케이션 프로그램 개발시간의 단축,
유통성, 최신 정보의 가용성, 규모의 경제성 등 많은 장점이 있다. 반면 운영비의 오버헤드, 복잡한 자료 처리 방법, 백업 및 회복의
오버헤드 등의 단점도 있다. 그리고 이러한 단점 때문에 오히려 데이터베이스를 사용하지 않는 것이 더 적합한 경우도 있다.
데이터베이스 시스템은 3단계 구조, 즉 개념적 단계, 논리적 단계 그리고 물리적 단계로 구성된다.
각 단계 간의 접속에서 특정 개념적 스키마와 논리적 스키마 간의 대응 관계를 정의한 개념적–논리적 사상과, 논리적 스키마와
물리적 스키마 간의 대응 관계를 정의한 논리적–물리적 사상에 의해 연관성을 갖는다. 개념적 단계는 사용자 뷰를 나타내며,
논리적 단계는 데이터베이스의 논리적인 전체 구조를 나타내고, 물리적 단계는 데이터가 기억장소에 저장되기 위한 물리적 구조를 정의한다.
데이터베이스 구현을 위한 언어 중에서 논리적 스키마를 정의하기 위해 사용되는 것을 데이터 정의 언어(DDL:Data Definition Language)라고 하고,
데이터베이스 스키마와 이와 관련된 부가적인 특징은 데이터 정의 언어(DDL)에 의해서 표현된다. DDL은 주로 DBA에 의해 사용된다. DDL 명령의 결과는
데이터 사전에 기록된다.
데이터 조작 언어(DML)는 구조화된 데이터에 사용자가 접근 및 조작을 할 수 있도록 지원하는 언어를 뜻한다.
DML을 통한 데이터 조작 기능은 사용자와 DBMS사이의 인터페이스에서 아주 중요한 부분이다.
'문돌이의 IT > Oracle' 카테고리의 다른 글
[방통대 컴퓨터과학과]데이터베이스 모델링 요약 (0) | 2017.05.02 |
---|---|
[방통대 컴퓨터과학과]데이터베이스의 이해 요약(2) (0) | 2017.05.02 |
[Oracle]오라클 쿼리 기초 (0) | 2016.12.22 |
오픈소스DB mariadb 설치하기 (0) | 2016.12.07 |
데이터베이스 쿼리문 연습 (0) | 2016.07.29 |