数据库实验指导(10)

2020-04-15 00:39

图3-1字段查询结果图

2)基于T_Teacher表按选择操作定义视图。

举例:定义一个满足sex=’男’的员工的所有信息的视图。

具体操作:在视图操作窗,勾选所有列,然后在对应Sex的筛选器内填入筛选条件=‘男’,单击运行即可实现选择操作。或者使用以下代码

create view 所有男性教师信息 as SELECT Teacher_id AS 教师工号, Teacher_name AS 教师姓名, Title AS 职称, Sex AS 性别, Telephone AS 电话, Enter_date AS 入职时间 FROM dbo.T_Teacher WHERE (Sex = '男') 查询结果如图3-2所示。代码生成视图后,左侧对象资源管理器中选中视图右击设计即可看到。

38

图3-2 单表选择查询结果图

3)基于多个表根据连接操作定义视图。

举例:定义一个视图用以查看所有教师的姓名及其订购书目、数量。 具体操作:

i)此视图涉及到T_Teacher表、T_BookaInfo表和T_BookOrder表三者联合查询。 新建视图将此三张表添加到视图操作窗。

ii)分别从三张表中勾选Book_name、Teacher_name和Book_num后单击执行即可获取联合表信息。或者使用以下代码

create view 教师订书基本信息 as SELECT dbo.T_BookInfo.Book_name AS 书名, dbo.T_Teacher.Teacher_name AS 教师名, dbo.T_BookOrder.Book_num AS 定购数目 FROM dbo.T_BookInfo INNER JOIN dbo.T_BookOrder ON dbo.T_BookInfo.Book_id = dbo.T_BookOrder.Book_id INNER JOIN dbo.T_Teacher dbo.T_Teacher.Teacher_id ON dbo.T_BookOrder.Teacher_id = 查询结果如图3-3所示。代码生成视图后,左侧对象资源管理器中选中视图“教师订书基本信息”右击设计即可看到。

39

图3-3联合查询结果

4)基于多个表根据嵌套查询定义视图。

举例:定义一个比所有教师订书数目最高的教师的信息的视图。 具体操作:

i)此视图涉及到T_Teacher表、T_BookaInfo表和T_BookOrder表三者联合查询。 新建视图将此三张表添加到视图操作窗。

ii)分别从三张表中勾选Book_name、Teacher_name和Book_num后,在单击执行即可获取联合表信息。或者使用以下代码创建视图。

create view 购书最多信息 as SELECT TOP (1) dbo.T_BookInfo.Book_name AS 书名, dbo.T_Teacher.Teacher_name AS 教师名, dbo.T_BookOrder.Book_num AS 定购数目 FROM dbo.T_BookInfo INNER JOIN dbo.T_BookOrder ON dbo.T_BookInfo.Book_id = dbo.T_BookOrder.Book_id INNER JOIN dbo.T_Teacher ON dbo.T_BookOrder.Teacher_id = dbo.T_Teacher.Teacher_id ORDER BY 定购数目 DESC 查询结果如图3-4所示。代码生成视图后,左侧对象资源管理器中选中视图右击设计即

40

可看到。

图3-4 查询订购最多教师信息

5)定义含有虚字段(即基本表中原本不存在的字段)的视图。

举例:定义一个视图用以查看所有教师的姓名、购书名称、单价和需要花费总金额。

create view 购书费用表 as SELECT dbo.T_Teacher.Teacher_name AS 教师姓名, dbo.T_BookInfo.Book_name AS 书名, dbo.T_BookInfo.Price AS 单价, dbo.T_BookInfo.Price * dbo.T_BookOrder.Book_num AS 总价 FROM dbo.T_Teacher INNER JOIN dbo.T_BookOrder ON dbo.T_Teacher.Teacher_id = dbo.T_BookOrder.Teacher_id INNER JOIN dbo.T_BookInfo ON dbo.T_BookOrder.Book_id = dbo.T_BookInfo.Book_id 查询结果如图3-5所示。代码生成视图后,左侧对象资源管理器中选中视图右击设计即可看到。

41

图表3-5含有虚字段视图

2. 存储过程练习

对应实验二创建数据库,参照前面实验中完成的查询,按自行定义要求并创建存储过程。以下为示例,请根据个人情况选定要求创建存储过程并执行验证。

1) 创建存储过程查询女教师定购教材情况,要求显示教材名称,教师姓名和订购数量。 具体操作:

i)在BOOK数据库下选中【视图】|【可编程性】|【存储过程】右击选择【新建存储过程】即打开存储过程编辑框。或者直接在“新建查询”窗口进行以下步骤。

ii)在打开的编辑框输入以下代码后单击执行刷新后在【可编程性】【存储过程】下可看到新建的存储过程pro_book1: CREATE PROCEDURE pro_book1 -- Add the parameters for the stored procedure here @sex char(2) --查询条件为性别 AS BEGIN SET NOCOUNT ON; SELECT T_BookInfo.Book_name,T_Teacher.Teacher_name,T_BookOrder.Book_num FROM 42


数据库实验指导(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019-2020学年八年级历史下册 第二单元《社会主义道路的探索》单

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: