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

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

1. 简介

在数据库中,视图是一种虚拟表,它是基于查询结果动态

生成的。视图可以看作是一个预定义的查询,通过视图可以方便地访问和组织数据。本文将介绍在数据库中如何创建和使用视图,以及如何构建索引来提高查询性能。

2. 创建视图

在数据库中,可以使用CREATE VIEW语句来创建一个视图。视图的创建需要满足以下条件:

•视图的名字必须唯一。

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

下面是一个创建视图的示例:

CREATE VIEW view_name AS SELECT column1, colum

n2 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语句来创建索引。

下面是一个创建索引的示例:

CREATE INDEX index_name ON table_name (column1, column2);

其中,index_name是索引的名称,table_name是要创建索引的表名,column1和column2是要创建索引的列名。

创建索引之后,可以在查询语句中使用INDEX关键字来指定使用索引。

下面是一个使用索引的示例:

SELECT*FROM table_name INDEX (index_name) WH ERE condition;

其中,table_name是要查询的表名,index_name是要使用的索引的名称,condition是查询的条件。

6. 总结

本文介绍了数据库中视图和索引的创建和使用。视图是一个基于查询结果动态生成的虚拟表,可以方便地访问和组织数据;索引可以提高数据库的查询性能,可以根据不同的查询需求选择不同的索引类型。在实际应用中,视图和索引的合理使用可以提高数据库的效率和性能。

以上是关于实验训练4:视图和索引的构建与使用的详细介绍,希望对你理解和使用数据库有所帮助。

实验5 索引和视图

实验5 索引和视图 一、实验目的 1.掌握索引的使用方法 2.掌握数据完整性的实现方法 3.熟悉视图的概念和作用 4.掌握视图的创建方法 5.掌握如何查询和修改视图 二、实验准备 1.了解索引的作用与分类 2.掌握索引的创建方法 3.了解视图的概念 4.了解创建视图的方法 5.了解对视图的操作 三、实验内容及要求 1.创建索引 1)在Employees表的Name列和Address列上建立复合索引。 2)对Departments表上的DepartmentName列建立唯一性索引。 3)使用CREATE INDEX语句能创建主键吗? 4)向Employees表中的出生日期列添加一个唯一性索引,姓名列和性别 列上添加一个复合索引。 5)假设Departments表中没有主键,使用ALTER TABLE语句将 DepartmentID列设为主键。 6)添加主键和添加普通索引有什么区别? 7)创建与Departments表相同结构的表Departments1,将 DepartmentName设为主键,DepartmentsID上建立一个索引。 2.删除索引 1)使用DROP INDEX语句删除表Employees上的索引depart_ind。 2)使用ALTER TABLE语句删除Departments上的主键和索引Dep_ind。 3.创建视图 1)创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全 部列。 2)创建YGGL数据库上的视图Employees_view,视图包含员工号码、姓 名和实际收入。 4.查询视图 1)从视图DS_VIEW中查询出部门号为3的部门名称。 2)从视图Employees_view查询出姓名为“王林”的员工的实际收入。 5.更新视图 1)向视图DS_VIEW中插入一行数据:6,广告部,广告业务。 2)执行完该命令使用SELECT语句分别查看视图DS_VIEW和基本表 Departments中发生的变化。 3)尝试向视图Employees_view中插入一行数据,看看会发生什么情况。 4)修改视图DS_VIEW,将部门号为5的部门名称修改为“生产车间”。 5)执行完该命令使用SELECT语句分别查看视图DS_VIEW和基本表

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

实验训练4:视图和索引的构建与使用 1. 简介 在数据库中,视图是一种虚拟表,它是基于查询结果动态 生成的。视图可以看作是一个预定义的查询,通过视图可以方便地访问和组织数据。本文将介绍在数据库中如何创建和使用视图,以及如何构建索引来提高查询性能。 2. 创建视图 在数据库中,可以使用CREATE VIEW语句来创建一个视图。视图的创建需要满足以下条件: •视图的名字必须唯一。 •视图的定义必须是一个有效的SELECT语句。 下面是一个创建视图的示例: CREATE VIEW view_name AS SELECT column1, colum n2 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语句来创建索引。 下面是一个创建索引的示例: CREATE INDEX index_name ON table_name (column1, column2); 其中,index_name是索引的名称,table_name是要创建索引的表名,column1和column2是要创建索引的列名。

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

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

