데이터베이스

Download Report

Transcript 데이터베이스

1
2
• 데이터 베이스란 ?
• 관계형 데이터 베이스
• 상용 데이터 베이스 종류
3
▶ 데이터베이스
• 데이터베이스
– 특정 기업이나 조직 또는 개인이 필요에 의해 데이
터를 일정한 형태로 저장해 놓은 것
– 여러 사람에 의해 공유되어 사용될 목적으로 통합
관리되는 정보의 집합
4
▶ 데이터베이스 발전 과정
ㅇ 초기엔 파일 시스템 구조로 되어있었다.
ㅇ 1960년대 계층형(Heirachica) DBMS 상용화
ㅇ 1970년대 망형(Network) DBMS가 개발
ㅇ 1980년대 관계형(Relational) DBMS가 출시, 관계형 DBMS의 이론은 1970년
대 이전부터 나오기 시작하였지만 그 이론이 제품화되어 최초로 상용 DBMS로
판매되게 된 것은 1979년 ORACLE 사에 제품출시 (ingres, ORACLE, DB2,SYBASE,
INFORMIX …)
ㅇ 1990년대 객체지향형(Object-Oriented) DBMS 시스템 개발,
멀티미디어 및 복합 데이터의 저장 및 관리의 요구에 의해 개발 (ObjectStore…)
ㅇ 1990년대 중반 객체관계형(Object-Relational) DBMS의 장점을 결합하려는
시도임
대부분의 메이저급 회사들이 객체관계형 DBMS 버전을 출시 (UniSQL, Postgres,
ORACLE, INFORMIX Universal Server …
5
▶ 데이터베이스
계층형(Hierarchical) DBMS (1960년대)
ⓐ 트리구조를 기반으로 하는 데이터 모델을 사용한 DBMS
ⓑ 장점은 어떤 유형의 응용에 대해서는 빠른 속도 및 높은 효율을 제공
ⓒ 저장되는 데이터가 트리형태로 모델링 될 수 있다면 사용 바람 직
ⓓ 단점은 데이터를 접근방식을 응용 프로그램에서 미리 정의해야 함
ⓔ 데이터베이스가 생성될 때 각각의 관계가 명시적으로 정의 되어야 함
ⓕ 레코드들이 링크로 연결되어 있어 구조변경이 용이하지 않음.
6
▶ 데이터베이스
네트워크(Network) DBMS (1970년대)
ⓐ 레코드(record)들이 노드(node)로, 레코드들의 관계는 간선으로 표현
ⓑ 현실세계를 가장 잘 표현하는 모델이나 구조가 복잡하여 이해하기 곤란함
ⓒ 레코드들이 링크로 연결되어 있어 레코드 구조 변경이 어려움.
7
▶ 데이터베이스
관계형(Relational) BBMS (1980년대)
ⓐ 현재 가장 많이 사용되는 DBMS, 응용프로그램 개발에 획기적인 개선 유도
ⓑ 간단하며 이해하기 쉽고 사용하기 용이, RDB라고 흔히 칭함
ⓒ 2차원 형식의 단순하고 직관적인 표(테이블)을 사용
ⓓ 관계(Relational)이라는 수학점 개념 도입
ⓔ Oracle, DB2, MS SQLServer, MySQL …
8
▶ 데이터베이스
기타 DBMS
※ 객체지향 DBMS (OODB) : Object-Oriented DBMS
ⓐ 객체지향 언어에서 사용되는 객체들을 그대로 저장할 수 있는 DBMS
ⓑ 현재는 객체지향 언어의 객체들도 OR-Mapping을 통해 RDB에 저장
ⓒ 향후 사용이 확대될 것임
※ 객체 관계 DBMS (ORDBMS) : Object-Relational DBMS
ⓐ 기존의 RDB에 객체(Object)를 저장할 수 있는 기능을 추가한 형태
ⓑ Oracle, Informix Universal Server …
9
▶ 데이터베이스
• 상용 데이터 베이스 종류
10
▶ DB2 History
1983 최초의 관계형 DBMS인 DB2 탄생
1996 UDB DB2 5
2000 한국 IBM, e-비즈니스 전용 데이터베이스 DB2 UDB7 발표
2002 UDB DB2 8 발표
2003 DB2 EXPRESS 출시
2004 DB2 UDB v8.2 출시
2006 DB2 9 발표
2008 한국 IBM DB2 교육 및 커뮤니티 활동 노력
2011 PureScale
11
• 관계데이터
12
▶관계데이터
관계 데이터 모델의 개념
■ 현존하는 데이터 모델들중 가장 단순하고 효율적인 모델
- 장점 –
* 데이터 베이스 관리의 논리적 면과 물리적인 면을 명확하게 부분하여 데이터 독립
성을 높임
* 다른 데이터 모델에 비해서 단순한 구조를 가짐으로 다양한 시스템 개발에 용이함
* 한번에 다수의 레코드(정보)들을 조작할 수 있음
* 데이터베이스 관리 분야에서 튼튼하고 다양한 이론적인 근거 제공
* 1980년대부터 Oracle, DB2와 같은 다양한 상용 및 무료 데이터베이스들이 등장하
였다.
-오늘날에도 널리 사용되고있음.
13
▶관계데이터
관계 데이터 모델의 기본 용어
14
▶관계데이터
관계 데이터 모델의 기본 용어
■ 스키마 (Schema) : 데이터베이스 오브젝트(Object)의 정의
■ 인스턴스 ( Instance) : 테이블에 저장되어있는 레코드(Row)의 집합
오라클 인스턴스는 백그라운드 프로세스와 메모리의 결합, 오라클 데이터 베이스를
접속하는 수단입니다.
DB2에서는 DB2 엔진의 기능을 사용할 수 있는 논리적인 환경입니다.
■ 도메인 (Domain) : 칼럼(Coumn)이 가질 수 있는 값의 집합
■ null : 애트리뷰트의 값이 없는값
15
• 데이터 베이스
오브젝트
16
▶데이터 베이스 오브젝트
1. 테이블 : 2차원 배열 구조로 실제 데이터를 저장하는 핵심 오브젝트
2. 뷰 : 가상의 논리적인 테이블 , 뷰를 사용하는 이유는 편의성과 보안성이다.
View를 통해서도 데이터를 입력, 수정, 삭제 가능 , View와 테이블 간의 조인도 가능
보안성 : 보안상 필요없는 필드를 빼고 뷰를 만들어서 이용할 수 있다.
3. 저장 프로시져 ( Stored Procedure ) :
View와 비슷한 모습을 갖지만 파라미터를 활용할 수 있어서 융통성이 뛰어나고 절
차적인 프로그래밍이 가능하며 속도가 빠르다.
파라미터 : 매개변서 , 프러시져나 함수가 실행하면서 넘겨주는 값
4. 트리거 : 특정 테이블에 INSERT, UPDATE, DELETE 문이 실행될 때 자동으로 실행되
는 일련의 작업들을 정의
5. 사용자 정의 함수 : 사용자가 임의로 리턴값을 구하는 환경에서 직접 함수를 정의
17
▶데이터 베이스 오브젝트
6. 인덱스:
원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 개
념. Table에 저장되어 있는 데이터 중에 필요로 하는 데이터들을 정렬해
서 해당 ROW의 위치정보를 가지고 별도의 위치에 저장된 Object.
18