2015년 7월 11일 토요일

DataBase Study_02

ㅇ ㅂㅇ

11. 데이터베이스 사용자
DBA(DataBase Administrator)
데이터베이스 시스템의 모든 관리와 운영에 대한 책임을 지고 있는 사람이나 그룹을 의미한다.
 - 데이터베이스 구성 요소 결정
 - 개념 스키마 및 내부 스키마 정의
 - 데이터베이스의 저장 구조 및 접근 방법 정의
 - 보안 및 데이터베이스의 접근 권한 부여 정책 수립
 - 장애에 대비한 예비(Back Up) 조치와 회복(Recovery)에 대한 전략 수립
 - 무결성을 위한 제약조건의 지정
 - 데이터 사전의 구성과 유지 관리
 - 사용자의 요구와 불평의 청취 및 해결
 - 변화 요구에 대한 적응과 성능 향상에 대한 감시
 - 시스템 감시 및 성능 분석
 - 데이터 사용 추세, 이용 형태 및 각종 통계 등을 종합, 분석

응용 프로그래머
 - 응용 프로그래머는 일반 호스트 언어로 프로그램을 작성할 때 데이터 조작어를 삽입해서 일반 사용자가 응용 프로그램을 사용할 수 있게, 인터페이스를 제공할 목적으로 데이터베이스를 접근하는 사람들이다.
 - 응용 프로그래머는 C, COBOL, PASCAL 등의 호스트 언어와 DBMS가 지원하는 데이터 조작어에 능숙한 컴퓨터 전문가이다.

일반 사용자
 - 일반 사용자는 보통 터미널을 이용하여 데이터베이스에 있는 자원을 활용할 목적으로 질의어나 응용 프로그램을 사용하여 데이터베이스에 접근하는 사람들이다.

 > 데이터베이스의 디자인과 관리, 그리고 데이터베이스 관리 시스템의 선택, 보완, 평가에 대해 책임을 지는 사람은 DBA 이다.
 > 응용 프로그램의 설계 및 구현은 데이터베이스 관리자(DataBase Administrator)의 역할이 아니라 응용 프로그래머의 역할이다.
 > 데이터베이스 조작어를 호스트 언어에 포함하여 데이터베이스를 접근하는 것은 DBA의 역할이 아니라 응용 프로그래머의 역할이다.
 > 데이터베이스 관리자는 주로 데이터 조작어(DML)를 사용하지 않고 데이터 제어어(DCL)를 사용하여 데이터베이스의 무결성을 유지한다.
 > 데이터 처리 및 데이터 값 관리는 DBA의 역할이 아니라 일반 사용자의 몫이다.
 > DBA가 아닌 일반 사용자는 데이터를 저장하고 저장된 데이터를 사용한다.

12. 데이터 모델의 정의
- 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다.
- 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 표현하기 위해 사용되는 도구이다.
- 데이터 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다.

 > 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하는 개념적인 도구를 데이터 모델이라고 한다.
 > 현실 세계를 데이터베이스에 표현하는 중간 과정으로 데이터 구조를 논리적으로 표현하는 것을 데이터 모델이라고 한다.

13. 데이터 모델의 종류
개념적 데이터 모델
 - 현실 세계에 대한 인간의 이해를 돕기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.
 - 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법이다.
 - 현실 세계에 존재하는 개체를 인간이 이해 할 수 있는 정보 구조로 표현하기 때문에 정보 모델이라고도 한다.
 - 대표적으로 개체-관계(E-R) 모델이 있다.

