데이터베이스 개념은 자료의 중복을 줄이려는 요구에서 출발한다. 데이터 모델이 무엇을 감추는지, 3단계 스키마가 각각 무엇을 묘사하는지, 계층형과 망형과 객체지향 모델을 어떤 구조로 구분하는지, 관계 데이터 모델의 카디널리티와 디그리, 릴레이션이 지켜야 하는 성질을 살핀다.
여러 응용 프로그램이 같은 자료를 따로 보관하면 중복과 불일치가 생긴다. 데이터베이스 개념은 이런 중복을 최소화해 자료를 일관되게 관리하려고 등장했다. 중복을 오히려 허용하는 것을 목적으로 삼는다고 서술하면 등장 배경과 어긋난다.
데이터 모델은 현실 세계의 개념적 구조를 데이터베이스에 옮기기 위한 중간 단계로, 사용자 입장에서 표현한 논리적 구조다. 모델은 추상화를 통해 물리적 저장소의 세부 내용을 감추는 역할을 하므로, 세부 내용을 사용자에게 그대로 공개한다는 설명은 데이터 모델의 개념과 거리가 있다.
데이터베이스는 3단계 스키마로 나누어 묘사한다. 외부 스키마는 사용자나 응용 프로그램별로 보이는 뷰를 나타내고, 개념 스키마는 데이터베이스 전체의 논리적 구조와 접근 권한, 무결성 규칙을 기술하며, 내부 스키마는 물리적 저장 구조를 다룬다. 전체 구조를 나타내는 스키마를 물리 저장 스키마로 바꾸어 부르면 계층이 뒤바뀐다.
데이터 모델은 저장 구조에 따라 갈린다. 계층형 모델은 데이터를 트리 구조로 표현하고, 망형 모델은 오너와 멤버의 관계를 그래프 구조로 표현한다. 객체지향 데이터 모델은 캡슐화, 상속, 다형성이라는 객체지향의 특성으로 구조와 특성을 정의한다. 망형 모델을 트리 구조로 설명하면 모델의 표현 방식이 달라진다.
관계 데이터 모델에서는 행의 수를 카디널리티, 열의 수를 디그리라 부른다. 두 용어를 서로 바꾸어 설명하면 옳지 않은 서술이 된다. 릴레이션은 튜플 사이에 순서가 없고, 속성 이름이 서로 다르며, 같은 튜플이 중복되지 않고, 각 속성 값이 더 이상 쪼갤 수 없는 원자값이어야 한다는 성질을 갖는다. 속성 값이 여러 값을 담을 수 있다고 보면 원자값 조건을 어긴다.
예제
선지 판단은 데이터베이스가 자료의 중복을 줄이려고 생겼다고 읽는지, 데이터 모델이 물리 저장의 세부를 감춘다고 보는지, 외부·개념·내부 스키마가 각각 사용자 뷰·전체 논리 구조·물리 저장을 맡는다고 가르는지, 망형 모델을 그래프 구조로, 계층형을 트리 구조로 짝짓는지, 객체지향 모델의 근거로 캡슐화·상속·다형성을 드는지, 카디널리티를 튜플 수로, 디그리를 속성 수로 잡는지, 릴레이션의 속성 값이 원자값이어야 한다고 보는지에서 갈린다.
대표 기출 3문항
데이트베이스 모델의 개념과 관계가 먼 것은?
데이터 모델은 추상화를 제공하기 위해 사용된다.
데이터베이스의 구조를 묘사하기 위해 사용되는 개념들의 집합이다.
데이터베이스의 구조는 데이터의 타입, 데이터 간의 관계, 데이터를 유지하기 위해 필요 제약들을 의미 한다.
대부분의 데이터베이스 사용자의 관심밖에 존재하는 저장소의 상세한 내용들을 사용자에게 공개한다.
정답과 해설 보기
정답 ④ · 데이터 모델의 개념과 관계가 먼 것을 고르는 문제이다. 데이터 모델은 데이터베이스의 구조를 묘사하기 위한 개념들의 집합으로, 데이터의 타입, 데이터 간의 관계, 유지에 필요한 제약들을 기술하고 추상화를 제공한다.
데이터 모델은 추상화로 물리적 저장소의 세부 내용을 숨기지, 사용자에게 공개하지 않는다.
데이터모델에 관한 설명 중 옳지 않은 것은?
관계 데이터 모델은 개체와 관계 모두가 테이블로 표현된다.
계층 데이터베이스는 부자관계(parent-child relationship)를 나타내는 트리 형태의 자료 구조로 표현된다.
네트워크 데이터베이스는 오너-멤버관계(owner-member relation)를 나타내는 트리 구조로 표현된다.
데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다.
정답과 해설 보기
정답 ③ · 데이터모델에 대한 설명 중 옳지 않은 것을 고르는 문제이다. 네트워크 데이터베이스는 오너-멤버 관계를 트리가 아닌 망 즉 그래프 구조로 표현하며, 한 멤버가 여러 오너를 가질 수 있다.
네트워크(망형) DB는 오너-멤버 관계를 '망(그래프) 구조'로 표현하며, 트리 구조는 계층형 DB의 표현 방식이다.
데이터베이스의 3단계 스키마 구조에 대한 설명으로 옳지 않은 것은?
내부적 스키마는 데이터베이스의 논리적 저장구조를 묘사한다.
외부적 스키마는 데이터베이스 전체에서 특정 사용자 그룹이 관심을 가지고 있는 일부분만을 묘사한다.
데이터베이스관리시스템은 외부스키마에 따라 명시된 사용자의 요구를 개념스키마에 적합한 형태로 변경하고 이를 다시 내부적 스키마에 적합한 형태로 변환한다.
개념적 수준에서는 사용자 집단을 위한 전체 데이터베이스의 구조를 묘사한다.
정답과 해설 보기
정답 ① · 데이터베이스 3단계 스키마 구조에 대한 옳지 않은 설명을 고르는 문제이다. 3단계 스키마에서 내부 스키마는 데이터베이스의 물리적 저장 구조를 묘사하는 것이므로, 내부 스키마를 논리적 저장구조로 묘사한다는 1번은 옳지 않다.
내부 스키마는 물리적 저장구조, 개념 스키마는 논리적 전체구조, 외부 스키마는 사용자별 뷰를 묘사한다.