三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果) 1.将学生、课程、选课三张表中的全部记录复制到student、course、xuanke三张表中;select*into student from学生 select*from student select*into course from课程 select*from course select*into xuanke from选课 select*from xuanke 2.用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)

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

课程名称:《数据库原理》 绩成实验项目名称:视图和索引的创建和使指导老签 一、实验目的: (1)掌握创建视图的SQL语句的用法。 (2)掌握修改视图的方法。 (3)熟悉视图更新与基本表更新的区别与联系;认识视图的作用。 (4)熟悉索引的作用,以及不同类型索引的区别。 (5)学会用T-SQL语句对表创建和删除索引 二、实验设备与器件 +Sql server 2008Win7 三、实验内容与步骤 利用备份文件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,将学号为“5”的学生姓名更改为“张小立”,并查看结果; ②通过视图V_IS,新增加一个学生记录 ('6','黄笑',19, '男','IS'),并查看结果。 ③通过视图V_IS,新增加一个学生记录 ('7','李霞',19, '女','MA'),并查看结果。 ④通过视图V_IS,删除学号为“6”的学生信息,并查看结果。 ⑤通过视图V_S_C_G,将学号“2”的姓名改为“刘晓晨”,能否实现?若无法实现说明原因。 ⑥通过视图V_AVG_S_G,将学号“1”的平均成绩改为90,能否实现?若无法实现说明原因。 ⑦修改视图V_IS定义,添加WITH CHECK OPTION语句,然后用update语句修改“5”的学生所在系,改为'MA', 能否实现?若无法实现说明原因。 ⑧修改视图V_YEAR,对其进行加密处理,并查看结果。 (8)写出T-SQL语句:利用表和前面所建视图,查询平均成绩为90分以上的学生学号、姓名和成绩; (9)写出T-SQL语句:利用表和前面所建视图,查询成绩大于课程平均成绩的学生学号、课程号和成绩; (10)写出T-SQL语句:利用表和前面所建视图,按系分组统计平均成绩80分以上的人数,按降序排列。 (11)为student表创建一个复合索引i_sdept_sno,以院系升序、学号降序。

数据库SQL实验题目(14-15-1)解析

实验一数据定义操作 ●实验目的 1.掌握数据库和表的基础知识 2.掌握使用创建数据库和表的方法 3.掌握数据库和表的修改、查看、删除等基本操作方法 ●实验内容和要求 一、数据库的创建 在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示: Grademanager数据库参数表 二、表的创建、查看、修改和删除 1.表的创建 在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构 特别注意: 为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束 (2)Course表(课程名称表)的表结构 (3)SC表(成绩表)的表结构 特别注意: ①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100 ②为SC表设置外键Sno和Cno的方法: 右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。按照相同的方法,将属性Sno也设置为外键。 图2为SC表设置外键Cno

2.向上述表中输入如下数据记录 学生关系表Student (右键单击表Student ,选择“编辑前200行”) 课程关系表Course 成绩表SC 3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student 表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除 思考题 1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原? 2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?

视图和索引总结

视图和索引总结 1. 视图(Views) 在数据库中,视图是一个虚拟的表,它是由一个查询语句定义而成的。视图将 查询语句的结果存储在内存中,并可以像表一样被查询。视图相当于一个过滤器,它可以隐藏表中一些不需要的列或行,让用户只关注所需的数据。 1.1 创建视图 要创建一个视图,可以使用以下的语法: CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; 其中,view_name是视图的名称,column1, column2, ...是视图所包含的列,table_name是视图对应的表,condition是视图的筛选条件。 1.2 查看视图 要查看视图的数据,可以使用以下的语法: SELECT*FROM view_name; 这将返回视图中所包含的所有数据。 1.3 更新视图 视图可以像表一样进行更新。但要注意,只有满足以下条件时,视图才能被更新: •视图必须基于一个单一的表(而不是多个表的联接)。 •视图的查询语句不能包含DISTINCT、GROUP BY、HAVING、UNION等聚合函数或操作符。 要更新视图的数据,可以使用以下的语法: UPDATE view_name SET column1 = value1, column2 = value2, ... WHERE condition; 1.4 删除视图 要删除一个视图,可以使用以下的语法:

