数据库应用课程设计习题.doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库应用课程设计习题

2.1在数据库stu中添加三张数据表学生基本信息表、课程表、成绩表,其中学生基本信息表包含学生的基本信息,如学号、姓名、性别、班级、第18个学期的平均成绩等;课程表包含课程的基本信息,如课程编号、课程名称、课程性质(必修课、选修课)、开课学期、学分等;成绩表包含每个学期每个学生的考试成绩,如学号、课程编号、考试成绩等。

要求在建立各数据表时,运用相关规则与参考,保证数据的完整性。

在上述三张数据表中添加模拟数据,建议使用程序控制语句插入记录。

3.1根据学生成绩表中的数据显示全部学生的成绩,要求按班级、学号的次序显示,输出内容中包括学生姓名和课程名称,并使用中文标题。

3.2根据学生基本信息表与成绩表中的数据,显示姓名为x.的这个学生第一学期的全部课程成绩。

3.3根据课程表与成绩表中的数据,显示输出课程名称为x.的该课程的平均成绩及格人数比例。

3.4根据课程表与成绩表中的数据,显示学号为x的这个学生最近这个学期所得到的学分数。

3.5根据各表数据,列出最近这个学期哪些学生选修的

课程数量最多,要求列出姓名。

3.6根据各表数据,列出最近这个学期哪些学生至少选了两门或两门以上的选修课程,要求列出姓名。

3.7根据课程表与成绩表数据,列出哪些选修课程学生选修的学生人数最多。

3.8分别列出课程名称为’X’的这门课程考试成绩排名前5位与后5位的学生姓名。

3.9列出必修课程成绩不及格其累计学分超过15分的那些学生的姓名。

3.10列出课程名称为x的这门课考试成绩平均分最高的班级。

3.11分班级和性别,输出最近这个学期全部必修课课程的平均考试成绩。

3.12根据成绩表中的数据,计算学生基本信息表中每个学生每个学期的平均考试成绩。

3.13计算姓名为x的这个学生第四学期平均成绩在班级中的排名名次。

3.14列出第四学期中各个班级平均考试成绩排名前5位学生的姓名,要求按各班按成绩排序。

3.15将成绩表中选修课的成绩按五级制(优、良、中、及格、不及格)形式进行输出。

3.16将成绩表中考试课成绩按实际分数输出,同时选修

课的成绩按五级制形式输出。

以下3.173.24题根据前面销售数据库xs中建立的各数据表,编写sql语句实现以下各项功能。

3.17使用中文标题列出Sales表中的全部销售记录,要求同时列出相应的产品名称和客户名称;3.18计算Sales表中的销售单价,存放到列Dj中去;统计每个产品的平均销售单价;提示使用aggregate functions 3.19根据Sales表,统计并列出每个客户购买的每一种产品的平均销售单价;提示使用group by 3.20根据Sales表,统计并列出每一种产品最近一次注并非最近这一天发生的销售情况记录;提示使用subquery和self-join 3.21 根据Sales表的销售记录,列出哪些客户至少购买了两种及两种以上的产品;提示使用subquery和self-join 3.22将Sales表中每个客户的销售金额汇总到Customers表中去;提示使用subquery和join 3.23根据Customers表,统计并列出每个客户的销售额及其占总销售额的百分比,列出销售额最大的前10位客户名称。

3.24检查Xsales表中是否存在非法的产品编码即Xsales 表中的产品编码在XsProducts表中是不存在的,如存在,则将这些包含非法产品编码的销售记录从Xsales表中删除;

4.1 在数据库stu中为学生成绩表建立一个非蔟索引文件,索引关键字为学号和课程编号。

5.1 建立一个存储过程,输入一个课程名称,输出该课

程考试成绩最高的这些学生的姓名。

5.2建立一个存储过程,输入一个学生的姓名,返回该学生全部必修课课程的平均成绩。

5.3建立一个存储过程,输入一门课程的编号以及要求查询成绩的区间(xy,输出该课程所有在该区间内的学生姓名,要求成绩从高到低排序。

5.4建立一个存储过程,输入一个学生的学号,列出该学生最近这个学期的全部课程的成绩,并通过调用该存储过程,编写程序,输出所有学生最近这个学期全部课程的成绩。

5.5编写一个用户自定义函数,要求输入一个课程编码,根据成绩表,计算并返回该课程全部学生考试成绩的平均值与及格率,并通过调用该函数,编写一个存储过程计算列出课程表中全部课程考试成绩的平均值与及格率。

5.6编写一个用户自定义函数,输入一个学号与学期号,要求使用table变量,输出返回该学生该学期的全部课程成绩。

7.1建立一个触发器,当用户在学生表中插入一条记录时,触发器自动根据学号计算出该学生所在的班级。

7.2建一个触发器,当用户在成绩表中插入一条学生记录时,触发器自动判断该学生的学号与课程是否正确,若不正确,则拒绝插入。

7.3建一个触发器,当用户在学生表中删除一条学生记

录时,触发器自动判断该学生是否存在于成绩表中,若存在,则不能删除该学生。

7.4建一个触发器,当用户在成绩表中插入一条记录时,计算机自动重新计算学生基本信息表中相应的平均成绩。

7.5建立一个触发器,当scores表中插入一条记录时,触发器自动对该记录的正确性进行验证,并根据验证结果作出拒绝插入记录或予以提示警告等处理。

记录正确性验证规则如下 1 学生学号与课程编号必须是合法存在的,否则拒绝插入记录;一个学生同一门课程只能输入一个成绩,否则予以提示警告。

8.1建立一个存储过程,输入一门课程的编号以及要求查询成绩的区间(xy,使用游标逐条输出该课程所有在该区间内的学生姓名,要求成绩从高到低排序,输出格式如下课程编号xxx 课程名称xxx ---------------------------------------------------------------- 学号姓名成绩x1 xx1 xxx1 x2 xx2 xxx2 8.2编写一个存储过程,要求输入一个学生的学号,按以下格式输出该学生全部课程的成绩单。

要求使用cursor,输出格式如下学号姓名序号课程名称课程性质开课学期成绩 1 高等数学必修课 1 89 2 英语必修课 1 75 20 数据库技术必修课 5 85 21 物流管理选修课 5 92 8.3建立一个存储过程,输入一个学期号,

相关文档
最新文档