2021年数据库原理实验报告-实验四-视图与索引之欧阳学文创编

合集下载

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

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

实验四视图、索引的创建与管理一、实验目的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_图书状态_借阅日期”,使用的数据表是“图书借阅信息表”,所用的字段包括“图书状态”和“借阅日期”两个字段。

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

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

实验训练4:视图和索引的构建与使用1. 简介在数据库中,视图是一种虚拟表,它是基于查询结果动态生成的。

视图可以看作是一个预定义的查询,通过视图可以方便地访问和组织数据。

本文将介绍在数据库中如何创建和使用视图,以及如何构建索引来提高查询性能。

2. 创建视图在数据库中,可以使用CREATE VIEW语句来创建一个视图。

视图的创建需要满足以下条件:•视图的名字必须唯一。

•视图的定义必须是一个有效的SELECT语句。

下面是一个创建视图的示例:CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;其中,view_name是视图的名称,column1和column2是视图所包含的列名,table_name是数据来自的表名,condition是过滤条件。

创建视图之后,可以使用SELECT语句来查询视图的内容,就像查询表一样。

3. 修改视图在数据库中,可以使用ALTER VIEW语句来修改一个已经存在的视图。

修改视图可以包括添加、删除和修改列。

下面是一个修改视图的示例:ALTER VIEW view_name ADD column_name datatype;其中,view_name是要修改的视图的名称,column_name 是要添加的列名,datatype是列的数据类型。

4. 删除视图在数据库中,可以使用DROP VIEW语句来删除一个已经存在的视图。

下面是一个删除视图的示例:DROP VIEW view_name;其中,view_name是要删除的视图的名称。

5. 索引的构建与使用索引是一种数据结构,可以提高数据库的查询性能。

数据库中的索引可以分为以下几种类型:•B-Tree索引:适用于等值查询和范围查询。

•哈希索引:适用于等值查询。

•全文索引:适用于关键词搜索。

在数据库中,可以使用CREATE INDEX语句来创建索引。

数据库原理实验报告-实验四-视图与索引

数据库原理实验报告-实验四-视图与索引

《数据库原理》实验报告题目:实验四视图与索引学号班级日期2016.10.20一、实验内容、步骤以及结果1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。

(5分)2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。

--第一种方法CREATE VIEW V_SPJ ASSELECT sno,pno,qty FROM SPJWHERE jno=(SELECT jno FROM JWHERE jname ='');GO--删除建好的视图DROP VIEW V_SPJ;GO--第二种方法CREATE VIEW V_SPJ ASSELECT sno,pno,qtyFROM SPJ,JWHERE J.jno=SPJ.jno AND J.jname='';3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。

11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。

针对该视图VSP完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。

(2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。

(15分,每题5分)(1)给视图V_SPJ中增加一条数据。

提示:-SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO 为NULL,所以视图中没有该条数据。

-SPJ表中JNO不能为空时,可以使用instead of触发器实现。

(2)修改视图V_SPJ中的任意一条数据的供应数量。

(3)删除视图V_SPJ中的任意一条数据(注意所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用instead of触发器实现)。

数据库原理之视图与索引的实验报告

数据库原理之视图与索引的实验报告

一、实验名称
视图与索引
二实验目的
1.学会使用企业管理器建立视图与索引
2.掌握使用SQL语句建立视图与索引
三实验内容
1.使用企业管理器建立视图索引
2.使用SQL语句建立视图索引
四实验准备
1.复习与本次实验内容相关知识
2.对本次实验中要求自己完成的部分做好准备
五实验步骤
1.用企业管理器建立一个基于学生表、课程表、成绩表的视图,要求该视图
显示学号、姓名、课程、成绩
用查询分析器建立一个基于学生表、班级表的学生视图
自己写一个SQL语句建立一个基于课程表的视图(V_COURSES),要求显示
课程编号、课程名、学分。

查看索引
2.为学生表按班级建立一个非簇集索引FK_U_STUDENTS,操作过程如下
实验心得
总的来说,这次实验因为在上面的几次试验中取得的一些经验,在做实验的时候,也不觉得有多么大的困难了。

相反,感觉有点轻车熟路。

这次实验的目的是学会使用企业管理器建立视图与索引,掌握使用SQL语句建立视图与索引。

在做实验的时候遇到的问题是发现自己建立的视图遇到与表的内容不符的情况,这是由于我对上次表的内容有些模糊,而导致后面做实验出现问题。

在查询了以前建的表后,我又认真做了修改,使得在建立视图的时候能够与表建立紧密的联系,从而不会孤立表的建立。

到了后期,视图的建立也简单多了。

其实,在我做完这个实验之后,明白这次实验都主要是围绕SQL语句,对于语句的熟悉和掌握,有助于我们对数据的应用。

在以后的工作中,也能够发挥到学到知识的作用。

《数据库实验四》实验报告

《数据库实验四》实验报告
--在视图上插入
insert into v_cus values('C012','Google')
--在视图上更新
update v_order set订购日期='2011-11-29'
--在视图上删除
delete from v_cus
where客户号='C012'
《数据库》实验报告
题目:视图的定义和操作
学号
姓名
日期:
实验内容与完成情况:
一、实验目的:理解视图的概念,掌握视图的使用方法。
二、实验内容:定义视图,并在视图上完成查询、插入、更新和删除操作。
三.、程序源代码:
--1
--1)、基于单个表按投影操作定义视图
create view v_cus as
select客户号,客户名称
from客户
--使用
select * from v_cus
--2)、基于单个表按选择操作定义视图
create view v_order as
select *
from订购单
where客户号='C001'
--使用
select * from v_order
--3)、基于单个表按选择和投影操作定义视图
create view v_cuss as
select客户名称,联系人,电话
from客户
where客户号='C003'
--使用
select * from v_cuss
--4)、基于多个表根据连接操作定义视图
create view v_join as
t客户.*,订单号,订购日期

