数据库设计 下载本文

1. 使用视图插入表数据

例:通过视图v_s向学生表插入一行数据 Insert into v_s

Values (‘20050009’,’李华’,19,‘男’) 2. 使用视图修改表数据

例:update v_s

Set sex=’女’

Where sno=’20040001’

3. 使用视图删除表数据 例:delete v_s

Where sno=’20040001’

实验习题:

完成书上P130 3.15 实验报告要求: ? 实验目的 ? 实验内容及步骤 ? 实验习题的源程序清单

? 写出在实验过程中遇到的问题及解决方法 ? 要求字迹端正、条理清晰、概念正确

24

实 验 五

实验名称:索引的创建和使用 实验学时:2 实验目的:

1) 了解索引的概念、优点及分类

2) 掌握在企业管理器中创建、修改和删除索引的操作。 3) 掌握使用T-SQL语句创建、修改和删除索引的操作。 实验内容及步骤: (一) 索引的概念:

数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。

索引的优点:

? 可以大大加快数据检索速度。

? 通过创建唯一索引,可以保证数据记录的唯一性。 ? 在使用ORDER BY和GROUP BY子句进行检索数据时,可以显著减少查询中分组和排

序的时间。

? 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。

? 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 索引的分类:

1.聚集索引和非聚集索引 2.复合索引 3.唯一索引 (二) 在企业管理器中创建索引

在企业管理器中,展开指定的服务器和数据库,右击要创建索引的表,从弹出的快捷菜单中依次选择“所有任务|管理索引”选项。在出现的管理索引对话框中,可以选择要处理的数据库和表,然后单击“新建”按钮,出现“新建索引”对话框。在“索引名称”文本框中输入新建索引的名称,在下面的复选框中选择用于创建索引的字段。可以设定索引的属性,例如是否聚集、是否唯一,还可以建立复合索引,指定填充度属性,在选中字段后,可设置“排序次序”属性。最后单击“确定”按钮,即可生成新的索引。 (三) 使用T-SQL语句创建索引

语法:CREATE [UNIQUE] [CLUSTERED│NONCLUSTERED]INDEX index_name ON {table│view} (column [ASC│DESC] [,?n]) 例1:为表jbxx创建一个非聚集索引,索引字段为employee_name,索引名为i_employeename create index i_employeename on jbxx(employee_name)

例2:新建一个表,名称为temp,为此表创建一个惟一聚集索引,索引字段为temp_number,索引名为i_temp_number。 use student

Create table t_temp (temp_number int, temp_name char(10), temp_age int)

create unique clustered index i_temp_number

on t_temp(temp_number)

例3:为表s创建一个复合索引,使用sex和birthday字段。

25

Use student

Create index i_s on s(sex,birthday) (四) 使用企业管理器查看、修改和删除索引的操作

在企业管理器中,展开指定的服务器和数据库,右击要创建索引的表,从弹出的快捷菜单中依次选择“所有任务|管理索引”选项,在出现的管理索引对话框中,选择要查看或修改的索引,单击“编辑”按钮,出现“编辑现有索引”对话框。在该对话框中,可以修改索引的大部分设置,还可以直接修改其SQL脚本,只需单击“编辑SQL”按钮,即可出现“编辑Transact_SQl脚本”对话框,在此可以编辑、分析、执行索引的Transact_SQl脚本。

要在企业管理器中修改索引的名称,需要在表的“属性”对话框中进行。在企业管理器中,右击要修改名称的表,从弹出的快捷菜单中选择“设计表”选项,在打开的设计表的窗口中,打开表的“属性”对话框,选择“索引/键”选项卡,在此对话框中,先选定要修改索引名称的索引,然后直接在“索引名”文本框中输入心得索引名称替换原来的索引名称。

要删除索引,可以在“管理索引”对话框中或表的“属性”对话框中,选择要删除的索引,单击“删除”按钮,即可删除索引。 (五) 使用T_SQL查看、修改和删除索引的操作

使用系统存储过程查看索引信息,语法如下: sp_helpindex [@objname=] ‘name’ 例1:查看jbxx表的索引信息 sp_helpindex jbxx

使用系统存储过程修改索引名称,语法如下:

sp_rename[@objname=] ‘object_name’,[@newname=] ‘new_name’ [,[@objtype=] ‘object_type’]

例2:将s表中的索引i_s的名称改为i_s_sexandbirth use student

sp_rename ‘s.i_s’,’i_s_ sexandbirth’,’index’

删除索引句法:

drop index ‘table.index│view.index’[,?n] 例3:删除表s中的索引i_s_sexandbirth drop index s. i_s_sexandbirth 实验习题:

为建立的student数据库中的各个表建立索引。 实验报告要求: ? 实验目的 ? 实验内容及步骤 ? 实验习题的源程序清单

? 写出在实验过程中遇到的问题及解决方法 ? 要求字迹端正、条理清晰、概念正确

26

实 验 六

实验名称:存储过程的创建和使用 实验学时:2 实验目的:

1) 了解存储过程的概念

2) 了解使用存储过程的特点及用途 3) 掌握创建存储过程的方法 4) 掌握执行存储过程的方法

5) 了解查看、修改和删除存储过程的方法 实验内容及步骤:

(一) 存储过程的概念

SQL Server的存储过程类似于编程语言中的过程。在使用Transact-SQL语言编程的过程中,我们可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQL Server服务器通过过程名来调用它们,这些过程就叫做存储过程。

存储过程在创建时就被编译和优化,调用一次以后,相关信息就保存在内存中,下次调用时可以直接执行。

(二) 存储过程的优点及分类 存储过程的优点 :

? 实现了模块化编程。

? 存储过程具有对数据库立即访问的功能。 ? 使用存储过程可以加快程序的运行速度。 ? 使用存储过程可以减少网络流量。

? 使用存储过程可以提高数据库的安全性。 存储过程的分类

? 系统存储过程 :系统自动创建,主要存储在master数据库中,一般以sp_为前缀。 ? 用户自定义存储过程 :由用户创建并能完成某一特定功能的存储过程。 (三) 创建存储过程的方法

? 使用企业管理器创建存储过程:

在SQL Server企业管理器中,选择指定的服务器和数据库,右击要创建存储过程的数据库,在弹出的快捷菜单中依次选择“新建|存储过程?”选项。在弹出的“新建存储过程”对话框中的文本框中输入创建存储过程的T-SQL语句。

例1:创建一个名为StuInfo的存储过程,完成的功能是在s表中查询200501班的学生的学号、姓名、性别、出生日期的内容。输入代码如下:

CREATE PROCEDURE StuInfo AS

SELECT SNO AS 学号, SNAME AS 姓名, SSEX AS 性别, SAGE AS 年龄 FROM S

WHERE LEFT(SNO,6)=’200501’ 输入完毕单击“检查语法”按钮,进行语法检查,检查成功,系统弹出提示信息框,单击“确定”,保存该存储过程,并关闭该对话框。 ? 使用 T-SQL创建存储过程

27