实验四(1) 视图的创建与使用

合集下载

数据库实验四创建和使用视图

数据库实验四创建和使用视图

数据库实验四创建和使⽤视图实验四创建和使⽤视图1.实验⽬的掌握使⽤Management studio和SQL命令进⾏视图的创建、修改和删除。

掌握使⽤SQL命令对视图访问数据。

2.实验内容创建⼀个简单的视图,查询课程号101的不及格的学⽣信息。

修改简单视图,查询课程号107成绩介于70-90的学⽣信息。

使⽤视图访问数据。

删除所创建的视图。

创建⼀个简单视图,查询“计算机系”学⽣的信息创建⼀个简单视图,统计每门课程的选课⼈数和最⾼分。

创建⼀个复杂视图,查询与“俞奇军”住在同⼀寝室的学⽣信息,即其联系电话相同。

创建⼀个复杂视图,查询选修了课程的同学的姓名,课程名及成绩。

具体代码:创建⼀个简单的视图,查询课程号101的不及格的学⽣信息。

CREATE VIEW学⽣信息ASSELECT*FROM XSQKWHERE学号IN(SELECT学号FROM XS_KCWHERE课程号='101'AND成绩<60)修改简单视图,查询课程号107成绩介于70-90的学⽣信息。

ALTER VIEW学⽣信息ASSELECT*FROM XSQKWHERE学号IN (SELECT学号FROM XS_KCWHERE课程号='107'AND (成绩BETWEEN70AND90))使⽤视图访问数据。

SELECT*FROM学⽣信息删除所创建的视图。

DROP VIEW学⽣信息创建⼀个简单视图,查询“计算机系”学⽣的信息CREATE VIEW计算机系学⽣信息ASSELECT*FROM XSQKWHERE所在系='计算机'创建⼀个简单视图,统计每门课程的选课⼈数和最⾼分。

CREATE VIEW每门课程的选课⼈数和最⾼分AS(SELECT课程号 ,COUNT(学号) AS选课⼈数 , MAX(成绩) AS最⾼分FROM XS_KCGROUP BY课程号)创建⼀个复杂视图,查询与“俞奇军”住在同⼀寝室的学⽣信息,即其联系电话相同。

实习4 视图和查询的创建与使用

实习4 视图和查询的创建与使用

实习4 视图和查询的创建与使用一.实习目的1.掌握创建单表视图和多表视图的方法,能够创建视图,并利用视图更新表中的数据。

2.掌握创建单表查询和多表查询的方法,能够创建并使用单表查询和多表查询。

二.实习要求1.创建一个单表视图。

2.创建一个多表视图。

3.利用视图更新表中的数据。

4.创建一个单表查询。

5.创建一个多表查询。

三.实习内容实习4-1 根据“学生表”创建一个单位表视图,视图文件名为“学生”。

操作步骤如下:1.打开“河南工程学院数据库”,打开“数据库设计器”窗口,如图所示。

2.在“数据库设计器”窗口中,选择“文件”菜单中的“新建”命令,打开“新建”对话框。

3.在“新建”对话框中选择“视图”,然后单击“新建文件”按钮,打开“添加表或视图”对话框,如下图所示。

4.在“添加表或视图”对话框中,把建立视图所需的表添加到“视图设计器”中,单击“关闭”按钮,打开“视图设计器”窗口,如下图所示。

5.在“视图设计器”窗口中,在“可用字段”列表框中,逐个双击可用的字段,将其添加到“选定字段”列表框中,如下图所示。

6.选择“文件”菜单中的“保存”命令,打开“保存”对话框,输入视图名“学生”,单击“确定”按钮,视图文件建立完成并被存放在打开的数据库中。

如下图所示。

7.在“数据库”菜单中选择“浏览”命令,打开“浏览”窗口,浏览视图中的数据,如下图所示。

实习4-2 根据“学院表”、“系表”、“班级表”、“学生表”、“课程表”、“成绩表”这个表创建一个多表视图,视力文件名为“学院系班级学生成绩”。

操作步骤如下:1.打开“河南工程学院数据库”,打开“数据库设计器”窗口,如图所示。

2.在“数据库设计器”窗口中,选择“文件”菜单中的“新建”命令,打开“新建”对话框。

3.在“新建”对话框中选择“视图”,然后单击“新建文件”按钮,打开“添加表或视图”对话框,如下图所示。

4.在“添加表或视图”对话框中,把建立视图所需的表添加到“视图设计器”中,单击“关闭”按钮,打开“视图设计器”窗口,如下图所示。

数据库实验四.视图创建和查询

数据库实验四.视图创建和查询

南昌大学实验报告
一、实验项目名称
视图创建和查询
二、实验目的
熟悉视图定义和使用视图查询
三、实验基本原理和内容
请为三建公司项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量.针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量
(2)找出供应商S1的供应情况
四、主要仪器设备及耗材
PC机一台
五、实验步骤及实验数据及处理结果
1、创建视图:
CREATE VIEW三建供应情况
AS
SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO=(SELECT JNO
FROM J
WHERE JNAME='三建')
2、a:找出三建工程项目使用的各种零件代码及其数量
SELECT PNO,SUM(QTY)
FROM三建供应情况
GROUP BY PNO
b:找出供应商S1的供应情况
SELECT*FROM三建供应情况
WHERE SNO='S1'
六、参考资料
卫琳《SQL SERVER 2008数据库应用与开发教程》清华大学出版社2011.6。

