数据库实验报告二Word格式.docx
- 文档编号:22638755
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:657.73KB
数据库实验报告二Word格式.docx
《数据库实验报告二Word格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告二Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
20年10月
实验项目二
一、实验项目名称:
SQL基本表查询基本表、索引与视图的定义、删除和修改
二、实验项目的目的和任务:
使学生熟悉SQLServer的企业管理器的用法,初步了解SQLServer查询分析器的使用方法,熟悉SQLSERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。
熟练掌握简单表、索引与视图的创建与修改。
三、实验内容:
1.基本表的建立:
a)建立一个“学生表student”,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性为主属性,并且其值是唯一的。
b)建立“课程course”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键课程号
c)建立“选课表sc”包括学号xh,课程号kch,成绩grade,要求建立主键及与student及sc表联接的外键
2.基本表的修改:
a)在选课表中增加一列“任课教师rkjs”
b)删除选课表中rkjs一列
c)将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)
d)建立一个临时表,再将其删除
3.索引的建立与删除
a)在学生表中以学生的姓名建立降序索引
b)在课程表中以课程名建立升序,以学分建立降序索引
c)删除以上索引
4.建立、删除和更新视图
a)建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
CREATEVIEWC_Student
AS
SELECTSno,Sname,Sage,Sdept
FROMStudents
WHERESdept=’数学’
WITHCHECKOPTION
b)删除视图
在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。
SELECTSname,Sage
FROMC_Student
WHERESage<
20;
c)更新视图
将数学系学生视图C_Student中学号为S05的学生姓名改为“黄海”。
删除数学系学生视图C_Student中学号为“S09”的记录。
四、实验代码及截图:
/*创建数据库*/
createdatabasedbw
on(name='
dbwdata'
filename='
e:
\shujuku\dbwdata.mdf'
)
logon(name='
dbwdatalog'
filename='
\shujuku\dbwdatalog.ldf'
实验截图如下:
/*创建学生信息表*/
createtablestudent(xhchar(20)primarykey,
xmchar(8),
xbchar
(2),
nlint,
xichar(20))
建立的表student如下所示:
表student打开填写信息如下:
/*创建课程表*/
createtablecourse(kchchar(10)primarykey,
kcmcchar(20),
xxkcchar(30),
xfint)
建立的表course如下所示:
表course打开填写信息如下:
/*创建选课表*/
createtablesc(xhchar(20)notnull,
kchchar(10)notnull,
gradefloatcheck(grade>
=0andgrade<
=100),
foreignkey(xh)referencesstudent(xh),
foreignkey(kch)referencescourse(kch)
)
建立的表sc如下所示:
表sc打开填写信息如下:
/*在选课表中增加一列'
任课教师rkjs'
*/
altertablescaddrkjschar(20)
/*在选课表中删除'
一列*/
altertablescdropcolumnrkjs
/*将student表的xm一列允许空值的属性更改成不允许为空,
将列xm的长度由char(8)改为char(10)*/
altertablestudent
altercolumnxmchar(10)notnull
/*建立一个临时表*/
createtable#lsb(idchar(20)primarykeynotnull,
passchar(20))
/*删除临时表*/
droptable#lsb
/*在学生表中以学生的姓名建立降序索引*/
createuniqueindexxsxmonstudent(xmdesc)
/*在课程表中以课程名建立升序,以学分建立降序索引*/
createindexkcmc@xfoncourse(kcmcasc,xfdesc)
/*删除索引*/
dropindexxsxmonstudent
dropindexkcmc@xfoncourse
/*建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,
视图的属性名为xh,xm,nl,xi*/
createviewC_student(Sno,Sname,Sage,Sdept)as
selectxh,xm,nl,xi
fromstudentwherexi='
数学系'
withcheckoption
/*在数学系的学生视图C_Student中
找出年龄(nl)小于20岁的学生姓名(xm)和年龄(nl)*/
selectSname,SagefromC_studentwhereSage<
20
/*将数学系学生视图C_Student中学号为S05的学生姓名改为“黄海”
删除数学系学生视图C_Student中学号为“S09”的记录。
updateC_studentsetSname='
黄海'
whereSno='
S05'
deletefromC_studentwhereSno='
S09'
5、实验总结:
通过本次实验,对SQLserver2005有了基本的了解,能用两种方法完成数据库、基本表、索引以及视图的创建,并能对其进行相应的定义、删除、修改等操作。
出现问题的是临时表的建立部分,通过查询资料得知临时表的位置位于系统数据库的tempdb目录下,但是建立的临时表不支持打开,这是本次实验的一个不足之处。
另外,由于本数据库的创建位置是自定义的一个新文件夹,所以运行前应该根据日志的目录地址先在E盘建立一个名为shujuku的文件夹,才能保证实验的正常执行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)