DROP VIEW view_name; 2. 索引(Indexes) 索引是一种数据结构,它能够提高数据库的查询性能。索引类似于书籍的目录,可以根据特定的关键字快速地找到记录。 2.1 创建索引 要创建一个索引,可以使用以下的语法: CREATE INDEX index_name ON table_name (column1, column2, ...); 其中,index_name是索引的名称,table_name是索引所在的表,column1, column2, ...是索引的列。通过在查询中使用索引的列作为条件,可以加快查询 的速度。 2.2 查看索引 要查看表中的索引,可以使用以下的语法: SHOW INDEX FROM table_name; 这将返回表中所有的索引信息,包括索引的名称、所在的表、列和索引类型等。 2.3 删除索引 要删除一个索引,可以使用以下的语法: DROP INDEX index_name ON table_name; 其中,index_name是要删除的索引的名称,table_name是索引所在的表。 3. 视图和索引的使用场景 3.1 视图的使用场景 视图在以下情况下非常有用: •需要频繁查询一些特定的列,但不希望每次都输入复杂的查询语句。 •需要从表中筛选出特定的行,并将它们作为一个独立的表来处理。 •需要对不同的用户显示不同的数据。 3.2 索引的使用场景 索引在以下情况下非常有用: •当表中的数据量很大时,使用索引可以加快查询的速度。

实验报告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视图和索引的构建与使用

实验训练4:视图和索引的构建与使用 实验目的: 1. 了解视图和索引的概念和作用; 2. 掌握创建视图和索引的语法和方法; 3. 掌握使用视图和索引进行数据查询的方法。 实验环境: MySQL数据库。 实验内容: 1. 创建视图 视图是一种虚拟表,它是根据SQL 查询语句所定义的结果集生成的。视图并不存储数据,而是根据需要从基本表中获取数据。视图的作用是简化常用查询操作,使查询语句更加简洁明了。 创建视图的语法如下: ``` CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; ``` 例如,我们可以创建一个视图来显示学生的姓名和成绩: ``` CREATE VIEW student_score AS SELECT name, score FROM students; ``` 2. 使用视图查询数据 使用视图进行查询时,可以像查询普通表一样进行查询操作。 例如,我们可以查询学生的姓名和成绩: ```

SELECT * FROM student_score; ``` 3. 创建索引 索引是一种数据结构,用于提高数据的查询效率。索引可以加快查询操作的速度,但会降低插入和更新操作的速度。通常,我们会在经常使用的列上创建索引,以提高查询效率。 创建索引的语法如下: ``` CREATE INDEX index_name ON table_name (column1, column2, ...); ``` 例如,我们可以在学生表的姓名列上创建索引: ``` CREATE INDEX idx_name ON students (name); ``` 4. 使用索引查询数据 使用索引进行查询时,可以通过查询计划来查看是否使用了索引。 例如,我们可以查询姓名为张三的学生: ``` SELECT * FROM students WHERE name = '张三'; ``` 可以通过EXPLAIN 命令查看查询计划: ``` EXPLAIN SELECT * FROM students WHERE name = '张三'; ``` 如果查询计划中出现了Using index,则表示使用了索引。 实验总结: 本次实验学习了视图和索引的概念和作用,掌握了创建视图和索引的语法和方法,以及使用视图和索引进行数据查询的方法。视图和索引可以提高数据查询的效率,是数据库设计和优

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