试验四视图一试验目的及要求熟练掌握视图的创建删除2

试验四视图一试验目的及要求熟练掌握视图的创建删除2

实验四视图一.实验目的及要求1.熟练掌握视图的创建、删除。

2.掌握视图的查询、修改。

二.实验任务1.理解视图的概念。

2.掌握创建视图的方法。

3.掌握更改视图的方法。

4.掌握用视图管理数据的方法。

三、操作要点1.注意带有WITH CHECK OPTION的视图对数据增删改的影响。

四、注意事项1.使用Transact-SQL语句ALTER VIEW修改视图。

五、实验学时:2学时六、实验重点及难点1.视图的创建与删除。

2.WITH CHECK OPTION的用法。

七、实验步骤(1)启动SQL查询分析器;(2) 选择SQL SERVER后,按确认;(3) 选择数据库Univisity;(4) 进行以下工作:1.从Students表中建立查询所有男(女)生信息的视图STU_SEX。

视图的列名为SNO、SNAME、SSEX和SAGE。

2.从Courses表中建立查询所有课程先修课信息的视图课程Courses_PRE。

视图的列名为课程号、课程名称和先修课名称。

3.从Reports表中建立查询成绩大于等于80信息的视图STU_CJ1。

视图的列名为学号、课程号和成绩。

4.从Students、Reports和Courses三个表建立查询学生选修情况的视图STU_CJ2。

视图的列名为姓名、课程名称和成绩。

5.从Students、Reports和Courses三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。

视图的列名为姓名、课程名称和成绩。

6.利用Transact-SQL命令修改视图STU_SEX。

把视图的列名改为学号、姓名、性别和年龄,加上“WITH CHECK OPTION”选项。

7.删除视图STU_CJ3。

8. 建立自动化系学生视图STU_Auto1,带有WITH CHECK OPTION。

9. 建立自动化系学生视图STU_Auto2。

10. 往STU_Auto1添加一行数据:学号为S15、姓名为陈婷、性别为女、年龄为21(考虑陈婷属于自动化系、以及属于计算机系两种情况) 。

视图的创建和使用

视图的创建和使用

视图的创建和管理●视图的概念●创建视图●查询视图●更新视图一.视图的概念1.基本表(Base Table):是本身独立存在的表,如:学生表,课程表2.视图(View):是从一个或者多个基本表导出的表视图的结构和数据是对数据表进行查询的结果。

视图是一种数据库对象,不是真实存在的基础表而是一个虚拟表。

用户可以像对基本表一样对它进行操作。

使用视图的优点和作用:简化数据操作,提高数据安全性。

二.创建视图1、使用企业管理器创建视图选择数据库,在“视图”上点右键,选“新建视图”->“添加表”选用户表和视图,->”关闭”。

在表格中复选框划勾,第2个窗格中,输出框选中,可以在“所在院系”准则中输入“=’计算机’”,准则对应WHERE子句。

右键窗格,选属性,选“顶端”可以限制视图最多输出多少条记录,“DISTINCT值”可以选择不输出值相同的记录,”加密浏览”对视图定义加密。

点“!”可输出视图的结果,最后保存。

2、使用企业管理器的“向导”创建视图“工具”->“向导”->“视图向导”->选数据库->选表->选字段->输入条件“WHERE 入学年份<’2006-1-1’”3、用T-SQL语句创建与管理视图1)使用CREATE VIEW 创建视图格式:CREATE VIEW <视图名>[(<字段名>[,<字段名>]….)]AS <子查询>[WITH CHECK OPTION ](1)行列子集视图-去掉了基本表的某些字段,保留了主键【例1】创建一个行列子集视图<计算机学生>CREATE VIEW 计算机学生ASSELECT 学号,姓名,年龄,性别,所在院系FROM 学生表WHERE 所在院系=’计算机’(2)建立在多个表上的视图【例2】创建计算机系中选修了“C801”课程的学生视图CREATE VIEW 选课学生(学号,姓名,性别,所在院系,课程号,成绩)ASSELECT S.学号, 姓名, 性别,所在院系, 课程号, 成绩FROM 学生表S ,成绩表CWHERE S.学号=C.学号AND 所在院系=’计算机’ AND 课程号=’C801’(3)在视图上的操作【例3】创建计算机系中选修了“C801”课程并且性别为女的学生视图CREATE VIEW 选课女学生ASSELECT *FROM 选课学生WHERE 性别=’女’2)表达式视图可以根据需要,增加一些字段列,在实际表中并不存在,称为虚拟字段,带虚拟字段的视图为带表达式的视图。

数据库SQL视图的创建及使用实验报告(共5篇)[修改版]

数据库SQL视图的创建及使用实验报告(共5篇)[修改版]

