实验一 数据库和表的交互式操作.docx
《实验一 数据库和表的交互式操作.docx》由会员分享,可在线阅读,更多相关《实验一 数据库和表的交互式操作.docx(18页珍藏版)》请在冰豆网上搜索。
实验一数据库和表的交互式操作
实验一
实验名称:
数据库的创建、删除与更改;表的创建、删除与更改
实验学时:
3
实验目的:
1)了解SQLServer2005数据库中常见的三种文件类型。
2)掌握使用交互式方法创建数据库的方法。
3)掌握使用交互式方法删除数据库的方法。
4)掌握使用交互式方法修改数据库的方法。
5)掌握使用交互式方法创建表的方法。
6)掌握使用交互式方法删除表的方法。
7)掌握使用交互式方法修改表的方法。
实验内容及步骤:
(一)三种数据库文件
a.主要数据文件(.mdf)
主要数据文件(Primarydatafile)主要包括数据库的启动信息,并指向数据库的其他文件,每个数据库有一个主要数据文件。
主要数据文件的默认文件扩展名是.mdf。
b.次要数据文件(.ndf)
次要数据文件(no-primarydatafile)是可选的,由用户定义并存储用户数据,包含除主要数据文件外的所有数据文件。
有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件,次要数据文件的默认扩展名是.ndf。
c.事物日志文件(.ldf)
事物日志文件用于保存恢复数据库的日志信息,主要指的是数据库的更新情况,如insert、update、delete等。
每个数据库都至少拥有一个日志文件,日志文件的默认扩展名为.ldf。
(二)使用交互式方法创建数据库
例1使用交互式方法创建hospital数据库。
操作步骤:
(1)启动SQLServerManagementStudioExpress。
单击“开始”菜单,在级联菜单中选择“程序”→“MicrosoftSQLServer2005”→“SQLServerManagementStudioExpress”菜单项,显示“连接到服务器”窗口,选择好服务器名称后,单击“连接”按钮,如图1-1所示。
图1-1连接到服务器窗口
(2)在SQLServerManagementStudioExpress窗口中找到对象资源管理器,在对象资源管理器窗口中右击“数据库”,选择“新建数据库”命令,如图1-2所示。
图1-2新建数据库命令
(3)在弹出的新建数据库对话框中,设置数据库名称,如图1-3所示,分别单击“自动增长”和“路径”设置按钮
,设置自动增长的参数(如图1-4所示)和数据库文件的存储路径(如图1-5所示)。
图1-3新建数据库对话框
图1-4修改hospital的自动增长设置
图1-5设置数据库文件的存储位置
(4)在图1-5中单击“确定”按钮,数据库hospital就创建好了,可以在对象资源管理器中观察到,如图1-6所示。
图1-6创建好的hospital数据库
(5)在hospital上单击右键,选择“属性”命令,观察该数据库的详细信息。
如图1-7,图1-8,图1-9所示。
图1-7hospital数据库常规属性
图1-8hospital数据库文件属性
图1-9hospital数据库文件组属性
(三)交互式方式删除数据库
在对象资源管理器中,右击要删除的数据库,从弹出的快捷菜单中选择“删除”或按下“delete”键。
(四)交互式方式修改数据库
数据库创建以后,可以通过数据库的属性设置,来更改数据库创建的某些设置,以及创建时无法设置的属性。
在SQLServerManagementStudioExpress的界面中,右击要修改的数据库,选择“属性”选项,在弹出的数据库属性窗口中进行修改即可。
(五)用表设计器器创建表
表是包含数据库中所有数据的数据库对象。
在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分。
在SQLServer2005中,数据通常存储在永久表中。
表存储在数据库文件中,如果用户有相应的权限都可以对之进行操作,所以管理好表也就管理好了数据库。
表是由行和列组成的。
每一行代表唯一的一条记录,每一列代表记录中的一个域。
创建表的过程主要就是定义表的列的过程,在SQLServer2005中每个表至多可以定义1024列,每个数据库中最多可以创建200万个表。
表和列的命名要遵守标识符的规则,在特定表中必须是唯一的,但是同一数据库中的不同表可以使用相同的列名。
必须为每一列指定数据类型。
(1)登录到MicrosoftSQLServerManagementStudio,展开“数据库”菜单,选择要建表的数据库。
(2)展开数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,如图3.1所示。
或者在已经建好的表上右击,在弹出的快捷菜单中执行“新建表”菜单命令,如图3.2所示。
图3.1“新建表”菜单图3.2已建表快捷菜单
(3)在弹出的表设计器中建立表结构。
表设计器如图3.3所示。
图3.3“表设计器”界面
(4)输入列名。
对于所添加的每一列,都有一新行出现在表设计器的上半部分。
在该行内,可以编辑列名、数据类型、精度和空否等列的基本属性。
可以在表设计器的列属性部分编辑列的其他属性。
只需单击表设计器上半部分的某行,然后添加或编辑出现在下半部分内的属性。
选择适当的数据类型,并设置长度。
(5)设置“允许空”选项,如果表的某一列被指定具有允许空属性,那么就允许在插入数据时省略该列的值。
反之,如果表的某一列被指定具有不允许空属性,那么就不允许在没有指定列默认值的情况下插入省略该值的数据行。
在SQLServer中列的默认属性是不允许为空。
(6)输入完成后,单击“保存”
图标,将弹出“选择名称”对话框。
将表名设定为Student,然后单击“确定”按钮,如图3.4所示。
图3.4“选择名称”对话框
(7)关闭“新建表”窗口,可以看到Student表已经出现在数据库中,如图3.5所示。
图3.5新建表结果
【例1】用MicrosoftSQLServerManagementStudio在数据库Student_test中建立Student表、Course表、SC表。
表结构如表3.1、表3.2、表3.3所示。
表3.1Student表
字段
字段名
说明
数据类型
1
Sno
主键
Char(9)
2
Sname
非空
Char(20)
3
Ssex
Char
(2)
4
Sage
Int
5
Sdept
Char(20)
(1)展开Student_test数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,建立Student表;
(2)输入各属性列,设置数据类型;
(3)设置主键:
选中Sno列,单击工具栏上的主键按钮
;
(4)设置非空:
选中Sname列,取消“允许空”复选框。
表3.2Course表
字段
字段名
说明
数据类型
1
Cno
主键
Char(4)
2
Cname
非空
Char(40)
3
Cpno
外码
Char(4)
4
Ccredit
Int
(1)展开Student_test数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,建立Course表;
(2)输入各属性列,设置数据类型;
(3)设置主键:
选中Cno列,单击工具栏上的主键按钮
;
(4)设置非空:
选中Cname列,取消“允许空”复选框。
(5)设置外码:
1选中Cpno列,点击鼠标右键,出现快捷菜单,如图3.6所示,选择“关系”菜单项。
将弹出“外键关系”对话框,如图3.7所示
图3.6设置外键
2在“外键关系”对话框中点击“添加”按钮,将新加一个关系,名为FK_Course_Course*。
图3.7“外键关系”对话框
3点击“表和列规范”前的加号,该项展开如图3.8所示。
点击右侧的
按钮。
图3.8“表和列规范”展开项
4在弹出的“表和列”对话框中分别设置“主键表”和“外键表”的相关属性,本例中设置主键表为Course,主键的字段为Cno,外键表为Course,外键的字段为Cpno。
如图3.9所示。
图3.9“表和列”对话框
5点击“确定”按钮,关闭“外键关系”对话框,完成外键的设置。
表3.3SC表
字段
字段名
说明
数据类型
1
Sno
主键
Char(9)
2
Cno
主键
Char(4)
3
Grade
取值在0-100之间
Int
(1)展开Student_test数据库,右击“表”图标,在弹出的快捷菜单中执行“新建表”菜单命令,建立SC表;
(2)输入各属性列,设置数据类型;
(3)设置主键:
同时选中Sno列和Cno列,单击工具栏上的主键按钮
;
(4)设置Grade:
1选中Grade列,点击鼠标右键,出现快捷菜单,如图3.10所示,选择“CHECK约束”菜单项。
将弹出“CHECK约束”对话框,如图3.11所示
图3.10设置CHECK约束
2在“CHECK约束”对话框中点击“添加”按钮,将新加一个CHECK约束,名为CK_SC*。
图3.11“CHECK约束”对话框
3点击“表达式”前的加号,该项展开如图3.12所示。
点击右侧的
按钮。
图3.12“表达式”展开项
4在弹出的“CHECK约束表达式”对话框中输入约束表达式。
如图3.13所示。
图3.13CHECK约束表达式
5点击“确定”按钮,关闭“CHECK约束”对话框,完成CHECK约束的设置。
(5)分别设置Sno、Cno为外键,步骤与设置Cpno外键相同。
(六)删除表
(1)登录到MicrosoftSQLServerManagementStudio,展开“数据库”菜单,选择要删除表的数据库。
(2)展开数据库,在要删除的表student上单击右键,在弹出的快捷菜单中执行“删除”菜单命令,如图3.22所示。
图3.22“删除”菜单命令
(3)执行后,student表被删除。
(七)修改表
(1)登录到MicrosoftSQLServerManagementStudio,展开“数据库”菜单,选择要修改表的数据库。
(2)展开数据库,在要修改的表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令,如图3.19所示。
图3.19“修改”菜单命令
(3)在出现的表设计界面修改属性即可,修改后保存。
如图3.20所示。
图3.20修改表结构
请用ManagementStuio完成以下练习:
【例】在表Student中增加新字段“班级名称(Sclass)”;
(1)展开数据库,在Student表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令;
(2)在设计界面输入Sclass字段和数据类型;
(3)保存修改。
【例】在表Student中删除字段“班级名称(Sclass)”;
(1)展开数据库,在Student表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令;
(2)在设计界面选中Sclass字段,点击右键,在弹出的快捷菜单中选择“删除列”;
(3)保存修改。
【例】修改表Student中字段名为“Sname”的字段长度由原来的20改为30;
(1)展开数据库,在Student表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令;
(2)在设计界面选中Sname字段,将数据类型一列改为char(30);
(3)保存修改。
【例】修改表Student中字段“sdept”名称为“dept”,长度为20;
(1)展开数据库,在Student表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令;
(2)在设计界面选中Sdept字段,将名称改为dept,将数据类型一列改为char(20);
(3)保存修改。
【例】修改表Student中Sage字段名称为Sbirth,类型为smalldatetime;
(1)展开数据库,在Student表上单击右键,在弹出的快捷菜单中执行“修改”菜单命令;
(2)在设计界面选中Sage字段,将名称改为Sbirth,将数据类型一列改为smalldatetime;
(3)保存修改。
【练习】创建教师授课管理数据库JSSK,并完成以下内容;
1)在数据库JSSK中创建下列三张表;
表名:
teachers
列名
数据类型
说明
描述
Tno
字符型,长度7
主键
教师号
Tname
字符型,长度10
非空
姓名
Tsex
字符型,长度2
默认取值为“男”
性别
Birthday
小日期时间型
允许空
出生日期
Dept
字符型,长度20
允许空
所在部门
Sid
字符型,长度18
身份证号
表名:
lessons
列名
数据类型
说明
描述
Cno
字符型,长度10
主键
课程号
Cname
字符型,长度20
非空
课程名
Credit
短整型
学分
property
字符型,长度为10
课程性质
表名:
shouke
列名
数据类型
说明
描述
Tno
字符型,长度7
主键
教师号
Cno
字符型,长度10
主键
课程名
Hours
整数
课时
2)在shouke表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;
3)将shouke表的Hours的类型改为smallint;
4)删除lessons表中的property列;