视图和索引的创建和使用实验报告

视图和索引的创建和使用实验报告

信息工程学院实验报告课程名称:《数据库原理》Array实验项目名称:视图与索引得创建与使用一、实验目得:(1)掌握创建视图得SQL语句得用法。

(2)掌握修改视图得方法、(3)熟悉视图更新与基本表更新得区别与联系;认识视图得作用。

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

(5)学会用T—SQL语句对表创建与删除索引二、实验设备与器件Win7+Sql server2008三、实验内容与步骤利用备份文件school,还原数据库,然后完成以下实验内容:(1)用T—SQL语句,定义信息系学生基本情况视图V_IS。

(2)用T—SQL语句,将Student,Course 与SC表中学生得学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。

(3)用T—SQL语句,将各系学生人数,平均年龄定义为视图V_NUM_AVG。

(4)用T—SQL语句,定义一个反映学生出生年份得视图V_YEAR。

(5)用T-SQL语句,将各位学生学号、选修课程得门数及平均成绩定义为视图V_AVG_S_G、(6)用T—SQL语句,将各门课程得课程号、选修人数及平均成绩定义为视图V_AVG_C_G。

(7)用T-SQL语句完成以下视图操作,查瞧结果,并分析原因。

①通过视图V_IS,将学号为“200215125"得学生姓名更改为“张小立”,并查瞧结果;②通过视图V_IS,新增加一个学生记录('200215126',’黄笑',19, '男',’IS'),并查瞧结果。

③通过视图V_IS,新增加一个学生记录 ('200215127’,’李霞',19, '女','MA'),并查瞧结果。

④通过视图V_IS,删除学号为“200215126”得学生信息,并查瞧结果。

⑤通过视图V_S_C_G,将学号“200215122”得姓名改为“刘晓晨”,能否实现?若无法实现说明原因。

⑥通过视图V_AVG_S_G,将学号“200215121”得平均成绩改为90,能否实现?若无法实现说明原因。

《数据库原理及应用》数据操纵功能的实现与视图索引的创建实验报告

《数据库原理及应用》数据操纵功能的实现与视图索引的创建实验报告