第一篇:数据库SQL 视图的创建及使用实验报告《数据库基础》实验报告班级__计算机111__学号__xxxxxxxx__姓名__xxx___完成日期____6.20___实验室__理工楼310_ 指导老师xxx成绩____100______实验四、视图的创建及使用(一)实验目的(1)加深对视图的理解。

(2)掌握使用管理工具创建和使用视图的方法。

(3)掌握使用SQL创建和使用视图的方法。

(二)实验内容(1)使用“图书借阅”数据库,在管理工具中创建视图“借阅_计算机图书”,包含借阅类别为“计算机”的图书的信息:(读者编号,姓名,书号,书名,借阅日期)。

(2)直接使用SQL定义(1)中要求的视图并对其进行查询。

(3)在管理工具中建立各类视图(如单表视图、多表视图、分组视图、基于视图的视图等)。

(4)尝试使用insert、update、delete更新视图。

(三)实验具体步骤(1)使用“图书借阅”数据库,在管理工具中创建视图“借阅_计算机图书”,包含借阅类别为“计算机”的图书的信息(读者编号,姓名,书号,书名,借阅日期)。

create view 借阅_计算机图书(Duno,Duname,Shuno,Shuname,JYtime)asselect Duzhe.Duno,Duname,Tushu.Shuno,Shuname, JYtime from Tushu,Duzhe,Jieyue whereDuzhe.Duno=Jieyue.Duno and Tushu.Shuno,=Jieyue.Shuno and Liebie='计算机'(2)直接使用SQL定义(1)中要求的视图并对其进行查询。

select * from 借阅_计算机图书(3)在管理工具中建立各类视图用管理工具建立:在管理工具中,打开图书借阅数据库,右击视图,新建视图,然后依照要求建立各种视图。

《数据库基础》实验报告SQL语句:create view 单表视图asselect Shuname,Shuno,Zuozhe from Tushucreate view 多表视图asselect Shuname,Shuno,Zuozhefrom Tushu,Jieyuewhere Tushu.Shuno,=Jieyue.Shunocreate view 分组视图(Shuno,Duno)asselect Shuno,Duno from Jieyue group by Shunocreate view 基于视图的视图asselect Duno,Duname,Danwei from 单表视图where Sex = '男'(4)尝试使用insert、update、delete更新视图。

数据库实验——视图的创建与使用

数据库实验——视图的创建与使用

数据库实验——视图的创建与使用数据库是一种利用计算机系统来管理、存储、处理数据的技术,视图则是在数据库中使用的一种技术。

视图是一种虚拟表,实际上并不存储数据,而是使用查询语句从一个或多个表中提取所需的数据。

在本次实验中,将学习视图的创建和使用。

一、实验目的1. 理解视图的概念和特点;2. 掌握视图的创建和使用方法;3. 熟悉视图的应用场景。

二、实验内容1. 视图的创建方法;2. 视图的使用方法;3. 视图的实际应用。

三、实验过程1. 视图的创建方法视图的创建方法如下:CREATE VIEW [视图名称] AS [查询语句];例如,要从学生表中提取所有学生的姓名和学号,则可以使用以下语句创建视图:CREATE VIEW student_info AS SELECT sname, sno FROM student;这样,就创建了一个名为student_info的视图,其中包含学生表中的姓名和学号两列数据。

2. 视图的使用方法创建视图之后,可以像使用普通表一样使用视图。

例如,可以使用SELECT语句来查询视图中的数据,如下所示:SELECT * FROM student_info;这样就可以查询出student_info视图中的所有数据。

3. 视图的实际应用视图在实际应用中有很多用途,例如:(1)简化查询语句当数据库中有较多的关联表时,查询语句会变得非常复杂。

此时,可以使用视图来简化查询语句。

例如,以下语句查询学生所在的班级名称:SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;使用视图后,查询语句可以变得更简洁:CREATE VIEW student_class AS SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;SELECT * FROM student_class;(2)保护数据安全例如,可以创建只包含学生姓名和学号的视图,而不包含其他敏感数据,以确保保护学生的隐私。

实验四视图和索引的使用

实验四视图和索引的使用

实验四视图和索引的使用
实验四视图和索引的使用
一、实验目的
1.掌握视图的创建、修改和删除
2.掌握通过视图修改表中的记录
3.掌握索引的创建、修改和删除
二、实验内容
根据实验二创建的表进行如下的操作:
1、对表S,创建一个专业为“计算机应用”的视图,视图名为STUDENT_SDEPT1。

2、对表S,创建一个专业为“计算机软件”的视图,视图名为STUDENT_SDEPT2。

3、建立一个视图名S_C_SC,视图里包括每个学生每一门课的成绩(学号、
姓名、课程名和成绩)。

4、删除视图STUDENT_SDEPT2。

5、通过视图STUDENT_SDEPT1,往S表中插入一条记录,内容为(“9901”,
“王套”,22“男”,“计算机应用”)。

6、对表S,按SNAME字段创建一个惟一非聚集索引,索引名为INDEX_SNO。

