数据库原理与应用实验作业布置.docx

上传人:b****4 文档编号:3919590 上传时间:2022-11-26 格式:DOCX 页数:51 大小:990.73KB
下载 相关 举报
数据库原理与应用实验作业布置.docx_第1页
第1页 / 共51页
数据库原理与应用实验作业布置.docx_第2页
第2页 / 共51页
数据库原理与应用实验作业布置.docx_第3页
第3页 / 共51页
数据库原理与应用实验作业布置.docx_第4页
第4页 / 共51页
数据库原理与应用实验作业布置.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

数据库原理与应用实验作业布置.docx

《数据库原理与应用实验作业布置.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用实验作业布置.docx(51页珍藏版)》请在冰豆网上搜索。

数据库原理与应用实验作业布置.docx

数据库原理与应用实验作业布置

数据库原理与应用实验作业布置

实验1数据库的建立、修改与删除

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验1数据库的建立、修改与删除

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.熟悉SQLServer2000上机环境,学会SQLServer2000“企业管理器”以及“查询分析器”的启动与退出;或熟悉MSSQLServer2008上机环境,学会SQLServerManagementStudio的启动与退出。

2.掌握建立数据库的两种方法。

3.掌握查看和修改数据库的两种方法。

4.掌握删除数据库的两种方法。

四、实验内容

(一)规定内容

1.在用户方便的存储空间上建立存放用户数据库的文件夹。

本实验在D盘根目录下建立文件夹:

D:

\SQL2000DB,再建立存放SQL源代码的文件夹:

D:

\SQL2000DB\T_SQL

2.利用企业管理器创建学生课程数据库ST,参数如表1.1所示。

表1.1ST数据库属性设置

文件组

文件

类型

逻辑文件名

物理文件名

初始

大小

自动

增量

最大

容量

主文件组

PRIMARY

主数据

文件

ST_Data

D:

\SQL2000DB\

ST_Data.mdf

3M

1M

不限制

增长

日志

文件

ST_log

D:

\SQL2000DB\

ST_log.ldf

2M

10%

10M

3.利用企业管理器查看ST数据库的属性。

4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。

5.使用T-SQL语句建立数据库JXDB,参数如表1.2所示。

表1.2数据库JXDB属性设置

文件组

文件

类型

逻辑文件名

物理文件名

初始

大小

自动

增量

最大

容量

主文件组

PRIMARY

主数据

文件

JXDB_Data

D:

\SQL2000DB\

JXDB_Data.mdf

3M

10%

不限制

增长

次数据

文件

JXDB_Data1

D:

\SQL2000DB\

JXDB_Data1.ndf

2M

10%

30M

自定义

文件组

JX_Group1

次数据

文件

JXDB_Data2

D:

\SQL2000DB\

JXDB_Data2.ndf

1M

1M

20M

次数据

文件

JXDB_Data3

D:

\SQL2000DB\

JXDB_Data3.ndf

1M

1M

10M

日志

文件

JXDB_log

D:

\SQL2000DB\

JXDB_log.ldf

2M

10%

不限制

增长

6.使用T-SQL语句为数据库JXDB添加文件组JX_Group2,并为此文件组添加1个数据文件JXDB_Data4;添加1个日志文件JXDB_log1。

参数由用户自己设定。

7.使用T-SQL语句修改数据库JXDB中次数据文件JXDB_Data4的属性:

文件初始大小改为5M,增长方式改为每次按20%增长。

删除日志文件JXDB_log1。

8.使用T-SQL语句删除数据库JXDB。

(二)自定内容

五、出现的问题及解决方法

实验2表结构的建立修改删除及完整性约束条件定义

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验2表结构的建立修改删除及完整性约束条件定义

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.掌握建立、修改与删除表结构的两种方法。

2.掌握定义完整性约束条件的方法。

3.掌握利用企业管理器和使用T-SQL语句向表中插入记录的方法。

四、实验内容

(一)规定内容

1.对学生课程数据库ST进行完整性约束条件规划设计。

设计结果如表2.1所示。

表2.1学生课程数据库ST完整性约束条件

表名

完整性约束条件

约束类型

学生

(1)学号取值唯一且不能为空值

主健

(2)姓名不能为空值

Notnull

(3)性别只能为“男”或“女”。

