第3章数据库和表的创建.ppt
《第3章数据库和表的创建.ppt》由会员分享,可在线阅读,更多相关《第3章数据库和表的创建.ppt(65页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、3.13.2L3.1L3.2知识点链接知识点链接创建图书管理数据库创建图书管理数据库 创建图书管理数据库基本表创建图书管理数据库基本表创建图书管理数据库创建图书管理数据库创建图书管理数据库基本表创建图书管理数据库基本表根据SQL Server数据库基本概念数据库基本概念,要创建一个数据库,首先要确定数据库名、所有者(即创建数据库的用户)、数据库大小和存储数据库的文件。本系统中要求创建的图书管理数据库名称定义为MBOOK,所有者为系统管理员。为了保存图书管理系统中需要的信息,MBOOK数据库需要包含一个数据文件和一个日志文件。数据文件用于存放数据库的数据,日志文件用于存放日志信息。存放数据库的数
2、据可以使用多个数据文件,为了简单起见,MBOOK数据库只包含一个数据文件。MBOOK数据库数据文件名称定义为MBOOK.mdf,日志文件名称定义为MBOOK_log.ldf。使用图形界面方式创建图书管理数据库MBOOK,需要完成以下步骤:(1)以系统管理员身份登录计算机,在桌面上单击“开始”“所有程序”“MicrosoftSQLServer2008”选择“SQLServerManagementStudio”。弹出“连接到服务器”对话框,如图3.1所示,“服务器类型”选择“数据库引擎”,“服务器名称”为安装SQLServer时的实例名,“身份验证”选项选择“Windows身份验证”,这里按照默认
3、设置单击“连接”按钮即可连接到SQLServer数据库服务器。图3.1“连接到服务器”对话框(2)进入“SQLServerManagementStudio”主窗口,如图3.2所示。在窗口左边的“对象资源管理器”窗口中,用鼠标右键单击“数据库”目录,在弹出的快捷菜单中选择“新建数据库”菜单项,打开“新建数据库”窗口。图3.2“SQLServerManagementStudio”主窗口(3)在“新建数据库”窗口的左上方选择“常规”选项卡,在“数据库名称”文本框中填写要创建的图书管理数据库的名称“MBOOK”,“所有者”使用默认值。在“数据库文件”栏中,将“MBOOK”的“初始大小”设为5MB,单击
4、“自动增长”标签下的“”按钮,弹出“更改自动增长设置”对话框,将“按MB(M)”单选按钮栏设置为“2”,选择“不限制文件增长”单选按钮,将后面的最大大小改为“100”MB,如图3.3所示。使用相同的方法将“MBOOK_log”的初始大小设置为1MB,最大大小不受限制,增长方式为按10%比例增长。完成后单击“确定”按钮。图3.3“更改自动增长设置”对话框设置完成后的窗口如图3.4所示,单击“确定”按钮完成MBOOK数据库的创建。图3.4“新建数据库”窗口(4)数据库创建完成后,如果能在“对象资源管理器”窗口的“数据库”目录下找到该数据库所对应的图标,如图3.5所示,则表示图书管理数据库MBOOK
5、创建成功。图3.5MBOOK数据库创建成功在SQLServer数据库中,通过命令方式进行操作时使用T-SQL语言语言来进行。使用T-SQL语言创建图书管理数据库MBOOK,需要完成以下操作步骤:(1)以管理员身份连接SQLServer服务器,进入“SQLServerManagementStudio”主窗口,在窗口工具栏上单击“新建查询”按钮,新建一个查询窗口,如图3.6所示。图3.6新建查询(2)在查询窗口中输入创建图书管理数据库的T-SQL语句。CREATEDATABASEMBOOKONPRIMARY(NAME=MBOOK,FILENAME=C:ProgramFilesMicrosoftSQ
6、LServerMSSQL10.MSSQLSERVERMSSQLDATAMBOOK.mdf,SIZE=5MB,MAXSIZE=100MB,FILEGROWTH=2MB)LOGON(NAME=MBOOK_log,FILENAME=C:ProgramFilesMicrosoftSQLServerMSSQL10.MSSQLSERVERMSSQLDATAMBOOK_log.ldf,SIZE=1MB,FILEGROWTH=10%);(3)单击窗口工具栏的“!执行”按钮,执行结果如图3.7所示。说明:在以上语句中,CREATE DATABASE语句语句用于创建数据库,MBOOK为数据库名称;使用“ON”关键
7、字定义数据库中的数据文件,“PRIMARY”表示是主数据文件;使用“LOGON”关键字定义数据库的日志文件。图3.7在查询窗口中执行T-SQL语句对于数据文件,“NAME”关键字用于定义数据文件的逻辑文件名,名称为MBOOK;“FILENAME”关键字用于定义操作系统中文件的完整路径名;“SIZE”用于定义数据文件的初始大小,本系统中图书管理数据库的数据文件初始大小为5MB;“MAXSIZE”用于定义数据文件的最大大小,为100MB;“FILEGROWTH”用于定义数据文件的增长增量,为2MB。对于日志文件,各个选项的意义与数据文件相同,其中“FILEGROWTH=10%”表示图书管理数据库M
8、BOOK日志文件的增长方式是按10%比例增长。创建完图书管理数据库后,如果需要修改数据库的属性,可以使用ALTER DATABASE语句语句;如果要删除数据库,可以使用DROP DATABASE语句语句。需要创建的图书管理数据库的表包括:(1)用于存储读者信息的TReader表;(2)用于存储图书信息的TBook表;(3)用于存储图书借阅情况的TLend表;(4)用于存储图书借出情况的TBLend表;(5)用于存储还书记录的HLend表。表结构在进行数据库设计时已经确定,接下来需要在图书管理数据库MBOOK中创建这些表。首先,使用界面方式创建读者信息表TReader,操作步骤如下。(1)启动“
9、SQLServerManagementStudio”在“对象资源管理器”中,展开“数据库”用鼠标右键单击“MBOOK”数据库菜单下的“表”选项,在弹出的快捷菜单中,选择“新建表(N)”菜单项,打开如图3.8所示的“表设计器”窗口。图3.8“表设计器”窗口(2)在“表设计器”窗口中,根据已经设计好的TReader的表结构分别输入或选择各列的名称、数据类型、是否允许为空等属性。根据需要,可以在列属性表格的“常规”选项的“默认值或绑定”栏填入默认值,在“全文规范”选项的“说明”栏填写相应的说明。(3)在“借书证号”列上用鼠标右键单击,选择“设置主键”菜单项,选择“设为主键”菜单项,如图3.9所示。图
10、3.9设置TReader表的主键在列属性窗口中的“默认值和绑定”和“说明”项中分别填写各列的默认值和说明。读者信息表TReader结构设计完成后的结果如图3.10所示。图3.10表属性编辑完成结果(4)在表的各列的属性均编辑完成后,单击工具栏中的“”按钮(“保存”按钮),出现“选择表名”对话框。在“选择表名”对话框中输入表名“TReader”,单击“确定”按钮即可创建读者信息表。在“对象资源管理器”窗口中可以找到新创建的TReader表,如图3.11所示。图3.11新创建的TReader表说明:(1)在创建借阅表TLend时,由于“应还时间”应该是在“借书时间”的基础上加上图书能借出的最大天数
11、(本系统规定图书借出的天数为5天),所以需要将“应还时间”列定义为计算列计算列。在创建Lend表的窗口中,选中“应还时间”字段,在列属性窗口中展开“计算列规范”属性,在“公式”栏中填写计算列的定义公式为“借书时间+5”,如图3.12所示。图3.12定义计算列(2)在创建还书记录表HLend表时,由于每当增加一条新的借阅记录时,希望给记录一个唯一而又容易确定的“编号”,这时就可以将“编号”列设为标识标识列列。在创建HLend表的窗口中,选中“编号”字段,在列属性窗口中展开“标识规范”属性,将“是标识”选项设置为“是”,设置“标识增量”和“标识种子”的值都为1,如图3.13所示。图3.13定义标识
12、列在SQLServer2008中,使用界面方式修改表的结构(如添加列、修改列的数据类型等)时,如果强行更改会弹出如图3.14所示的对话框。图3.14不允许保存更改对话框如果要在修改表时不出现此对话框,可以进行以下操作:启动“SQLServerManagementStudio”,在主界面中单击“工具”主菜单,选择“选项”子菜单,在出现的“选项”窗口中选择“Designers”下的“表设计器和数据库设计器”选项卡,将窗口右面的“阻止保存要求重新创建表的更改”复选框前的勾去掉,如图3.15所示,完成操作后单击“确定”按钮,接下来就可以对表进行更改。图3.15解除阻止保存的选项首先,使用命令方式创建T
13、Reader表,启动“SQLServerManagementStudio”,在主界面上单击“新建查询”按钮新建一个查询窗口,在窗口中输入创建TReader表的语句:USEMBOOKGOCREATETABLETReader(借书证号char(6)NOTNULLPRIMARYKEY,密码varchar(20)NOTNULL,姓名char(8)NOTNULL,性别bitNOTNULL,出生时间dateNOTNULL,专业char(12)NOTNULL,借书量intNOTNULLDEFAULT0,照片varbinary(MAX)NULL,备注varchar(200)NULL,联系方式xmlNULL)单
14、击工具栏上的“!执行”按钮执行以上语句,结果如图3.16所示。图3.16使用命令方式创建读者信息表TReader说明:(1)在以上创建读者信息表TReader的语句中,USE语句用于将数据库指定为当前数据库,USEMBOOK即将MBOOK数据指定为当前数据库。此后使用CREATE TABLE语句语句就可以在MBOOK数据库中创建表了。(2)GO命令不是Transact-SQL语句,但它是SQLServerManagementStudio代码编辑器识别的命令。SQLServer实用工具将GO命令解释为应该向SQLServer实例发送当前批Transact-SQL语句的信号。当前批语句由上一个GO
15、命令后输入的所有语句组成,如果是第一条GO命令,则由会话或脚本开始后输入的所有语句组成。注意:GO命令和Transact-SQL语句不能在同一行中,否则运行时会发生错误。(3)“TReader”为要创建的表名,表的结构在表名后的括号中定义。(4)“借书证号”为要定义的列名,“char(8)”为要定义的数据类型和长度,“NOTNULL”声明借书证号不能为空,“PRIMARYKEY”声明“借书证号”列为读者信息表TReader的主键。表中的其他列与“借书证号”列的定义类似,中间用逗号隔开。其中定义“借书量”时,“DEFAULT0”用于定义借书量默认值为0。根据相同的方法,创建图书管理数据库中需要的
16、其他基本表,创建的语句如下:l创建图书信息表TBook:USEMBOOKGOCREATETABLETBook(ISBNchar(18)NOTNULLPRIMARYKEY,书名char(40)NOTNULL,作译者char(16)NOTNULL,出版社char(30)NOTNULL,出版年月 char(10)NULL,价格floatNOTNULL,复本量intNOTNULL,库存量intNOTNULL,分类号char(18)NULL,内容提要 varchar(200)NULL,封面照片 varbinary(MAX)NULL)l创建图书借阅表TLend:CREATETABLETLend(借书证号c
17、har(6)NOTNULL,ISBNchar(18)NOTNULL,图书IDchar(10)NOTNULLPRIMARYKEY,借书时间datetime NOTNULL,应还时间AS借书时间+5)说明:以上语句中,定义“应还时间”列时,使用AS子句将该列定义为计算列。根据实际的图书管理情况,每本书最多只能借5天,则规定应还时间应该是借书时间过后的5天,使用表达式“借书时间+5”。l创建图书是否借出表TBLend:CREATETABLETBLend(图书IDchar(10)NOTNULLPRIMARYKEY,ISBNchar(18)NOTNULL,是否借出 bitNOTNULL)l创建还书记录表
18、HLend:CREATETABLEHLend(编号intNOTNULLIDENTITY(1,1)PRIMARYKEY,借书证号 char(6)NOTNULL,ISBNchar(18)NOTNULL,图书IDchar(10)NOTNULL,借书时间 datetimeNOTNULL,还书时间 datetimeNOTNULL)图书管理系统中的表创建完后,如果需要对有关表进行一些修改,可以使用ALTER TABLE语句语句;如果要删除某些表,可以使用DROP TABLE语句语句。L1SQLServer数据库基本概念C1逻辑数据库逻辑数据库SQLServer数据库是存储数据的容器,是一个存放数据的表和支
19、持这些数据的存储、检索、安全性和完整性的逻辑成分所组成的集合。用户观点将数据库称为逻辑数据库,组成数据库的逻辑成分称为数据库对象。SQLServer的数据库对象主要包括表、视图、索引、存储过程、触发器和约束等。用户经常需要在SQL语句中引用SQLServer对象对其进行操作,如对数据库表进行查询、数据更新等,在语句中需要给出对象的名称。用户可以给出两种对象名,即完全限定名和部分限定名。(1)完全限定名。在SQLServer中完全限定名是对象的全名,包括四个部分:服务器名、数据库名、数据库架构名和对象名,其格式为:server.database.scheme.object在SQLServer20
20、08上创建的每个对象都必须有一个唯一的完全限定名。(2)部分限定名。在使用SQL语句编程时,使用全名往往很烦琐且没有必要,所以常省略全名中的某些部分,对象全名的四个部分中的前三个部分均可以被省略,当省略中间的部分时,圆点符“.”不可省略。把只包含对象完全限定名中的一部分的对象名称为部分限定名。当用户使用对象的部分限定名时,SQLServer可以根据系统的当前工作环境确定对象名称中省略的部分。在部分限定名中,未指出的部分使用以下默认值:服务器:默认为本地服务器;数据库:默认为当前数据库;数据库架构名:默认为dbo。例如,以下是一些正确的对象部分限定名:server.database.object
21、/*省略架构名*/server.scheme.object/*省略数据库名*/database.scheme.object/*省略服务器名*/serverobject/*省略架构名和数据库名*/scheme.object/*省略服务器名和数据库名*/object/*省略服务器名、数据库名和架构名*/C2物理数据库物理数据库(1)页和区。SQLServer中有两个主要的数据存储单位:页和区。页是SQLServer中用于数据存储的最基本单位。每个页的大小是8KB,也就是说,SQLServer每1MB的数据文件可以容纳128页。每页的开头是96字节的标头,用于存储有关页的系统信息。紧接着标头存放的是
22、数据行,数据行按顺序排列。数据库表中的每一行数据都不能跨页存储,即表中的每一行数据字节数不能超过8192个。页的末尾是行偏移表,对于页中的每一行在偏移表中都有一个对应的条目。每个条目记录着对应行的第一个字节与页首部的距离。区是用于管理空间的基本单位。每8个连接的页组成一个区,大小为64KB,即每1MB的数据库就有16个区。区用于控制表和索引的存储。(2)数据库文件。SQLServer所使用的文件包括三类文件。主数据文件。主数据文件简称主文件,正如其名字所示,该文件是数据库的关键文件,包含了数据库的启动信息,并且存储数据。每个数据库必须有且仅能有一个主文件,其默认扩展名为.mdf。辅助数据文件。
23、辅助数据文件简称辅(助)文件,用于存储未包括在主文件内的其他数据。辅助文件的默认扩展名为.ndf。辅助文件是可选的,根据具体情况,可以创建多个辅助文件,也可以不使用辅助文件。一般当数据库很大时,有可能需要创建多个辅助文件;而数据库较小时,则只要创建主文件而不需要辅助文件。日志文件。日志文件用于保存恢复数据库所需的事务日志信息。每个数据库至少有一个日志文件,日志文件的扩展名为.ldf。日志文件的存储与数据文件不同,它包含一系列记录,这些记录的存储不以页为存储单位。(3)文件组。文件组是由多个文件组成,为了管理和分配数据而将它们组织在一起。通常可以为一个磁盘驱动器创建一个文件组,然后将特定的表、索
24、引等与该文件组相关联,那么对这些表的存储、查询和修改等操作都在该文件组中。使用文件组可以提高表中数据的查询性能。在SQLServer2008中有两类文件组。主文件组。主文件组包含主要数据文件和任何没有明确指派给其他文件组的其他文件。管理数据库的系统表的所有页均分配在主文件组中。用户定义文件组。用户定义文件组是指“CREATEDATABASE”或“ALTERDATABASE”语句中,使用“FILEGROUP”关键字指定的文件组。每个数据库中都有一个文件组作为默认文件组运行。若在SQLServer中创建表或索引时没有为其指定文件组,那么将从默认文件组中进行存储页分配、查询等操作。用户可以指定默认文
25、件组,如果没有指定默认文件组,则主文件组是默认文件组。C3系统数据库和用户数据库系统数据库和用户数据库在SQLServer中有两类数据库:系统数据库和用户数据库。系统数据库存储有关SQLServer的系统信息,它们是SQLServer管理数据库的依据。如果系统数据库遭到破坏,SQLServer将不能正常启动。在安装SQLServer后,系统将创建4个可见的系统数据库:master、model、msdb和tempdb。(1)master数据库包含了SQLServer诸如登录账号、系统配置、数据库位置及数据库错误信息等,用于控制用户数据库和SQLServer的运行。(2)model数据库为新创建的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 数据库和表的创建 数据库 创建
限制150内