第3章 数据库和表的创建
使用图形界面方式创建图书管理数据库MBOOK,需要完成以下步骤: (1)以系统管理员身份登录计算机,在桌面上单击“开始”→“所有程 序”→“Microsoft SQL Server 2008”→选择“SQL Server Management Studio”。弹 出“连接到服务器”对话框,如图3.1所示,“服务器类型”选择“数据库引擎”, “服务器名称”为安装SQL Server时的实例名,“身份验证”选项选择“Windows 身份验证”,这里按照默认设置单击“连接”按钮即可连接到SQL Server数据库服 务器。
单击工具栏上的“!执行”按钮执行以上语句,结果如图3.16所示。
图3.16 使用命令方式创建读者信息表TReader
说明: (1)在以上创建读者信息表TReader的语句中,USE语句用于将数据库指定为 当前数据库,USE MBOOK即将MBOOK数据指定为当前数据库。此后使用CREATE TABLE语句就可以在MBOOK数据库中创建表了。 (2)GO命令不是Transact-SQL语句,但它是SQL Server Management Studio代码 编辑器识别的命令。SQL Server实用工具将GO命令解释为应该向SQL Server实例发 送当前批Transact-SQL语句的信号。当前批语句由上一个GO命令后输入的所有语句 组成,如果是第一条GO命令,则由会话或脚本开始后输入的所有语句组成。 注意:GO命令和Transact-SQL语句不能在同一行中,否则运行时会发生错误。 (3)“TReader”为要创建的表名,表的结构在表名后的括号中定义。 (4)“借书证号”为要定义的列名,“char(8)”为要定义的数据类型和长度, “NOT NULL”声明借书证号不能为空,“PRIMARY KEY”声明“借书证号”列为读 者信息表TReader的主键。表中的其他列与“借书证号”列的定义类似,中间用逗 号隔开。其中定义“借书量”时,“DEFAULT 0”用于定义借书量默认值为0。
对于数据文件,“NAME”关键字用于定义数据文件的逻辑文件名,名称 为MBOOK;“FILENAME”关键字用于定义操作系统中文件的完整路径名; “SIZE”用于定义数据文件的初始大小,本系统中图书管理数据库的数据文 件初始大小为5MB;“MAXSIZE”用于定义数据文件的最大大小,为100MB; “FILEGROWTH”用于定义数据文件的增长增量,为2MB。 对于日志文件,各个选项的意义与数据文件相同,其中 “FILEGROWTH=10%”表示图书管理数据库MBOOK日志文件的增长方式是 按10%比例增长。 创建完图书管理数据库后,如果需要修改数据库的属性,可以使用 ALTER DATABASE语句;如果要删除数据库,可以使用DROP DATABASE 语句。
图3.6 新建查询
(2)在查询窗口中输入创建图书管理数据库的T-SQL语句。
CREATE DATABASE MBOOK ON PRIMARY ( NAME= 'MBOOK', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER \MSSQL\DATA\MBOOK.mdf', SIZE=5MB, MAXSIZE=100MB, FILEGROWTH=2MB ) LOG ON ( NAME='MBOOK_log', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER \MSSQL\DATA\MBOOK_log.ldf', SIZE=1MB, FILEGROWTH=10% );
图3.1 “连接到服务器”对话框
(2)进入“SQL Server Management Studio”主窗口,如图3.2所示。在窗口 左边的“对象资源管理器”窗口中,用鼠标右键单击“数据库”目录,在弹出的 快捷菜单中选择“新建数据库”菜单项,打开“新建数据库”窗口。
图3.2 “SQL Server Management Studio”主窗口
首先,使用界面方式创建读者信息表TReader,操作步骤如下。 (1)启动“SQL Server Management Studio”→在“对象资源管理器”中, 展开“数据库”→用鼠标右键单击“MBOOK”数据库菜单下的“表”选项,在 弹出的快捷菜单中,选择“新建表(N)…”菜单项,打开如图3.8所示的“表设计 器”窗口。
允许文件 自动增长 设置自动增长 的大小为 2 不限制文件增长
文件最 大大小
图3.3 “更改自动增长设置”对话框
设置完成后的窗口如图3.4所示,单击“确定”按钮完成MBOOK数据库的创 建。
图3.4 “新建数据库”窗口
(4)数据库创建完成后,如果能在“对象资源管理器”窗口的“数据库”目 录下找到该数据库所对应的图标,如图3.5所示,则表示图书管理数据库MBOOK创 建成功。
(3)在“新建数据库”窗口的左上方选择“常规”选项卡,在“数据库名称” 文本框中填写要创建的图书管理数据库的名称“MBOOK”,“所有者”使用默认 值。 在“数据库文件”栏中,将“MBOOK”的“初始大小”设为5MB,单击“自 动增长”标签下的“ ”按钮,弹出“更改自动增长设置”对话框,将“按 MB(M)”单选按钮栏设置为“2”,选择“不限制文件增长”单选按钮,将后面的 最大大小改为“100”MB,如图3.3所示。使用相同的方法将“MBOOK_log”的初 始大小设置为1MB,最大大小不受限制,增长方式为按10%比例增长。完成后单击 “确定”按钮。
图3.13 定义标识列
在SQL Server 2008中,使用界面方式修改表的结构(如添加列、修改列的数 据类型等)时,如果强行更改会弹出如图3.14所示的对话框。
图3.14 不允许保存更改对话框
如果要在修改表时不出现此对话框,可以进行以下操作: 启动“SQL Server Management Studio”,在主界面中单击“工具”主菜单,选 择“选项”子菜单,在出现的“选项”窗口中选择“Designers”下的“表设计器和 数据库设计器”选项卡,将窗口右面的“阻止保存要求重新创建表的更改”复选框 前的勾去掉,如图3.15所示,完成操作后单击“确定”按钮,接下来就可以对表进 行更改。
图3.5 MBOOK数据库创建成功
在SQL Server数据库中,通过命令方式进行操作时使用T-SQL语言来进行。使 用T-SQL语言创建图书管理数据库MBOOK,需要完成以下操作步骤: (1)以管理员身份连接SQL Server服务器,进入“SQL Server Management Studio”主窗口,在窗口工具栏上单击“新建查询”按钮,新建一个查询窗口, 如图3.6所示。
图3.8 “表设计器”窗口
(2)在“表设计器”窗口中,根据已经设计好的TReader的表结构分别输入 或选择各列的名称、数据类型、是否允许为空等属性。根据需要,可以在列属性 表格的“常规”选项的“默认值或绑定”栏填入默认值,在“全文规范”选项的 “说明”栏填写相应的说明。 (3)在“借书证号”列上用鼠标右键单击,选择“设置主键”菜单项,选择 “设为主键”菜单项,如图3.9所示。
3.1 3.2
创建图书管理数据库 创建图书管理数据库基本表 知识点链接
L3.1 L3.2
创建图书管理数据库 创建图书管理数据库基本表
根据SQL Server数据库基本概念,要创建一个数据库,首先要确定数据库 名、所有者(即创建数据库的用户)、数据库大小和存储数据库的文件。 本系统中要求创建的图书管理数据库名称定义为MBOOK,所有者为系统管 理员。为了保存图书管理系统中需要的信息,MBOOK数据库需要包含一个数据 文件和一个日志文件。数据文件用于存放数据库的数据,日志文件用于存放日志 信息。存放数据库的数据可以使用多个数据文件,为了简单起见,MBOOK数据 库只包含一个数据文件。MBOOK数据库数据文件名称定义为MBOOK.mdf,日 志文件名称定义为MBOOK_log.ldf。
(3)单击窗口工具栏的“!执行”按钮,执行结果如图3.7所示。 说明:在以上语句中,CREATE DATABASE语句用于创建数据库,MBOOK为数据 库名称;使用“ON”关键字定义数据库中的数据文件,“PRIMARY”表示是主数 据文件;使用“LOG ON”关键字定义数据库的日志文件。
图3.7 在查询窗口中执行T-SQL语句
图3.15 解除阻止保存的选项
首先,使用命令方式创建TReader表,启动“SQL Server Management Studio”, 在主界面上单击“新建查询”按钮新建一个查询窗口,在窗口中输入创建TReader 表的语句: USE MBOOK GO CREATE TABLE TReader ( 借书证号 char(6) NOT NULL PRIMARY KEY, 密码 varchar(20) NOT NULL, 姓名 char(8) NOT NULL, 性别 bit NOT NULL, 出生时间 date NOT NULL, 专业 char(12) NOT NULL, 借书量 int NOT NULL DEFAULT 0, 照片200) NULL, 联系方式 xml NULL )
图3.11 新创建的TReader表
说明: (1)在创建借阅表TLend时,由于“应还时间”应该是在“借书时间”的基础 上加上图书能借出的最大天数(本系统规定图书借出的天数为5天),所以需要将 “应还时间”列定义为计算列。在创建Lend表的窗口中,选中“应还时间”字段, 在列属性窗口中展开“计算列规范”属性,在“公式”栏中填写计算列的定义公式 为“借书时间+5”,如图3.12所示。
图3.12 定义计算列
(2)在创建还书记录表HLend表时,由于每当增加一条新的借阅记录时,希 望给记录一个唯一而又容易确定的“编号”,这时就可以将“编号”列设为标识 列。在创建HLend表的窗口中,选中“编号”字段,在列属性窗口中展开“标识规 范”属性,将“是标识”选项设置为“是”,设置“标识增量”和“标识种子” 的值都为1,如图3.13所示。