实验四视图、索引的创建与管理 一、实验目的 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_图书状态_借阅日期”,使用的数据表是“图书借阅信息表”,所用的字段包括“图书状态”和“借阅日期”两个字段。 14.使用系统存储过程查看“IX_姓名_所在部门”的索引信息。 15.使用管理控制台将索引“IX_姓名_所在部门”改名为“IX_姓名and所在部门”。 16.使用系统存储过程将索引“IX_图书状态_借阅日期”改名为“IX_图书状态and借阅日期”。 17.使用管理控制台删除索引“IX_姓名and所在部门”。 18.使用SQL语言删除索引“IX_图书状态and借阅日期”。 三、实验结果 四、实验总结

数据库实验-数据库索引、视图与触发器

石家庄经济学院 实验报告 学院: 信息工程学院 专业: 网络工程 信息工程学院计算机实验中心制

1.索引的建立和删除操作 2.视图的创建、修改、更新和查询操作 二实验目的 1.掌握数据库索引建立与删除操作,掌握数据库索引的分类,并了解建立数据库索引的意义、作用。 2.掌握视图的创建和查询操作,理解视图的使用,理解实图在数据库安全性中的作用。 三实验内容 1.索引的建立和删除操作 (1)在S表中,建立按照sno升序的惟一性索引snoIDX。 (2)在SC表中,建立按照学号升序和课程号降序的唯一性索引scIDX。 (3)在S表中,按照生日建立一个非聚簇索引birthdayIDX。 (4)在C表中,建立一个按照课程名升序的聚簇索引cnameIDX。 (5)删除索引cnameIDX。 2.视图的创建、修改、更新和查询操作 (1)建立一个关于所有女生信息的视图S_GIRL。 (2)将各系学生人数,平均年龄定义为视图V_NUM_A VG (3)建立一个视图反映学生所选课程的总学分情况TOTAL_CREDIT。 (4)建立一个所有学生课程成绩的视图S_GRADE,包括基本学生信息,课程信息和成绩。 (5)在视图S_GRADE基础之上,建立一个两门课以上成绩不及格的学生情况视图FAIL_GRADE。 (6)建立一个至少选修了4门课及4门课以上的学生信息的视图SC_FOUR。 (7)修改视图S_GIRL,要求只显示1997年以前出生的女生信息。 (8)在视图FAIL_GRADE查询不及格超过2门课的学生信息。 (9)删除视图S_GRADE。 (10)通过视图S_GIRL,将“王丹”的名字修改为“汪丹”,并查询结果。 (11)通过视图S_GIRL,新增一个学生信息(“刘兰兰”,“女”,“计算机学院”,1996-8-8),并查询 结果。 (12)通过视图S_GIRL,删除1995年出生的女生信息,并查询结果。 (13)通过视图S_GRADE,将“汪丹”的名字修改为“王丹”,是否可以实现,请说明原因。 (14)通过视图COMPUTE_A VG_GRADE,将“4121090301”学生的平均分改为90分,是否可以实 现,请说明原因。 四实验要求 1.要求掌握索引的类型,以及创建索引时的注意事项,例如每个表只能创建一个聚集索引,可以创建非聚集索引最多为249个,等等。 2.理解创建视图的目的和意义。掌握创建视图时需要考虑的原则:只能在当前数据库中创建视图、

实验 视图、索引与数据库关系图

实验名称:实验五视图、索引与数据库关系图 班级学号姓名日期 所在院系指导老师成绩 一、试验目的 使学生掌握SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。加深对视图和SQL Server数据库关系图的理解。 二、实验内容 (1)创建、查看、修改和删除视图。 (2)创建、删除索引文件。 (3)创建数据库关系图。 三、试验步骤 1)视图操作 (1)创建视图。 使用SQL Server Management Studio直接创建,步骤如下: 1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,右击“视图”,在弹出的快捷菜单中选择“新建视图”命令,弹出“添加表”对话框。如图5.1所示 图5.1 “添加表”对话框 2.在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和sc表。添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。如图5.2所示 图5.2添加字段前的效果图

