数据库实验报告二.docx

上传人:b****7 文档编号:9502712 上传时间:2023-02-05 格式:DOCX 页数:11 大小:657.73KB
下载 相关 举报
数据库实验报告二.docx_第1页
第1页 / 共11页
数据库实验报告二.docx_第2页
第2页 / 共11页
数据库实验报告二.docx_第3页
第3页 / 共11页
数据库实验报告二.docx_第4页
第4页 / 共11页
数据库实验报告二.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数据库实验报告二.docx

《数据库实验报告二.docx》由会员分享,可在线阅读,更多相关《数据库实验报告二.docx(11页珍藏版)》请在冰豆网上搜索。

数据库实验报告二.docx

数据库实验报告二

数据库原理及应用

实验报告

 

实验项目:

基本表、索引与视图的定义、删除和修改

专业班级:

计科系班

姓名:

学号:

实验类型:

验证

 

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='e:

\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)

实验截图如下:

/*在选课表中删除'任课教师rkjs'一列*/

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的文件夹,才能保证实验的正常执行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1