7、对表C,按CNAME创建一个惟一聚集索引,索引名COURSE_INDEXCNO。

8、对表S,按SEX和SNAME字段创建一个复合索引,索引名为INDEX_SEX_SNAME。

9、删除索引INDEX_SEX_SNAME、COURSE_INDEXCNO。

三、思考题:
1、视图与表的区别是什么?
2、视图的作用是什么?
3、索引的作用?
4、惟一索引的含义是什么?。

实验四 视图、索引的创建与管理

实验四  视图、索引的创建与管理

实验四视图、索引的创建与管理一、实验目的1.了解视图、索引的概念及作用。

2.掌握视图和数据表的区别。

3.掌握索引的分类。

4.掌握创建视图、索引的方法。

5.掌握查看和修改视图、索引的方法。

6.掌握删除视图、索引的方法。

二、实验内容视图实验内容:1.新建BOOKS数据库,使用管理控制台创建名称为“图书借阅信息表”的数据表,表2.在3.使用管理控制台创建一个名为“读者借阅信息_VIEW”的视图,要求显示所在部门是“计算机系”或“外语系”的读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。

4.使用SQL语句创建一个名为“计算机系续借信息_VIEW”的视图,要求显示计算机系读者2010-10-1以后续借的图书信息,包括“姓名”、“图书编码”和“借阅日期”三个字段。

5.使用管理控制台查看“读者借阅信息_VIEW”视图的定义信息和依赖的对象。

6.使用系统存储过程查看“计算机系续借信息_VIEW”视图的定义信息和依赖的对象。

7.使用管理控制台修改“读者借阅信息_VIEW”视图,要求只显示计算机系男读者借阅信息,包括“读者编号”、“姓名”、“所在部门”、“图书编码”和“图书状态”五个字段。

8.使用SQL语言修改“计算机系续借信息_VIEW”视图,要求显示计算机系或外语系读者2006-1-1以后续借的图书信息,包括“姓名”、“所在部门”、“图书编码”和“借阅日期”四个字段。

9.分别使用管理控制台和SQL语言向视图“读者借阅信息_VIEW”中插入一条记录,看操作能否成功,为什么?10.使用管理控制台删除“读者借阅信息_VIEW”视图。

11.使用SQL语言删除“计算机系续借信息_VIEW”视图。

索引实验内容:12.使用管理控制台创建一个新的索引,索引名称为“IX_姓名_所在部门”,使用的数据表是“读者基本信息表”,所用的字段包括“姓名”和“所在部门”两个字段。

13.使用SQL语句创建一个新的索引,索引名称为“IX_图书状态_借阅日期”,使用的数据表是“图书借阅信息表”,所用的字段包括“图书状态”和“借阅日期”两个字段。

视图的创建与使用 - 学生管理 (参考答案)

视图的创建与使用 - 学生管理 (参考答案)

视图的创建与使用一、实验目的(1) 理解视图的概念。

(2) 掌握视图的创建与维护操作。

(3) 掌握用视图管理数据的方法。

二、实验内容1.创建视图(1) 创建一个视图stu_info,用于查看学生学号、姓名和性别信息,并修改其字段定义别名。

create view stu_info(学号,姓名,性别)asselect studentID,studentname,sexfrom studentgo(2) 创建计算机专业学生基本信息视图:stu_计算机,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有计算机专业的学生create view stu_计算机asselect studentID,studentname,age,majorfrom studentwhere major='计算机'with check optiongo(3) 建立计算机专业选修了计算机基础课程的学生视图:stu_计算机_计算机基础create view stu_计算机_计算机基础asselect student.studentID, sex,coursename,gradefrom student,course,scorewhere student.studentID=score.studentid and score.courseid=course.courseid and coursename='计算机基础'and major='计算机'(4) 建立计算机专业选修了计算机基础课程且成绩在80分以上的学生的视图v_gradecreate view v_gradeasselect student.studentID,coursename,gradefrom student,course,scorewhere student.studentID=score.studentid andscore.courseid=course.courseid and coursename='计算机基础'and major='计算机'and grade>80(5) 创建一个名为View_Student的视图,包含计算机专业所有女生的学号、课程号及相应的成绩。

视图创建和使用

视图创建和使用

实训四视图[实验目的]:•掌握视图的定义与删除;•灵活查询与更新视图。

[实验要求]:利用实验一中创建的六个基本表 s,t,c,sc,tc,d,用SQL语句完成如下操作。

[实验步骤]:一、定义与删除视图•创建一个计算机系教师情况的视图 SUB_T,视图由子查询中的三列TNO,TNAME,PROF组成;create view sub_t as select tno,tname,proffrom twhere dept=' 计算机 '•创建一个学生情况视图,包括学号、姓名、课程名及成绩;create view s_c_sc(sno,sname,cname,score)as select s.sno,sname,cname,scorefrom s,c,scwhere s.sno=sc.sno and o=o•创建一学生平均成绩视图;create view s_avg(sno,avg) as select sno,avg(score)from scgroup by sno•创建数学系学生的视图 MA_S;create view ma_s as select *from swhere dept=' 数学 '•创建数学系选修了 C1号课程的学生的视图;create view ma_c1 as select *from s,scwhere dept=' 数学 'and s.sno=sc.sno and cno='C 1'•将每门课程和它的平均成绩定义为一个视图 CNO_AVG;create view cno_avg(cno,avg_sco) as select cno,avg(score) from scgroup by cno•删除计算机系教师情况的视图。