《数据库原理及应用》数据操纵功能的实现与视图索引的创建实验报告三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)1.将学生、课程、选课三张表中的全部记录复制到student、course、xuanke三张表中;select*into student from学生select*from studentselect*into course from课程select*from courseselect*into xuanke from选课select*from xuanke2.用SQL语句将适量数据分别插入student、course、xuanke三张表中;insert into student values('012','陈阳','20','男','数学');insert into student values('013','李东','20','男','计算机');insert into course values('c06 ','网店推广','网店运营');insert into course values('c07','网店美工','网店运营');insert into xuanke values('016','c06','90');insert into xuanke values('017','c07','85');3.将平均成绩低于70的学生信息存放在低于70分平均成绩表中;select*into低于70分平均成绩from学生where学号=some(select学号from选课group by学号having avg(成绩)<70)4.借助student、course、xuanke三张表,删除“计算机”系全体学生的选课记录及学生记录;delete from xuankewhere学号in(select学号from studentwhere所在系='计算机')delete from studentwhere学号in(select学号from studentwhere所在系='计算机')5.借助student、course、xuanke三张表,删除学号为“001”的相关信息(包括选课信息及学生信息);delete from xuankewhere学号in(select学号from studentwhere学号='001')delete from studentwhere学号in(select学号from studentwhere学号='001')6.将student表中学号为“002”的学生的学号修改为“S002”;update student set学号='S002'where学号='S002'7.把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S_Grade(Sno,AVG_Grade);create table S_Grade(Sno char(5),AVG_Grade int)insert into S_Gradeselect学号,avg(成绩)平均成绩from xuankegroup by学号having avg(成绩)>'80'and学号in(select学号from studentwhere性别='男')8.把选修了课程名为“数据结构”的学生的成绩提高10%;update xuanke set成绩=成绩*1.1where课程号in(select课程号from coursewhere课程名='数据结构')9.把选修了“c02”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%;update xuanke set成绩=成绩*1.05where课程号='C02'and成绩<(select avg(成绩)from xuankewhere课程号='C02')10.把选修了“c02”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉;delete from选课where课程号='C02'and成绩<(select avg(成绩)from选课where课程号='C02')11.求C01和C04课程成绩为80分以上的学生的学号及姓名;select姓名,学生.学号from学生,选课where学生.学号=选课.学号and课程号in('C01','C04')and成绩>8012.求选修了C1课程又选修了C2课程的学生的学号;select学号from选课where课程号='C01'and学号in(select学号from选课where课程号='C02')13.求每个系的平均年龄,并要求将结果存入数据库中;create table系平均年龄(系别varchar(20),平均年龄int)insert into系平均年龄select所在系,avg(年龄)from学生group by所在系select*from系平均年龄14.建立“计算机系”的学生基本情况视图ies_student_view,该视图包括计算机系所有学生的相关信息;create view ies_student_viewasselect*from学生where所在系='计算机'15.执行ies_student_view视图并观察结果;select*from ies_student_view16.建立课程C01(课编号)的学生名册的视图,该名册包括学生的学号、姓名、所在系名称和这门课的成绩;并查询结果;gocreate view学生名册asselect学生.学号,姓名,所在系,成绩from学生,选课where学生.学号=选课.学号and课程号='C01'goselect*from学生名册17.建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程代码。

数据库实验四 视图与索引

数据库实验四 视图与索引

实验4 视图与索引一、实验目的1.本实验的目的是使学生掌握视图与索引的使用方法,加深对视图与索引作用的的理解。

2.通过自行设计视图与索引,加强学生的数据库设计能力。

二、实验内容1.索引的定义和维护1)建立唯一索引,测试插入、修改记录时所受的影响。

2)建立聚簇索引,比较建立前后的记录顺序变化。

3)建立多重索引,观察执行select语句查询的结果记录顺序。

4)删除相关索引。

2.视图的定义、查询和更新1)为学生选课系统从不同用户角度出发设计相应的视图。

2)利用视图进行相关查询。

3)利用视图进行更新,注意哪些视图是不可更新的。

三、实验原理1.建立索引语句CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);⏹用<表名>指定要建索引的基本表名字⏹索引可以建立在该表的一列或多列上,各列名之间用逗号分隔⏹用<次序>指定索引值的排列次序,升序:ASC,降序:DESC。

缺省值:ASC⏹UNIQUE表明此索引的每一个索引值只对应唯一的数据记录⏹CLUSTER表示要建立的索引是聚簇索引(CLUSTERED)HAVING短语:筛选出只有满足指定条件的组⏹ORDER BY子句:对查询结果表按指定列值的升序或降序排序2.建立视图语句CREATE VIEW <视图名> [(<列名> [,<列名>]…)]AS <子查询> [WITH CHECK OPTION]四、实验步骤按实验目的和内容自行设计。

五、实验报告要求1)写出本实验中用到的SQL语句的使用说明;2)对每一实验结果进行分析;3)记录在查询实验中遇到的典型问题及你所采取的解决方法;。

数据库实验报告4

数据库实验报告4

数据库实验报告4数据库实验报告4引言:数据库是现代信息管理的重要工具,广泛应用于各个领域。

本实验报告将介绍数据库实验4的内容,主要包括数据库的备份与恢复、数据库的性能优化以及数据库的安全性。

一、数据库的备份与恢复数据库的备份与恢复是数据库管理中非常重要的一环。

在实验中,我们使用了MySQL数据库,通过备份和恢复操作来保障数据的安全性。

1. 数据库的备份数据库的备份可以通过多种方式实现,常见的有物理备份和逻辑备份。

物理备份是将数据库的物理文件进行拷贝,包括数据文件、日志文件等;逻辑备份则是将数据库的逻辑结构进行导出,如SQL语句等。

