数据库实验报告.docx

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

数据库实验报告.docx

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

数据库实验报告.docx

数据库实验报告

数据库系统概论

 

 

实验一

实验题目:

数据库管理系统的使用

实验目的:

掌握SQLSERVER2000的使用和数据库设计的一般方法。

实验内容:

(1)SQLSERVER2000查询分析器的使用

(2)SQLSERVER2000企业管理器的使用。

(3)数据库的设计过程和建立。

实验过程

1.新建数据库表

SQL语句:

CreateDataBaseStu113;

实验二

实验题目:

数据库的设计

实验目的:

掌握数据表建立、修改、删除、索引的SQL语句。

实验内容:

(1)数据表的建立

(2)数据表的修改

(3)数据表的删除

(4)数据表的索引建立

(5)视图的建立与删除

实验过程:

1.数据表的建立

CreateTableS_40809010113(//学生基本信息表

Snochar(11)primarykey,

Snamechar(20),

Ssexchar

(2),

Sagesmallint,

Sdeptchar(20)

);

CreateTableC_40809010113(//课程信息表

Cnochar(4)primarykey,

Cnamechar(40),

Ccreditsmallint,

);

CreatetableSC_40809010113(//选课信息表

Snochar(11),

Cnochar(4),

Gradesmallint,

primarykey(Sno,Cno),

foreignkey(Sno)referencesS_40809010113(Sno),

foreignkey(Cno)referencesC_40809010113(Cno)

);

其中学生表S-40809010113由学号SNO,姓名SNAME,性别SEX,年龄AGE,所在系DEPT组成。

课程表C-40809010113由课程号CNO,课程名CNAME,学分CCREDIT,教师名TNAME组成。

选课表SC-40809010113由学号SNO,课程号CNO,成绩GRADE组成。

2.数据表的修改

AlterTableC_40809010113AddCTNAMECHAR(40);

3.数据表的删除

DropTableS_40809010113;(注:

由于表中有外键,所以需先删除表SC,才可删除表S)

4.数据表的索引及建立

CreateindexStuSnoOnS_40809010113(Sno);

5.视图的建立与删除

CreateViewIS_S

AS

SelectSno,Sname,Sage

FromS_40809010113

WhereSdept='IS'

●建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE)

CreateviewCSV

as

selectSno,Sname,Ssex,Sage

fromS_40809010113

whereSdept='计算机'

●查询1983年以后出生的计算机系学生基本信息。

Select*

fromS_40809010113

whereSage<(2010-1983);

●建立一个计算机系学生成绩视图JSGV(SNO,CNO,GRADE)。

CreateviewJSGV

as

SelectSC_40809010113.Sno,Cno,Grade

fromSC_40809010113,S_40809010113

whereSdept='计算机'andS_40809010113.Sno=SC_40809010113.Sno

●查询计算机系学生选课多于3门的学生学号。

SelectSno

fromSC_40809010113

groupbySno

HavingCount(*)>3;

●查询计算机系学生2号课不及格的学生学号和成绩。

SelectSno,Grade

fromSC_40809010113

whereCno='02'andGrade<60;

 

实验三

实验题目:

数据表的数据操作

实验目的:

掌握数据表数据操作的SQL语句。

实验内容:

SQL语句插入数据操作

SQL语句修改数据操作

SQL语句删除数据操作

SQL语句查询数据操作

实验过程:

维护数据SQL语句:

(1)在学生表中插入一新生信息(‘200213808’,’HUJING’,’女’,22,’计算机’)

insert

intoS_40809010113

values('200213808','HUJING','女',22,'计算机');

(2)删除数据库中学号为’200213801’的退学学生有关信息。

Delete

fromS_40809010113

whereSno='200213801';

(3)将计算机系学生2号课成绩全部提高5%。

Update

SC_40809010113

setGrade=Grade+0.05*Grade

whereCno='0002'andSnoin(

selectSno

fromS_40809010113

whereSdept='计算机'

);

(4)统计有学生选修的课程门数。

SelectCount(Cno)

fromC_40809010113;

