데이터베이스의 구성요소는 보는 관점에 따라 사용자 관점에서의 논리적 구성요소와 시스템 관점에서의 물리적 구성요소로 나누어 볼수 있다. 정보에 주안점을 두고 있는 사용자에게 물리적 구성요소는 큰 의미가 없으므로 여기서는 사용자 측면에서의 논리적 구성요소를 살펴보기로 한다.
① 개체
데이터베이스 분야에서 개체란 현실 세계에 대해 사람이 생각하는 개념이나 정보의 단위로서으 의미를 가진다. 이것은 컴퓨터가 취급하는 파일의 레코드(record)에 대응한다. 이 개체는 단독으로 존재할 수 있고, 정보로서의 역할을 한다. 또한 하나의 개체는 하나 이상의 속성, 즉 애트리뷰트(attribute)로 구성되고 각 애트리뷰트는 그 개체의 특성이나 상태를 나타낸다.
예를 들면 그림에서 학생이라는 개체는 학번, 성명, 학과라는 3개의 속성으로 구성되어 있다. 이와 같이 속성은 이름을 가진, 데이터의 가장 작은 논리적 단위이며 파일에서는 필드(field)라고 한다. 정보의 측면에서 볼 때 이 속성은 그 자체만으로는 중요한 의미를 표현하지 못하므로 단독으로는 존재하지 못한다. 이것이 개체와 구별되는 성질이다.
각 속성들은 개별적으로는 우리에게 어떤 정보를 제공해 주지는 못하지만 이 속성이 모여 학생이라는 개체를 구성하여 표현될때는 큰 의미가 제공된다.
어느 한 특정 개체는 그 개체를 구성하는 속성들이 구체적인 값을 가짐으로서 실체화된다.
실제로 한 학생의 개체를 나타내는 <10101, 김영희, 통신>은 학생 개체의 한 값으로 볼 수 있는데 이것을 개체 인스턴스(entity instance) 또는 개체 어커런스(entity occurrenee)라고 하고 이러한 개체 인스턴스의 집합을 개체 집합(entity set)이라고 한다. 데이터베이스는 바로 이러한 개체 인스턴스를 저장하고 있다. 반면 속성이름(합번, 성명, 학과)들로 기술된 개체의 정의를 개체타입(entity type)이라 한다. 개체 타입은 논리적인 개념이고 개체 인스턴스는 데이터베이스에 저장되는 구체적인 개체가 된다.
같은 논리로 필드 이름으로 구성된 레코드의 정의를 레코드 타입(record type)이라 하고, 실제 필드값(field value)으로 구성된 레코드를 레코드 인스턴스(record instance) 또는 레코드 어커런스(record occurrence)라고 한다.
② 관계
개체 집함과 개체 집합간에는 여러 가지 유형 관계(relationship)가 존재하는데 이 관계도 데이터베이스의 저장 대상이다. 왜냐하면 이 관계는 개체들을 연관시켜 어떤 의미를 나타내고 있으므로 정보의 대상이 되어 개체와 다름이 없기 때문이다. 다만 성격상 무형적이고 다루기 복잡하여 별개의 요소로 취급하고 있다.
이 관계는 속성 관계(attribute relationship)와 개체 관계(entity relationship)로 나누어 볼 수 있는데 속성관계는 어느 특정 개체를 기술하는 개체와 속성들간늬 관계이고 개체 관계는 개체집합과 개체 집합 사이의 관계를 의미한다.
즉 그림에서와 같이 학생 개체를 나타내는 학번, 성명, 학과라는 속성들은 학생 개체와 속성관계이며, 학생 개체와 교사 개체 사이의 지도라는 관계는 개체 관계가 된다. 이와 같은 다이어그램을 E-R 다이어그램(entity-relationship diagram)이라 한다.
관계는 실제로 정보를 추출하는데 매우 중요한 역할을 한다. 예를 들어 학번이 10101인 학생의 학과를 검색하라 는 질의문을 처리하기 위해서는 학번과 학과 사이의 속성관계를 통하여 정보를 추출할 수 있는 반면에 학번이 10101인 학생의 지도교사를 검색하라는 질의문을 처리하기 위해서는 학생 개체와 교수 개체 사이에 존재하는 지도라는 관계를 이용해서만 추출이 가능하다. 따라서 이 관계는 데이터베이스에 접근하는데 매우 중요한 도구가 된다.
개념적으로 볼때 데이터베이스는 이러한 개체와 관계로 구성되어 있으며 실제 물리적으로 저장된 데이터베이스는 이 개체와 관계의 어커런스들의 집합인 것이다.
'경주사랑컴퓨터학원 > 데이터베이스' 카테고리의 다른 글
데이터베이스 언어(정의어, 조작어, 제어어)-경주시데이터베이스교실 (0) | 2023.02.14 |
---|---|
데이터베이스의 구조 및 환경-경주데이터베이스 학습 (0) | 2023.02.10 |
데이터베이스 정의-경주SQL기초학습학원 (0) | 2023.01.06 |