본문 바로가기

MSSQL

데이터베이스의 종류


데이터베이스란 정보를 저장하는 창고라고 생각하시면 됩니다. 우리들의 중요한 정보가 데이터베이스에 기록이 되는 것입니다. SQL Server는 이러한 데이터베이스를 관리해주는 데이터베이스 관리 시스템인 것입니다. 이 장에서는 데이터베이스의 종류에 대하여 살펴보도록 하겠습니다.

1. 데이터베이스의 분류

1) 시스템 데이터베이스

Master, Model, Tempdb, Msdb, Distribution 데이터베이스를 시스템 데이터베이스라고 합니다. 이들 데이터베이스는 SQL Server가 설치되면 자동적으로 생성됩니다.(Distribution 데이터베이스는 예외) 시스템 데이터베이스는 SQL Server에 대한 정보를 가지고 있으며, SQL Server가 데이터베이스를 관리하기 위해서 사용됩니다. 그러므로 사용자는 시스템 데이터베이스를 함부로 수정해서는 안됩니다.

Distribution 데이터베이스는 SQL Server를 처음 인스톨 할 때는 만들어지지 않고 Replication 이 설정될 때 만들어져 배포자(Publisher)와 구독자(Subscriber) 사이에서 복제할 내용을 전달하는 역할을 수행합니다. 이들 시스템 데이터베이스 각각의 역할은 잠시후에 살펴보도록 하겠습니다.

2) 예제 데이터베이스

Pubs, Northwind 데이터베이스가 예제 데이터베이스입니다. 이 두개의 데이터베이스는 사용자가 SQL Server를 공부할 때 사용 할 수 있는 샘플이 되는 데이터베이스입니다. 제가 강좌를 진행하면서도 이 두 데이터베이스를 많이 이용하게 될 것입니다.

3) 사용자 데이터베이스

이외에 사용자가 만든 데이터베이스를 사용자 데이터베이스라고 합니다. 어떻게 보면 가장 중요한 데이터베이스라고 할 수 있습니다. 이렇게 SQL Server를 공부 하는 것도 이 사용자 데이터베이스를 효율적으로 관리하고 사용하는 방법을 배우기 위한 것이라고 생각합니다.

2. 시스템 데이터베이스

다음은 EM(Enterprose Manager)에서 본 시스템 데이터베이스와 예제 데이터베이스 입니다.

1) Master 데이터베이스

여러가지의 데이터베이스가 SQL Server에 만들어질 수 있습니다. 그렇다면 이러한 데이터베이스를 대표하여 관리해 줄 별도의 데이터베이스가 필요합니다. 이것이 바로 Master 데이터베이스입니다. Master 데이터베이스는 SQL Server의 여러가지 환경 정보와 로그인 정보, 전체 데이터베이스에 대한 정보를 갖고 있습니다. 그러므로 가장 중요한 System 데이터베이스라고 할 수 있습니다.

2) Model 데이터베이스

데이터베이스의 이름에서 그 역할을 추측 할 수 있습니다. 사용자 데이터베이스를 만들때(CREATE DATABASE) 이 Model 데이터베이스가 복사가되어 만들어 집니다. 이런 이유로 Model 데이터베이스의 설정을 변경하면 이후에 만들어지믄 사용자 데이터베이스에 그 내용이 반영되어 일관성있는 사용자 데이터베이스 생성을 가능하게 합니다. 예를 들어 앞으로 만들어질 사용자 데이터베이스에 특정 계정을 만들고 싶을 때 이 계정을 Model 데이터베이스에 만들어 두면 별도의 작업이 없이도 새로 만들어지는 데이터베이스에 이 계정이 포함되게 됩니다.

3) Tempdb 데이터베이스

SQL Server가 운영될 때 만들어지는 임시테이블들이 생성되는 곳입니다. Tempdb는 SQL Server가 재시작 될 때마다 초기화 되므로 사용자 테이블을 Tempdb에 만드는 것은 바람직하지 않습니다. 가끔 Tempdb에 테이블을 만들어 두고나서 나중에 자동으로 지워진 후 누가 지웠냐고 난리법석을 떠는 것을 본적이 있습니다. 우리는 이런 실수를 해서는 안되겠습니다. 물론 테스트를 위한 임시 테이블은 이곳에 만들어도 됩니다. 저도 테스트용 테이블을 만들어 확인 할 때 가끔 사용하게 됩니다.

4) Msdb 데이터베이스

Job에 대한 정보를 갖습니다. Alert 및 Operator에 대한 정보를 관리하게 되며, DTS에 대한 정보도 Msdb에 기록됩니다. SQL Server 관련 서비스 중에서 MSSQLServer Agent 서비스가 대부분 사용하는 데이터베이스입니다.

3. 예제 데이터베이스

SQL Server가 설치되면 연습용 데이터베이스 두개가 만들어집니다.

o Pubs
o Northwind

이 두 데이터베이스는 SQL Server를 공부할 때 유용하게 사용될 수 있으며 실제로 여러 교재에서 예제로 사용됩니다. 만일 이 두 데이터베이스에 문제가 생기면 SQL Server 폴더의 Install 폴더에 있는 Instpubs.sql, Instnwnd.sql 스크립트를 수행하여 언제든지 재생성 할 수 있습니다.

[출처] 디비누리 SQLWorld