3.如果要在视图中显示某些表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。 4.如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示,如由字段student.sno、sname、cname、grade生成的视图效果。如图 5.3所示 图5.3 生成视图效果图 5.在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。 6.单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,为view_stu_grade。 (2)修改视图。 视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好的满足要求,还可以对它进行修改。 使用SQL Server Management Studio直接修改,步骤如下: 1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。 2.右击要修改结构的视图,在弹出的视图功能快捷菜单中选择“修改”命令,就可以直接修改了。 (3)删除视图 使用SQL Server Management Studio直接删除,步骤如下: 1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。 2.右击要删除的视图,在弹出的视图功能快捷菜单中选择“删除”命令,就可以直接删除掉制定的视图。 2)索引文件的创建与删除 索引是一个单独的、物理的数据库结构,是为了加速对表中数据行的查询而创建的一种分散的存储结构。 (1)创建索引文件。 使用SQL Server Management Studio直接创建索引文件,步骤如下: 1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,再单击表前面的+号,就额可以看到已存在的表了, 2.选定要添加索引的表,如数据表student。右击,在弹出的快捷菜单中选择“修改”命令。

数据库实验四

实验四视图、索引及数据更新 一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟练掌握数据插入、修改和删除以及视图的创建及使用,为后继学习作准备。 1 建立索引 1.1 为学生选课数据库中的Student,Course,Sc三个表建立索引。其中Student表按“学号”升序建唯一索引C1,Course表按“课程名”降序建唯一索引C2,Sc表按“学号”升序和“课程号”升序建唯一索引C3。 create unique index C1 on student(sno) create unique index C2 on course(cno desc) create unique index C3 on sc(sno,cno) 1.2 在基本表Student的Sname(姓名)和Sno(学号)列上建立一个聚簇索引c4,而且Student中的物理记录将按照Sname值和Sno值的升序存放。 create clustered index C4 on student(sname asc,sno asc) 2 删除索引 2.1删除以上所建索引C1、C2、C3。 drop index C1 on student drop index c2 on course drop index c3 on sc 3 建立视图 3.1 建立数学系学生的视图math_stu,并要求进行修改和插入操

作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。 3.2 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图grade_stu。 3.3 定义一个反映学生出生年份的视图Student_birth。

数据库实验5 索引和视图(答案)

实验5 索引和视图 学号:18103317 专业:电子信息工程 一、实验内容 1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《学生表》和《课程表》创建主键索引。 2.使用SQL Server管理平台按《课程表》的课程编号列创建唯一性索引。 3.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。 CREATE INDEX 成绩_index ON 成绩表(分数) 4.为studentsdb数据库的《成绩表》的“学号”和“课程编号”字段创建一个复合唯索引,命名为《成绩表_id_c_ind》。 CREATE UNIQUE INDEX 成绩表_id_c_ind ON 成绩表(学号,课程编号) 5.分别使用SQL Server管理平台和系统存储过程sp_helpindex查看《成绩表》和《学生表》上的索引信息。 6.使用SQL Server管理平台的“向导'工具对《成绩表》创建一个聚集索引和唯一索引。 7.使用系统存储过程sp_rename将索引《成绩表_index》更名为《成绩表_ind》。 Sp_rename ‘grade.grade_index’,’grade_ind’,’INDEX’ 8.分别使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索《成绩表_ind》再次使用系统存储过程sp_helpindex查看《成绩表》上的索引信息。 DROP INDEX grade.grade_ind 9.在studentsdb数据库中,以《学生表》为基础,使用SQL Server管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。

湖南大学数据库实验四完整性约束、视图、存储过程和数据安全