2. 数据库的恢复数据库的恢复是在数据库出现故障或数据丢失时进行的操作。

在实验中,我们使用了MySQL提供的恢复工具来进行数据库的恢复操作。

二、数据库的性能优化数据库的性能优化是提高数据库查询和操作效率的关键。

在实验中,我们通过索引的创建和查询优化来优化数据库的性能。

1. 索引的创建索引是数据库中用于提高查询效率的重要手段。

在实验中,我们通过创建合适的索引来加快数据库的查询速度。

索引的创建需要考虑字段的选择、索引类型的选择以及索引的维护等因素。

2. 查询优化查询优化是通过调整查询语句和数据库的结构来提高查询效率的方法。

在实验中,我们通过分析慢查询日志和使用数据库的性能监控工具来进行查询优化。

通过调整查询语句的写法、添加合适的索引以及优化数据库的配置参数等方式,可以显著提高数据库的查询性能。

三、数据库的安全性数据库的安全性是保护数据库中数据不受非法访问和恶意操作的重要保障。

在实验中,我们通过用户权限管理和数据加密来提高数据库的安全性。

1. 用户权限管理用户权限管理是通过为用户分配合适的权限来控制其对数据库的访问和操作。

在实验中,我们通过创建不同的用户并为其分配不同的权限来实现数据库的安全管理。

2. 数据加密数据加密是通过对数据库中的敏感数据进行加密处理,确保数据在传输和存储过程中不被窃取或篡改。

数据库学习实验报告(3篇)