Drop view sub_t二、查询与更新视图•查找视图 SUB_T中职称为教授的教师号和姓名;select tno,tnamefrom sub_twhere prof=' 教授 '•在视图 MA_S上查询年龄大于20岁的学生信息;select *from ma_swhere age>20•在视图 CNO_AVG中,查询平均成绩大于80分的课程号和平均成绩;select cno,avg_scofrom cno_avgwhere avg_sco>80•向计算机系教师视图 SUB_T中插入一条记录(教师号:T6,姓名:李力,职称:副教授);insert into sub_t(tno,tname,prof)values(‘T 6' ,' 李力 ',' 副教授 ')•将计算机系教师视图 SUB_T中刘伟的职称改为“副教授”;update sub_tset prof=' 副教授 'where tname=' 刘伟 '•删除计算机系教师视图 SUB_T中刘伟教师的记录;deletefrom sub_twhere tname=' 刘伟 '•在视图 MA_S上将学号为“20040102”的学生删除。

实验4视图的定义和使用

实验4视图的定义和使用

实验4视图的定义和使用一实验题目:视图的定义和使用二实验目的:加深对视图的理解,熟练视图的定义、查看、修改等操作三实验内容及要求:(从下面10个题目中选一个)题目一:学生(学号,年龄,性别,系名)课程(课号,课名,学分,学时)选课(学号,课号,成绩)1 根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩2 观察基本表数据变化时,视图中数据的变化。

3 利用视图,查询平均成绩最高的学生。

题目二:图书(书号,书名,价格,出版社)读者(卡号,姓名,年龄,所属单位)借阅(书号,卡号,借阅日期)1 根据上面基本表的信息定义视图显示每本书的书名、借阅次数2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询借阅次数最多的书。

题目三:商品(编号,品名,进价,库存,售价,厂商编号)顾客(卡号,姓名,电话,积分)厂商(编号,厂址,名称、电话)销售(顾客卡号,商品编号,数量,日期)1 根据上面基本表的信息定义视图显示每种商品的品名、销售数量2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询销售数量最高的商品。

题目四:图书(书号,书名,作者编号,价格,出版社编号)作者(编号,姓名,电话)出版社(编号,出版社名称,地址)1 根据上面基本表的信息定义视图显示每个出版社的名称、出版书的数量2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询出版书最多的出版社题目五:零件(编号,名称,颜色,生产车间号)车间(编号,名称,人数,主任)产品(编号,名称,车间编号)使用(产品编号,使用零件编号,个数)1 根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩2 观察基本表数据变化时,视图中数据的变化。

3利用视图,查询选课人数最多的课。

题目六:药品(编号,名称,价格,厂商)处方(药品编号,数量,医生编号)医生(编号,姓名,科室,职称)1 根据上面基本表的信息定义视图显示每种药品的品名、销售金额2 观察基本表数据变化时,视图中数据的变化。

实验四视图的创建、修改和删除

实验四视图的创建、修改和删除

实验四视图的创建、修改和删除实验四视图的创建、修改和删除一、实验目的1、掌握创建、删除视图的方法。

2、会更新视图。

二、实验内容与要求1、创建一个视图,其数据来源于基本表Student。

视图名称是VIEW_S,包含的数据有SNAME,SSEX,SAGE;2、使用SQL创建一个选课表视图,其数据来源于2个基本表:SC、Course,视图名称是VIEW_CT,包含的数据有来自表SC的字段SNO、GRADE;来自表Course的字段CNAME。

3、通过修改视图VIEW_S中的数据来实现对基本表Student中数据的修改。

4、删除视图VIEW_CT。

三、实验步骤1、创建视图VIEW_S(1)打开创建视图的窗口。

(2)添加基本表。

单击工具栏中的添加基本表按钮,出现“添加表”对话框,选择Student表,单击“添加”命令,关闭“添加表”对话框。

(3)选择视图中的列。

在表Student中,分别单击字段左侧的复选框,选中字段SNAME,SSEX,SAGE。

(4)执行视图定义。

单击工具栏中的执行按钮,窗口下面的表格显示视图数据。

(5)保存视图定义。

单击工具栏中的保存按钮,打开对话框,输入视图名是VIEW_S,单击“确定”按钮。

(6)关闭创建视图窗口。

(7)查看数据库中的视图信息。

2、使用SQL创建选课表视图VIEW_CT(1)打开查询窗口,输入以下SQL语句CREATE VIEW VIEW_CTAS SELECT SNO,CNAME,GRADEFROM SC,CourseWHERE /doc/8515403457.html,O= Course .CNOGO(2)执行SQL语句(3)查看视图信息。

在查询窗口中的对象浏览器中,展开数据库学生选课中的“视图”节点,可以看到视图VIEW_CT已存在。

3、修改视图VIEW_S中的数据,实现对基本表Student中数据的修改(1)分别打开视图VIEW_S和基本表Student的数据窗口。

数据库实验——视图的创建与使用

数据库实验——视图的创建与使用

数据库原理与应用实验报告题目:视图的创建与使用学号:_________________姓名:_________________ 教师:_________________实验题目视图的创建与使用1、实验内容视图的创建与使用2、实验目的与要求1、理解视图的概念。

2、掌握视图创建的方法。

3、掌握更改视图的方法。

3、实验环境已安装SQL Server 2008 企业版的计算机;具有局域网环境,有固定IP;4、实验结果与分析1创建教材的三个数据表Student、Course及SC。

CREATE TABLE Student(Sno CHAR(9),Sname CHAR(20),Ssex CHAR(20),Sage SMALLINT,Sdept CHAR(20));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,);CREATE TABLE Course(Cno CHAR(4),Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,);2向三个表中插入教材中的数据。

