데이터베이스는 어떤 종류의 조직 또는 조직의 프로세스를 모델링하기 위한 목적으로 사용되는, 조직적으로 모아놓은 데이터를 말한다.
데이터베이스에는 운영(operational) 데이터베이스와 분석(analytical) 데이터베이스라는 두 종류가 있다. 데이터 베이스는 일상적으로 데이터를 수집하고 수정하고 관리할 필요가 있는 상황인 온라인 트랜젝션 처리(OLTP : On-Line Transaction Processing) 시나리오에 주로 사용된다. 반면에, 분석 데이터베이스는 역사적이고 시간에 의존적인 데이터를 저장하고 추적할 필요가 있는 상황인 온라인 분석 처리(OLAP : On-Line Analytical Processing) 시나리오에서 주로 사용된다. 분석 데이터베이스는 동향 파악, 장기간에 걸친 통계 데이터의 확인, 전술/전략적인 사업 계획 등이 필요할 때 귀중한 자산이 된다.
초창기 데이터베이스 모델
관계형 데이터베이스 모델이 나오기 전에는 데이터를 유지/관리하기 위해 계층형(Hierarchical) 데이터베이스 모델과 망형(Network) 데이터베이스 모델이라는 두 가지의 데이터 모델이 일반적으로 사용되었다.
계층형 데이터베이스 모델
계층형(Hierarchical) 데이터베이스는 계층적으로 구축되고, 전형적으로 반전 트리(inverted tree) 형태로 그려진다. 계층형 데이터베이스에서 관계는 '부모/자식' 이라는 용어로 표현된다. 이 종류의 관계에서 부모 테이블은 하나 이상의 자식 테이블들과 관계를 맺을 수 있지만, 자식 테이블은 오직 하나의 부모 테이블에 한해 관계를 맺을 수 있다.
- 장점
- 테이블 구조들 사이에 명확한 링크가 있기 때문에 사용자가 데이터 추출을 빠르게 할 수 있다.
- 참조 무결성이 내장되어 있고 이것이 자동적으로 강화된다. - 단점
- 복잡한 관계를 지원할 수 없고, 따라서 중복 데이터로 인해 종종 문제가 발생한다.
망형 데이터베이스 모델
망형(Network) 데이터베이스는 계층형 데이터베이스의 문제를 해결하기 위한 시도로 개발되었다. 망형 데이터베이스의 구조는 노드(node)와 집합 구조(set structure)라는 용어로 표현되었다. 노드는 레코드의 집합을 나타내고, 집합 구조는 망형 데이터베이스의 관계를 설정하며 표현한다. 하나의 노드를 소유자(owner)로 사용하고, 다른 노드를 구성원(member)으로 사용하여 한 쌍의 노드에 대한 관계를 맺는 것은 명료한 구성이다.
- 장점
- 데이터 액세스가 빠르다.
- 계층형 데이터베이스보다 더 복합한 질의를 만들 수 있게 해 준다. - 단점
- 집합 구조를 따라가기 위해서 사용자가 데이터베이스의 구조를 잘 알아야 한다.
- 상호 작용하는 애플리케이션 프로그램에 영향을 미치지 않고 데이터베이스 구조를 바꾸는 것이 쉽지 않다.
관계형 데이터베이스 모델
관계형(relational) 데이터베스는 1969년에 처음으로 고안되었고, 오늘날 데이터베이스 관리 분야에서 가장 널리 사용되는 데이터베이스 모델이 되었다. 관계형 모델의 아버지인 에드거 F. 코드 박사는 1970년 6월에 '대규모 공유 데이터 뱅크를 위한 관계형 데이터 모델(A Relational Model of Data for Large Shared Databanks)'이라는 제목의 획기적인 연구에서 새로운 관계형 모델을 발표했다.
관계형 데이터베이스는 데이터를 릴레이션에 저장한다. 각 릴레이션은 투플(tuples, 또는 레코드)과 속성(또는 필드)들로 구성된다. 테이블 내의 레코드와 필드들의 물리적 순서는 전혀 중요하지 않고, 테이블 내의 각 레코드는 유일한 값을 가지는 필드에 의해 식별된다. 데이터를 추출하기 위해서 레코드의 물리적 위치를 알 필요가 없다는 것이 다른 모델과 다른 점이 된다. 관계형 데이터베이스는 데이터베이스 내의 테이블 사이의 관계에 대해 잘 알기만 하면, 거의 무한대의 방법으로 데이터를 액세스 할 수 있다.
데이터 추출하기
구조적 질의 언어(SQL)를 사용해서 관계형 데이터베이스의 데이터를 추출한다. SQL은 관계형 데이터베이스를 생성/관리/수정/질의하는데 사용하는 표준 언어다. 아래와 같이 표현할 수 있다.
SELECT ClientLastName, ClientFirstName, ClientPhoneNumber
FROM Clients
WHERE City = "El Paso"
ORDER BY ClientLastName, ClientFirstName;
관계형 데이터베이스의 장점
관계형 데이터베이스는 이전의 모델들에 비해 다음과 같은 여러 가지 장점을 제공한다.
- 내장된 다중 수준 무결성
- 논리적 및 물리적 데이터의 애플리케이션으로부터의 독립성
- 보장된 데이터 일관성과 정확성
- 쉬운 데이터 추출
이외에도 몇 가지 장점들이 회사뿐만 아니라 데이터를 수집하고 관리할 필요가 있는 모든 사람에게 유용하다는 것이 입증되어 왔다.
'소프트웨어 공부 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 설계작업 (0) | 2021.08.23 |
---|---|
[데이터베이스] 용어 (0) | 2021.08.20 |
[데이터베이스] 왜 데이터베이스 설계에 관심을 가져야 하는가 (0) | 2021.08.20 |
[데이터베이스] Attribute (속성) (0) | 2021.04.13 |
[데이터베이스] Entity (엔티티) (0) | 2021.04.13 |