数据库学习实验报告(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,加深对数据库基础知识的理解,掌握数据库的基本操作,包括数据库的创建、表的设计、数据的插入、查询、修改和删除等。

通过本次实验,提高对SQL语言的实际应用能力,为后续深入学习数据库知识打下坚实的基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的创建与删除2. 表的设计与数据类型3. 数据的插入、查询、修改和删除4. 索引与视图的应用四、实验步骤1. 数据库的创建与删除(1)创建数据库```sqlCREATE DATABASE db_student;```(2)删除数据库```sqlDROP DATABASE db_student;```2. 表的设计与数据类型(1)创建学生表```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),age INT,gender ENUM('男', '女'),class VARCHAR(50));```(2)创建课程表```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),credit INT);```3. 数据的插入、查询、修改和删除(1)插入数据```sqlINSERT INTO student (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO course (name, credit) VALUES ('高等数学', 4);```(2)查询数据```sql-- 查询所有学生信息SELECT FROM student;-- 查询年龄大于20岁的学生信息SELECT FROM student WHERE age > 20;-- 查询课程名称为“高等数学”的课程信息SELECT FROM course WHERE name = '高等数学';```(3)修改数据```sql-- 修改学生张三的年龄为21岁UPDATE student SET age = 21 WHERE name = '张三';-- 修改课程“高等数学”的学分UPDATE course SET credit = 5 WHERE name = '高等数学';```(4)删除数据```sql-- 删除学生张三的信息DELETE FROM student WHERE name = '张三';-- 删除课程“高等数学”的信息DELETE FROM course WHERE name = '高等数学'; ```4. 索引与视图的应用(1)创建索引```sql-- 创建学生表id字段的索引CREATE INDEX idx_student_id ON student(id); -- 创建课程表name字段的索引CREATE INDEX idx_course_name ON course(name); ```(2)创建视图```sql-- 创建包含学生姓名和课程名称的视图CREATE VIEW student_course_view ASSELECT , FROM studentJOIN course ON student.class = course.id;```(3)查询视图数据```sql-- 查询视图中的数据SELECT FROM student_course_view;```五、实验总结通过本次实验,我深入了解了数据库的基本操作,掌握了SQL语言的运用。

数据库原理实验报告

数据库原理实验报告

数据库原理实验报告目录一、实验目的 (2)1. 熟悉数据库的基本概念和原理 (2)2. 掌握数据库的设计方法和技巧 (3)3. 学会使用SQL语言进行数据操作和管理 (5)二、实验内容 (6)1. 数据库基本概念 (7)2. 数据库设计 (9)3. SQL语言基础 (9)4. SQL语句练习 (11)5. 数据库管理与维护 (12)三、实验步骤与结果 (13)1. 数据库基本概念 (15)数据库的定义和特点 (16)关系型数据库的基本结构 (17)数据库管理系统(DBMS)的功能和组成部分 (19)2. 数据库设计 (20)需求分析 (22)概念模型设计 (23)逻辑模型设计 (25)物理模型设计 (26)3. SQL语言基础 (27)SQL语言的基本语法 (28)SQL语句的分类和功能 (30)SQL语句的操作对象 (31)4. SQL语句练习 (32)5. 数据库管理与维护 (34)数据库备份与恢复 (35)数据库优化与调整 (36)数据库安全与权限管理 (38)四、实验总结与展望 (39)1. 本实验的主要收获和体会 (40)2. 在实际工作中遇到的困难和问题及解决方法 (41)3. 对未来学习和工作的展望 (42)一、实验目的本次数据库原理实验的主要目的是加深对数据库管理系统原理的理解,掌握数据库的基本操作,并学会使用SQL语言进行数据库的查询、插入、更新和删除等操作。

通过实际操作,培养学生的数据库设计能力和解决实际问题的能力,为后续的数据库课程学习和职业生涯打下坚实的基础。

实验还旨在提高学生的动手实践能力和团队协作精神,为未来的学习和工作积累宝贵的经验。

1. 熟悉数据库的基本概念和原理数据库是存储数据的集合,这些数据可以是关于企业、组织或个人的信息。

它提供了一个有组织的数据存储环境,可以高效、有序地存储和管理大量的数据。

在现代信息技术中,数据库管理系统(DBMS)作为支持数据存储和操作的核心软件工具发挥着至关重要的作用。

实验四 视图和索引

实验四 视图和索引

实验四视图和索引班级学号姓名一、实验目的使学生掌握SQL SERVER中的视图创建、查看、修改和删除的方法;索引的创建和删除方法二、实验内容在学生-课程数据库中(1)用图形工具和T-SQL两种方法创建视图,取名为view_stu_grade,要求查看学生的学号,姓名,课程名和成绩。

(2)若发现视图定义的结构不能很好满足要求,还可以对它进行修改。

(3)删除视图(4)尝试分别为student表的每一个属性列添加一个惟一索引,将出现的现象和原因分析一下。

(5)删除索引三、实验过程(1)用图形工具和T-SQL两种方法创建视图,取名为view_stu_grade,要求查看学生的学号,姓名,课程名和成绩。

①使用图形工具②使用T-SQL语句③ 视图(2)若发现视图定义的结构不能很好满足要求,还可以对它进行修改。

如需要修改则点击视图选中view_stu_grade右键修改(3)删除视图①图形工具②T-SQL语句(4)尝试分别为student表的每一个属性列添加一个惟一索引,将出现的现象和原因分析一下。

①选中Student表打开索引,右键新建索引,如图操作②创建索引问题1(未选择要添加到索引键的表列)解决办法问题2(记录相同不能建立唯一索引)解决办法:不建立唯一结果(5)删除索引①图形工具②T-SQL语句四、实验总结通过这节课练习,我进一步掌握了SQL SERVER中的视图创建、查看、修改和删除的方法以及索引的创建和删除方法,其实视图就是表的一个缩影,如果表的基本操作能够熟练运用的话,那视图也就不再话下,知识真的是相通的。

数据库实验报告:视图 和索引

数据库实验报告:视图 和索引

一、实验步骤(一)附加上次实验所创建的数据库“db_Library”,并回顾该数据库的数据表信息。

(二)练习创建和管理视图1、使用管理控制台创建一个名为“计算机系借阅信息_VIEW”的视图,要求显示计算机系读者2011-1-1以后借阅的图书信息,包括“读者姓名”、“图书编号”和“借阅日期”三个字段。

打开sql server管理控制台窗口,打开新建视图对话框。

在添加表中添加tb_borrow和tb_reader表,在选中输出复选框中选中:读者编号,图书编号,借阅日期。

use db_library goselect * from 读者借阅信息_VIEWwhere 所在系='计算机'and 借阅日期>'2011_1_1'2、使用T-SQL语句创建一个名为“读者借阅信息_VIEW”的视图,要求显示所有的读者借阅信息,包括“读者编号”、“姓名”、“系部”、“图书编号”、“图书名称”和“借阅日期”等字段。

use db_library gocreate view 读者借阅信息_VIEW asselect tb_readder.读者编号,tb_reader.姓名,tb_reader所在系,tb_book.图书编号,tb_book.书名,tb_borrow.借阅日期 from tb_reader,tb_borrow,tb_bookwhere tb_reader.读者编号=tb_borrow.读者编号and tb_book.图书编号=tb_borrow.图书编号Select * from读者借阅信息_VIEW3、使用管理控制台查看“读者借阅信息_VIEW”视图的定义信息和依赖的对象。

打开管理控制台,在数据库“db_Library”下的“视图”对象;在左边窗口右击“读者借阅息_VIEW”该视图,在在窗口中选中“查看依赖关系”选项。

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

数据库原理索引视图实验报告

数据库原理索引视图实验报告

数据库组成原理实验报告题目:索引、视图的定义院系:计算机科学与工程学院班级:姓名:学号:一、实验题目索引、视图的定义二、实验日期2014年10月25日三、实验目的及要求掌握嵌套查询语句的运用,掌握使用T -SQL语句创建视图的方法,包括视图的建立、删除、修改;了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。

掌握创建索引的方法。

四、实验环境Sqlserver2008,windows xp。

五、实验内容在数据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求:(1)视图名为"员工项目"。

(2)包含字段"编号"、"姓名"、"名称"和"开始日期"。

(3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开始日期"。

六、实验步骤在数据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求为:(1)视图名为"员工项目"。

(2)包含字段"编号"、"姓名"、"名称"和"开始日期"。

(3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开始日期"。

(1)打开查询分析器。

在查询窗口书写CREATE VIEW语句创建视图,并指定字段别名:USE TestDBGOCREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期) ASSELECT a·编号,a·姓名,b·名称,b·开始日期,FROM员工数据表AS a INNER JOIN项目数据表AS bON a·编号=b·负责人WHERE a·编号=b·负责人GO(2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"姓名"字段值为"马中兴"。

数据库原理实验报告(Mysql)

数据库原理实验报告(Mysql)

数据库原理实验报告(Mysql)实验项目列表序号实验项目名称指导教师1 实验一数据库的定义实验(验证性)2 实验二数据库的建立和维护实验(验证性)3 实验三数据库的查询实验(验证性)4 实验四数据库的视图操作实验(验证性)5 实验五触发器、存储过程操作实验(综合性)实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。

二、实验环境:硬件:PC机软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:1、安装MySQL以及相应的GUI工具2、用SQL命令,建立学生-课程数据库基本表:学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade);要求:1) 用SQL命令建库、建表和建立表间联系。

2) 选择合适的数据类型。