논리적 데이터 모델
 - 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리 할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다.
 - 필드로 기술된 데이터 타입과 이 데이터 타입 간의 관계를 이용하여 현실 세계를 표현하는 방법이다.
 - 단순히 데티어 모델이라고 하면 논리적 데이터 모델을 의미한다.
 - 논리적 데이터 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분한다.

 > 개체-관계(E-R) 모델은 개념적 데이터 모델이다.
 > 데이터 모델은 현실 세계를 데이터베이스로 표현하는 과정에서 개념적인 구조, 논리적인 구조를 표현하기 위해서 사용하며 물리적인 구조를 표현하지는 않는다.
 > 개념적 데이터 모델은 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법이다.
 > 논리적 데이터 모델은 필드로 기술된 데이터 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법이다.
 > 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정을 정보 모델링이라고 한다.
 > 현실 세계에 존재하는 개체를 컴퓨터 세계의 환경에 맞게 표현하는 과정은 논리적 데이터 모델링인 데이터 모델링이고, 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정은 개념적 데이터 모델링에 해당하는 정보 모델링입니다.

14. 데티어 모델에 표시할 사항
- 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현함.
- 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 방법을 표시하는 것으로서 데이터베이스를 조작하는 기본 도구임
- 제약 조건(Constraint) : 데이터 베이스에 저장될 수 있는 실제 데이터의 논리적인 제약조건을 표시함

 > 데이터 모델의 구성 요소 3가지는 구조(Structure), 연산(Operation), 제약 조건(Constraint)이다.
 > 데이터 모델의 구성 요소 중 데이터베이스에 표현된 개체 인스턴스를 처리하는 작업에 대한 명세서로 데이터베이스를 조작하는 기본 도구는 연산(Operation)이다.
 > 데이터 모델의 구성 요소 중 데이터베이스에 표현될 대상으로서의 개체 타입과 개체 타입들 간의 관계를 기술한 것은 구조(Structure)이다.
 > 데이터 모델은 일반적으로 3가지 구성 요소를 포함하고 있다. 첫째, 논리적으로 표현된 데이터 구조, 둘째, 이 구조에서 허용될 수 있는 연산(Operation), 셋째, 이 구조와 연산(Operation)에서의 제약조건(Constraint)에 대한 명세를 기술한 것이다.

15. 데이터 모델의 구성 요소
개체(Entitiy)
 - 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.
 - 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성된다.
 - 파일 시스템의 레코드에 대응하는 것으로, 어떤 정보를 제공하는 역할을 수행한다.
 - 실세계에 독립적으로 존재하거나 그 자체로서 구별이 가능하다.
속성(Attribute)
 - 데이터의 가장 작은 논리적 단위로서 파일 구조의 데이터 항목 또는 데이터 필드에 해당된다.
 - 개체를 구성하는 항목이다.
관계(Relationship)
 - 개체 간의 관계 또는 속성 간의 관계
 개체의 구성요소
  > 속성 : 개체가 가지고 있는 특성
  > 개체 타입 : 속성으로만 기술된 개체의 정의
  > 개체 인스턴스 : 개체를 구성하고 있는 각 속성들이 값을 가져 하나의 개체를 나타내는 것으로 개체 어커런스(Occurence)라고도 함
  > 개체 세트 : 개체 인스턴스의 집합

 > 개체는 컴퓨터가 취급하는 파일의 레코드에 대응된다.
 > 데이터 모델 -> 스키마(DBMS로 생성) -> 인스턴스(스키마에 저장) 의 관계를 갖고 있다.
 > 데이터베이스의 구성 요소 중 데이터베이스가 표현하려고 하는 유형, 무형의 정보 대상으로 존재하면서 서로 구별될 수 있는 것을 개체라고 한다.
 > 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 도는 데이터 필드에 해당하는 것은 속성이다.
 > 개체는 물리적(개인, 차, 집, 종업원 등) 혹은 개념적(회사, 직업, 대학 과정 등)이며, 실세계에 독립적으로 존재한다.