INSERT INTO Student values(‘200215121’,’李勇’,’男’,20,’CS’); INSERT INTO Student values(‘200215122’,’刘晨’,’女’,19,’CS’);INSERT INTO Student values(‘200215121’,’王敏’,’女’,18,’MA’);INSERT INTO Student values(‘200215121’,’张立’,’男’,19,’IS’);INSERT INTO Course values(‘1’,’数据库’,’5’,4);INSERT INTO Course(Cno,Cname,Credit) values(‘2’,’数学’,2);INSERT INTO Course values(‘3’,’信息系统’,’1’,4);INSERT INTO Course values(‘4’,’操作系统’,’6’,3);INSERT INTO Course values(‘5’,’数据结构’,’7’,4);INSERT INTO Course (Cno,Cname,Credit) values(‘6’,’数据处理’,2);INSERT INTO Course values(‘7’,’PASCAL语言’,’6’,4);INSERT INTO SC V ALUES (‘200215121’, ‘1’, 92);INSERT INTO SC V ALUES (‘200215121’, ‘2’, 85);INSERT INTO SC V ALUES (‘200215121’, ‘3’, 88);INSERT INTO SC V ALUES (‘200215122’, ‘2’, 90);INSERT INTO SC V ALUES (‘200215122’, ‘3’, 80);3、创建一个名为View_Male_Student的视图,从表Student中查询出性别为男的所有学生的资料。

实验四 视图的创建和使用(2012)

实验四 视图的创建和使用(2012)

实验四视图的创建和使用学号:20092426 姓名:xx远专业:信息与计算科学班级:2009121一、实验目的(1)理解视图的概念。

(2)掌握创建视图、测试、加密视图的方法。

(3)掌握更改视图的方法。

(4)掌握用视图管理数据的方法。

二、实验内容1.创建视图(1)创建一个名为stuview1的水平视图,从Student_info数据库的student表中查询出所有男学生的资料,并在创建视图时使用with check option。

结果:create view stuview1asSELECT [sno],[sname],[sex],[birth],[classno],[entrance_date],[home_addr],[sdept],[postcode]FROM [20092426student].[dbo].[student]where sex='男'with check option(2)创建一个名为stuview2的投影视图,从Student_info 数据库的course 表中查询学分大于3的所有课程的课程号、课程名、总学时。

并在创建时对该视图加密。

(提示:用with ENCRYPTION 关键子句,加在as 与视图名称之间,且sp_helptext 无法看到该视图的定义脚本。

)结果create view stuview2 with ENCRYPTIONasSELECT cno,cname,total_periorFROM coursewhere credit>3with check option:(3)创建一个名为stuview3的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。

结果:create view stuview3asSELECT student.sno,cno,gradeFROM student,scwhere student.sno=sc.snoand classno='051'and sex='女'(4)创建一个名为stuview4的视图,能检索出每位选课学生的学号、姓名、总成绩。

数据库原理及应用.实验4.视图和索引的创建和使用

数据库原理及应用.实验4.视图和索引的创建和使用

数据库原理及应⽤.实验4.视图和索引的创建和使⽤实验报告 课程名称:数据库原理及应⽤ 实验项⽬名称:视图和索引的创建和使⽤ 实验时间:2021年5⽉10⽇实验⽬的: (1)掌握创建视图的SQL语句的⽤法。

(2)掌握修改视图的⽅法。

(3)熟悉视图更新与基本表更新的区别与联系;认识视图的作⽤。

(4)熟悉索引的作⽤,以及不同类型索引的区别。