3) 定义必要的索引、列级约束和表级约束.四、实验步骤:1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI 界面;2、利用图形界面建立基础表:student表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键Sname varchar 20Ssex varchar 2Sage smallint 6Sdept varchar 20course表的信息:字段名类型长度约束条件Cno varchar 4 非空、主键Cname varchar 40Cpno varchar 4 与course表中Cno关联Ccredit smallint 6sc表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4 非空、主键、与course表中Cno外键关联Grade smallint 6(1)、连接数据库,在localhost中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。

实验报告四 索引和视图

实验报告四 索引和视图

实验四索引和视图一、实验学时2学时二、实验目的(1)理解索引的概念与类型。

(2)掌握使用企业管理器创建与维护索引的方法。

(3)掌握T-SQL语句创建与维护索引的方法。

(4)理解视图的概念。

(5)掌握视图创建、更改的方法。

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

三、实验要求(1)硬件设备:奔腾II或奔腾II以上计算机,局域网。

SERVER、WINDOWS7、XP、WINDOWS9X/NT、WINDOWS(2)软件环境:WINDOWSSQL SERVER 2000/2005/2008中文版企业版或标准版。

(3)实验课前预习,课后及时完成实验内容。

(4)实验过程及记录按题目格式要求填写代码清单。

四、实验内容(一)索引索引分为两种:聚簇索引和非聚簇索引。

每张表只能有一个聚簇索引。

创建索引时的缺省设置是非聚簇索引。

1.使用企业管理器创建、管理索引(1)创建索引1)为Student表创建一个以Sno为索引关键字的惟一聚簇索引。

(若原已有,请删除,索引名为Sno_index)(提示:选择表后点击鼠标右键,选“设计”,窗口空白区域点击鼠标右键,选“索引/键”)基本步骤:2)为Student表创建以Sname,Sex为索引关键字的非聚簇索引(对Sname 以升序来排列,Sex以降序排列,并设置填充因子为70%)。

索引名为:SS_index。

(提示:填充因子为索引创建时索引里的数据页被填充的数量)基本步骤:(2)重命名索引将索引文件Sno_index重新命名为Sno_index1。

基本步骤:(3)删除索引将索引文件Sno_index1删除。

基本步骤:2.使用T-SQL语句创建、管理索引(1)创建索引1)为SC表创建一个非聚集索引Grade_index,索引关键字为Grade,升序,填充因子为80%。

(提示:with fillfactor=)T-SQL语句:create nonclustered index Grade_indexon SC(Grade)with fillfactor=80;2)为SC表创建一个唯一性聚集索引SC_index,索引关键字为Sno,Cno。

