연구개발/SQL2005

[SQL2005 Guide] 시스템 데이터베이스 - model

알 수 없는 사용자 2009. 6. 18. 20:46

model 데이터베이스는 새로운 데이터베이스가 만들어질 템플릿으로 사용되는 데이터베이스이므로, SQL Server 인스턴스에서 새롭게 만들어지는 모든 데이터베이스에 데이터베이스 옵션이나 개체들이 동일하게 구성되는 것을 필요로 활용할 있습니다.

예를 들어, SQL Server 인스턴스에서 공통적으로 사용되는 별칭 데이터 형식을 model 데이터베이스에 생성해 두면 새로운 데이터베이스를 만들 별칭 데이터 형식 생성 작업을 수행하지 않아도 됩니다.

또한 새로운 데이터베이스를 만들 FOR ATTACH 지정된 경우를 제외하면 model 데이터베이스의 데이터베이스 옵션 설정을 상속받습니다. 그러므로 ALTER DATABASE 사용하여 model 데이터베이스의 옵션을 변경하면 변경된 옵션 설정이 이후에 새로 만들어지는 모든 데이터베이스에 적용됩니다.

 

여러 테이블에 있는 열에 동일한 데이터 형식을 저장해야 하고 열의 데이터 형식, 길이가 동일해야 하는 경우에 별칭 형식을 사용할 있습니다. 기본 NULL 속성도 설정 가능하며, 디폴트 정의나 규칙도 바인딩이 가능합니다.

별칭 데이터 형식 생성 활용하기:

USE model;

GO

CREATE TYPE UDT_SSN FROM char(13) NOT NULL ;

GO

CREATE RULE Rule_SSN AS

@SSN LIKE '[0-9][0-9][0-1][0-9][0-3][0-9][1-4][0-9][0-9][0-9][0-9][0-9][0-9]';

GO

EXEC sp_bindrule 'Rule_SSN', 'UDT_SSN'

GO

CREATE DATABASE test;

GO

USE test;

GO

CREATE TABLE Members (

           MembID                     varchar(50)      NOT NULL,

           MembName                 varchar(50)      NOT NULL,

           Ssn                           UDT_SSN         NULL

CONSTRAINT PK_Members PRIMARY KEY CLUSTERED (MembID)

);

GO

CREATE TABLE Emps (

           EmpID                        int                  NOT NULL,

           EmpName                   varchar(50)      NOT NULL,

           Ssn                           UDT_SSN

CONSTRAINT PK_Emps PRIMARY KEY CLUSTERED (EmpID)

);

GO