1장. 데이터베이스의 개념 이해(2)

기타/[데이터베이스 모델링과 마이닝]

2019. 3. 18. 21:47

 

[DBMS의 필수 기능]

1. 정의 기능(Definition) : 가장 적절한 DB 구조를 정의하는 기능. DB 설계자의 도구   

  #규칙(제약)설정자 : 관리자(사람), 정해진 규칙 기억해 수행 및 제어자 : DBMS, 그 규칙을 설정하는 방법 : 정의기능

  # DDD(Data Dictionary / Directory) : DBMS가 사람의 질의(정의한 규칙)을 저장해두는곳

2. 조작 기능(Manipulation) : 사용자-DB 사이의 인터페이스 수단 제공(=검색). DB 응용 개발자의 도구

3. 제어 기능(Control) : 데이터의 정확성과 보안성을 유지하는 기능

 

 

[DBMS의 장단점]

- 장점 : 중복최소, 공용, 일관성, 무결성, 보안, 표준화용이등

- 단점 : 운영비증대, 자료처리복잡, 복잡한 백업및복구, 시스템 취약

 

 

[데이터 독립성]

- 논리적 데이터 독립성 : 응용 프로그램에 영향주지 않고 데이터베이스의 논리적 구조를 변경할수 있다.

- 물리적 데이터 독립성 : 데이터베이스의 논리적 구조에 영향을 주지않고 데이터의 물리적 구조 변경할수 있다.

 

 

[3단계 데이터베이스]

- 3단계 : 외부단계 / 개념담계 / 내부단계

- 스키마 : 데이터베이스의 구조와 제약조건의 명세     

 # 기존에 스키마 한개 => 한곳 수정하면 전부 손봐야했었다.

 # 이렇게 나누면, 특정 스키마가 변화해도 다른 스키마는 영향 받지 않는다.

 

 1) 외부 스키마(External)

   : 각 응용프로그램 입장의 논리적 구조, =서브스키마, 여러개존재가능

 2) 개념 스키마(Conceptual) 

   : 통합 논리적 구조(위와 같은 논리적 구조지만 구분위해 '개념' 용어를 사용했다, 개념과 연관 X***

 3) 내부 스키마(Internal)

   : 물리적 구조

 - 외부 스키마는 개념 스키마에서 필요한 부분만 가져가는 구조 => 신뢰, 공유

 

 

[Data Model과 Data Schema의 구별]

- Data Model : 현실세계의 정보를 추상적으로 묘사한것.  ex)계층적 데이터 모델, 관계 데이터모델등

- Schema : 데이터를 모델링(설계,디자인)한것.

  

 

[데이터베이스 시스템의 구성도]

사용자1(질의어) -> 외부스키마1 -> 개념스키마 -> DBMS -> 개념스키마 -> 내부스키마 -> DB -> 내부스키마 -> 개념스키마 -> 외부스키마1 -> 사용자1

- 모델링 : 위 과정들이 잘 수행되도록 하는것.

 

 

[데이터베이스 시스템 개발 단계]

# 데이터 모델링의 3단계

 1) 개념적 모델링(개념적 설계) 

  : 현실세계의 정보를 사람이 먼저 이해하고 형태로 정리(추상화, E-R다이어그램 생성). #독립적 개념 스키마, 트랜젝션 인터페이스 설계

 2) 데이터 모델링(논리적 설계) 

  : 어떤 DBMS를 사용할지 그거에 맞춰 논리적으로 변환(key, 속성, 관계등 정확히 표현, 정규화, MM관계해소등) #트랜잭션 인터페이스 설계

 3) 물리적 모델링(데이터 구조화) 

  : 논리적 구조 -> DBMS(물리적 성격 고려설계(물리저장구조,접근방법등 고려) #트랜잭션 세부설계