[LOG ON {
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=growth_increment] ) [,?n]
?database_name:数据库的名称,最长为128个字符。 ?PRIMARY:该选项是一个关键字,指定主文件组中的文件。 ?LOG ON:指明事务日志文件的明确定义。
?NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。
?FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。
?SIZE:指定数据库的初始容量大小。
?MAXSIZE:指定操作系统文件可以增长到的最大尺寸。
?FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。 例1:使用CREATE DATABASE创建一个student数据库,所有参数均取默认值。 Create database student
例2:创建一个gzgl数据库,该数据库的主文件逻辑名称为gzgl,物理文件名为gzgl_data.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为gzgl_log,物理文件名为gzgl_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
Create database gzgl On primary
(name= gzgl _data,
filename=’e:\\data\\gzgl_data.mdf’, size=10,
maxsize=unlimited, filegrowth=10%) log on
(name= gzgl _log,
filename=’e:\\data\\gzgl_log.ldf’, size=1, maxsize=5, filegrowth=1) (三) 删除数据库
a. 利用企业管理器删除数据库 在企业管理器中,右击要删除的数据库,从弹出的快捷菜单中选择“删除”或按下“delete”键。
b. 利用Drop语句删除数据库
语法格式:Drop database database_name[,?n]
说明:只有处于正常状态下的数据库,才能使用DROP语句删除。当数据库处于以下状态时
10
不能被删除:数据库正在使用;数据库正在恢复;数据库包含用于复制的已经出版的对象。 例1:删除已创建的数据库student
drop database student (四) 修改数据库
a. 利用企业管理器修改数据库
数据库创建以后,可以在企业管理器中利用数据库的属性设置,来更改数据库创建的某些设置,以及创建时无法设置的属性。在企业管理器中,右击要修改的数据库,选择“属性”选项,在弹出的数据库属性窗口中进行修改。
b. 利用Drop语句修改数据库
Alter database databasename
{add file
|modify name=new_databasename
|add filegroup filegroup_name |modify filegroup filegroup_name
{filegroup_property|name=new_filegroup_name}}
参数说明:
add file
add log file
remove file logical_file_name:删除指定的操作系统文件。 remove filegroup filegroup_name:删除指定的文件组。
modify file
add filegroup filegroup_name:增加一个文件组。
modify filegroup filegroup_name:修改某个指定文件组的属性。 例1:将gzgl数据库的日志文件初始大小改为10MB Alter database gzgl MODIFY FILE
(NAME = gzgl_log, SIZE = 10MB)
例2:为gzgl数据库添加一个次要数据文件gzgl_data2.ndf,初始大小为5MB,最大尺寸为100MB,增长速度为5MB。
ALTER DATABASE gzgl ADD FILE
( NAME = gagl_data2,
FILENAME = 'e:\\dhb\\gzgl_data2.ndf', SIZE = 5MB,
MAXSIZE = 100MB, FILEGROWTH = 5MB)
注释:SQL Server 2000 数据库有三种类型的文件:
11
(1)主要数据文件:是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。 (2)次要数据文件:包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
(3)日志文件:包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。 实验习题:
分别用企业管理器和查询分析器创建“学生”数据库,要求数据库student初始大小为10MB,最大尺寸为40MB,增长速度为5%;数据库的日志文件逻辑名称为Student_log,物理文件名为Student_log.ldf,初始大小为2MB,最大尺寸为10MB,增长速度为1MB。 实验报告要求: ? ? ? ? ?
实验目的 实验内容及步骤 实验习题的源程序清单
写出在实验过程中遇到的问题及解决方法 要求字迹端正、条理清晰、概念正确
12
实 验 二
实验名称:表的创建和管理 实验学时:2
实验目的:
1) 了解SQL SERVER的基本数据类型及空值的概念 2) 掌握在企业管理器中进行表的创建和管理。 3) 掌握使用T-SQL语句进行表的创建和管理。 实验内容及步骤:
(一) 创建表
a.利用企业管理器创建表
在企业管理器中,展开指定的服务器和数据库,打开想要创建新表的数据库,右击表对象,并从弹出的快捷菜单中选择“新建表”,出现对话框。 在对话框,定义的属性说明如下:
?默认值:指定列的默认值。除定义为timestamp或带IDENTITY属性的列以外的任何列。删除表时,将删除默认值定义。只有常量值(如字符串)、SQL Server内部函数(如SYSTEM_USER())或NULL值可以用作默认值。 ?精度和小数位数:精度是列的总长度,包括整数部分和小数部分的长度之和,但不包括小数点;小数位数指定小数点后面的长度。
?标识:指定列是否是标识列。一个表只能创建一个标识列。不能对标识列使用绑定默认值和DEFAULT约束。必须同时指定种子和增量,或者两者都不指定。默认值(1,1)。能够成为标识列的数据类型有int、smallint、tinyint、numeric和decimal等系统数据类型;如果其数据类型为numeric和decimal,不允许出现小数位数。 ?标识种子:指定标识列的初始值。
?标识递增量:指定标识列的增量值。
?是RowGuid:指定列是否使用全局唯一标识符。 ?公式:用于指定计算列的列值表达式。
?排序规则:指定列的排序规则。
注意:在数据库中表名必须是唯一的,但是如果为表指定了不同的用户,就可以创建多个相同名称的表。
b.利用T-SQL语句创建表
CREATE TABLE
[ database_name.[ owner ] .| owner.] table_name
( { < column_definition >| column_name AS computed_column_expression|< table_constraint >} [,?n])
[ ON { filegroup | DEFAULT } ]
[ TEXTIMAGE_ON { filegroup | DEFAULT } ]
< column_definition > ::= { column_name data_type } [ COLLATE < collation_name > ] [ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]
< column_constraint > ::=[ CONSTRAINT constraint_name ]
13
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ] [ON {filegroup | DEFAULT} ] ] }
|FOREIGN KEY [(column [,?n])]
REFERENCES ref_table [ ( ref_column [,?n]) ] [NOT FOR REPLICATION] | CHECK [ NOT FOR REPLICATION ] ( logical_expression )}
例1:在GZGL中创建一个JBXX的数据库表 use GZGL go
create table jbxx1
(employee_id char(6) not null, name char(10) not null,
birthday datetime not null, sex char(2) default‘男’) go
(二) 创建、删除和修改约束
a.利用企业管理器
在企业管理器中,右击要操作的数据表,从弹出的快捷菜单中选择“设计表”选项,出现设计表对话框,选择要设定为主键的字段,如果有多个字段,按住Ctrl键的同时,用鼠标单击选中的某个字段,从弹出的快捷菜单中选择“设置主键”选项;在属性对话框中的“索引/键”选项卡中设置。
b.利用T-SQL语句
CONSTRAINT constraint_name PRIMARY KEY/UNIQUE [CLUSTERED|NONCLUSTERED] (column_name[,?n]) 参数说明:
constraint_name约束名称,在数据库中应该唯一,不指定,系统会自动生成一个约束名。 [CLUSTERED|NONCLUSTERED]索引类型,聚族索引或非聚族索引,CLUSTERED为默认值。 column_name用于指定主键的列名。最多由16个列组成。 例1:use GZGL
go
create table jbxx2
(employee_id char(6) not null primary key, name char(10) not null,
birthday datetime not null,
sex char(2) default‘男’
constraint uk_name unique(employee_id)
constraint chk_sex check(sex in (‘男’,‘女’))) go
(三) 增加、删除和修改字段
14