[데이터베이스] 데이터베이스 정의

데이터베이스의 정의 및 특성과 데이터베이스의 개념적 구성 요소에 대해 살펴보자.


📂 데이터베이스(DataBase)

데이터베이스는

한 조직의 여러 응용 시스템들이 공용할 수 있도록 통합 및 저정된 운영 데이터의 집합

함축된 정의를 좀 더 자세히 보자.

데이터베이스는 통합 데이터(Integrated Data)이다.

데이터를 여러 곳에서 관리하는게 아니라 한 곳에서 관리하여 데이터의 중복(Redundancy)을 방지한다. 하지만, 실제로 중복을 완전히 배제하는 것이 아니라 필요한 경우 효율성을 증진시키기 위해 불가피하게 통제된 중복(Controlled Redundancy)을 허용한다. 

데이터베이스는 저장 데이터(Stored Data)이다.

저장 매체(하드디스크, 메모리 등 컴퓨터가 바로 접근할 수 있는)에 저장된 데이터를 의미한다.

데이터베이스에 저장되어 있는 데이터는 운영 데이터(Operational Data)이다. 

조직의 기능을 수행하기 위해 반드시 유지해야 될 데이터를 말한다. 개인적으로 사용되는 데이터가 아니라 조직의 기능을 수행하는데 꼭 필요한 데이터의 집합을 말한다. 

데이터베이스는 공용 데이터(Shared Data)이다.

여러 응용 시스템들이 공동으로 이용하는 데이터이다. 


📂 데이터베이스의 특성

데이터베이스는 최소한 다음과 같은 특성들을 가지고 있다. 주의할 점은, 정의와 특성을 혼동하지 말자!

실시간 접근성(Real-time accessibility)

비정형 질의어에 대하여 실시간 처리로 응답 가능해야 한다. 

계속적인 변화(Continuous Evolution)

데이터베이스는 동적이다. 한 번 구축된 이후에도 삽입, 삭제, 갱신을 통해 항상 그 내용이 변화한다.

동시 공용(Concurrent Sharing)

서로 다른 목적을 가진 여러 사용자가 동시에 접근한다. 이를 처리해 주기 위해 상당히 복잡한 구조를 가지고 있다.

내용에 의한 참조(Content Reference)

내용에 의한 검색을 지원해 줘야 한다. "성적이 90점 이상인 학생을 검색하라"와 같은 내용 검색을 지원해야 한다.

 


📂 데이터베이스의 개념적 구성

데이터베이스는 개념적으로 개체(entities)관계(relationships)로 구성되어 있다. 

개체(Entity)

개체는 

현실 세계에 대해 사람이 생각하는 개념이나 정보의 단위

이는 컴퓨터가 취급하는 파일의 레코드 한 개에 대응한다. 하나의 개체는 하나 이상의 속성(Attribute)로 구성되어 있고, 각 속성은 그 개체의 성질이나 상태를 기술해주는 역할을 한다. 

속성이름을 가진 데이터의 가장 작은 논리적 단위이다. 

위를 예로 들어보자. "학생"이라는 개체가 있고 (학번), (성명), (전화번호)라는 3개의 속성들로 구성되어 있다. 각 속성들 그 자체로는 의미있는 정보를 제공해주지 못하지만, 이것들이 모여 "학생"이라는 개체를 구성하여 표현할 때는 상당한 의미를 제공한다. 

<20181234, 김철수, 010-4657-7654>와 같이 학생 개체의 한 값개체 인스턴스(Entity Instance) 또는 어커런스(Occurrence)라고 한다. 이 개체 인스턴스의 집합을 게체 집합(Entity Set)이라하고, 속성 이름들로만 기술된 타이틀 레코드개체 타입(Entity Type)이라 한다. 

개체 타입 = 논리적인 형태
개체 인스턴스 = 데이터베이스에 실제로 저장되는 구체적인 값

관계(Relationship)

관계란,

개체와 개체 사이의 연관성(association)

데이터베이스에는 개체뿐만 아니라 관계도 저장되어야 한다.

일반적으로 관계는 속성 관계(attribute relationship)와 개체 관계(entity relationship)로 나누어 볼 수 있다.

  • 속성 관계 : 속성들 간의 관계
  • 개체 관계 : 개체들 간의 관계

데이터베이스에서는 일반적으로 개체 관계는 레이블을 붙여 그 관계를 명확하게 기술하지만, 속성 관계는 레이블 없이 개체에 묶어서 묵시적으로 표현한다.