(5)掌握SQL语句对索引的创建使⽤和删除索引实验环境: MySQL、SQLyog实验内容及过程:⼀、创建课本P79页的学⽣-课程数据库,完成以下实验内容:复制DROP DATABASE STCREATE DATABASE STUSE STCREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40) NOT NULL,Cpno CHAR(4),Ccredit SMALLINT#FOREIGN KEY (Cpno) REFERENCES Course(Cno));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY (Sno,Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno));INSERT Student(Sno, Sname, Ssex, Sage, Sdept)VALUES (201215121,'李勇','男',20,'CS'),(201215122,'刘晨','⼥',19,'CS'),(201215123,'王敏','⼥',18,'MA'),(201215125,'张⽴','男',19,'IS')INSERT Course(Cno,Cname,Cpno,Ccredit)VALUES ('1','数据库','5',4),('2','数学',' ',2),('3','信息系统','1',4),('4','操作系统','6',3),('5','数据结构','7',4),('6','数据处理',' ',2),('7','PASCAL语⾔','6',4)INSERT SC(Sno, Cno, Grade)VALUES (201215121,1,92),(201215121,2,85),(201215121,3,88),(201215122,2,90),(201215122,3,80)定义信息系学⽣基本情况视图V_IS,并查看视图结构,通过该视图可以将其他系学⽣信息屏蔽掉。

实验训练4视图和索引的构建与使用

实验训练4视图和索引的构建与使用

实验训练4:视图和索引的构建与使用实验目的:1. 了解视图和索引的概念和作用;2. 掌握创建视图和索引的语法和方法;3. 掌握使用视图和索引进行数据查询的方法。

实验环境:MySQL数据库。

实验内容:1. 创建视图视图是一种虚拟表,它是根据SQL 查询语句所定义的结果集生成的。

视图并不存储数据,而是根据需要从基本表中获取数据。

视图的作用是简化常用查询操作,使查询语句更加简洁明了。

创建视图的语法如下:```CREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;```例如,我们可以创建一个视图来显示学生的姓名和成绩:```CREATE VIEW student_score ASSELECT name, scoreFROM students;```2. 使用视图查询数据使用视图进行查询时,可以像查询普通表一样进行查询操作。

例如,我们可以查询学生的姓名和成绩:```SELECT * FROM student_score;```3. 创建索引索引是一种数据结构,用于提高数据的查询效率。

索引可以加快查询操作的速度,但会降低插入和更新操作的速度。

通常,我们会在经常使用的列上创建索引,以提高查询效率。

创建索引的语法如下:```CREATE INDEX index_nameON table_name (column1, column2, ...);```例如,我们可以在学生表的姓名列上创建索引:```CREATE INDEX idx_nameON students (name);```4. 使用索引查询数据使用索引进行查询时,可以通过查询计划来查看是否使用了索引。

例如,我们可以查询姓名为张三的学生:```SELECT * FROM students WHERE name = '张三';```可以通过EXPLAIN 命令查看查询计划:```EXPLAIN SELECT * FROM students WHERE name = '张三';```如果查询计划中出现了Using index,则表示使用了索引。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四(1)视图的创建与使用学号 ____ 姓名_ __ 班级___专业___ _____一、实验目的1)理解视图的概念。

2)掌握创建视图、测试、加密视图的方法。

3)掌握更改视图的方法。

4)掌握用视图管理数据的方法。

5)了解分区视图的实现方法。

二、实验内容说明:在所有库文件名与表名取名时,请各位同学在所给定的文件名后加上下划线及学号后四位数字构成自己的实验数据库名与表名。

如:XSGL1_20051101.创建视图是数据库应中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL 语言创建、管理视图。

1、用创建视图向导创建视图使用视图向导创建一个名为studview的投影视图,该视图从student表中查询出班级号为“052”班的所有学生的学号,姓名,性别,班级,家庭住址,入学时间,出生年月资料。

(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。

)基本步骤:1)进入企业管理器,“工具”→“向导”,出现如下窗口。

2)选择“数据库”→“创建视图向导”,出现下图窗口。

3)单击“下一步”,如下图,选择数据库“XSML_20061779”,单击“下一步”。

4)在弹出的如下窗口中选择引用对象表Student,单击“下一步”。

5)在弹出的如下窗口中选择列Sno,Sname,Sex,Classno,Home_addr, Entrance_date,Birth。

单击“下一步”。

6)定义限制“where Classno='052'”,单击“下一步”。

7)在弹出窗口中输入视图名称studview_20061779,单击“下一步”。

8)在弹出的窗口中单击“完成”。

9)点击“确定”即可。

2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表student上创建一个能查询“051”班学生学号、姓名、家庭住址信息的投影视图。

1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。

2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。

如图所示:3)最上面的一个窗格用于添加创建视图的基础对象,在其上按鼠标右键,单击快捷菜单中的“添加表”,将表student添加到此窗格中,上面第二个窗格用于选择进入视图的列,分别选择相应字段: Sno,Sname,Home_addr在查询条件窗格中输入查询条件: WHERE Classno=’051’,输入where子句,最后一个窗格为视图结果窗口。

4)单击工具栏,执行按钮“!”,观察执行结果是否正确。

若正确,则单击“保存”按钮,输入文件名:stuview1,再单击“确定”按钮,视图创建完成。

B、使用企业管理器在表student、course、sc表上创建一个能检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。

视图名自取。

基本操作步骤:1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。

2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。