默认值为’男’

Check;default

课程

(4)课号取值唯一且不能为空值

主健

(5)课名取值唯一

unique

(6)先修课号只能是学校已开设的课号

修改课号时,与之对应的先修课号自动级联修改

若某课程有先修课,则其先修课程删除时该课程的先修课号置空值

当插入或修改“先修课号”时,若该课号在表中不存在,则递归插入

外键

触发器

触发器

触发器

选修

(7)学号、课号取值唯一且不能为空值

主健

(8)成绩采用百分制

check

(9)学号只能是学生表中已有的学号。

当修改某学生学号时,该生所有选课记录的学号自动级联修改;

当删除某学生时,该生所有选课记录自动级联删除。

外键

级联更改

级联删除

(10)课号只能是课程表中已有的课号;当修改课程表中的课号时,选修表中所有选修该课程的课号自动级联修改;当删除课程表中某课程时,若选修表中该课程有学生选修,则拒绝删除。

外键

级联更改

拒绝删除

2.对学生课程数据库ST中各个表结构进行详细设计。

学生、课程及选修表结构设计结果分别如表2.2、2.3和2.4所示。

表2.2“student”表结构

列名

数据类型

允许Null值

约束条件

sno

char(9)

primarykey

sname

char(8)

Notnull

ssex

char

(2)

check(性别in('男','女'))

default'男'

sage

smallint

sdept

char(20)

表2.3“course”表结构

列名

数据类型

允许Null值

约束条件

cno

char(4)

primarykey

cname

char(16)

unique

ccredit

smallint

cpno

char(4)

references课程(课号)

级联更改,置空值删除触发器

递归插入触发器

表2.4“sc”表结构

列名

数据类型

允许Null值

约束条件

sno

char(9)

references学生(学号)

ondeletecascade

onupdatecascade

cno

char(4)

references课程(课号)

onupdatecascade

grade

decimal(5,1)

check(成绩>=0and成绩<=100)

表级约束:

primarykey(学号,课号)

3.使用企业管理器在数据库ST中建立学生、课程及选修表结构。

4.使用企业管理器为学生、课程及选修表录入若干行数据。

5.使用企业管理器删除学生、课程及选修表

6.使用T_SQL语言在数据库ST中建立学生、课程及选修表结构。

7.使用T_SQL语言为学生、课程及选修表插入若干行数据。

(二)自定内容

五、出现的问题及解决方法

实验3数据查询与更新

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验3数据查询与更新

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.掌握SELECT语句的语法、语义及语用。

2.掌握基于单表的查询方法。

3.掌握基于多表的查询方法。

4.掌握相关与不相关的嵌套查询。

5.掌握集合的并操作(UNION)查询。

6.掌握插入(INSERT)、修改(UPDATE)和删除(DELETE)语句的使用。

四、实验内容

(一)规定内容

1.单表查询

USEST

--[3_1]查询全体学生的详细记录。

--[3_2]查询选修了课程的学生学号。

--[3_3]查询年龄不在20~23岁之间的学生姓名、系别和年龄。

--[3_4]查询计算机科学系(cs)、数学系(ma)和信息系(is)学生的姓名和性别。

--[3_5]查询所有姓刘学生的姓名、学号和性别。

--[3_6]查询名字中第2个字为"阳"字的学生的姓名和学号。

--[3_7]某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

--查询缺少成绩的学生的学号和相应的课程号。

--[3_8]查询计算机系年龄在20岁以下的学生姓名。

--[3_9]查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。

--[3_10]查询全体学生情况,查询结果按所在系升序排列,同一系中的学生按性别降序排列。

--使用集函数

--[3_11]查询学生总人数。

--[3_12]查询选修了课程的学生人数。

--[3_13]计算1号课程的最高、最低及平均成绩。

--[3_14]查询学生200215121选修课程的平均成绩。

--[3_15]查询学生200215122选修课程的总学分数。

--使用GROUPBY子句分组

--[3_16]求各个课程号及相应的选课人数。

--使用HAVING短语筛选最终分组结果

--[3_17]查询选修了3门以上课程的学生学号。

--[3_18]查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数

2.连接查询

--自然连接

--[3_19]查询每个学生及其选修课程的情况。

--左外连接

