- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
[기본부터 생각해보는] 정보 조직화 데이터 베이스 01
2012.05.25 10:31
[기본부터 생각해보는] 정보 조직화 데이터 베이스 01
데이터베이스 3계층 스키마
학교에서 컴퓨터공학에서 기본으로 수강하는 데이터베이스는 시작으로 파일시스템에 데이터를 저장 및 활용하는 난점을 극복하기 위하여 관계형 DBMS를 사용하기 시작했다고 합니다. 관계형 DBMS는 다음의 여섯가지 특징적인 기능을 수행합니다.
1) 데이터 독립성
- 물리적, 논리적 독립성
2) 데이터 무결성
- 데이터의 유효성 검사를 통해 데이터 무결성을 구현
3) 데이터 보안성
- 계정관리, 권한 설정
4) 데이터 일관성
- 데이터의 불일치성을 배체
5) 데이터 중복 최소화
- 자료의 중복과 데이터의 종속성을 해결
6) 데이터 공유
이로써 DBMS를 사용하여 정보시스템을 구축하지만 또한 배우게 되는 것은 위의 데이터독립성에 따른 3계층 스키마입니다.
데이터 독립성의 유형을 생각하면 다음과 같습니다.
|
독립성의 유형 |
주요 내용 |
|
물리적 데이타 독립성 (Physical Data Independency) |
-데이터베이스의 저장구조가 변경되어도 응용 프로그램이나 개념적 스키마에 영향을 미치지 않는 특성 - 내부 스키마가 변경되어도 외부 스키마와 개념 스키마에 영향이 없음 |
|
논리적 데이타 독립성 (Logical Data Independency) |
- 데이터베이스의 논리적 구조가 변경되어도 응용 프로그램에 영향이 없는 특성 - 개념적 스키마가 변경되어도 최상위 외부 스키마에 영향 없음 |
데이터베이스 독립성을 지원하는 3층 스키마에 대해서 알아보면
3계층 스키마(3tier Schema)는 데이터베이스를 관점에 따라 3개의 계층으로 분리하여 데이터베이스 사용자에게 내부적으로 복잡한 데이터베이스의 구조를 단순화 시키고 데이터베이스의 독립성을 지원하기 위하여 미국의 국립 표준화 기관인 ANSI/SPARC(American National Standard Institute/System Planning And Requirements Committee)에서 정의 계층 구조이다.
3층 스키마는 관점에 따라 3가지 계층으로 나누어지며 첫 번째 사용자 관점의 외부단계(External Level), 전체적인 관점의 개념 단계(Conceptual Level)와 물리적인 저장장치 관점인 내부단계(Internal Level)로 분리된다.
|
3층 스키마 |
주요 내용 |
|
외부레벨/외부 스키마 |
- 사용자 관점 또는 사용자 뷰(User View)를 표현 - 업무상 관련이 있는 데이터만 접근(권한 설정) -관련된 데이터베이스의 일부만 표시(view) |
|
개념레벨/개념 스키마 |
-사용자 전체 집단에 데이터베이스의 구조를 표현 - 전체 데이터베이스 내의 모든 데이터에 관한 규칙과 의미를 표시함 |
|
내부레빌/내부 스키마 |
- 데이터베이스 물리적 저장구조 - 데이터 저장구조, 레코드의 구조, 필드의 정의, 색인과 해싱 - 운영체제와 하드웨어에 종속적 |
데이터베이스 스키마는 계층에 따라 개발자, 관리자, 사용자의 영역구분에 따른 변경이 가능하고 데이터 정의에 대한 표준적인 접근으로 데이터베이스 전체의 유연성을 높이고 사용이 용이하다는 장점이 있다.
[윗글 출처] 임호진 : 데이터베이스3.0
여기서 생각할 것은 현재 실 프로젝트 진행에는 위 3계층 스키마의 적용이 안되고 2~3차 정규화를 거친 물리적 모델링을 프로그래머 개발자가 바로 사용자 스키마의 영역으로 SQL 커리문을 작성하여 적용하여 실무에서는 개념레벨이 빠진 2단계스키마를 적용하여 진행하여 개발업무처리 비중이 데이타베이스 테이블 설계자, 응용 개발 프로그래머에 집중되어 있는 것이 서로간의 불편한 진실이다.
DBMS의 테이블 뷰 기능(VIEW)을 사용하여 2단계인 개념레벨도 구현이 되어 있으면 업무가 많은 것 같아서 오류발생 및 생산성에서 발전이 있을 듯하나, 실제는 프로젝트에서는 DBMS의 View 테이블 기능은 사용하지 않는 것이 일반적이다.
데이터베이스 정보설계자들이 데이터 정보흐름 및 테이블 정규화에는 많은 신경을 쓰면서 개발자를 위한 VIEW(개념스키마)설계에는 등한시하여 벌어지는 일일 수 있다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86338 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78798 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95543 |
| 1 | 빅데이터분석기사 필기 1과목 요약 - 빅데이터 분석 기획 ① | 졸리운_곰 | 2021.01.07 | 2316 |

