文档库 最新最全的文档下载
当前位置:文档库 › 实验五 索引和视图 富春山居 数据库sql

实验五 索引和视图 富春山居 数据库sql

实验五 索引和视图 富春山居 数据库sql
实验五 索引和视图 富春山居 数据库sql

实验5 索引和视图

富春山居

一、实验目的

1.学会使用企业管理器和Transact-SQL语句CREATE INDEX创建索引。

2.学会使用企业管理器查看索引。

3.学会使用企业管理器和Transact-SQL语句DROP INDEX删除索引。

4.掌握使用企业管理器、向导等创建、管理和删除全文索引,并使用全文引索查询信息的方法。

5.掌握使用企业管理器和Transact-SQL语句CREATE-VIEW创建视图的用法。

6.掌握系统存储过程sp_rename的用法。

7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。

二、实验准备

1.了解聚集索引和非聚集索引的概念。

2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。

3.了解使用企业管理器创建索引的步骤。

4.了解Transact-SQL语句DROP INDEX删除索引的用法。

5.了解创建视图的Transact-SQL语句CREATE INDEX的语法格式及用法。

6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。

7.了解视图更名的系统存储过程sp_rename的用法。

8.了解删除视图的Transact-SQL语句DROP VIEW的用法。

三、实验内容

0.创建studentsdb数据库及其相应表,并录入数据。

启动查询分析器,运行下面链接的代码即可。

创建数据库代码

1.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表格

和curriculum表创建主键索引。

2.使用企业管理器按curriculum表的课程编号列创建唯一性索引。

3.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。

CREATE INDEX grade_index ON grade(分数)

4.为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。

CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号)

5.分别使用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。

sp_helpindex grade

6.使用企业管理器的“向导”工具对grade表创建一个聚集索引和唯一索引。

7.使用系统存储过程sp_rename将引索grade_index更名为grade_ind。

sp_rename ˊgrade.grade_indexˊ,ˊgrade_indˊ, ˊINDEXˊ

8.分别使用企业管理器和Transact-SQL语句DROP INDEX删除索引grade_ind。

再次使用系统存储过程sp_helpindex查看grade表上的索引信息。

DROP INDEX grade.grade_ind

9.分别使用企业管理器和系统存储过程sp_fulltext_database为studentsdb数据库启用全文索引。

全文索引上机不做

10.分别使用企业管理器和系统存储过程sp_fulltext_catalog为studentsdb数据库建立全文目录,命名为FT_stu。为student_info表建立全文索引数据元。

execute sp_fulltext_catalog ˊFT_stuˊ,ˊcreateˊ

exec sp_fulltext_tableˊstudent_infoˊ,ˊcreateˊ,ˊFT_stuˊ,ˊPK_student_infoˊ

在建立全文索引数据元之前保证已为student_info表建立了PK_student_infl索引。

11.为student_info表设置全文索引列名为ˊ家庭住址ˊ。在全文目录中注册该表,激活表的全文检索能力。

execute sp_fulltext_columnˊstudent_infoˊ,ˊ家庭住址ˊ,ˊaddˊ

execute sp_fulltext_tableˊstudent_infoˊ,ˊactivateˊ

12.填充全文目录,检查全文目录填充情况。

execute sp_fulltext_catalog ˊFT_stuˊ,ˊstart_fullˊ

While (fulltextcatalogproperty(ˊFT_stuˊ,ˊpopulateStatusˊ)<>0)

BEGIN

waitfor delayˊ0;0;30ˊ--如果全文目录正处于填充状态,则等待30s后再检测一次END

13.在student_info表中,分别使用CONTAINS和FREETEXT函数通过全文目录检索家庭住址包含25号的记录。

SELECT姓名,家庭住址

FROM student_info

WHERE CONTAINS(家庭住址,ˊ25号ˊ)

14.使用系统存储过程从studentsdb数据库中禁用全文检索。

