首页 理论教育数据库定义-数据库技术与应用教程

数据库定义-数据库技术与应用教程

【摘要】:如果要使用缺省参数创建一个学籍管理数据库StuData,可以使用如下命令:Create Database StuData如果希望为数据库或事务日志指定一个或者多个特定文件,增加一个On Primary子句,列出一个或者多个文件,并可为分配这个文件的空间指定一个可选值,其命令形式如下:Create Database StuDataOn Primary,;如果为了提高性能和可恢复性,则可以使用Log On子句来指定数据库的SQL Server事务日志将存储在一个与数据库对象不同的设备上,示例如下:Create Database StuDataOn Primary,Log On;GO

数据库是包含多个对象的集合,包含了相关的基表、视图、索引、存储过程、与数据库安全性有关的控制机制以及其他对象。在创建这些对象之前,必须有一个存储它们的数据库。创建数据库时,必须是系统管理员或是被授权的用户,使用Create Database语句。各种DBMS创建数据库时有差异,下面以MS SQL Server为例,Create Database命令的语法形式如下:

Create Database<数据库名>

[(<On Primary)

[(Name=系统使用的逻辑名],

[Filename=完全限定的NT Server文件名],

[Size=文件的初始大小],

[MaxSize=最大的文件尺寸],

[FileGrowth=系统的扩展文件量])

……]

[<Log On>

[Filename=完全限定的NT Server文件名],

[Size=文件的初始大小],

[FileGrowth=系统的扩展文件量])]

On Primary为关键字,表明与该关键字相邻的文件为主文件,它用于存储该数据库的系统表和初始化信息。

Name为关键字,用来指定SQL Server使用的逻辑名称。

Filename为关键字,用来指定完全限定的NT Server文件名。

Size为关键字,用来指定文件的初始大小,默认值是model数据库主文件的大小。

MaxSize为关键字,用来指定最大的文件尺寸,默认值是占满整个空间。

FileGrowth为关键字,用来指定SQL Server扩展文件的量,默认值是10%。

Log On为关键字,用来指定数据库的SQL Server事务日志将存储在一个与数据库对象不同的设备上。如果数据库所在的物理设备被破坏,而日志还可以使用(如果该日志所在的设备没有被破坏),使用一个以前的数据库备份和一个未破坏的日志的脱机拷贝,可以将数据库恢复到保存数据库恢复的设备失败时的状态。

如果在创建数据库时,只指定数据库名而不指定其他参数,系统缺省把SQL Server的model数据库定义的缺省信息复制到新创建的数据库中。

【例4-1】如果要使用缺省参数创建一个学籍管理数据库StuData,可以使用如下命令:

Create Database StuData

如果希望为数据库或事务日志指定一个或者多个特定文件,增加一个On Primary子句,列出一个或者多个文件,并可为分配这个文件的空间指定一个可选值,其命令形式如下:

Create Database StuData

On Primary

(Name=stufilel,

Filename=C:\data\stufilel.mdf,

Size=10 MB.(www.chuimin.cn)

MaxSize=1000MB.

FileGrowth=10MB),

(Name=stufile2,

Filename=c:\data\stufile2.ndf,

Size=10 MB.

MaxSize=1000MB.

FileGrowth=10MB);

如果为了提高性能和可恢复性,则可以使用Log On子句来指定数据库的SQL Server事务日志将存储在一个与数据库对象不同的设备上,示例如下:

Create Database StuData

On Primary

(Name=stufilel.

Filename=c:\data\stufilel.mdf,

Size=10 MB.

MaxSize=1000MB.

FileGrowth=10MB),

(Name=stufile2,

Filename=c:\data\stufile2.ndf,

Size=10 MB.

MaxSize=1000MB,

FileGrowth=10MB)

Log On

(Name=stu Log,

Filename=c:\data\stu Log.1dfCata Stu Log,

Size=10 MB.

MaxSize=1000MB,

FileGrowth=10MB);

GO