16. 개체-관계(Entity-Relationship) 모델
- 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 Peter Chen에 의해 제안됬다.
- 개체 타입(Entity Type)과 이들 간의 관계 타입(Relationship)을 이용해 현실 세계를 개념적으로 표현한다.
- 데이터를 객체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사한다.
- E-R 다이어그램으로 표현한다.
- 특정 DBMS를 고려한 것이 아니기 때문에 관계 표현에 제한이 없다.

 > 개체-관계(Entity-Relationship) 모델을 최초로 제안한 사람은 Peter Chen이다.
 > 개체-관계 모델은 일 대 일(1:1) 관계 유형만을 표현하는 것이 아닌 1:1, 1:N, N:M으로 제한이 없다.
 > E-R 모델은 데이터를 엔티티, 관계, 속성으로 묘사한다.
 > E-R 모델에서 관계는 속성들에 대한 관계가 아닌 개체 간의 관계를 표현한다.
 > 1976년 P.Chen이 제안한 것으로, 개체 타입(Entity Type)과 이들 간의 관계 타입(Relationship)을 이용해 현실 세계를 개념적으로 표현한 것은 E-R 모델이다.
 > 개체-관계 모델을 오너-멤버(Owner-Member)라고 하지 않는다.
 > 정보 시스템 설계에서, 실체 간의 관계는 물론 시스템 내의 역할을 하는 모든 실체들, 즉 조직, 부서, 사용자, 프로그램, 데이터를 표시하는 다이어 그램은 E-R 다이어그램이다.

17. E-R 다이어그램
- E-R 모델의 기본적인 아이디어를 시각적으로 표현하기 위한 도구이다.
- 개체 간의 관계는 물론 시스템 내의 역할을 하는 모든 개체들, 즉 조직, 부서, 사용자, 프로그램, 데이터를 모두 표시한다.

개체 타입 - 사각형
관계 타입 - 마름모(다이아몬드)
속성 - 타원
링크 - 선
복합 속성 - 복수 타원
기본키 속성 - 밑줄 타원

18. 관계형 데이터 모델
- 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다.
- 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB 구조를 말한다.
- 데이터 간의 관계를 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 표현한다.
- 대표적인 DBMS : Oracle, MS-SQL, Informix 등
- 1:1, 1:N, M:N 관계를 자유롭게 표현한다.
- 장점 : 간결하고, 보기 편리하며, 다른 데이터베이스로의 변환이 용이함
- 단점 : 성능이 다소 떨어짐

 > 논리적인 데이터 모델에서 데이터 간의 관계를 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 표현하는 데이터 모델은 관계형 데이터 모델이다.

19. 계층형 데이터 모델
- 데이터의 논리적 구조도가 트리 형태이며, 개체가 트리를 구성하는 노드 역할을 한다.
- 개체 집합에 대한 속성 관계를 표시하기 위해 개체를 노드로 표현하고 개체 집합 들 사이의 관계를 링크로 연결한다.
- 개체 간의 관계를 부모와 자식 간의 관계로 표현한다.
- 개체 타입 간에는 상위와 하위 관계가 존재하며, 일대다(1:N) 대응 관계만 존재한다.
- 레코드 삭제 시 연쇄 삭제(Triggered Delete)가 된다.
- 개체 타입들 간에는 사이클(Cycle)이 허용되지 않는다.
- 계층형 모델에서는 개체(Entity)를 세그먼트(Segment)라 부른다.
- 대표적인 DBMS는 IMS이다.

20. 망(그래프, 네트워크)형 데이터 모델
- CODASYL이 제안한 것으로, CODASYL DBTG 모델이라고도 한다.
- 그래프를 이용해서 데이터 논리 구조를 표현한 데이터 모델이다.
- 상위와 하위 레코드 사이에서 다 대 다 (N:M) 대응 관계를 만족하는 구조이다.
- 상위의 레코드를 Owner, 하위의 레코드를 Member라하여 Owner-Member 관계라고도 한다.
- 레코드 타입 간의 관계는 1:1, 1:N, N:M이 될 수 있다.
- 대표적인 DBMS : DBTG, EDBS, TOTAL 등




















댓글 없음:

댓글 쓰기