--[3_20]查询每个学生及其选修课程的情况(包括没有选修课程的学生)。

--自身连接:

一个表与其自己进行连接,称为表的自身连接

--[3_21]查询每一门课的间接先修课(即先修课的先修课)

--复合条件连接

--[3_22]查询选修2号课程且成绩在90分以上的所有学生的学号、姓名。

--多表连接

--[3_23]查询每个学生的学号、姓名、选修的课程名及成绩。

3.嵌套查询

--[3_24]查询与“刘晨”在一个系学习的学生。

--[3_25]查询所有姓名相同的学生

--[3_26]查询选修了课程名为“信息系统”的学生学号和姓名。

--[3_27]找出每个学生超过他选修课程平均成绩的课程号。

--[3_28]查询其他系中比计算机科学系某一学生年龄小的学生姓名和年龄。

--[3_29]查询其他系中比计算机科学系所有学生年龄都小的学生姓名和年龄

--[3_30]查询所有选修了1号课程的学生姓名。

--[3_31]查询没有选修1号课程的学生姓名。

--[3_32]查询选修了全部课程的学生姓名。

--[3_33]查询至少选修了学生200215122选修的全部课程的学生号码。

4.集合查询

--[3_34]查询计算机科学系的学生及年龄不大于19岁的学生。

--[3_35]查询选修了课程1或者选修了课程2的学生。

--[3_36]查询计算机科学系的学生与年龄不大于19岁的学生的交集

--[3_37]查询选修课程1的学生集合与选修课程2的学生集合的交集

--[3_38]查询计算机科学系的学生与年龄不小于19岁的学生的差集。

--[3_39]学士学位授予条件为:

至少选修了1、3、4号3门学位课程,每门学位课必须及格且学位课平均成绩在75分以上。

查询cs系可授予学士学位的学生名单。

--[3_40]学士学位授予条件为:

至少选修了'数据库','操作系统','数据结构'3门学位课程,每--门学位课必须及格且学位课平均成绩在75分以上。

查询cs系可授予学士学位的学生名单。

5.插入(INSERT)、修改(UPDATE)和删除(DELETE)语句的使用

--[3_41]插入一条选课记录('200215123','1')。

--[3_42]对每一个系,求学生的平均年龄,并把结果存入数据库。

--第1步:

建表,第2步:

插入子查询结果

--[3_43]复制表⑴先建立与sc表结构完全相同的表sc1,sc2⑵再将sc复制到sc1中。

--[3_44]合并表⑴先向表sc2输入数据⑵再将sc2合并到sc1中。

--[3_45]将信息系所有学生的年龄增加1岁。

--[3_46]对计算机科学系(cs)全体学生选修'2'号课程分数>=36的按10*sqrt(grade)计算。

--[3_47]删除计算机科学系所有学生的选课记录。

--[3_48]删除未选修课程的学生。

--[3_49]删除只选1门课且成绩不及格学生的选课记录。

--[3_50]删除计算机系只选1门课且成绩不及格学生的选课记录。

(二)自定内容

五、出现的问题及解决方法

实验4索引与视图

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验4索引与视图

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.理解索引的目的、维护与使用,唯一与非唯一索引、聚簇与非聚簇索引、单索引与复合索引的区别。

2.掌握建立与删除索引的方法。

3.掌握建立与删除视图的方法。

4.掌握对视图表进行查询与更新的操作方法。

四、实验内容

(一)规定内容

1.建立与删除索引

--[4_1]按索引查询姓"李"的学生。

--[4_2]按索引查询年龄20岁的女生。

--[4_3]删除student表上建立的索引。

--[4_4]聚簇索引

--[4_5](2004秋数据库系统工程师下午试题)

设有如下关系模式:

职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)

假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL语句。

Select姓名,年龄,月工资from职工

Where年龄>45or月工资<1000;

2.建立与删除视图

--[4_6]建立信息系学生的视图。

--[4_7]建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。

--[4_8]建立信息系选修了1号课程的学生视图。

--[4_9]建立信息系选修了1号课程且成绩在90分以上的学生的视图。

--[4_10]先建立高考成绩基本表,在此基础上建立含总分列的视图。

--[4_11]将学生的学号及他的平均成绩定义为一个视图。

--[4_12]将student表中所有女生记录定义为一个视图。