15.在studentsdb数据库中,以student_info表为基础,使用企业管理器建立名为v_stu_i 的视图,使视图显示学生姓名、性别、家庭住址。

批处理中仅有语句指我写的语句之前不能有其他语句,如果选中这几句再执行是可以的

16.在studentsdb数据库中,使用Transact-SQL语句 CREATE VIEW 建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。

17.基于student_info表、curriculum表和grade表,建立一个名为v_stu_g 的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g 查询学号为0001的学生的所有课程和成绩,如图1-9所示。

学号姓名课程名称分数

0001刘卫平大学计算机基础80

0001刘卫平C语言程序设计90

0001刘卫平SQL Server数据库87

?0001刘卫平英语86 0001刘卫平高等数学78

图1-9 学号为0001的学生的视图信息

18.分别使用企业管理器和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓名、每个学生所学课程数目。

19.使用Transact-SQL语句ALTER VIEW 修改视图v_stu_i,使其具有列名学号、姓名、性别。

ALTER VIEW v_stu_i(学号,姓名,性别)

AS SELECT 学号,姓名,性别 FROM student_info

20.使用系统存储过程sp_rename将视图v_stu_i更名为v_stu_info。

sp_rename v_stu_i,v_stu_info

21.利用视图v_stu_i为student_info表添加一行数据:学号为0015、姓名为陈婷、性别为女。

22.利用视图v_stu_i删除学号为0015的学生记录。

23.利用视图v_stu_g修改姓名为刘卫平的学生的高等数学的分数为84。

24.使用Transact-SQL语句DROP VIEW 删除视图v_stu_c和v_stu_g。

四、实验思考

1.是否可以通过视图v_stu_g修改grade表中学号列数据?

不可以,因为若视图中包含了多个基础表,且要更改的列分别属于不同的基础表,则不能通过视图更改对应基础表的列数据

2.比较通过试图和基表操作表中数据的异同。

006-实验六T-索引与视图(实验报告内容)

实验六索引与视图 (实验报告) 一、目的 1.掌握索引和视图的基本概念和功能。 2.掌握利用SQL Server Management Studio和Transact-SQL语句创建、维护索引的方法。 3.掌握SQL Server Management Studio和Transact-SQL语句创建、修改视图的方法。 4.掌握通过视图查看和修改基本表中的数据。 二、实验内容 (1)完成下列操作 1.利用SQL Server Management Studio为student表的classno字段创建非聚集、非唯一索引UC_classno。 2.利用Transact-SQL语句在teaching数据库中teacher表的tname列上创建非聚集唯一索引UQ_tname。若该索引已存在,则删除后重建。

3.利用SQL Server Management Studio查看索引被查询优化器使用的情况。 4.利用Transact-SQL语句修改UQ_tname的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80%。

5.利用SQL Server Management Studio在teaching数据库中创建视图v_course_avg,查询没门课程的课程号、课程名及选修该课程的学生的期末平均成绩平均分,并且按平均分降序排列。 6.利用Transact-SQL语句,在teaching数据库中创建视图v_age,查询年龄在18岁及以上的学生的学号、姓名、性别、出生日期和班级编号。若该视图已存在,则删除后重建。

7.利用Transact-SQL语句,在teaching数据库中创建视图v_teacher_course,包含教师编号、教师姓名、职称、课程号、课程名和任课班级。

SQL-Serve实验5-索引和视图-

SQL-Serve实验5-索引和视图-

