实验02 数据库和表的建立和维护.docx
《实验02 数据库和表的建立和维护.docx》由会员分享,可在线阅读,更多相关《实验02 数据库和表的建立和维护.docx(18页珍藏版)》请在冰豆网上搜索。
实验02数据库和表的建立和维护
实验02数据库和表的建立和维护
一、学时:
4H,课外学时:
2H
二、实验目的
⏹熟练掌握如何在SQLServer2000图形环境下建立数据库和表。
三、实验内容
创建用于学生管理数据库,数据库名为StudentInfo,包含学生的基本信息,课程信息和选课信息。
数据库StudentInfo包含下列3个表:
(l)student:
学生基本信息。
(2)course:
课程信息表。
(3)sc:
学生选课表。
各表的结构分别如表1、表2和表3所示。
表1学生信息表:
student
列名
数据类型
长度
是否允许为空值
sno
字符型
10
否
sname
字符型
20
否
ssex
字符型
2
否
sage
整数型
是
sdept
字符型
4
否
注:
sage界于10~30之间
表2课程信息表:
course
列名
数据类型
长度
是否允许为空值
cno
字符型
3
否
cname
字符型
30
否
credit
整数型
是
pcno
字符型
3
是
表3学生选课表:
sc
列名
数据类型
长度
是否允许为空值
sno
字符型
10
否
cno
字符型
30
否
grade
整数型
是
注:
grade取值界于0~100之间
1.数据库的建立:
在程序菜单中选择MicrosoftSQLServer,如图1所示:
图1
再选中企业管理器,如图2所示:
图2
点击企业管理器后,出现企业管理器的主界面,如图3所示:
图3
点击左边树状控制栏的+/-号可以打开和关闭SQLServer组中的本地服务项目,在选中数据库服务项目后,单击鼠标右键,出现数据库的菜单,如图4所示:
图4
点击新建数据库,出现新建数据库窗口,如图5所示:
图5
数据库属性对话框中有3个页面:
常规页面、数据文件页面和事务日志页面。
数据文件页面和事务日志页面主要用来定义数据库的数据文件和日志文件的属性。
随后在常规页面中,输人数据库名称:
StudentInfo。
点击数据文件选项卡,如图6所示:
图6
在数据文件选项卡中,你可以设定数据文件的名称,所在目录以及文件的大小等信息。
完成后点击事务日志选项卡,如图7所示:
图7
事务日志中,你可以设定日志文件的名称,所在目录以及文件的大小等信息。
文件属性栏设在页面的下部,它包括下列选项:
1)文件自动增长复选框:
选中后允许文件放满数据时自动增长。
2)文件增长单选框:
设置允许文件自动增长时,每次文件增长的大小。
其中,选“按兆字节”项为设置文件增长为固定的大小,单位是MB;选“按百分比”项为文件按指定比例数增长,单位是%。
3)最大文件大小单选框:
设置当允许文件扩展时,数据文件能够增长的最大值。
选“文件增长不受限制”项可使文件无限增长,直到用完磁盘空间;选“将文件增长限制为”项时,要设置文件最多达到的固定值。
接受系统的缺省值,点击确定按钮,完成数据库的新建,如图8所示。
图8
2.查看和修改数据库属性参数
已经建好的数据库,有时还需要对它的属性参数进行查看和修改。
下面我们分两步介绍:
先介绍查看和修改数据库属性的步骤,再介绍数据库有关的参数及其含义。
(1)查看和修改数据库属性的步骤
1)启动企业管理器,使数据库所在的服务器展开为树形目录。
2)选中数据库文件夹,使之展开;用鼠标右键单击指定的数据库标识,在弹出的菜单中选择“属性”项,如图9所示。
出现数据库属性对话框,如图10所示。
图9
图10
从该对话框中可以看出,它由6个选项卡构成,和图6不同的是增加了文件组、选项和权限页面。
其中:
文件组页面用于设置数据库的文件组,其概念在前面已经介绍过;权限页面用来设置用户对该数据库的访问权限,有关选项页面内容在下面介绍。
3)在选项卡中查看或修改相应的内容,单击[确定]按钮关闭对话框。
(2)选项页面中的数据库属性参数
“选项”页面如图10所示。
“选项”页面分访问、故障还原、设置和兼容性4个栏目。
1)访问栏目。
访问栏用来设置数据库的操作许可。
限制访问复选框:
选择后,限制用户访问数据库。
dbowner,dbcreater或sysadmin成员:
只能由数据库拥有者(创建者)使用数据库。
单用户:
在同一时刻是否只允许一个用户使用该数据库。
只读:
该数据库是否是只读的。
2)故障还原栏目。
设置故障还原模型。
3)设置栏目。
该栏目用来设置数据库在进行数据操作时的行为特征,它包括8个复选框,其含义比较容易理解。
3.删除数据库
对于不需要的数据库,可以通过下面的方法删除:
1)用鼠标右键单击要删除的数据库,在出现的弹出菜单中选择删除项。
2)在弹出的确认删除对话框中,单击[确认]按钮。
4.表的建立:
在SQLServer2000的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。
当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。
要建立“student”表,先选中数据库“StudentInfo”的文件夹,单击鼠标右健。
在弹出的菜单中选择新建表,如图11所示。
随后的输入表结构对话框如图12所示。
图11
图12
输入表结构对话框是一张表,它的列属性有列名、数据类型、长度和是否允许空4项。
用户把新建表的结构填入对话框的表中,表中的每一行定义新建表(student)的一列,每一列定义新建表的一个列属性。
当光标移到表中的某一行时,下面的列描述就会对应当前行显示输入项,用户可在其中对关系的属性进行进一步说明。
列描述包括数据的精度、小数位数、默认值、是否标识等项。
输入表结构时应注意以下几点:
1)“列名”列用于输入字段名,例如“Sno”、“Sname”等(列名最好不要使用中文名称,如“学号”,“姓名”等),列名类似于变量名,其命名规格和变量一致。
列名中不允许出现空格,一张表也不允许有重复的列名。
2)“数据类型”列中的数据类型是通过选择方法,而不是直接键人数据类型字符输入的。
当鼠标指针移向该列时,就会出现控制键,单击后就出现数据类型弹出框,可选择其中之一为指定的数据类型。
3)“长度”列、精度和小数位数项不是所有字段都必选的。
例如int和datetime型的长度是固定的,也不需要数据精度值。
数据精度仅对一些数值型、字符型、货币型等数据有效,小数位仅对一些数值型数据有效。
4)“允许空”列用于设置是否允许字段为空值,默认项用于设置字段的默认值。
5)标识、标识种子和标识递增量用于设置字段具有的新生行递增性、初始值以及步长,以便让SQLServer2000自动填写该列的值。
具有标识性能的字段的数据类型只能为int,Smallint,tinyint,decimal(p,0)或numeric(p,0),而且不允许为空值。
一个表只允许有一列具有标识性能。
6)列名前的一列按钮为字段标注按钮列。
钥匙图标说明这个字段为主码,黑三角图标说明所指示行为当前字段。
7)在对话框中单击鼠标右键,则会出现一个弹出框,如图13所示。
其中的几个选项非常有用:
选择“设置主键”项,则定义当前字段为主码,表中该列处会显示钥匙图案;选择“插入列”项,则在当前字段处插入一个新行;选择“删除列”项,则删除当前字段;选择“属性”项,可调出表属性对话框,如图14所示,可以在其中定义索引/键、和其他表间的关联和约束等属性,具体方法在下面介绍。
图14
8)字段输入完后,就可以关闭建表对话框了。
点击
图标,出现选择表名窗口,如图15所示:
图15
输入表名,点击确定按钮,将新建的表存盘。
5.定义表的完整性约束和索引
表的约束包括码(主键)约束、外码约束(关联或关系约束)、唯一性约束、Check(检查)约束4种。
这些约束可以在表属性对话框中定义。
(1)定义索引和键
选择“索引/键”页面,其界面如图14所示。
1)查看、修改或删除索引时,先要在“选定的索引”下拉菜单中选择索引名,其索引内容就显示在表中。
需要时,可以直接在表中修改索引内容,如改变索引列名,改变排序方法等。
对于不需要的索引可以单击[删除]按钮,直接删除此索引。
2)新建一个索引时,单击[新建]按钮,并在下面的表中输入索引名、索引列名及排列顺序。
3)设置UNIQUE复选框,确定是否为唯一索引约束。
设置CLUSTERED复选框,确定是否为群集索引(CLUSTERED)。
(2)定义表间关联
选择“关系”页面,其界面如图15所示。
1)查看、修改或删除表关联时,先要在“选定的关系”下拉菜单中选择关联名(即关系名),其关联内容就显示在表中。
需要时,可以直接在表中修改关联内容,例如改变主键,改变外码键等。
对于不需要的关联可以单击[删除]按钮,直接删除此关联。
2)新建一个关联时,单击[新建]按钮,选择库中的关联表(参照表)后,在表中输入关联名、主码和外码。
3)设置“创建中检查现存数据”复选框,确定新建关联时是否对数据进行检查,要求符合外码约束;设置“对复制强制关系”复选框,确定在进行数据复制时是否要符合外码约束;设置“对INSERT和UPDATE强制关系”复选框,确认在对数据插入和更新时,是否符合外码约束;设置“级联更新相关的字段”复选框和“级联删除相关的记录”复选框,确认被参照关系的主码值被修改时,是否也将参照表中的对应的外码值修改,而被参照关系的主码值被删除时,是否也将参照表中对应外码的记录删除。
图15
(3)定义CHECK约束
选择CHECK约束页面,其界面如图16所示。
图16
1)查看、修改或删除CHECK约束时,先要在“选定的约束”下拉菜单中选择约束名,其约束内容就显示在约束表达式框中。
需要时,可以直接在框中修改约束表达式。
对于不需要的CHECK约束可以单击[删除]按钮,直接删除此约束。
2)新建一个CHECK约束时,单击[新建]按钮,并在表中输入约束名和约束表达式。
3)设置“创建中检查现存数据”,确认在创建约束时是否对表中数据进行检查,要求符合约束要求;设置“对复制强制约束”复合框,确认对数据复制时是否要求符合约束条件;设置“对INSERT~UPDATE强制约束”,确认在进行数据插入和数据修改时,是否要求符合约束条件。
6.修改表结构
当需要对建好的表修改结构时,首先要在企业管理器中找到该表,用鼠标右键单击该表名,就会出现弹出菜单,如图17所示。
随后,在弹出的菜单中选择“设计表”项,企业管理器会把如图12所示的建表对话框调出,用户可对原有内容进行修改。
图17
7.在表student上增加“出生日期”属性列。
8.为表student的sage字段建立Check约束:
sage界于10~30之间。
9.为表SC的grade字段建立Check约束:
grade取值界于0~100之间。
10.在表SC上,按“grade”属性列的多值方式建立索引。
11.创建教材P74--习题5、SPJ数据库中的四个关系S,P,J,SPJ。
数据库名称为SPJ+学号+姓名
参考电子书:
1.《SQLServer2000实用教程》第5章
2.《SQLServer2000培训教程》第4/5章
四、实验思考:
1、定义表结构时,对主属性有什么要求?
2、修改表结构时,新增加的属性列能否定义为非空?
为什么?
3、分别在表student、SC上按“sno”列的唯一值方式建立索引,可能出现问题吗?
情况有什
么区别?
4、能否在非主属性列上建立索引?
其恰当的方式是什么?
5、为什么要建立索引?
学生选课数据库中建立多少索引合适?
五、提交实验结果方式:
最后建立完成的数据库文件:
(1)StudentInfo数据库;
(2)SPJ+学号+姓名数据库
各位同学先提交给各班的班长,再由班长交给老师