_대문 | 방명록 | 최근글 | 홈피소개 | 주인놈 |
FrontPage › 3단계스키마구조
|
|
[edit]
1 스키마[2]란? #
데이터베이스는 현재 다음과 같은 논리적인 모델이 있다.
[edit]
2 삼단계 스키마 구조 #아래 그림은 3단계 스키마 구조를 나타내고 있다. 3단계 스키마 구조는 데이터베이스를 바라보는 관점으로 각각을 분리한 것이다. 분리함으로써 얻는 이점은 '독립성'과 '중복의 배제'다.
다 필요없이 데이터를 가지고 설명을 하면 다음과 같이 설명된다.
[edit]
3 논리적/물리적 독립성 #물리적 독립성은 내부 스키마가 변경되어도 다른 스키마와 독립적인 것을 말한다. 즉, 물리적으로 변경이 있었어도 개념스키마와 외부스키마에 영향을 끼치지 않음을 의미한다. 여러분의 컴퓨터의 OS를 생각해보라. RAM을 512MB*2에서 1GB*1로 바꾸었다고해서 무슨 문제가 발생하는가? (하드웨어 호환성과 같은 딴지 걸지 말자.) 또한 데이터베이스를 백업하여 다른 물리적인 서버에 복원 할 수도 있다. 이게 물리적 독립성이다.
논리적 독립성은 개념스키마가 논리적으로 변경이 되어도 각 사용자의 전체의 관점을 포함하고 있다면 외부스키마에 영향을 끼치지 않음을 의미한다. 예를 들어 개념스키마 ABCDEFXYZ가 XYZABCDEF로 변경[8]되었다고 해도 모든 외부 관점을 포함하고 있기 때문에 외부 관점에서 볼 때는 아무런 변화를 느끼지 못할 것이다. 만약 이렇게 변경되었을 때에 개발된 프로그램 소스의 유지보수가 필요하다면 데이터베이스를 잘 사용하지 못하고 있는 것이다. 또 다른 예로 조직의 업무가 확장되어 ABCDEFXYZ이외에 MNG라는 외부 관점이 더 생겼다. 그래서 개념스키마에 MNG가 추가되어 ABCDEFXYZMNG가 되었지만 다른 사용자의 관점에 어떤 문제가 발생하지는 않는다.
독립성은 업무 변화에 따른 정보시스템의 변경을 유연하게 해준다. 즉, '유지보수가 쉬워진다'로 압축할 수 있다. 유지보수가 쉽다는 것은 개발의 편의성도 제공해준다는 의미와 같다. 물론 데이터베이스 시스템을 파일 시스템의 방식으로 사용하면 독립성이 가지는 진정한 의미를 찾을 수 없다. 설계자체를 데이터베이스 시스템에 맞게 하는 것이 중요하다.
|
누군가 나에게 상처라는 공을 던졌을 때 그것을 다 받지 말고 거절해라. 모든 행복과 고통은 그때뿐 바람처럼 스쳐 지나간다. |