--[4_19]建立视图GOOD_SC(修课成绩在平均成绩之上的元组)

--[4_20]建立1号课程的选课视图,并要求透过该视图进行的更新操作只涉及1号课程,

--同时对该视图的任何操作只能在工作时间进行。

3.视图的查询与更新

--[4_13]在信息系学生的视图中找出所有女学生。

--[4_14]查询信息系选修了1号课程的学生

--[4_15]在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩

--[4_16]将信息系学生视图IS_Student中学号200215122的学生姓名改为“刘辰”。

--[4_17]向信息系学生视图IS_S中插入一个新的学生记录:

200215129,赵新,女

--[4_18]删除视图CS_S中学号为200215129的记录

(二)自定内容

五、出现的问题及解决方法

实验5T_SQL基本程序设计

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验5T_SQL基本程序设计

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.掌握T_SQL语言中顺序、分支、循环三种控制结构的语句。

2.掌握T_SQL语言中系统函数的使用方法。

3.学会使用T_SQL语句编写基本程序。

四、实验内容

(一)规定内容

[5_1]求方程ax2+bx+c=0的根。

[5_2]查询全体学生的sno、sname、ssex、sdept,对于ssex,若是'男'则显示'男生',若是'女''则显示'女生'。

[5_3]对选修表按成绩的分数段显示A、B、C、D、E五个等级。

[5_4]求100以内所有奇数的和。

[5_5]在20分钟内,每隔1分钟显示活动用户的信息。

[5_6]对选修2号课分数作如下处理:

若2号课平均分低于70分则普加5分,如此反复循环,当最高分为100分时退出循环。

(二)自定内容

五、出现的问题及解决方法

实验6存储过程

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验6存储过程

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.。

2.掌握。

3.掌握。

4.掌握删除数据库的两种方法。

四、实验内容

(一)规定内容

(二)自定内容

五、出现的问题及解决方法

实验7规则与触发器

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验7触发器

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.。

2.掌握建立数据库的两种方法。

3.掌握查看和修改数据库的两种方法。

4.掌握删除数据库的两种方法。

四、实验内容

(一)规定内容

(二)自定内容

五、出现的问题及解决方法

实验8自定义函数

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验8自定义函数

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.掌握标量函数的建立与调用方法。

2.掌握内嵌表值函数的建立与调用方法。

3.掌握多语句表值函数的建立与调用。

四、实验内容

(一)规定内容

(二)自定内容

五、出现的问题及解决方法

实验9数据库的安全性

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验9数据库的安全性

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.理解数据库的安全性概念。

2.掌握数据库的安全性控制技术。

四、实验内容

(一)规定内容

(二)自定内容

五、出现的问题及解决方法

实验10数据库的恢复与并发控制

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验10数据库的恢复与并发控制

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.理解事务的概念。

2.掌握数据库的恢复技术。

3.掌握数据库的并发控制技术。

四、实验内容

(一)规定内容

(二)自定内容

五、出现的问题及解决方法

实验11ESQL与ODBC编程

完成以下实验报告:

《数据库原理与应用》实验报告

院名

专业

年级

班级

学号

姓名

教师

成绩

一、实验题目

实验11ESQL与ODBC编程

二、实验环境

操作系统:

WindowsXP。

数据库管理系统:

MSSQLServer2000或MSSQLServer2008。

三、实验目的

1.掌握ESQL的编程方法。

2.掌握ODBC的编程方法。

四、实验内容

(一)规定内容

1.ESQL编程

//输出每个学生的学号和姓名。

esql1.sqc

#include

#include

EXECSQLINCLUDEsqlca;

intmain()

{EXECSQLBEGINDECLARESECTION;

charno[9];

charname[8];

shortind1;

EXECSQLENDDECLARESECTION;

printf("ThisismyEnbeddedSQLforCapplication\n");

EXECSQLCONNECTTOMYC.ST;//连接到数据库

if(SQLCODE==0)

printf("Connectdatabaseunsuccessfully。

\n");

else

{printf("Error:

Connectdatabaseunsuccessfully。

\n");

return

(1);

}

EXECSQLWHENEVERSQLERRORGOTOerror;

EXECSQLWHENEVERNOTFOUNDGOTOdone;

EXECSQL

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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