数据库实验4-实验报告

数据库实验4-实验报告

数据库实验4-实验报告数据库实验 4 实验报告一、实验目的本次数据库实验 4 的主要目的是深入理解和掌握数据库中的某些关键概念和操作,通过实际的操作和实践,提高对数据库管理系统的应用能力,增强解决实际问题的技能。

二、实验环境本次实验使用的数据库管理系统为_____,运行环境为_____操作系统,使用的开发工具为_____。

三、实验内容与步骤(一)创建数据库首先,打开数据库管理系统,使用相应的命令或操作界面创建了一个名为“_____”的数据库。

在创建过程中,指定了数据库的一些基本属性,如字符集、排序规则等,以满足后续数据存储和处理的需求。

(二)创建数据表在创建好的数据库中,根据实验要求创建了若干个数据表。

例如,创建了一个名为“students”的表,用于存储学生的信息,包括学号(student_id)、姓名(student_name)、年龄(age)等字段。

创建表时,仔细定义了每个字段的数据类型、长度、是否允许为空等属性,以确保数据的准确性和完整性。

(三)数据插入接下来,向创建的数据表中插入了一些测试数据。

通过执行相应的插入语句,将学生的具体信息逐个插入到“students”表中。

在插入数据的过程中,特别注意了数据的格式和合法性,避免了因数据错误导致的插入失败。

(四)数据查询完成数据插入后,进行了各种查询操作。

使用了简单的查询语句,如“SELECT FROM students”来获取所有学生的信息。

还使用了条件查询,如“SELECT FROM students WHERE age >18”来获取年龄大于 18 岁的学生信息。

通过这些查询操作,熟悉了如何从数据库中获取所需的数据。

(五)数据更新对已有的数据进行了更新操作。

例如,通过执行“UPDATE students SET age = 20 WHERE student_id =1”的语句,将学号为 1 的学生的年龄更新为20 岁。

在更新数据时,谨慎操作,确保只更新了预期的记录。

数据库原理及应用.实验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,并查看视图结构,通过该视图可以将其他系学⽣信息屏蔽掉。

实验报告 3(视图、索引的创建与使用)

实验报告 3(视图、索引的创建与使用)

撰写人姓名:撰写时间:审查人姓名:实验全过程记录一、实验目的1、熟练掌握视图的创建与维护操作,熟练使用视图访问数据;2、熟练掌握索引的创建与维护操作,熟练使用索引以方便查询。

二、实验内容:1、在“对象资源管理器”中使用向导和在在“查询编辑器”中使用T-SQL语句创建视图,并修改视图。

再通过视图向数据库添加、修改、删除数据。

2、使用步骤1中两种方法进行索引的创建、修改、删除操作。

三、实验用仪器设备及材料软件需求:操作系统:Windows XP或更新的版本数据库管理系统:SQL Server 2005或更新的版本硬件需求:Pentium Ⅲ1G以上的CPU处理器、256MB以上的内存、1.5G以上自由硬盘空间、打印机、打印纸、CD-ROM驱动器等。

四、实验步骤:1、在“对象资源管理器”中展开需要建立视图的“公司管理系统”数据库,用鼠标右键单击“视图”对象,选择快捷菜单“新建视图”选项,打开新建“视图”对话框,根据需要选择添加的表和视图。

现添加“职工表”、“项目表”和“客户表”。

在视图设计窗口中,创建“查询姓‘李’的职工负责的上海的项目名称”的视图。

据此设置视图的输出列、列名、表名等属性。

保存该视图并利用此视图进行查询操作。

2、选择当前数据库为“公司管理系统”数据库。

在“查询编辑器”中使用T-SQL语句创建“查询客户表中所有地址在‘北京’的客户编号和名称”的视图。

通过此视图向数据库中的表进行添加、修改、删除等更新记录操作。

3、在“对象资源管理器”中展开需要建立索引的“职工表”,选中“索引”选项并展开。

选中“索引”对象,单击鼠标右键,在快捷菜单中选择“新建索引”选项,打开“新建索引”对话框。

根据“职工表”的“出生日期”列创建一不唯一、也不是聚集的索引。

设置完毕后保存该索引并进行相应的查询输出以观察索引设置的输出效果。

4、在“查询编辑器”中使用T-SQL语句对“客户表”的“客户名称”列和“地址”列创建一不唯一的、也不是聚集的复合索引。

实验四索引与视图

实验四索引与视图