实验四完整性约束、视图、存储过程和数据平安 实验目的: 1、掌握创立各种实体完整性约束的方法。 2、掌握创立和使用视图、存储过程和索引的方法。 3、掌握视图实现数据平安的根本方法。 4、掌握数据库的根本备份和恢复技术。 实验内容: 本实验在ORACLE数据库平台上进展操作,ORACLE数据库的根本操作请参考实验二,本实验中的各种数据都来自于实验三中的各个表。 实验主要内容如下: 1、学习创立四类完整性约束的方法。 2、学习创立视图、存储过程和索引的方法。 3、学习利用用户管理,角色管理,以及利用视图实现数据平安。 4、学习ORACLE数据库的根本备份和恢复技术。 实验过程: 1.实体完整性约束 方法一: create table course ( o varchar(10) not null, dno char(8) not null, ame varchar(20) not null, hours number not null, term number not null, credit number not null, constraint pk_course primary key (o) ); 方法二: altertablecourseaddconstraintpk_courseprimary key(o) ;

2.参照完整性约束 alter table COURSE add constraint FK_COURSE_DEPARTMEN_DEPARTME foreign key (dno) references department (dno); 3.域约束 前面建表时用的数据类型,NOT NULL等都属于域约束; alter table student add constraint chk_se* check (se* in ('男','女')); alter table student modify se* default '男'; alter table student_course_teacher add constraint chk_score check (score>=0 AND score<=100); 4.业务规则约束 用触发器实现一下: create or replace trigger tri_del_teacher after delete on teacher for each row declare -- local variables here begin delete from teacher_course where tno=:old.tno; delete from student_course_teacher where tno=:old.tno; end tri_del_teacher; / 备注:最后面的斜杠"/〞不能少。 5.视图的创立和查询 createview myview_course asselect s.sno **, sname , classno 班级 from student s,

数据库实验五 索引和视图

华中科技大学 《数据库技术与应用》实验报告 专业班级:学生姓名:学号: 实验地点:指导教师: 实验日期时间: 一、实验项目名称:索引和视图 二、实验学时: 三、实验目的: 1.学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。 2.学会使用SQL Server管理平台查看索引。 3.学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引。 4.掌握使用SQL Server管理平台和Transact-SQL语句CREATE-VIEW创建视图的用法。 5.了解对索引和视图更名的系统存储过程sp_rename的用法。 6.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 7.了解删除视图的Transact-SQL语句DROP VIEW的用法。 四、实验工具或环境五、实验内容、步骤、代码和结果: 0. 创建studentsdb数据库及其相应表,并录入数据。 在SQL Server管理平台上,点击“新建查询”打开查询编辑器窗口,复制粘贴附件“创建数据库代码”中的代码到查询编辑器窗口,运行即可生成相关数据库和表,并有相应的数据。 1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和 curriculum表创建主键索引。 alter table student_info alter column学号char(4)not null; alter table student_info add primary key(学号) alter table curriculum alter column课程编号char(4)not null; alter table curriculum add primary key(课程编号) 2.使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。 create unique index课程编号_idx on curriculum(课程编号) 3.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 create index grade_index on grade(分数)

实验三 索引和视图

实验三索引和视图 一、实验目的 1.掌握利用SSMS和T—SQL语句创建和删除索引的两种方法。 2.掌握利用SSMS和T—SQL语句创建、查询、更新及删除视图的方法。 ssex char(3)constraint ssex_ch check (ssex in('男','女')), sage int not null constraint sage_ch check (sage between 15 and 30), sdept char(10))

values('C02','数据结构','C05',2) insert into course values('C03','数据库','C02',2) insert into course

values('C04','DB_设计','C03',3) insert into course values('C05','C++',null,3) insert into course values('C06','网络原理','C07',3) create table sc(sno char(5)not null, cno char(5)not null, grade int constraint grade_ch check(grade between 0 and 100), primary key(sno,cno),

constraint fk_sno foreign key (sno)references student(sno), constraint fk_cno foreign key (cno)references course(cno)) insert into sc values('S01','C01',92) insert into sc values('S01','C03',84) insert into sc values('S02','C01',90) insert into sc values('S02','C02',94) insert into sc values('S02','C03',82) insert into sc values('S03','C01',72) insert into sc values('S03','C02',90) insert into sc values('S04','C03',75) 2.索引的建立、删除 ①用SSMS的方式为Student表按Sno(学号)升序建唯一索引

相关主题
相关文档
最新文档