(5)统计HU老师所授每门课程的学生平均成绩。

SelectAVG(Grade)

fromSC_40809010113

whereCnoin(

selectCno

fromC_40809010113

whereTname='HU'

);

(6)统计所有选修人数多于20的课程号和选课人数,并按人数降序排列,若人数相等,则按课程号升序排列。

SelectCno,count(Sno)

fromSC_40809010113

groupbyCno

havingcount(Sno)>20

orderbycount(Sno)DESC,CnoASC;

(7)检索所有缓考即成绩为NULL的同学学号、姓名和缓考课程号。

SelectS_40809010113.Sno,Sname,Cno

fromS_40809010113,SC_40809010113

whereS_40809010113.Sno=SC_40809010113.Sno

andSC_40809010113.gradeisnull;

(8)检索‘OS’课成绩高于该课平均成绩的同学学号。

SelectSC_40809010113.Sno

fromSC_40809010113,C_40809010113

whereC_40809010113.Cname='OS'

andSC_40809010113.Cno=C_40809010113.Cnoandgrade>

(selectAvg(grade)

fromSC_40809010113,C_40809010113

whereSC_40809010113.Cno=C_40809010113.Cno

andC_40809010113.Cname='OS');

查询数据SQL语句:

(1)检索计算机系女生的学号和姓名。

SelectSno,Sname

fromS_40809010113

whereSsex='女'andSdept='计算机';

(2)检索全体学生姓名、出生年份和所在系。

Select2010-SageSborn,Sname,Sage,Sdept

fromS_40809010113;

(3)检索未选修任何课程的学生学号。

SelectSno

fromS_40809010113

whereSnonotin

(selectsnofromSC_40809010113);

(4)检索WANG老师所授课程号、课程名。

SelectCno,Cname

fromC_40809010113

whereTname='WANG';

(5)检索所有姓LI同学的基本信息。

Select*

fromS_40809010113

whereSnamelike'LI%';

(6)检索选修‘DATABASE’课程的学生学号。

SelectSno

fromC_40809010113,SC_40809010113

whereC_40809010113.Cname='DATABASE'

andC_40809010113.Cno=SC_40809010113.Cno;

(7)检索年龄介于LIPING同学年龄和28岁之间的学生基本信息。

Select*

FromS_40809010113

WhereSage<28andSage>

(SelectSage

FromS_40809010113

WhereSname='LIPING');

(8)检索至少选修了一门TIAN老师所授课程的学生姓名、学号。

SelectdistinctS-40809010113.Sno

FromS_40809010113,C_40809010113,SC_40809010113

WhereC_40809010113.CnoIN(

SelectCno

FromC_40809010113

WhereC_40809010113.Tname='TIAN'

AndC_40809010113.Cno=SC_40809010113.Cno

AndS_40809010113.Sno=SC_40809010113.Sno;

实验四

实验题目:

数据表的完整性和安全性

实验目的:

掌握数据表的完整性和安全性的SQL语句。

实验内容:

数据表的完整性约束

触发器

数据库的授权语句

授权SQL语句:

将查询SC表和修改GRADE属性的权限授予用户user1。

将对表S的插入权限授予用户user2,并允许他将此权限授予其他用户。

收回所有用户对表S的插入权限。

实验过程:

1.触发器

CreatetriggerSno

afterinsertonSC_40809010113

foreachrow

asbegin

if(GRADE<60)then

GRADE=61;

endif;

End

2.数据库的授权语句

Grantinsert

ontablesc_40809010113

toUser1;

授权SQL语句:

Grantinsert

ontableSC_40809010113

touser2;

将查询SC表和修改GRADE属性的权限授予用户user1。

Grantselect,update(GRADE)

ontableSC_40809010113

touser1;

将对表S的插入权限授予用户user2,并允许他将此权限授予其他用户。

Grantinsert

ontableS_40809010113

touser2;

收回所有用户对表S的插入权限。

Revokeinsert

OntableS_40809010113

Frompublic;

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

当前位置:首页 > 农林牧渔 > 林学

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

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