实验5 索引和视图 1.实验目的 (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的用法。 2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

数据库SQL实验题目

实验一数据定义操作 实验目的 1.掌握数据库和表的基础知识 2.掌握使用创建数据库和表的方法 3.掌握数据库和表的修改、查看、删除等基本操作方法 实验内容和要求 一、数据库的创建 在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示: Grademanager数据库参数表 参数参数值参数参数值 存储的数据文件路 径 D:\db\ 存储的日志文件路径D:\db\ 数据文件初始大小5MB 日志文件初始大小2MB 数据文件最大值20MB 日志文件最大值15MB 数据文件增长量原来10% 日志文件增长量2MB 二、表的创建、查看、修改和删除 1.表的创建 在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构 字段名称数据类型长度精度小数位数是否允许 Null值 说明 Sno Char 10 0 0 否学号,主码 Sname Varchar 8 0 0 是姓名 Ssex Char 2 0 0 是性别,取值:男或女 Sbirthday Date 8 0 0 是出生日期 Sdept Char 16 0 0 是系名 Speciality Varchar 20 0 0 是专业名 特别注意: 为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。

图1 设置性别的约束 (2)Course表(课程名称表)的表结构 字段名称数据类型长度精度小数位数是否允许Null值说明 Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名 (3)SC表(成绩表)的表结构 字段名称数据类 型 长 度 精 度 小数位 数 是否允许Null值说明 Sno Char 10 0 0 否学号,外码 Cno Char 5 0 0 否课程号,外码 Degree Decimal 5 5 1 是成绩,0~100之间 特别注意: ①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100 ②为SC表设置外键Sno和Cno的方法: 右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。按照相同的方法,将属性Sno也设置为外键。

SQL数据库实验报告 (1)

资源与环境科学学院实验报告 一、上机实习名称:SQL Server的安装及数据库的建立 二、实验目的: 1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2、熟悉对DBMS的操作 3、熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。 三、实验内容: 1、根据安装文件的说明安装数据库管理系统。 2、学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。 3、掌握管理工具的使用 (1)SQL Server Management Studio的使用 ?连接服务器的方法 ?查询分析器的使用 (2)配置管理器的使用 4、了解数据库系统的逻辑组件: 它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。今后将学习如何操作这些数据库对象。 5.在SSMS中创建数据库和表 四、实验步骤 1. SQL Server 2008的体系结构和特点介绍 SQL Server 是一个关系数据库管理系统。由微软公司2008年第三季度正式发布, SQL Server 2008是一个重大的产品版本,在安全性、可用性、易管理性、可扩展性、商业智能等方面有了更多的改进和提高,对企业的数据存储和应用需求提供了更强大的支持和便利,使得它成为迄今为止最强大和最全面的SQL Server版本。 SQL Server 2008 版本体系:根据不同的用户类型和使用需求,微软公司推出了5种不同的SQL Server版本,包括企业版(Enterprise)、标准版(Standard)、工作组版(Workgroup)、学习版(Express)和移动版(Compact)

数据库原理索引、视图的定义实验报告

数据库原理实验报告 题目:索引、视图的定义院系:计算机科学与工程学院

【实验题目】 索引、视图的定义 【实验目的】 掌握使用T -SQL语句创建视图的方法,包括视图的建立、删除、修改;了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。掌握创建索引的方法。 【实验内容】 1、据库TestDB中,基于表"项目数据表"和"员工数据表"创建视图,要求为: (1)视图名为"员工项目"。 (2)包含字段"编号"、"姓名"、"名称"和"开始日期"。 (3)字段别名分别是"员工编号"、”员工姓名"、"项目名称"、"项目开 始日期"。 2、使用企业管理器和Transact-SQL语句在实验二的数据表"员工数据表"中基于"姓名"创建索引,要求索引名为"IDX_Name",索引类型为非聚集索引。 【实现方法】 1、视图 (1)打开查询分析器。 在查询窗口书写CREATE VIEW语句创建视图,并指定字段别名: USE TestDB GO CREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期) AS SELECT a·编号,a·姓名,b·名称,b·开始日期, FROM员工数据表AS a INNER JOIN项目数据表AS b ON a·编号=b·负责人 WHERE a·编号=b·负责人 GO (2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求"姓名"字段值 为"马中兴"。 USETestDB GO INSERTINTO 员工项目(员工姓名) VALUES('马中兴') GO (3)使用UPPDATE语句通过视图将第二步中插入记录的员工姓名改为"马中新"。 USETestDB GO UPDATE员工项目 SET 项目负责人= '马中新’, WHERE 项目负责人=’马中兴’

实验5 索引和视图

数据库技术与应用 实验报告 实验名称:实验五:索引和视图 系(科):信息系电子信息工程 班级: 180932 学号: 18093207 姓名:陶赛年 完成时间: 2012-4-28 南京师范大学中北学院

一、实验目的 1.学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。 2.学会使用SQL Server管理平台查看索引。 3.学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引。 4.掌握使用SQL Server管理平台、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。 5. 掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 6.掌握系统存储过程sp_rename的用法。 7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 二、实验准备 1.了解聚集索引和非聚集索引的概念。 2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。 3.了解使用SQL Server管理平台创建索引的步骤。 4.了解Transact-SQL语句DROP INDEX删除索引的用法。 5.了解创建视图的Transact-SQL语句CREATE VIEW的语法格式及用法。 6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。 7.了解视图更名的系统存储过程sp_rename的用法。 8.了解删除视图的Transact-SQL语句DROP VIEW的用法。 三、实验内容 1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《学生表》和《课程表》创建主键索引。 (1) 使用SQL Server管理平台为studentsdb数据库的《学生表》和《课程表》创建主键索引。

数据库实验四:SQL数据查询

数据库实验四:SQL数据查询 一、实验目的与要求: 1.实验目的 熟练掌握SQL SELECT语句,能运用查询语句完成各种查询。 实验内容: 在实验三和实验四的基础上完成查询操作,将题目中的x, y等具体化: 1、一般简单查询 (1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。 (2)查询某个表中的所有记录。 (3)使用单个条件的简单查询。 (4)使用多个条件(AND关系)的查询。 (5)使用多个条件(OR关系)的查询。 (6)使用多个条件(混合AND和OR关系)的查询。 (7)使用带NOT运算的查询。 (8)使用BETWEEN···AND···的查询。 (9)使用NOT···BETWEEN···AND···的查询。 (10)使用LIKE运算符的字符串匹配查询。 (11)使用LIKE运算符的模板匹配查询。 (12)查询空值和非空值的查询 (13)结果要求排序的查询 (14)查询结果按多列排序,并分别要求升序和降序的查询。 (15)使用TOP显示前若干记录的查询。 (16)使用TOP显示前若干记录的查询,如果有满足条件的并列记录一并显示。 2、连接查询 (17)两个关系的连接查询。

(18)带其他查询条件的两个关系的连接查询。 (19)多个关系(三个以上)的连接查询。 (20)两个关系的广义笛卡尔积运算结果。 (21)根据两个关系的广义笛卡尔积运算结果得到两个关系进行自然连接的结果。 (22)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段。 (23)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中列出所有教师信息(即包括不是任 何课程责任教师的教师信息)。 (24)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中能够反映目前没有确定责任教师的 课程信息。 (25)查询教师-课程信息,查询结果中包括教师姓名、职称、课程名称和课程性质等4个字段,要求结果中既能够反映目前不是责任教师的教 师信息,又能反映目前没有确定责任教师的课程信息。 提示:(22)~(25)分别用内连接、左连接、右连接完成,分析它们的效果。 3、嵌套查询(注意使用ANY、ALL和EXISTS) (26)使用IN运算的简单嵌套查询。 (27)使用NOT IN运算的简单嵌套查询。 (28)使用关系运算(如等于)的简单嵌套查询。 (29)使用ANY或SOME的简单嵌套查询。 (30)使用ALL的简单嵌套查询。 (31)查询院系名称含“计算机”、职称为教授、所负责教程为必修课的教师姓名、职称、课程名称和课程学时等信息(分别用嵌套查询和连接 查询完成,分析各自的效率)。 (32)设计两个内外层互相关的嵌套查询。

实验四 索引和视图参考答案

索引 --为表student中SName属性建立惟一索引 create unique index snameindex on student(SName) --为teacher中的tname属性建立惟一聚集索引。 由于sqlserver2005在主键和具有unique约束的属性上自动建立了索引,且在主键上自动建立了聚集索引,因此必须移除主键(或其它聚集索引),然后才能在tname上建立聚集索引create unique clustered index tnameindex on teacher(tname) 移除主键

然后还原Tno为teacher表的主键 --利用系统存储过程sp_helpindex查看表student上的所有索引。

exec sp_helpindex student --利用系统存储过程sp_rename将表student上的索引改名。 exec sp_helpindex student exec sp_rename 'student.snameindex','snameindex2' --删除表student中的惟一索引。(注意,sqlserver2005在主键和具有unique约束的属性上自动建立了索引,要删除这些索引,必须先取消这些属性的主键或unique性质(通过修改表),才能删除索引,不能直接删除索引) drop index student.snameindex2 --视图 --建立视图teacherview1(无check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview1 as select Tno, TName, DepID from teacher where TName like '张%' --建立视图teacherview2(带check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview2 as select Tno, TName, DepID from teacher where TName like '张%' with check option --建立视图teacherview3(带encryption选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview3 with encryption as select Tno, TName, DepID from teacher where TName like '张%' --分别向teacherview2、teacherview1中插入记录(’866’,’杨志’,3),体会with check option选项的作用。 insert into teacherview1 values('866','杨志',3) insert into teacherview2 values('867','王五',3)

实 验 五 视图、索引与数据更新

实验五视图、索引及数据更新 一、实验目的: 熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用, 熟练掌握数据插 入、修改和删除的使用,为后继学习作准备。 二、实验属性(验证性) 1.了解并掌握SQL查询分析器及企业管理器的使用; 2.掌握基本表的定义、删除与修改。 三、实验原理 :SQL语言应用。 四、实验步骤: (1) 启动Oracle的SQL Developer或者SQL Plus,或者SQL Server 查询分析器; (2) 对于Oracle11g的SQL Plus需要进行登录,对于Oracle11g的SQL Developer需要进行建立连接。 1 建立索引 建立唯一索引: 例3.1 为学生选课数据库中的Students,Courses,SC三个表建立索引。其中Students表按Sname升序建唯一索引,Courses表按Cname升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。 查看自己建立的索引:

2 删除索引 例3.2 删除基本表SC上的Rep_SCno索引。 然后查询看索引是否还存在。理解索引的意义。 例3.3 删除基本表student上的Rep_Sno索引。 3 建立视图 例3.4 建立数学系学生的视图C_Student,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。 例 3.5 建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图Student_CR。 例 3.6定义一个反映学生出生年份的视图student_birth(sno,sname,s_birth,ssex,sdept)。

实验三 索引和视图

实验三索引和视图 一、实验目的 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(学号)升序建唯一索引

SQL Serve实验5_索引和视图_

实验5 索引和视图 1.实验目的 (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的用法。2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

视图与索引作业

视图与索引作业 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一部分 创建如下表:并向每张表中添加5条数据 学生表t_student(f_no,f_name,f_sex,f_department) 课程表(f_id,f_name) 成绩表(f_no,f_subjectid,f_score) 作业: 1、对成绩表的课程编号创建非簇索引 2、对学生表的姓名和年龄创建非簇索引 3、对学生表的学号创建唯一索引 4、创建视图统计成绩表中任何一门课程及没有及格的信息 5、创建视图查询男生的平均成绩 6、对课程表的课程编号和分数创建非簇索引 7、将上题中的非簇索引删除 8、创建视图查询C#课程不及格的女生信息 9、创建视图统计男女生的平均分信息 10、简述索引的作用和种类 11、简述视图的作用 第二部分 使用northwind数据库完成: 1)在northwind库中(products和suppliers表中)查找每个商品对应的供 应商名称建立视图my_view,并通过该视图查询数据。 2)在视图my_view中,将companyname为以tokyo开头的改为ToKyo.使 用修改表数据的UPDATE语句。 3)使用DROP VIEW语句将视图my_view删除。 4)使用Northwind数据库,在Suppliers表的Country列和city列上创建一 个名为Country_index的非聚集索引。 5)删除Country_index索引。 6)在Suppliers表的Country列和city列上创建一个名为Country_index的 非聚集索引。请确保索引页留有50%的空白空间,并且删除具有相同 名称的现有索引 7)使用CREATE VIEW语句,基于employees表创建一个名为EmpHierarchy 的视图。视图应包含有上级领导的雇员的雇员ID、名、姓及其上级的 姓

SQL数据库实验报告 实验二

实验2 SQL Server数据库的管理 1.实验目的 (1)了解SQL Server 数据库的逻辑结构和物理结构的特点。 (2)掌握使用SQL Server管理平台对数据库进行管理的方法。 (3)掌握使用Transact-SQL语句对数据库进行管理的方法。 2.实验内容及步骤 (1)在SQL Server管理平台中创建数据库。 ①运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。 ②右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。 (2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。 (3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。 (4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL 语句CREATE DA TABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 (5)在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。 (6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。 (7)使用SQL Server管理平台将studb数据库的名称更改为student_db。 (8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。 3.实验思考 (1)数据库中的日志文件是否属于某个文件组? (2)数据库中的主数据文件一定属于主文件组吗? (3)数据文件和日志文件可以在同一个文件组吗?为什么? (4)删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库? (5)能够删除系统数据库吗?

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

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

《数据库原理》实验报告 题目:实验四视图与索引学号班级日期 2016.10.20 一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='' ); GO --删除建好的视图 DROP VIEW V_SPJ; GO --第二种方法

CREATE VIEW 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中的任意一条数据的供应数量。

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

数据库原理实验报告实验 四视图与索引 The Standardization Office was revised on the afternoon of December 13, 2020

一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='三建' ); GO --删除建好的视图 DROP VIEW V_SPJ; GO --第二种方法 CREATE VIEW V_SPJ AS

SELECT sno,pno,qty FROM SPJ,J WHERE=AND='三建'; 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中的任意一条数据的供应数量。

数据库SQL语句实验报告

《数据库原理及应用》实验报告 SQL语句部分 总成绩:

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 3.创建课程关系表C : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 create database Studend; create table S ( Sno CHAR(9)PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2), Sage smallint, Sdept char(20), );

3.创建课程关系表C : 课程号课程名先行课学分 Cno Cname Cpno ccredit create table C ( Cno char(4)primary key, Cname CHAR(40), Cpno char(4), Ccredit SMALLINT, ); 4.创建课程关系表SC : 学号课程号成绩 Sno Cno grade create table SC ( Sno char(9), Cno char(4), Grade smallint, ); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 alter table S add Sbirthday datetime; 7、删除表S的“年龄”属性列。 alter table S drop column Sage;

SQL Server数据库及表的建立 实验要求和截图记录

实验一 SQL Server数据库及表的建立 1. 按下面要求创建一个名为companyinfo的数据库: 主要数据文件:逻辑文件名为companyinfo_data1,实际文件名为companyinfo_data1.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。 次要数据文件:逻辑文件名为companyinfo_data2,实际文件名为companyinfo_data2.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。 事务日志文件:逻辑文件名为companyinfo_log,实际文件名为companyinfo_log.ldf;初始容量为1MB,最大容量为10MB,递增量为1MB。 2. 在companyinfo数据库中创建名为“category”的类别表,名为“product”的产品信息表,名为“employee”的雇员表,名为“customer”的客户表和名为“p_order”的订单表。 类别表(以类别ID为主键) 产品信息表(以产品ID为主键,类别ID是与类别表的类别ID相联系的外键) 雇员表(以雇员ID为主键,且薪水不得低于1000元) 客户表(以客户ID为主键)

订单表(以订单ID为主键,产品ID,雇员ID,客户ID均为外键,分别与产品信息表、雇员表和客户表的主键相联系) 3.利用企业管理器和T-SQL语句分别实现上面的操作。 实验操作过程截图记录如下: 实验一 SQL Server数据库及表的建立 1,按要求创建一个名为companyinfo的数据库: 利用企业管理器创建:

2,在companyinfo数据库中创建名为“category”的类别表,名为“product”的产品信息表,名为“employee”的雇员表,名为“customer”的客户表和名为“p_order”的订单表。 类别表 产品信息表

北邮数据库实验二用SQL Server实现数据库设计

实验二用SQL Server实现数据库设计 实验目的: 1.掌握使用企业管理器创建和管理SQL Server数据库及相关数据库对象。 2.掌握使用SQL语言中的SELECT命令实现查询功能。 上机准备: 1.复习有关关系数据库的基本知识和概念; 2.复习有关SQL语言中SELECT命令的使用; 3.了解有关SQL Server系统的组成; 4.复习有关SQL Server服务器的使用和管理; 5.复习有关企业管理器的基本操作; 6.复习有关查询分析器的基本操作; 7.了解有关SQL Server服务器的登陆账号,密码; 实验内容: 本实验将建立一个学校教学管理数据库,在这个数据库中,存储以下信息: 1.有关学生的信息,包括学生的学号,姓名,班级,性别,出生时间,政治面貌,籍贯,入学时间,联系电话,简历; Student(Sno,Sname, Ssex,Classno,Sbirth,Status,Hometown,Enrollment,Telephone,Resume) 2.有关班级的信息,包括班级的班名,专业,年级,人数,班主任; SClass(ClassNo,ClassName,Major,Grade,Number,Advisor)

3.有关课程的信息,包括课程编号,课程名称,课程类别(是指该课程为必修,指选还是任选),适用专业,适用年级,开课时间(是指在每个学年的第一学期,还是第二学期),学分,周学时; Course(CourseNo,CourseName,Category,Major,Grade,StartTM,Credits, WeekHours) 4.有关学年课程安排的信息,包括课程编号,开设课程的学年(例如:2002学年),开设课程的班级,任课教师; Schedule(CourseNo,StartYear,ClassNo,Teacher)

(完整word版)SQL创建数据库实验

(1)创建一个jwglxt数据库,主数据文件逻辑名为jwglxt_data,物理文件名为 jwglxt_data.mdf,初始大小为10M,最大尺寸为无限大,增长速度为1M,日志文件得逻辑名为jwglxt_log,物理文件名为jwglxt_log.ldf,初始大小为1M,最大尺寸为5M,增长速度为1M. (1.1)图形化方法创建数据库

T-SQL语句和结果截图 (2)创建一个有三个文件组primary,my_dbfg1,my_dbfg2,一个事务日志文件mylog的数据库,数据库名为hfy。 Primary文件组包含数据文件my1,初始大小为10M,最大尺寸为50M,增长速度为15%, my_dbfg1文件组包含数据文件my2,初始大小为10M,最大尺寸为50M,增长速度为5M, my_dbfg2文件组包含数据文件my3,初始大小为10M,最大尺寸为50M,增长速度为5M, 日志文件得逻辑名 为mylog,初始大小为1M,最大尺寸为5M,增长速度为1M. CREATE DATABASE hfy

ON PRIMARY(NAME='my1', FILENAME='d:\my1.mdf', SIZE=10MB, MAXSIZE=50MB,FILEGROWTH=15% ), FILEGROUP my_dbfg1(NAME='my2', FILENAME='d:\my2.ndf', SIZE=10MB, FILEGROWTH=5MB, MAXSIZE=50MB), FILEGROUP my_dbfg2(NAME='my3', FILENAME='d:\my3.ndf', SIZE=10MB, FILEGROWTH=5MB, MAXSIZE=50MB) LOG ON (NAME='mylog', FILENAME='d:\mylog.ldf', SIZE=10MB, FILEGROWTH=5MB, MAXSIZE=50MB) GO

相关文档
相关文档 最新文档