3)最上面的一个窗格用于添加创建视图的基础对象,在其上按鼠标右键,单击快捷菜单中的“添加表”,将表Student、Course、SC添加到此窗格中,第二个窗格用于选择进入视图的列,分别选择相应字段:表Studen中的Sno,Sname字段,表Course中Cno,Cname 字段,表SC中的Grade字段。

如下图:输入文件名:scview,再单击“确定”按钮,视图创建完成。

(2)修改视图stuview1将视图stuview1的定义修改为查询“052”班男生学号、姓名、家庭住址信息的投影视图。

(提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改)基本操作步骤:(3)查看视图stuview1信息双击要查看的视图stuview1,可以看到视图的各种信息,可做语法检查,也可修改视图的定义,查看、设置视图的许可权限。

基本操作步骤:1)双击要查看的视图stuview12)单击“检查语法”。

3)可以修改文本中的代码。

4)单击“权限”可以设置视图的许可权限。

(4)管理视图中的数据1)查看视图stuview1中的数据。

用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。

(试运行即可,不写步骤。

)2)将视图stuview1中学号为“20050003”的学生姓名由改为“许华”。

(注:须按按钮“!”进行修改确认。

)基本步骤:3、用T-SQL语言创建、管理视图(1)创建视图1)创建一个名为stuview2的水平视图,从数据库XSGL的student表中查询出性别为“男”的所有学生的资料。

并在创建视图时使用with check option。

(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。

)T-SQL语句为:CREATE VIEW studview2ASSELECT*FROM studentWHERE Sex='男'WITH CHECK OPTION;2)创建一个名为stuview3的投影视图,从数据库XSGL的course表中查询学分大于3的所有课程的课程号、课程名、总学时。

并在创建时对该视图加密。

(提示:用with ENCRYPTION关键子句,加在as与视图名称之间,且sp_helptext无法看到该视图的定义脚本。

)T-SQL语句为:create view studview3with ENCRYPTIONas select Cno,Cname,Total_periorfrom coursewhere credit>3with check option;3)创建一个名为stuview4的视图,能检索出“052”班所有女生的学号、课程号及相应的成绩。

T-SQL语句为:CREATE VIEW studview4ASSELECT Student.sno,cno,gradeFROM SC,StudentWHERE Classno='052'AND Sex='女'WITH CHECK OPTION;4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、课程名、总成绩。

T-SQL语句为:create view studview5asselect Student.Sno,Student.Sname,ame,SC.Gradefrom SC,Student,Coursewhere SC.Sno=Student.Sno and o=owith check option;(2)查询视图的创建信息及视图中的数据1)查看视图stuview2的创建信息。

方法1:(提示:sp_help)sp_help studview2方法2:(提示:select语句,查询表sysobjects)sp_helptext Stuview22)查看视图的定义脚本。

方法:(提示:sp_helptext)sp_helptext studview2结果为:3)查看加密视图stuview3的定义脚本。

T-SQL语句为:alter view stuview3asselect Cno,Cname,Total_periorfrom Coursewhere Credit>3gosp_helptext stuview3结果为:(3)修改视图的定义1)修改视图stuview3使其从数据库XSGL的student表中查询总学时大于60的所有课程的课程号、课程名、学分。

(提示:若视图原具有加密保护,修改视图时若未加with encryption子句,则修改后的视图不再加密。

修改视图请查阅帮助alter view关键字。

)T-SQL语句:alter view stuview3with encryptionasselect Cno,Cname,Creditfrom Coursewhere Total_perior>60(4)视图的更名与删除1)将视图stuview4更名为stuv4。

方法:(提示:sp_rename)sp_rename'studview4','stuv4';2)将视图stuv4删除。

T-SQL语句:DROP VIEW stuv4;(5)管理视图中的数据1)从视图stuview2查询出班级为“052”、姓名为“许华”的资料。

T-SQL语句:SELECT*FROM studview2WHERE Classno='052'AND Sname='许华';2)向视图stuview2中插入一行数据。

学号:20050005,姓名:赵青,班级:054,性别:男,家庭住址:南京,入学时间:2005/09/01,出生年月:1983/01/09。

T-SQL语句:INSERTINTO studview2VALUES ('20050005','赵青','男','1983-01-09','054','2005-09-01','南京','CS','200413');原student表中的内容有何变化?增加了一条记录。

思考:如向视图stuview2中插入一行数据。

学号:20050006,姓名:赵静,班级:054,性别:女,家庭住址:南京,入学时间:2005/09/01,出生年月:1983/11/09。

会出现什么样的结果?原student表中的内容有何变化?试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束的条件。

语句已终止。

3)修改视图stuview2中的数据。

没有变化。

将stuview2中054班、姓名为“赵青”同学的家庭地址改为“扬州市”。

T-SQL语句:UPDATE studview2SET Home_addr='扬州市'WHERE Classno='054'AND Sname='赵青';原student表中的内容有何变化?054班的赵青同学的家庭地址变为“扬州市”。

4)从视图中stuview2将班级为054、姓名为“赵青”同学删除。

T-SQL语句:DELETEFROM studview2WHERE Sname='赵青'AND Classno='054';原student表中的内容有何变化?054班赵青同学的记录被删除。

相关文档
最新文档