实验4 数据库的索引与视图定义实验一、实验目的本实验的目的是使学生掌握索引与视图的定义与维护操作,加深对索引与视图在关系数据库中的作用的理解。

二、实验时数2学时[相关知识]建立索引是加快查询速度的有效手段。

用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多个存取路径,加快查找速度。

视图是根据子模式建立的虚拟表。

一个视图可以由一个表构造,也可以由多个表构造。

查看和修改视图就如同对表的操作一样,非常容易。

三、实验内容㈠索引1.创建索引1)为PROJ表的PNAME列创建非聚集索引Pindex。

2)为DEPA表的DNAME(降序),ADDR两列创建唯一非聚集索引Dindex。

3)在PROJ表的PNAME列上创建唯一非聚集索引Pindex,若该索引已存在则删除后重建。

2.查看索引1)查看DEPA表的索引信息。

2)查看数据库COMPANY索引使用的空间信息3.索引更名1)将DEPA表的索引Dindex名更改为Dindex1。

4.删除索引1)删除DEPA表的索引Dindex1。

㈡视图1.创建视图1)创建14号部门员工的视图EMPL_14(ENO,ENAME,SALARY)。

2) 创建包含项目名与员工名及工作天数的视图Prjemp。

3)在视图EMPL_14上创建工资在3000以上的员工的视图EMPL_14H3。

4)创建每个部门的平均工资的视图E_AVG(DNO,SAVG)。

2.查询视图1)根据视图Prjemp查询做'设计系统'项目的所有员工及工作天数。

2)根据视图E_AVG查询‘客户中心’的平均工资。

3.更新视图1)在视图EMPL_14中将1042号员工的姓名改为‘李立春’。

2)向视图EMPL_14中插入一条新记录(1050,‘赵英’,3500)。

3)删除视图EMPL_14中1042号员工的记录。

4.删除视图1)删除视图Prjemp。

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

一、实验内容、步骤以及结果
1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。

(5分)
2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。

--第一种方法
CREATEVIEW V_SPJ AS
SELECT sno,pno,qty FROM SPJ
WHERE jno=(
SELECT jno FROM J
WHERE jname ='三建'
);
GO
--删除建好的视图
DROPVIEW V_SPJ;
GO
--第二种方法
CREATEVIEW V_SPJ AS
SELECT sno,pno,qty
FROM SPJ,J
WHERE J.jno=SPJ.jno AND J.jname='三建';
3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。

11.请为三建工程项目建立一个供应情况的视图,包括供应商代
码(SNO)、零件代码(PNO)、供应数量(QTY)。

针对该视图VSP完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量。

(2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。

(15分,每题5分)
(1)给视图V_SPJ中增加一条数据。

提示:
-SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO 为NULL,由于JNO为NULL,所以视图中没有该条数据。

-SPJ表中JNO不能为空时,可以使用instead of触发器实现。

(2)修改视图V_SPJ中的任意一条数据的供应数量。

(3)删除视图V_SPJ中的任意一条数据(注意所创建视图可以视
图消解时,才能正常删除,否则会删除失败;也可以考虑用
instead of触发器实现)。

5.用图形用户界面对Student数据库中C表的Cno字段创建一个降序排列的唯一索引,索引名称IX_CNo。

(5分)
6.使用SQL语句对Student数据库完成以下的索引操作。

(15分,每题5分)
(1)在C表的CName属性上创建一个非唯一性的聚簇索引,索引
名IX_CName。

(提示:创建这个聚簇索引之前,需要首先删除C表的主键约束。

SQL Server中,给某张表指定主键时,会自动创建为主属性一个聚簇索引。

)
(2)在SC表上创建一个名为IX_Cnosno的非聚簇复合索引,该索
引是针对sno,cno属性集建立的升序索引。

(3)删除C表的索引IX_CName。

7.自己设计一个实验验证索引对数据库查询效率的提升作用。

(40分)
(提示:需要数据量比较大的情况下才容易进行对比)
采用一卡通消费记录作为实验数据,一共812条记录,
将交易发生时间设置为主键,建立升序索引,查询某天的消费记录,与未建立索引时相比较。

每种情况查询5次,计算平均时间。

单位:毫秒
通过数据可以看出,建立索引后查询平均时间确实较没有索引时短。

二、实验中出现的问题以及解决方案(对于未解决问题请将问题
列出来)
除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

问题:在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,因为sbirth的类型是date,不能用LIKE’1996%’命令进行检索。

解决方案:使用BETWEEN ‘1996-1-1’ AND ‘1997-1-1’表达式。

如下图:
批阅者:
批阅日期:
实验成绩:
批注:。

相关文档
最新文档