当前位置:
文档之家› 实验五:数据库的视图和图表的定义及使用
实验五:数据库的视图和图表的定义及使用
实验原理
1、创建视图
假设在图书_读者数据库中已经建立了图书、读者和借阅3个表,它们的结构为:
图书(书号,类别,出版社,作者,书名,定价);
借阅(书号,读者借书证号,借阅日期);
读者(借书证号,姓名,单位,性别,话)如果要在上述3个表的基础上建立一个视图,取名为读者_VIEW,其操作用SQL语句表示为:
SQL平台上应用数据库系统建立多个适用与不同的用户层,使得不同的用户能够得到自己想要的视图,而不破坏数据库的数据,从而保护的数据的完整性、安全性,提高据库的利用率。
指导教师意见
签名:年月日
注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。
insertintoReader
select'200215121','李勇','CS','男','888888888'
union
select'200215122','刘晨','MA','女','857988888'
union
select'200215123','王明','MA','女','999999999'
5、编辑数据库图表
在企业管理器中,展开数据库图表所属的服务器、数据库文件夹、数据库以及关系表文件夹。用鼠标右键单击要编辑的关系表,在弹出的菜单中选择“设计关系表”项,则弹出一个编辑关系表的对话框,数据库关系表中的所有操作都是在该对话框中完成的。
6、数据库图表的删除
在企业管理器中,用鼠标右键单击欲删除的数据库关系表。在弹出的菜单上选择“删除”项。在随后出现的删除对象对话框中选中关系表后,单击“删除全部”按钮,即可删除该数据库中被选中的关系表。
union
select'1008','人文','北京大学出版社','李叶','毛泽东思想',30
union
select'1009','人文','北京大学出版社','好烦','邓小平理论',30
union
select'1010','地理','复旦大学出版社','好烦','中国地理',81
union
select'1011','历史','复旦大学出版社','好烦','中国历史',81
CREATE VIEW读者_VIEW AS SELECT图书.*,借阅.* FROM图书,借阅,读者
WHERE图书.书号=借阅.书号AND借阅.读者借书证号=读者.借书证号;
利用SQL Srever 2000中提供的视图创建向导,来创建读者_VIEW视图。
2、查看和修改视图
视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器中对它进行修改
ifexists(select*fromsysobjectswherename='Reader')
droptableReader
go
createtableReader(
ReaderIdvarchar(50)primarykey,
Namevarchar(50),
Unitvarchar(50),
Sgenderchar(10)check(Sgender='男'orSgender='女'),
union
select'1003','200215122','2011.02.03'
union
select'1003','200215125','2011.02.03'
union
select'1006','200215126','2011.02.03'
创建视图并修改:
createviewghbas
SELECTdbo.Books.Type,Books.Press,Books.Author,Books.BookName,Books.Price,dbo.Borrow.*
WHERE图书.书号=借阅.书号AND图书.类别=‘计算机’;
(2)在SQL Server企业管理器中调出Create Diagram Wizard(创建图表向导),完成在图书_读者数据库中建立一个图书_借阅图表操作。要求该图表包括图书和借阅两个表。并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。
FROMdbo.BooksINNERJOIN
dbo.BorrowONdbo.Books.BookId=dbo.Borrow.BookIdINNERJOIN
dbo.ReaderONdbo.Borrow.ReaderId=dbo.Reader.ReaderId
删除视图:
Dropviewghb
实验数据
实验总结
Telvarchar(50)
);
go
--建借阅表
ifexists(select*fromsysobjectswherename='Borrow')
droptableBorrow
go
createtableBorrow(
BookIdvarchar(50),
ReaderIdvarchar(50),
DateDateTime,
select'1001','计算机','机械工业出版社','张宏','C#编程',85
union
select'1002','计算机','清华大学出版社','张宏','编程',90
union
select'1003','计算机','清华大学出版社','立时','软件设计师',100
union
insertintoBooks
select'1012','计算机','机械工业出版社','张宏','java编程',88
insertintoBorrow
select'1001','200215124','2011.02.03'
union
select'1002','200215126','2011.02.03'
3、删除视图
删除视图的方法是:首先要在企业管理器中,将鼠标指针指向数据库中的视图文件夹,单击右键。在随后出现的弹出菜单中,选择“删除”项,会出现删除视图对话框。选中欲删除的视图,单击“全部移出”按钮,被选中的视图就会从视图中被移出。
4、创建关联表
假如要在图书_读者数据库中建立一个读者_借阅_图书关系,要求该图表包括图书、借阅和读者三个表,并包括它们之间的“图书.书号=借阅.书号AND借阅.读者借书证号=读者.借书证号”的外码与被参照表之间的关联,即用关联表实现上述视图的功能。在企业管理器中通过向导建立数据库关联表。
union
select'200215124','张力','CS','女','999999999'
union
select'200215125','李小','IS','男','999999999'
union
select'200215126','杜绝','IS','女','999999999'
insertintoBooks
**大学实验报告
学院:专业班级:
姓名
学号
实验组
1
实验时间
指导教师
成绩
实验项目名称
实验五:数据库的视图和图表的定义及使用
实验目的
使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解。
实验要求
本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。开始实验前,必须进行预习,实验过程中,先集中由老师进行具体要求和注意事项的讲解,然后各自独立在机器上完成实验。实验过程中出现问题,在实验指导老师帮助下解决。
primarykey(BookId,ReaderId)
)
altertableBorrowaddconstraintFK_Borrow_Booksforeignkey(BookId)referencesBooks(BookId)
altertableBorrowaddconstraintFK_Borrow_Readerforeignkey(ReaderId)referencesReader(ReaderId)
select'1004','数学','清华大学出版社','张忠','高等数学',50
union
select'1005','数学','北京大学出版社','李叶','概率统计',80